sentiment(phrase) → {object}

Computes the absolue and normalized sentiment scores of the input phrase, after tokenizing it.

The normalized score is computed by taking into account of absolute scores of words, emojis, emoticons, and hashtags and adjusting it on the basis of total words in the text; this is always between -5 and +5. A score of less than 0 indicates negative sentiments and a score of more than 0 indicates positive sentiments; wheras a near zero score suggests a neutral sentiment. While counting tokens only the ones tagged as word, emoji, or emoticon are counted; and one letter words are ignored.

It performs tokenization using wink-tokenizer. During sentiment analysis, each token may be assigned up to 3 new properties. These properties are:

  1. score — contains the sentiment score of the word, emoji, emoticon or hashtag, which is always between -5 and +5. This is added only when the word in question has a positive or negative sentiment associated with it.
  2. negation — is added & set to true whenever the score of the token has beeen impacted due to a negation word apprearing prior to it.
  3. grouped — is added whenever, the token is the first word of a short idiom or a phrase. It's value provides the number of tokens that have been grouped together to form the phrase/idiom.
sentiment( 'not a good product #fail' );
// -> { score: -5,
//      normalizedScore: -2.5,
//      tokenizedPhrase: [
//        { value: 'not', tag: 'word' },
//        { value: 'a', tag: 'word' },
//        { value: 'good', tag: 'word', negation: true, score: -3 },
//        { value: 'product', tag: 'word' },
//        { value: '#fail', tag: 'hashtag', score: -2 }
//      ]
//    }
Name Type Description
phrase string

whoes sentiment score needs to be computed.


absolute score, normalizedScore and tokenizedPhrase of phrase.