0

我试图在一个非常大的文件中计算正数和负数。我只需要一种原始方法(不需要很长时间)。我试过 sentiwordnet 但一直得到一个IndexError: list index out of range,我认为这是由于 wordnet 字典中没有列出的单词。文本包含很多错别字和“非单词”。

如果有人可以提出任何建议,我将不胜感激!

4

1 回答 1

1

这完全取决于您的数据是什么样的以及您任务的最终目标是什么。您需要对您的项目进行更详细的描述,但总的来说,您有以下选择: - 制作您自己的情绪分析字典:我真的怀疑这是您想要做的,因为这需要很多时间和努力,但如果您的数据足够简单,它是可行的。- 清理你的数据:如果你的令牌因为太多的噪音和拼写错误的单词而不在 senti-wordnet 中,那么在通过 wordnet 传递它们之前尝试更正它们,它至少会限制你会得到的错误数量。- 使用一个 senti-wordnet 替代方案:根据,没有那么多好的,但你总是可以尝试Sentiment_classifier或nltk 的情绪如果您使用的是 python(从您的错误看起来像您一样)。- 只分类你能做的:这是我推荐的。如果单词不在 senti-wordnet 中,则继续下一个。只需捕获错误 ( try: ... except IndexError: pass) 并尝试通过计算您实际捕获的情绪词来推断数据的一般情绪是什么。

PS:我们需要查看您的代码才能确定,但​​我认为您收到 IndexError 的另一个原因。如果这个词不在 senti-wordnet 中,你会得到一个 KeyError,但这也取决于你如何编码你的函数。

祝你好运,我希望它会有所帮助。

于 2018-11-01T16:25:38.160 回答