2017-01-05 5 views
0

Я использую NodeJs создать свое приложение с помощью sentiment libNLP Мнение: Давать неверный результат при использовании отрицательного слова в позитивном ключе

Проблемы в том, что он дает неправильные результаты, когда отрицательное слово используется в позитивным образом.

var sentiment = require('sentiment'); 

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

{оценка: -3, сравнительный: -0,42857142857142855, жетоны: [ 'я', 'есть', 'умирает', 'к', 'есть', 'а', «KitKat '], слова: [ 'умирает'],
положительные: [], отрицательный: [ 'умирает']}

///or 

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

{оценка: -3, сравнительный: -0,6, жетоны: ['your', 'internet', 'is', 'not', 'bad'], слова: ['bad'], pos ности продукции: [], отрицательный: [ «плохой»]}

ответ

1

, если вы не хотите, чтобы внедрить систему анализа настроений самостоятельно, чем попытаться использовать другую библиотеку. Но если вы заинтересованы в его реализации, вот решение. В основном, системы анализа настроений используют два подхода для решения проблемы. - Подходы на основе лексики - основанные на корпусе подходы

Библиотека, которую вы используете, использует простой алгоритм на основе лексики. Если вы хотите, чтобы более совершенная система использовала лексику чувств, такую ​​как SentiWordNet или SenticNet вместе с тегами Part-Of-Speech (POS). Вы можете найти отрицательные и положительные слова. Затем используйте некоторые простые правила. - Если отрицательное слово появилось с отрицательным глаголом, утверждение положительно. - Если отрицательное слово появилось с положительным глаголом, утверждение отрицательное. - Если положительное слово появилось с положительным глаголом, утверждение положительно. - Если положительное слово появилось с отрицательным глаголом, утверждение отрицательное.

+0

** Alikbar ** Большое спасибо за понимание, у меня есть одобренный, но не принят этот ответ, на всякий случай, если кто-нибудь может опубликовать 'lib'. Если через какое-то время я не найду лучшего ответа, я приму твое. –