Sentiment is a Node.js module that uses the AFINN-111 wordlist to perform sentiment analysis on arbitrary blocks of input text.
Multilanguage, only full support for english and french (PR contributions are welcome)
He has full support on emoji analysis.
Language detection if not provided at call.
Sentiment analysis is suitable at a sentence level, for long strings, please tokenize sentences and use sentiment on every chunk.
This project is a fork of the original sentiment project: https://github.com/thisandagain/sentiment
npm install node-sentiment --save
// Require the node-sentiment module
var sentiment = require('node-sentiment');
// Use the module to get sentiment from texts.
// Vote: 'negative'
console.dir(sentiment('Cats are stupid.','en'));
// Vote: 'negative' and english detected
console.dir(sentiment('Cats are stupid.'));
// Vote: 'positive', english detected and negation detected
console.dir(sentiment('Cats are not so stupid.'));
// Vote: 'positive'
console.dir(sentiment('Cats are totally amazing! ♥','en'));
// Vote: 'negative'
console.dir(sentiment('I gatti sono stupidi. 😭','it'));
// Sample response for "Seems somebody had a good meal! @wildelifeanimal #lion #safari #cats #wildlife #Africa #adventure #offroad https://t.co/6cX7hAlrYY ♥"
{
score: 8,
comparative: 0.5,
vote: 'positive',
tokens:
[ 'seems',
'somebody',
'had',
'a',
'good',
'meal',
'@wildelifeanimal',
'lion',
'safari',
'cats',
'wildlife',
'africa',
'adventure',
'offroad',
'httpstco6cx7halryy',
'♥' ],
words: [ '♥', 'adventure', 'good' ],
positive: [ '♥', 'adventure', 'good' ],
negative: [],
language: 'en'
}
You can also play with node-sentiment in a terminal.
node cli.js "Cats are not so cool..."
npm test
Whole code review Basic CLI interface added and project renamed to node-sentiment for npm package
Negation detection fix Language detection feature POC added