Vader SentimentIntensityAnalyzer 是多语言的吗?

Is Vader SentimentIntensityAnalyzer Multilingual?

我陷入了情绪分析,我找到了迄今为​​止我能找到的最好的 Vader 解决方案。我的问题是我没有找到任何关于如何用英语以外的语言提供它的文档。

简短的回答是 "no"。

github 页面上的 README 文件指出

if you have access to the Internet, the demo has an example of how VADER can work with analyzing sentiment of texts in other languages (non-English text sentences).

但是如果您看一下这个演示实际做了什么(从 current version of vaderSentiment.py 中的第 552 行开始),这完全基于使用机器翻译网络服务来自动翻译文本成英文。因此,结果不仅取决于情绪分析工具的准确性,还取决于您用来创建英文版输入的任何翻译工具的准确性。

Vader 仅对英文文本执行情感分析,但该解决方法(自动翻译)可能是一个可行的选择。与其他用法相比,情感分析对常见机器翻译问题的敏感度较低*,但如果您选择使用该解决方法,您肯定仍然必须牢记这些限制。

*举个例子,演示中使用的服务将 "Das Internet funktioniert heute nicht. Ist eine Störung bekannt?" 翻译成 "The Internet was not working today. Is a disorder known?",翻译成 "The internet isn't working today. Is a disruption known?" 会更准确。第一句话的时态错误,虽然在这种情况下 "Störung" 有几种合法的翻译,但 "disorder" 充其量只是一个尴尬的选择。尽管如此,虽然这使得它的翻译总体上非常糟糕,但这些错误不太可能显着影响情感分析。

我用另一种语言尝试了 NLTK Vader。它与德语配合得很好——毕竟,这两种语言相距不远。

涉及一些工作 - 我们不能只翻译词典:

  • 改变vader_lexicon.txt
  • 修改代码中的NEGATE字
  • 更改代码中的BOOSTER字词
  • 在代码中更改SPECIAL_CASE_IDIOMS

一般来说,否定是有效的,但有些情况涉及一些我还没有弄清楚的额外工作。