polarity
![Size](https://img.shields.io/bundlephobia/minzip/polarity.svg)
Detect the polarity of text, based on afinn-165
and
emoji-emotion
.
Install
npm:
npm install polarity
Use
var polarity = require('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
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
polarity.inject(words)
Insert custom values.
polarity.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
License
MIT © Titus Wormer