cjhutto/vaderSentiment

Weightage given to smileys (when negated)

Open

#28 opened on Apr 4, 2017

View on GitHub
 (6 comments) (0 reactions) (0 assignees)Python (4,146 stars) (975 forks)batch import
help wanted

Description

So, Vader gives 1.0 positive for " :) " and 1.0 negative for " :( " and with that I know that the smileys are being detected correctly. However, it fails to identify the polarity correctly for this particular case:

sentence = "nothing for redheads :(" polarity got: {'neg': 0.0, 'neu': 0.555, 'pos': 0.445, 'compound': 0.3412}

It is surprising that this sentence is tipping towards the positive polarity while the negative remains at 0.0. Now if I remove the smiley and find the polarity, this is what I get:

sentence = "nothing for redheads" polarity got: {'neg': 0.0, 'neu': 1.0, 'pos': 0.0, 'compound': 0.0}

And this result is absolutely correct. It is a neutral statement. So, why is that a negative lexicon, tending the sentence towards a positive outcome? I wanted to know if I can manipulate the weight of smileys to reduce such errors. Since Vader is capable of handling many tricky sentences, this should not have been an issue right ? or is it just an outlier condition ?

Contributor guide