With the presidential elections coming up, we sought to use AI to assist readers in spotting subjectiveness within articles.
What it does
It is a chrome extension that highlights phrases with a high probability of being subjective.
How we built it
For NLP and AI, we used Python, tensorflow, and NLTK to build upon an already existing dataset with subjective and objective sentences.
We interfaced with our NLP AI to a Google Chrome Extension with Python Flask. Our Flask server has API endpoints for text to be processed and labeled subjective or objective.
Our Google Chrome Extension uses DOM manipulations to mark up the text.
Challenges we ran into
We dealt with many issues with Google Chrome Extensions communicating with HTTP requests. First, there were CORB issues on top of CORS. Second, we had to debug and deal with asynchronous functions without promises in the Google Chrome Extensions API. Third, our Flask server had issues translating data into compatible formats. Lastly, marking up or highlighting the paragraphs required DOM manipulations that didn't completely break the state or format of paragraph nodes.
Accomplishments that we're proud of
We got separate environments to tie into each other.
What we learned
We learned how to properly send HTTP requests in Google Chrome Extensions. We better learned to divide the work up between front-end and back-end.
What's next for That's Just Facts
Improved deep learning models with sentiment analysis involved. Highlighting and marking up without affecting HTML.