Sentiment Analysis Dictionaries
Asked Answered
R

9

54

I was wondering if anybody knew where I could obtain dictionaries of positive and negative words. I'm looking into sentiment analysis and this is a crucial part of it.

Raja answered 15/11, 2010 at 20:52 Comment(0)
C
38

The Sentiment Lexicon, at the University of Pittsburgh might be what you are after. It's a lexicon of about 8,000 words with positive/neutral/negative sentiment. It's described in more detail in this paper and released under the GPL.

Citadel answered 16/11, 2010 at 9:27 Comment(0)
C
28

Sentiment Analysis (Opinion Mining) lexicons


Sources:

Candiscandle answered 14/7, 2015 at 8:16 Comment(2)
moved: SentiWordNet (SentiWordNet on github). Harvard General Inquirer is gone (DictionaryGI.rda in SentimentAnalysis.R). vader moved to vader_lexicon.txtBinder
@Binder Thank you. Do you know why the Harvard General Inquirer website has been taken down? I couldn't find any infoCandiscandle
C
26

Arriving a bit late I'll just note that dictionaries have a limited contribution for sentiment analysis. Some sentiment bearing sentences do not contain any "sentiment" word - e.g. "read the book" which could be positive in a book review while negative in a movie review. Similarly, the sentiment word "unpredictable" could be positive in the context of a thriller but negative when describing the breaks system of the Toyota.

and there are many more...

Cemetery answered 17/2, 2011 at 20:54 Comment(2)
Really good points. Luckily for me I'm dealing with only certain news sources who are would refrain from using slang and are generally just stating facts. Still definitely something to worry about though, thanks.Raja
I think when using dictionaries without context, the hope is that while there may be a certain amount of noise (misclassification) for individual sentences, there will be enough signal in the aggregate to be meaningful. I'm not sure how one would go about testing this hope with statistical rigor, though.Hefty
N
12

Professor Bing Liu provide an English Lexicon of about 6800 word, you can download form this link: Opinion Mining, Sentiment Analysis, and Opinion Spam Detection

Novanovaculite answered 18/2, 2013 at 12:18 Comment(0)
T
7

This paper from 2002 describes an algorithm for deriving such a dictionary from text samples automatically, using only two words as a seed set.

Toxic answered 17/11, 2010 at 11:35 Comment(2)
The problem is that this approach uses AltaVista hits to compute PMI-IR, so I do not think it is optimal for someone who wants to get started. Moreover it is an unsupervised approach, and its results are still not exciting if compared to supervised approaches.Candiscandle
cannot access the link? could you please mention the title of the pageAeromechanics
P
4

AFINN you can find here and also create it dynamically. Like whenever unknown +ve word comes add it with +1. Like banana is new +ve word and appearing twice then it will become +2.

As much articles and data you craws your dictionary would become stronger!

Pup answered 16/8, 2013 at 10:15 Comment(3)
That file is really a toy file, created for a class assignment. In my opinion, it would be a mistake to use it for real work.Hefty
@Hefty Elaborate?Wilbertwilborn
@jbird I'm not sure what I can add. The file was created for a class assignment, where the text to evaluate was tailored to the words in the list. It is missing many, many words (the entire list is less than 2500 words). Attempting to use it with text which has not been tailored to the words in the list would, I fear, result in less accurate assessments of sentiment than a more complete list would provide.Hefty
I
3

The Harvard-IV dictionary directory http://www.wjh.harvard.edu/~inquirer/homecat.htm has at least two sets of ready-to-use dictionaries for positive/negative orientation.

Irrelievable answered 24/11, 2015 at 11:41 Comment(0)
C
3

You can use vader sentiment lexicon

from nltk.sentiment.vader import SentimentIntensityAnalyzer

sentence='APPle is good for health'
sid = SentimentIntensityAnalyzer()
ss = sid.polarity_scores(sentence)  
print(ss)

it will give you the polarity of sentence.

output:

 {'compound': 0.4404, 'neu': 0.58, 'pos': 0.42, 'neg': 0.0}
Crackle answered 7/3, 2017 at 14:42 Comment(0)
C
3

Sentiwords gives 155,000 words (and their polarity, that is, a score between -1 and 1 for very negative through to very positive). The lexicon is discussed here

Courcy answered 8/3, 2019 at 12:8 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.