After looking at the sediment meter provided by the indico machine learning api, we saw a potential for untapped information that people constantly provide on the internet.
What it does
We use a metric that values a segment of text from 0-100 on positivity and apply analytics to a large set of human data. After selecting data from either Reddit, Twitter or your own , you then enter a key word you are trying learn more about. The app scans through the data and determines the top most positive and negative related topics of the original keyword. This informs the user of how people really feel about certain subjects, products, or people.
There is also live intractable feature using the Twillo api, which allows people to send a text about their opinion on a current topic such as "How do you feel about the newest changes to the SLC building on Waterloo Campus?" You then see live results of how the positivity of the discussion is changing.
How I built it
Our app is built on a Python Flask server which grabs comments from Reddit posts and tweets from Twitter based on a search word we give it. It then runs these comments and tweets through Indico's sentiment API, generating a list of sentiment values. We run them through our own algorithm to optimize results, aggregate them and then display the aggregated value to the user on the web page.
We also built an additional feature using Twilio's API, which allows users to send in opinions through text messaging. We grab the contents of the messages, run them through Indico's sentiment API and aggregate them in real time before displaying the final value on the web page.
Challenges I ran into
Could not integrate web socket with mongoDB and Flask
Accomplishments that I'm proud of
Using machine learning to understand more about human nature. Writing a server using Python from scratch without any prior Python experience.
What I learned
How to use Python Managing large volumes of data
What's next for Sentimenter
Try to integrate web sockets to improve real time features