首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >情感分析NaiveBayes python问题

情感分析NaiveBayes python问题
EN

Stack Overflow用户
提问于 2014-12-12 20:37:28
回答 1查看 525关注 0票数 0

因此,我正在尝试情绪分析。我在很多地方听说NaiveBayes已经足够好了。所以我手动收集了一些负面评论(大约400条)。然后,在清理了评论文件后,我终于想出了负面评论最常见的单词:

代码语言:javascript
复制
negative_comments.most_common(40) #Similarly for positive..

[('never', 79),
 ('i', 63),
 ('restaurant', 51),
 ('it', 48),
 ('one', 47),
 ('get', 47),
 ('time', 43),
 ('would', 41),
 ('bad', 39),
 ('service', 38),
 ('don', 36),
 ('us', 36),
 ('work', 35),
 ('family', 35),
 ('day', 35),
 ('please', 32),
 ('stove', 32),
 ('you', 31),
 ('like', 31),
 ('got', 28),
 ('back', 27),
 ('customer', 27),
 ('years', 25),
 ('good', 25),
 ('people', 24),
 ('open', 24),
 ('online', 24),
 ('days', 23),
 ('right', 23),
 ('flea-market', 23),
 ('we', 21),
 ('way', 20)]

正如你所看到的,在最频繁的单词中几乎没有任何负面的单词。如果我使用这些最频繁的NaiveBayes来生成我的特征,那么我在分类器中看不到任何好的表现。相反,我会简单地搜索像这样的词:

代码语言:javascript
复制
"dislike","bad", "awful","hate"..

并且期望比在most_frequent否定词上使用NaiveBayes更好的结果。还有比这些方法更好的方法吗?

EN

回答 1

Stack Overflow用户

发布于 2014-12-13 01:42:35

这不是解决问题的方法。你假设在400条负面评论的语料库中,你会发现大部分是负面的词,对吧?这个假设在大多数情况下是不正确的。你会发现最常见的单词是stopwords,比如“我”,“它”,“你”,“我们”等等,还有一些单词表示你的语料库的一般主题。然而,如果你想遵循你的方法,你应该做的是首先删除前N个常用词(N取决于数据集)。然后,找到最常用的单词可能会把你带到极地单词。我之所以说可能,是因为尽管这种方法是正确的(根据数据的概率),但它有一个巨大的噪音。现在,如果你想做情感分析,为什么不使用情感词典来训练NB呢?你可以阅读我关于情感词典here的答案。有很多方法可以解决你的问题,但因为我对你的数据集一无所知,所以我不能判断。如果您有进一步的问题,请告诉我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27443852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档