Our bubble chart visualization of keywords relating to community complaints.
List of complaints related to the selected keywords.
We run into so many situations where we feel like our city doesn't care about our problems, whether it's a pothole ridden street, poor zoning laws, or just an ugly unkempt median across the street. So we considered how can we best inform our municipalities which issues are most important to the citizenry.
What it does
Whino takes in plain text complaints from citizens and relates issues together using keyword analysis. Using this technique we can quantify the frequency in which an issue affects the people of our city. Through this we hope to better help city employees and leaders to understand and prioritize the issues that matter most to their constituents.
How I built it
We take in plain text data through an angular web application and submit it to a Python/Django API which runs it through a natural language processing algorithm in order to extract important keywords. We then relate posts together using these keywords and display an intuitive bubble graph (built using graph.js) to show which issues are most prominent.
Challenges I ran into
Implementing an algorithm to identify good keywords was more challenging than we anticipated. While we're satisfied with the prototype, there is a lot more than can be done with text processing algorithms.
Accomplishments that I'm proud of
Providing a simple and intuitive visualization so people can determine which issues are most prominent and better prioritize problems to solve by the number of citizens they effect.
What I learned
We learned that regardless of the library employed, good Natural Language Processing is very difficult and finicky. We hope to continue to improve these skills. We also learned a lot about designing around a problem and architecting a minimal proof of concept in a very short period of time.
What's next for Whino
The next steps we discussed are to improve the keyword extraction to better focus the relationships between posts and better represent key community issues. We'd also like to add timeline visualization to view recent issues and frequency of community complaints. Finally, it would be nice to test out the system on a real community with the hopes of helping increase government transparency and improve awareness of key community issues.