Skip to content

Latest commit

 

History

History
49 lines (40 loc) · 1.67 KB

File metadata and controls

49 lines (40 loc) · 1.67 KB

SentiSteem

Twitter sentiment analyzer developed as a part of my Master Thesis in 2017/2018.

Main functionality is:

  1. Download specified number of tweets in a specified time window. Language can be specified. Geodata are not implemented (yet).
  2. Execute sentiment analysis on downloaded tweets. Classifier was pre-trained on Sentiment140 dataset
  3. Create linegraph, heatmap and various wordclouds(common words, unique words, shaped wordcloud)
  4. Generate Steemit blog post using template defined in reports folder.

Requirements

Following modules need to be installed:

  • apt-get install python-tk
  • pip install XlsxWriter
  • apt install python-numpy
  • apt-get install python-matplotlib
  • pip install tweepy
  • pip install -U scikit-learn scipy matplotlib
  • pip install wordcloud
  • pip install pandas
  • pip install geoplotlib
  • apt-get install libxml2-dev libxslt1-dev python-dev
  • pip install pyquery
  • pip install xlrd

Run it

Simply run Sentiment_Analyzer_Gui.py in python2.7. Python3 is not supported

python2.7 Sentiment_Analyzer_Gui.py

UI shows up where tweet parameters can be defined. Parameters are:

  • Keyword
  • Number of tweets
  • Language of tweets
  • Tweets from
  • Tweets to
  • Geolocation - not implemented yet

You can run all 4 steps of SentiSteem pipeline with one button but every step can also be executed separately with it's own button.

Adjust app.config to fit your preferred folder structure, GUI size and also words skipped in wordclouds.