Giter Site home page Giter Site logo

farosato / sentweements Goto Github PK

View Code? Open in Web Editor NEW

This project forked from giacomolanciano/sentweements

0.0 0.0 0.0 2.1 MB

Final project for Data Mining course of M.Sc. in Engineering in Computer Science at Università degli Studi di Roma "La Sapienza" (A.Y. 2016/2017), developed in collaboration with Giacomo Lanciano.

Python 62.75% HTML 37.25%

sentweements's Introduction

Final project for Data Mining course of MSc in Engineering in Computer Science at Università degli Studi di Roma "La Sapienza" (A.Y. 2016/2017).

The project

Sentweements is a beautifully intuitive sentiment analysis tool for tweets.

Using Twitter Streaming API to fetch tweets in real-time and Indico's artificial intelligence APIs to perform textual sentiment analysis, data is visualized on a beautiful, interactive choropleth map showing Italy's sentimental situation.

With Sentweements you have:

  • national and region-specific statistics, available through mouse hover.
  • data persistence implemented with SQLite DB.
  • dynamic updates automatically reflected on the map as new data becomes available (Twitter streaming data).
  • static analysis mode available by defining a time window of tweets to analyze, to get different perspectives.
  • api keys carousel and multi-threaded data retrieval architecture to expand rate limit both for Twitter and sentiments APIs (check secret_keys_template for instructions).

See also our images streaming emotion analysis.

Technologies

  • Indico - an artificial intelligence service that detects sentiments in texts, available for several different languages.
  • Twitter Streaming API - real-time access to tweets coming from all over Italy.
  • Flask - Python microframework to build the webserver and serve client requests.
  • Leaflet - Javascript framework to build the choropleth map visualization.

To run

Be sure to have Python 3 installed.

Note that some additional Python modules are required; you can run $ python dependencies.py to install them all in one shot.

To start tweets retrieval, open a terminal and type $ python tweets_streaming.py.
Note that you need a working Internet connection to download the tweets from Twitter.

To run the webapp (locally), open a terminal and type $ python webapp.py.
Then, open a browser and go to localhost:5000.


https://gyazo.com/6c0e91ecbe89f09a7227677c23854327


Developers

Fabio Rosato [email protected]
Giacomo Lanciano [email protected]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.