26

我的要求是接收新闻文章并确定它们对某个主题是正面的还是负面的。我正在采用下面概述的方法,但我一直在阅读 NLP 可能在这里有用。我读过的所有内容都指向 NLP 从事实中检测意见,我认为这对我来说并不重要。我想知道两件事:

1) 为什么我的算法不起作用和/或我该如何改进它?(我知道讽刺可能是一个陷阱,但我再次认为在我们将获得的新闻类型中不会发生太多)

2) NLP 有什么帮助,我为什么要使用它?

我的算法方法(我有正面、负面和否定词的字典):

1) 统计文章中正负词的个数

2)如果否定词与肯定词或否定词的2或3个词一起找到,(即:不是最好的)否定分数。

3) 将分数乘以手动分配给每个单词的权重。(1.0开始)

4) 将正面和负面的总和相加得到情绪分数。

4

6 回答 6

33

我认为您的算法没有什么特别的问题,这是一种相当简单实用的方法,但是在很多情况下它会出错。

  1. 模棱两可的情感词- “这个产品非常好用”与“这个产品非常好”

  2. 错过的否定- “我永远不会在数百万年内说这个产品值得购买”

  3. 引用/间接文本- “我爸爸说这个产品很糟糕,但我不同意”

  4. 比较- “这个产品和头上的洞一样有用”

  5. 任何微妙的东西——“这个产品很丑、很慢而且没有吸引力,但它是市场上唯一能胜任这项工作的产品”

我使用产品评论作为示例而不是新闻报道,但你明白了。事实上,新闻文章可能更难,因为它们经常试图展示论点的双方,并倾向于使用某种风格来传达一个观点。例如,最后一个例子在评论文章中很常见。

就 NLP 帮助您解决任何这些问题而言,词义消歧(甚至只是词性标记)可能有助于(1),句法解析可能有助于解决(2)中的长期依赖关系,某种分块可能有助于(3)。不过,这都是研究级别的工作,据我所知,没有任何东西可以直接使用。问题(4)和(5)要困难得多,我在这一点上举手放弃。

我会坚持你的方法并仔细查看输出,看看它是否在做你想做的事。当然,这引发了一个问题,即您首先要理解“情感”的定义是什么……

于 2010-11-17T09:39:22.290 回答
5

我最喜欢的例子是“只看书”。它不包含明确的情感词,并且高度依赖于上下文。如果它出现在电影评论中,则意味着这部电影糟透了,它浪费了您的时间,但书很好。但是,如果它在书评中,它会传达出积极的情绪。

那么——“这是市场上最小的 [移动] 手机”。早在 90 年代,这是一个巨大的赞誉。今天它可能表明它太小了。

我认为这是了解情绪分析复杂性的起点:http ://www.cs.cornell.edu/home/llee/opinion-mining-sentiment-analysis-survey.html (作者:Lillian Lee康奈尔)。

于 2010-11-17T20:20:16.767 回答
2

机器学习技术可能更好。

Whitelaw、Garg 和 Argamon的技术可以达到 92% 的准确率,使用类似于您的技术来处理否定,并使用支持向量机进行文本分类。

于 2010-12-03T20:33:24.863 回答
2

您可能会发现 OpinionFinder 系统和描述它的论文很有用。它可在http://www.cs.pitt.edu/mpqa/以及其他用于意见分析的资源中获得。

它超越了文档级别的极性分类,而是尝试在句子级别找到个人意见。

于 2011-05-25T15:43:14.830 回答
2

对于您提到的所有问题,我相信最好的答案是阅读刘冰教授的《情感分析与观点挖掘》一书。这本书是情感分析领域中最好的一本书。太棒了。只要看看它,您就会找到所有“为什么”和“如何”问题的答案!

于 2013-09-23T19:09:58.880 回答
0

您为什么不尝试类似于SpamAsassin垃圾邮件过滤器的工作方式?内涵挖掘和意见挖掘之间并没有太大的区别。

于 2010-11-16T22:53:41.113 回答