title: Usage of nltk Sentiwordnet with python
body: <p>I am doing sentiment analysis on twitter data using python NLTK. I need a dictionary which contains +ve and -ve polarities of words. I have read so much stuff regarding sentiwordnet but when I am using it for my project it is not giving efficient and fast results. I think I'm not using it correctly. Can anyone tell me correct way to use it? Here are the steps I did up to now:</p>
  
  <ol>
  <li>tokenization of tweets </li>
  <li>POS tagging of tokens</li>
  <li>passing each tags to sentinet</li>
  </ol>
  
  <p>I am using the nltk package for tokenization and tagging. See a part of my code below:</p>
  
  <pre><code>import nltk
  from nltk.stem import *
  from nltk.corpus import sentiwordnet as swn
  
  tokens=nltk.word_tokenize(row) #for tokenization, row is line of a file in which tweets are saved.
  tagged=nltk.pos_tag(tokens) #for POSTagging
  
  for i in range(0,len(tagged)):
       if 'NN' in tagged[i][1] and len(swn.senti_synsets(tagged[i][0],'n'))&gt;0:
              pscore+=(list(swn.senti_synsets(tagged[i][0],'n'))[0]).pos_score() #positive score of a word
              nscore+=(list(swn.senti_synsets(tagged[i][0],'n'))[0]).neg_score()  #negative score of a word
      elif 'VB' in tagged[i][1] and len(swn.senti_synsets(tagged[i][0],'v'))&gt;0:
             pscore+=(list(swn.senti_synsets(tagged[i][0],'v'))[0]).pos_score()
             nscore+=(list(swn.senti_synsets(tagged[i][0],'v'))[0]).neg_score()
      elif 'JJ' in tagged[i][1] and len(swn.senti_synsets(tagged[i][0],'a'))&gt;0:
             pscore+=(list(swn.senti_synsets(tagged[i][0],'a'))[0]).pos_score()
             nscore+=(list(swn.senti_synsets(tagged[i][0],'a'))[0]).neg_score()
      elif 'RB' in tagged[i][1] and len(swn.senti_synsets(tagged[i][0],'r'))&gt;0:
             pscore+=(list(swn.senti_synsets(tagged[i][0],'r'))[0]).pos_score()
             nscore+=(list(swn.senti_synsets(tagged[i][0],'r'))[0]).neg_score()
  </code></pre>
  
  <p>At the end I will be calculating how many tweets are positive and how many tweets are negative.
  Where am I wrong? How should I use it? And is there any other similar kind of dictionary which is easy to use? </p>