Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

readme.md

polarity

Build Coverage Downloads Size

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 parse
  • inject (Object.<number>, optional) — Custom valences for words
Returns

Object:

  • polarity (number) — Calculated polarity of input
  • positivity (number) — Total positivity
  • negativity (number) — Total negativity
  • positive (Array.<string>) — All positive words
  • negative (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 entries
  • afinn-111 — AFINN list from 2011, containing 2477 entries
  • afinn-165 — AFINN list from 2015, containing 3382 entries
  • emoji-emotion — Like AFINN, but for emoji

License

MIT © Titus Wormer