我被困在情绪分析中,我找到了迄今为止我能找到的最好的 Vader 解决方案。我的问题是我没有找到任何关于如何用英语以外的语言来喂养它的文档。
2 回答
最简洁的答案是不”。
github 页面上的 README 文件状态
如果您可以访问互联网,该演示有一个示例,说明 VADER 如何分析其他语言文本(非英语文本句子)的情绪。
但是如果你看一下这个演示实际上做了什么(从当前版本的 vaderSentiment.py的第 552 行开始),这完全基于使用机器翻译网络服务将文本自动翻译成英文。因此,结果不仅取决于情绪分析工具的准确性,还取决于您用来创建英文输入的任何翻译工具的准确性。
Vader 只对英文文本进行情感分析,但这种解决方法(自动翻译)可能是一个可行的选择。与其他用法相比,情感分析对常见机器翻译问题的敏感性较低*,但如果您选择使用该解决方法,您肯定仍需牢记这些限制。
*举个例子,演示中使用的服务翻译为“Das Internet funktioniert heute nicht。Ist eine Störung bekannt?” 改为“今天的互联网不工作。是否已知一种疾病?”,更准确的翻译是“今天的互联网不工作。已知的中断吗?”。第一句话的时态错误,虽然在这种情况下“Störung”有几种合法的翻译,但“disorder”充其量只是一个尴尬的选择。然而,虽然这通常使它成为一个相当糟糕的翻译,但这些错误不太可能显着影响情绪分析。
我用另一种语言尝试了 NLTK Vader。它与德语配合得很好——毕竟,这两种语言之间的距离并不远。
涉及一些工作 - 我们不能只翻译词典:
- 更改 vader_lexicon.txt
- 更改代码中的否定词
- 更改代码中的 BOOSTER 字样
- 更改代码中的 SPECIAL_CASE_IDIOMS
一般来说,否定是有效的,但有些情况涉及一些我还没有弄清楚的额外工作。