Since the start of a rocky year, many people have complained that online communities such as Facebook and Twitter are too much of a bummer, almost "toxic". There is too much negativity, and not enough positive vibes going around. For 2017's Innovate Good, I wanted to create a simple tool to tell how positive a user is, and how many good vibes they give.
What it does
The project is relatively simple. It starts by gathering a number of past tweets made by any user we wish to examine. After all tweets have been gathered, it cross references every tweet with a list of positive words gathered from different sources around the internet. This list is over 800 words long so that the cross reference covers as much base as possible.
How I built it
The project is made in Python. It uses the Twitter API, but also Twython, a wrapper for the Twitter API, made specifically for Python.
Challenges I ran into
So far the biggest challenge is conducting proper semantic analysis. In machine learning, specifically natural language processing, it very difficult to understand the exact meaning of a source.
In some cases it's easy, but because it's only looking at word usage a frequency, the program cannot detect things like sarcasm, or jokes.
Accomplishments that I'm proud of
I set out to see what I can apply myself to do, and I'm happy with the project thus far. Data processing and machine learning are fields I am most certainly interested in, so I am happy to have the opportunity to expand those avenues.
What I learned
I've learned that machine learning is hard. Humans take advantage of so many things we already know, that it surprisingly difficult to explain the things we can do without much effort. Reading and analysing are things we do constantly, but we still struggle to teach a computer to do those same things.
What's next for Positive Vibes
I'm hoping I can continue with the project. It was a neat machine learning project, and one that can be used for the betterment of our online communities. Maybe in the future, it could be used as a tool for social media websites to help users make the most out of their online communities.