We wanted to build our project to answer the question: "How do we find out what people are thinking and feeling about certain topics in a data-driven world?" To begin to answer this question, we turned to twitter, the most widely used platform for people expressing their opinions online. Our goal was to analyze the emotions and sentiments of each individual tweet, then use an algorithm to come up with an index displaying polarity, and display this in an easy to read graphical manner. And thus the idea for our project was born.
What it does
Our project is designed to help our users analyze users emotion to a topic. For example, we can determine tone and sentiment towards presidential candidates. Our project, with machine learning and nlp, determines these factors and displays the results in an organized manner. Our project is used to aid in marketing, safety, and advertising. We hope, with our project, we can promote the safety of others through warning certain areas of strong sentiment towards subjects.
How we built it
We built it upon a flask server that requests data from Twitter. We then got the tweets and analyzed the sentiment and tone of those tweets using Textblob and IBM-Watson. Using the analyzed tweets, we sent a JSON string to our react frontend and displayed the data with D3.js and Canvas.js.
Challenges we ran into
Parsing the correct json to Watson tone analysis API Can't get more than 14 tweets from the Twitter API Using axios to receive generator get requests from flask
Accomplishments that we're proud of
Connecting several difficult to use API's Learning D3.js
What we learned
This was our first time running a flask backend and connecting React to Flask was a new initiative for us We learnt D3.js
What's next for Rego
UI improvements, being able to handle more tweets, take initiatives and recommend help for users with extreme reactions.