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
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.