Reputation: 11
I have used vader library for labeling of amazon's reviews but it doesn't handle these types of reviews "No problems with it and does job well. Using it for Apple TV and works great. I would buy again no problem". This is positive sentence but the code label it as negative. How can I handle these types of reviews.
import nltk
nltk.download('vader_lexicon')
nltk.download('punkt')
from nltk.sentiment.vader import SentimentIntensityAnalyzer
sid = SentimentIntensityAnalyzer()
output['sentiment'] = output['review_body'].apply(lambda x: sid.polarity_scores(x))
def convert(x):
if x < 0:
return "negative"
elif x > .2:
return "positive"
else:
return "neutral"
output['result'] = output['sentiment'].apply(lambda x:convert(x['compound']))
Here is the sample file:
0 No problems with it and does job well. Using it for Apple TV and works great. I would buy
again no problem
1 I don't know what happened with other buyers, but I received it today from Yakodo in a good
bubble envelope and the product is not a counterfeit: it's a genuine Apple product. It comes
into a little box with two information booklets. The adapter is genuine, I'm completely sure
because looks and feels the same compared with one from an Apple reseller. The latest iOS
(7.1.2) has no issues with it (no warnings) using it with an iPhone 5S and an iPad mini
Retina... No issues because it is genuine. Don't hesitate: it's a great deal for a fraction
of its price.
2 Keeps me smiling when listening to the music.
3 DOES THE JOB. HAPPY.
4 Don't like it
Upvotes: 1
Views: 304
Reputation: 367
Nltk uses VADER method for sentiment analysis. And this method is rule based and does not have really good understanding of context.
You will get better result if you will try some Pre-Trained transformer based model such as Roberta. Because these model uses attention module and have really good understanding of context.
And you can also use free version of GPT or open source module such as LLama 3.1 8B to get the label.
I tried free version of GPT and I get accurate result on all 5 examples.
Upvotes: 0