我使用Vader和TextBlob来分析新闻标题的情绪,结果喜忧参半:我认为略有负面的许多头条都被评为中性。以下是一些例子:
Who wants to live in an artificially intelligent future?
# Vader: {'compound': 0.4588, 'pos': 0.273, 'neu': 0.727, 'neg': 0.0}
# TextBlob: Sentiment(polarity=0.2840909090909091, subjectivity=0.40625)
The internet and social media provide huge opportunities for the coming generation, but there’s a dark side from which it must be protected.
# Vader: {'compound': 0.743, 'pos': 0.278, 'neu': 0.722, 'neg': 0.0}
# TextBlob: Sentiment(polarity=0.09444444444444448, subjectivity=0.45555555555555555)
For three months I’ve lived without tech and now realise we need to question its ever-encroaching invasion – before we end up in bed with a sex robot.
# Vader {'compound': 0.0, 'pos': 0.0, 'neu': 1.0, 'neg': 0.0}
# TextBlob Sentiment(polarity=0.0, subjectivity=0.0)
我认为第一句话可以以任何一种方式阅读,但第二句肯定会对他们有负面因素:"有一个黑暗的一面"并且"它不断侵入的入侵"所以我很惊讶地发现Vader给出了0的阴性疼痛和TextBlob以给出0或者更高的极性。
对于情绪分析算法,这些文本是否根本难以解决,还是我可以考虑采用另一种方法?
我提到的图书馆的吸引力在于我不必制作自己的分类数据集,但如果我可能会得到更好的结果,我可能会考虑它。
答案 0 :(得分:1)
最基本的区别在于,大多数当前工具都处理单个词的情感指数。例如,在文本中的任何地方找到“喜欢”或“优秀”将表示积极的评价。您的示例更多地取决于对短语的某些“理解”,需要最少的解析。这是一个更详细的过程,需要更深入地理解语言语义。
然后,您预处理输入以将这些短语转换为您在词典中使用的任何指示。例如,将这些短语与下划线连接 - 并且“dark_side”在您的词典中以负索引。
我希望这会让你在一个有用的方向上轻推。