inform was made primarily to address the challenge put forth by Cognizant. As media becomes more politically polarized, it is important for readers to develop opinions based on truthful information. As suggested by the challenge, I have implemented this in the form of a Chrome extension to allow ease of access for the end user.
What it does
After activating the Chrome extension by clicking its icon, the web page switches to a reader mode that removes all the clutter of the web page and leaves only the main text of the page. This text is then parsed and highlighted based on sentiment analysis. Excessively negative content is flagged as emotive and it is highlighted on the page.
How I built it
For the first part of the hackathon, I spent time researching a tech stack that would allow a user to easily perform sentiment analysis on their pages. I eventually decided on a Chrome extension that runs a script to parse the website. The parsed content of the page is then used for sentiment analysis using Google API.
Challenges I ran into
Nearly all the technologies I worked with during this hackathon were completely new to me. I hadn't worked with Google APIs before, and I had never created a Chrome extension. As a result, I had to spent a little more time researching and following simple guides to learn how these technologies work. After I familiarized myself with these technologies, I was able to move forward in developing this project.
Accomplishments that I'm proud of
I am happy that I ended this hackathon with a complete product. There were a lot of roadblocks in the development process, and I was not sure if I would be able to complete it. I'm glad that I could overcome these roadblocks and experience the full development process.
What I learned
While Chrome extensions are convenient and easy for the end user, they are not ideal. They are restrictive in ways that make certain tasks difficult. For example, it's difficult to use machine learning within a Chrome extension without resorting to API calls to pre-trained models. For a more effective solution to objective text analysis, standalone software has greater potential.
What's next for inform
Sentiment analysis is only one component of objective text analysis. Emotion does play a significant role in subjectivity, but there are other factors to explore:
- Parse for "opinionated language" - "think", "believe", "in my opinion"
- Parse for statistical information - Is the information backed up by numbers?
- Quality of citations - Factor in the objective text analysis of a page's sources in the parent page's analysis
- Fact-checking - Parse articles about the same topic to determine if evidence is legitimate