node package manager

ml-sentiment

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

Wat

Simple text sentiment analyser.

Install

npm install ml-sentiment

Usage

var 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.`
 
var 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

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

German

var 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