NLP情绪:以积极的方式使用否定词时给出错误的结果

时间:2017-01-05 07:26:00

标签: node.js nlp sentiment-analysis

我使用NodeJssentiment lib

的帮助下创建我的应用程序

问题在于,当以积极的方式使用否定词时,它会给出错误的结果。

var sentiment = require('sentiment');

var result = sentiment('I am dying to eat a kitkat!');
console.dir(result);   
  

{得分:-3,比较:-0.42857142857142855,代币:[' i',   ' am',' dying',' to',' eat'' a',' kitkat& #39; ],话语:['死亡' ],
  积极的:[],消极的:['死亡' ]}

///or

result = sentiment('your internet is not bad', knowladgeBase);
console.dir(result);
  

{得分:-3,比较:-0.6,代币:['您的','互联网',   ''' not',' bad' ],文字:[' bad' ], 正负:   ['坏' ]}

1 个答案:

答案 0 :(得分:1)

如果您不想自己实施情绪分析系统,请尝试使用其他库。但如果您对实施一个感兴趣,这里有一个解决方案。 情绪分析系统以基本方式使用两种方法来解决问题。   - 基于词典的方法   - 基于语料库的方法

您正在使用的库使用简单的基于词典的算法。如果您想拥有更高级的系统,请使用情感词典,例如SentiWordNetSenticNet以及词性(POS)标记。 你可以找到消极和积极的话。然后使用一些简单的规则。 - 如果否定词带有否定动词,则该陈述是正面的。 - 如果否定词带有正面动词,则该陈述为否定。 - 如果一个正面的词带有一个正面动词,则该陈述是正面的。 - 如果一个肯定的词带有否定动词,则该陈述是否定的。