寻找不包含单词的句子

时间:2018-08-30 04:54:29

标签: nlp sentiment-analysis

我使用了一个代码,通过将形容词与我的预定义的好,坏,好,坏匹配,获得任何句子的情感(即好,坏,平均)。平均词,坏词集,句子中的平均词集。但是对于否定(包含“ not”的句子),我无法为不包含我的代码的句子分配准确的意义(无论是好是坏还是平均)。

例如:句子-“鲍勃是学校里最好的男孩。”由于在此句子中有一个与良好集相匹配的形容词“最佳”比“好感”分配给了该句子。

但是,对于否定句,“鲍勃不是学校里最好的男孩”。由于在此句子中只有一个与良好集匹配的形容词“最佳” ,因此该句子只分配了“好感”。但是这里的“ not”很糟糕,但是我的代码无法处理句子中的“ not”

帮助我解决求反问题

2 个答案:

答案 0 :(得分:0)

“ not”是一个否定语言表达的单词。对于问题,使用“否定”一词会更好。

要处理“否定”,可以使用否定触发器(例如,不,从不)及其在句子中的作用域。在“鲍勃不是学校里最好的男孩”的例子中,“学校里最好的男孩”是“不是”的范围。否定的范围可以通过一些基本规则或通过使用语法分析树的启发式方法来检测。

对于情感分析,如果一个带有情感的词在否定触发器的范围内通过,则可以反转或抑制触发器的情感值或标记该带有情感的词。

但是,您提到的情况有待调查。否定范围内的最高级形容词可以用形容词的反义词来研究:

worst - bad - neutral - good - best

因此这些术语是“可缩放的”,否定以这种方式传达语义:

  • “不是最好的”表示“最差-不好-中立-很好”之一,但是一般来说,在不好和好的之间,还必须检查句子的其他上下文
  • “不好”表示“不好-中立”之一

这个概念是我从Grace的标量含义中得出的。您可以查找更多细节。

总之,对于一个简单的解决方案,如果您对这类形容词使用情感联想得分(例如,最佳: +4 ),我建议不要直接乘以-来反转其得分1 处于否定范围之内,但将其与 -0.5 乘以在关联之间找到。

希望有帮助,加油。

答案 1 :(得分:0)

您用于“情感分析”的方法是非常基本的。您需要使用一些好的算法来进行情感分析,一个好的起点是支持向量机,随机森林,它们可以在没有大量训练数据的情况下提供良好的结果。如果您关心非常好的准确性,请使用深度神经网络。下面提到了一些数据集的好选择。

Huge ngrams dataset from google storage.googleapis.com/books/ngrams/books/datasetsv2.html
http://www.sananalytics.com/lab/twitter-sentiment/
http://inclass.kaggle.com/c/si650winter11/data
http://nlp.stanford.edu/sentiment/treebank.html

由于您面临的问题,人们开始将统计数据用于NLP。在应用这些算法之前,还涉及其他几个步骤,例如句子标记化,单词标记化,词法分析等。