Skip to content

syzer/sentiment-analyser

Repository files navigation

npm version build status Dependency Status devDependency Status Code Coverage Downloads Today Downloads Month

Wat

Greenkeeper badge

Simple text sentiment analyser.

Install

npm install --save ml-sentiment

Usage

const ml = require('ml-sentiment')();
ml.classify('Rainy day but still in a good mood');
//=> 2 ... (overall positive sentiment)

How

Returns a positive number for positive sentiment association and negative number for negative sentiment association.

Basics

var longSentence = `Transform json to csv data. The difference to my other
module json2csv is json2csv-stream uses streams for transforming the incoming
data. The module is built with the new streaming API from Node.js v0.10.0 but
maintains backwards compatibility to earlier Node.js versions. Listen for
header and line events or pipe the data directly to a readable stream.`

const ml = require('ml-sentiment')();
ml.classify(longSentence);
//=> 0 ... (very boring encyclopedia like text)

ml.classify('Rainy day but still in a good mood');
//=> 2 ... (overall positive sentiment)

Negations

const ml = require('ml-sentiment')();
ml.classify(`not awesome`);
//=> -3 (negative)

ml.classify(`awesome`);
//=> 3 (positive)

German

const ml = require('ml-sentiment')({lang: 'de'});
ml.classify(`Es ist nicht so toll`);
//=> (negative)

Credits

Original model and data: Finn Årup Nielsen, "A new ANEW: Evaluation of a word list for sentiment analysis in microblogs", http://arxiv.org/abs/1103.2903

For german model: R. Remus, U. Quasthoff & G. Heyer: SentiWS - a Publicly Available German-language Resource for Sentiment Analysis. In: Proceedings of the 7th International Language Ressources and Evaluation (LREC'10), 2010