Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
44 lines (40 sloc) 1.55 KB
from __future__ import division
import sys
import time
import nltk
from nltk.corpus import movie_reviews
from nltk.corpus import sentiwordnet as swn
from nltk.corpus import wordnet as wn
start_time = time.time()
count = 0.00
correct = 0.00
ids = sorted(movie_reviews.fileids())
for reviews in ids: #For every review
score = 0.0
positive = 0.0
negative = 0.0
tokens = nltk.pos_tag(nltk.word_tokenize(movie_reviews.raw(fileids=[reviews]))) #Tokenize all words with POS
for token in tokens:
if (token[1]== "JJ" or token[1] == "JJR" or token[1] == "JJS"): # If adjective, check value
if len(wn.synsets(token[0], pos=wn.ADJ)) != 0 and swn.senti_synset(wn.synsets(token[0], pos=wn.ADJ)[0].name()) :
word = wn.synsets(token[0], pos=wn.ADJ)[0].name()
print word
print swn.senti_synset(word)
positive = positive + swn.senti_synset(word).pos_score()
negative = negative + swn.senti_synset(word).neg_score()
print "%s, %d, %d" %(word,positive,negative)
score = positive - negative
if (score < 0):
print "Negative at %f" % (score)
sentiment = 'neg'
else:
sentiment = 'pos'
print "Positive at %d" % (score)
if (sentiment == movie_reviews.categories(fileids=[reviews])[0]):
print "Correct"
correct = correct + 1.00
count = count + 1.00
print correct/count
print "Seconds: %d" %(time.time() - start_time)
print "correct:", correct/len(ids)
print "positive:", positive/len(ids)
You can’t perform that action at this time.