README
polarity
Detect the polarity of text, based on afinn-165 and
emoji-emotion.
Install
This package is ESM only: Node 12+ is needed to use it and it must be imported
instead of required.
npm:
npm install polarity
Use
import {polarity} from 'polarity'
polarity(['some', 'positive', 'happy', 'cats'])
Yields:
{
polarity: 5,
positivity: 5,
negativity: 0,
positive: ['happy', 'positive'],
negative: []
}
polarity(['darn', 'self-deluded', 'abandoned', 'dogs'])
Yields:
{
polarity: -4,
positivity: 0,
negativity: -4,
positive: [],
negative: ['abandoned', 'self-deluded']
}
API
This package exports the following identifiers: polarity, inject,
polarities.
There is no default export.
polarity(words[, inject])
Get a polarity result from given values, optionally with one time injections.
polarity does not tokenize values. There are better tokenizers around (parse-latin). However, the following will work pretty good:
function tokenize(value) {
return value.toLowerCase().match(/\S+/g)
}
Parameters
words(Array.<string>) — Words to parseinject(Object.<number>, optional) — Custom valences for words
Returns
Object:
polarity(number) — Calculated polarity of inputpositivity(number) — Total positivitynegativity(number) — Total negativitypositive(Array.<string>) — All positive wordsnegative(Array.<string>) — All negative words
inject(words)
Insert custom values.
polarities
Direct access to the internal values.
Related
afinn-96— AFINN list from 2009, containing 1468 entriesafinn-111— AFINN list from 2011, containing 2477 entriesafinn-165— AFINN list from 2015, containing 3382 entriesemoji-emotion— Like AFINN, but for emoji