使用Stanford CoreNLP Sentiment Analysis时输出不正确

时间:2016-12-29 11:10:52

标签: java stanford-nlp sentiment-analysis

当我输入句子时:

  

"很高兴能回来!我们来这里重新联系&满足新的   ghc16"

的创新者

然后返回的情绪是负面的。无法理解为什么会这样。该陈述是积极的,但它仍然返回负值。

User.joins(:book).where("books.title !=?","#{title}").explain

1 个答案:

答案 0 :(得分:1)

这是技术限制regarding nlp lib itself的另一个案例,主要针对某些特定点:

  
      
  1. 暧昧情绪词语 - “此产品非常适用”与“此产品非常好”

  2.   
  3. 错失否定 - “我绝不会在数百万年内说这款产品值得购买”

  4.   
  5. 引用/间接文字 - “我父亲说这个产品很糟糕,但我不同意”

  6.   
  7. 比较 - “此产品与头部漏洞一样有用”

  8.   
  9. 任何微妙的 - “这个产品很丑陋,缓慢而且没有吸引力,但它是市场上唯一能完成这项工作的东西”

  10.   

在您的示例中,算法没有任何问题。让我们分别分析一些文本部分:

  • So excited to be back! - >的阳性
  • We're here to reconnect with - >的中性
  • meet new innovators at ghc16 - >的中性

简单来说,我们在中立正面之间有一些东西。但是,正如我们所见,这个算法是不可预测的,这就是为什么如果你在文字中添加一个单词(& 也没有得到很好的解释):

  

很高兴能回来!我们在这里与你和见面重新联系   ghc16的新创新者

......结果会返回中立

<强>建议:

  1. 一旦你遇到类似的情况,不要将sentiment 1视为负面的事情;
  2. 如果您可以控制,请尽量使文字正确,简洁,以获得更好的结果;
  3. 尽可能多地划分句子并为每个句子单独运行算法。然后,根据您自己的测试用例制作自定义平均值。
  4. 如果它们都不适合,请考虑切换到另一个Machine-learning technique