-
Asks user to grant our application permission to access their Twitter account
-
Gets a verification code from user after access to account has been granted
-
Enter in verification code, and input the number of Tweets you would like our tool to analyze.
-
Language statistics figure one using inferences made from our neural network
-
Language statistics figure two using inferences made from our neural network
Inspiration
We live in a busy chaotic world, and sometimes in the mess of it all, we forget to touch base with our feelings. We understand that our world is filled with constant sensory bombardment, and so we wanted to develop a tool that would allow an individual to gain insight into their mood and how they may be feeling.
What it does
Our program utilizes natural language processing to scan your twitter feed and categorize each tweet into one of 13 categories: empty, relief, neutral, boredom, anger, hate, enthusiasm, fun, happiness, love, sadness, surprise, and worry. After scanning the specified number of tweets from your feed, you get two graphs detailing the breakdown of tweets in each category and the overall positive/negative sentiment.
How we built it
Our program is built on three main platforms. The natural language processing is accomplished using a neural network which was designed and trained using TensorFlow. Our Tweet scraping portion of the program was built using the Twitter developer API. Finally, the graphical user interface was developed using PyQt.
Challenges we ran into
Our two biggest challenges were related to the GUI and Twitter scraper. Our original plan for the interface involved a website but after domain and database issues, we went through a series of libraries until we settled on PyQt. In terms of the scraper, the authentication protocols for Twitter gave us a run for our money. In an effort to protect user privacy and to follow the developer guidelines, we wanted to make sure we had each user properly authenticate their account before accessing their data.
Accomplishments that we're proud of
Our biggest accomplishment for this hackathon was our ability to fully complete the program we set out to design. In 24 hours we fully designed and trained a neural network, learned the twitter developer API, and wrote a program in a language most of us were unfamiliar with.
What we learned
We learned a few things while developing this program. First, we learned how to integrate the Twitter API into a program with full authentication checks. Secondly, we learned how to design a graphical user interface using PyQt. Most importantly though, we learned that every 20 minutes you're gonna run into another problem, but if you have the work ethic and determination, nothing can stop you from completing the tasks you set out to do. This ended up being a bigger project than we anticipated, but after a full night's work from everyone in the team we were able to accomplish our goals.
What's next for #TweetYourHeartOut
In terms of our program, we hope to further develop in two areas. First, by expanding the neural network with more accurate training data spread across more categories, we should be able to give the user more accurate feedback into their mood. Secondly, we hope to expand the integration into other forms of social media in the hopes of reaching a wider audience and providing a user with a more in-depth analysis across multiple platforms.
Built With
- github
- machine-learning
- neural-network
- powershell
- pycharm
- pyqt
- python
- tensorflow
- tweepy
- twitter-ads-api
- visual-studio-code
Log in or sign up for Devpost to join the conversation.