We live in a tri-chromatic world – but we often forget that the real world, to some creatures like the dragonfly, can be up to a whopping 30 colors. Just like our vision, the digital content we consume today is limited by nature. Technology that is increasingly focused on serving individualized content only serves to reinforce the “echo chamber” effect – we believe our perspectives are the only ones out there.

Yet, it’s also increasingly important to understand diverse perspectives in a more connected modern world. We want to allow users to search for information in a more holistic and unbiased way, navigating the bewildering deluge of information and polarizing opinions on the Internet in a more intuitive way. Using sentiment analysis and natural language processing, we seek to link search terms to articles exemplifying a spectrum of emotions, shedding light on all angles of an issue.

What it does

In its current iteration, Dragonfly exists as both a web application and also a browser extension. The web application is a search engine that yields a variety of articles on a numerical linear scale. The scale is a measure of the sentiment expressed in the writing, ranging from negative to neutral to positive. We group articles based on common sentiment and uses natural language processing to extract keyphrases that are representative of the group’s point of view. This way, users can not only see a overview of the distribution of sentiments on a topic, but understand on a real-world level how different groups are approaching and talking about the issue.

We also created a browser extension that allows users to be aware of bias during their day-to-day browsing. The browser extension gives a rating that is based on the relative sentiment expressed on the current webpage compared to other topically relevant articles.

How we built it

The web application has a backend written using Django and uses the charts.js library to deliver front end visuals. The browser extension is written in standard html, javascript, and jquery.
For sentiment analysis we leverage IBM’s Alchemy platform. Our web app uses Alchemy’s news aggregator API to find articles and associated sentiment ratings. The chrome extension uses the separate Alchemy sentiment expression analyzer.

Challenges we ran into

There were difficulties in defining the scope of what we wanted to accomplish with the given machine learning tools at our disposal. Human attitudes can have very subtle gradations that are very difficult for machines to characterize. Of course, the running clock was a persistent challenge for us all.

Accomplishments that we're proud of

Conceptualizing and delivery a product in such a short amount of time.

Share this project: