Inspiration
Most content online is designed to scare you, make you angry, sad, hopeless, etc. There needs to be more websites that help people avoid this negative content.
What it does
The user passes in a URL to a news article, the application then submits the text to the Google language API to get the sentiment values and categories of the text and presents the user with a "score" that is based on the sentiment score and magnitude (the product of the two). It also gives the users the categories the article fits into, in order to help them decide whether or not they want to consume the content.
How we built it
The Google Cloud workshop was very helpful in directing us towards tools that would help us accomplish our vision. We used Python.Flask framework to write a web app, gather the HTML from the sites and to interact with the Google-Cloud-Language API. We used GitHub for our version control, and the Google-App-Engine to deploy the application to the Google Cloud platform.
Challenges we ran into
We were having with our CSS style sheet being cached on the internet and were unable to get the updated version to propagate without a way to resolve this problem other than wait for the cache to expire. We ended up dealing with this problem by renaming the CSS file for our final version.
Properly separating the HTML tags from its content was also another challenge. We ended up using the Google Cloud Language API's "HTML" type, but we had also tried using the BeautifulSoup4 library.
A more human challenge was working efficiently and intelligently while operating on minimal sleep, though our teamwork greatly mitigated this challenge.
Accomplishments that we're proud of
We are very proud we were able to learn and apply completely new technologies to us and have a finished product ready in under 24 hours. It is also nice to validate a proof of concept that will help better people's lives. Additionally, with being a two person team we are proud of the accuracy of our project scoping.
What we learned
We learned a great deal about how to work using GitHub for a multi-contributor project. We believe we gained invaluable experience working with API's for cloud based platforms, more about the relations of network and software. Furthermore, the importance of communication and teamwork became clearer to us. Finally, we learned that a little bit of effort will not only give you valuable experience, but if you direct it properly it will enrich the lives of others.
What's next for Article Analyzer
The Article Analyzer application still needs work, it is not very stable with error checking and a more robust HTML parser is needed. Also, while the Google provided machine learning model was great for a proof of concept and rapid deployment, a custom training model specifically aimed at this task would be more reliable in helping users keep negativity out of their lives.
Built With
- flask
- google-app-engine
- google-cloud-language
- python
Log in or sign up for Devpost to join the conversation.