Twitter Sentiment Analysis

Mert Kahyaoğlu

Instructor: Assoc. Prof. Dr. Bekir Taner Dinçer

NLP Course Project

AIM OF THE PROJECT

The aim of the project is to determine how people are feeling when they share something on twitter.

For example; 

Final projeleri çok zevkli! ”      =>    Positive

" Finaller çok kötü geçiyor :(    =>    Negative

ROAD MAP

1.Collect Tweets

  • Tweets;
  • from Twitter API
  • using Tweepy Helper Library
  • Requirements
  • Twitter Developer Application for authantication

2.Clean Tweets

  • Hashtags ( # )
  • Remove;
  • Mentions ( @ )
  • Links ( http://.. )
  • Retweets ( RT .. )
  • Limit ( length(word) > 2 )

Have you heard Galata by @cmylmz on #SoundCloud? https://soundcloud.com/cmylmz/galata

have you heard galata ?

  • Lowercase

3. LABEL & ForMAT

  • Emoticons ( 😃 )
  • Label by;
  • Adjectives
  • Textual Emoticons ( ":D" )
  • Format for Weka (.arff);

4.EXTRACT FEATURES

1. Apply Weka -> StringToWordVector Algorithm

"finaller çok kötü geçiyor"  -->  ["finaller", "çok", "kötü", "geçiyor"]

2. Attribute Selection

Selects attributes considering the individual predictive ability of each feature along with the degree of redundancy between them.

  • Apply Weka ->  CfsSubsetEval Algorithm
  • Save new set of attributes as .arff file

Reduced terms from 930 to 24

5.CLASSIFY

  • Boost Naive Bayes with AdaBoostM1 Algorithm
  • What is Boosting?
  • Train models (Naive Bayes) in a sequence
  • Weights models according to performance
  • New models are influenced by performance of previously built ones
  • Encourage new model to focus on those cases which were incorrectly classified in the last round
  • Combine the classifiers by letting them vote on the final prediction 

USAGE

Results

Web APPLICATION

  • Shows positive and negative tweets of your Twitter accounts

thank you for lıstenıng

Made with Slides.com