When people participate in polls it is often not representative of the population. I wanted to alleviate this by using Natural Language Processing to create a real-time data analysis tool capable of pulling information from Twitter around a topic and using that information to make predictions about the population. Imagine a company able to get real-time feedback of a product without needing to ask for it, a company to be able to find needs in a marketplace and quickly design products to fill them, or a person getting real-time statistic about what actual people think about their elected representative; the options are endless.

What it does

The program first uses the Twitter API to access all the tweets around a given topic. It proceeds to then generate the real-time statics data regarding the "Emotional Tone" of the tweets as well as the "Social Tone".

How I built it

I access all the tweets around a given topic using the Twitter API. I then have a custom made api which cleans and parses all the data. I use IBM bluemix to run sentiment analysis on the tweets. From there I make predictions about the overall tone of the people.

Challenges I ran into

  • Twitter API
  • Cleaning the Data
  • Visualizing the Data
  • Building my own API in express

Accomplishments that I'm proud of

  • Did it by myself
  • Used Machine Learning Library
  • Built my own custom API

What I learned

  • How to interact and consume API's
  • IBM bluemix
  • Twitter API
  • Node.js
  • Express.js

What's next for Natural Live Polling

  • Would love to get a bigger training set from twitter as I'm only allowed to consume up to 100 tweets at a given time.
  • Statics would update in real-time without needing to refresh the page
  • Tweet level sentiment analysis would be cool to show as well.
Share this project: