#                                      \\\|/// 
#                                    \\  ~ ~  // 
#                                     (  @ @  )  
#**********************************-oOOo-(_)-oOOo-************************************
#
#         Natural Language Processing 
#
#         CS8761   -   Dr. Ted Pedersen
#
#         FINAL PROJECT
#
#         An approach to sentiment classification using machine readable dictionaries
#         and World Wide Web 
#
#         
#         Melgar FBC - Prashant Jain , Anand Takale , Nan Zhang ,Sumalatha Kothadi 
#
#
#***************************************-OoooO-***************************************
#                              .oooO     (   ) 
#                              (   )      ) / 
#                               \ (      (_/ 
#                                \_) 


Algorithm to classify  a review as positive or  negative using Machine
Readable Dictionaries and World Wide Web

**Start **

1. Initialize BigMac and LDOCE interfaces.

2. Get  all  the  words  containing  "good" in  their  definition  and
classify them as good words and  make a good word hash. (This would be
done for other good words  such as excellent, nice etc. which indicate
a positive  context) 

3. Get  all  the  words  containing  "bad" in  their  definition  and
classify them as  bad words and make a bad word  hash.  (This would be
done for other bad words which indicate a negative context)

4. Get  all adjectives from  LDOCE and  BigMac and  create a  hash of
that.

5. Collect all the adjectives from a particular review.

6. Using the WebReader  module classify the adjectives as  good or bad
   and get  a score  for an adjective  using t-score, odd's  ratio and
   dice coefficient.

7. For  every  adjective  occuring  in  the review  find  whether  the
   adjective is present in the good word hash or the bad word hash and
   assign score to the adjective accordingly.If it occurs in good word
   hash assign  a score of +1  and if it  occurs in the bad  word hash
   assign a score of -1 to the adjective.

8. Classify every  adjective according to its score.  The adjective is
   classified as an adjective  reflecting positive sentiment if it has
   a  positive score.  The  adjective is  classified  as an  adjective
   reflecting negative sentiment if it has a negative score. Adjective
   having a score of 0 is classified as positive adjective.

9. Compute  the total  scorefor the  review according  to the  score of
adjectives.  

10. If the score is greater than 0  then it is a positive review and if
it is less than 0 then it is a negative review and if it is 0 then the
review is classified as Can't Say.

11. Compute the precision, recall and f-measure for the data-set under
    consideration

** End of the Algorithm **