Governments across the world are increasingly applying open government practices such as crowdsourcing to develop stronger policies and to engage citizens, providing access to civic influencing beyond election cycle. When hundreds of ideas from citizens flow in, the crowdsourcers are facing a problem: Lack of efficient analysis and synthesis tools.
Civic CrowdAnalytics, a group at Stanford University, is developing solutions to address this problem, and is taking steps towards more participatory, inclusive and transparent democratic societies, making sure that all citizens have an equal opportunity to get their voices heard.
This challenge is part of the HPE Living Progress Challenge Blitz Program (Secure top placements in the leaderboard to grab additional cash prizes)
Haven OnDemand Data Visualizations
Topcoder is the process of developing the user interface for CrowdAnalytics which will allow users to analyze and describe crowdsourced civic content using various machine learning technologies. In this application, users will load their data and the application will display a dashboard which tells the user a story about their data and its content. The major components of this dashboard will allow users to categorize entries, perform sentiment analysis on them, extract concepts from a group of entries to summarize them, and browse the content by grouping content into related documents.
In the previous challenge, we developed some visualizations using libraries like d3 or vis.js to bring to life the analytic responses provided by the Haven OnDemand API’s and give users some insight about a specific data set loaded into the tool. In this challenge, we'd like to combine the good parts of the top 3 submissions from the previous challenge to build better visualizations. We'll be using submission 9003 as base and make the following improvements to it:
1. Categories: Link the displayed information in the bar graphs to the spreadsheet shown below. So that when you are clicking on ‘Public Transit’, for instance, the relevant categories would be highlighted in the spreadsheet that is below.
2. In the Category Summary, check that all the data is correct and the labels too. As is some labels are confusing. E.g. Private transit —> personalized private transit —> more ev charging spots —> final click shows values 3 and 0.
3. Sentiment analysis: Use a similar dense orders bar graph as in submission 9002 for sentiment analysis, but modify it so that the labels are more clear (what is positive, what is negative, what is neutral), and the color code is more clear: from green to red, for instance, and neutral should have a color too.
4. Concept extraction: Link the displayed information in the ordered plot to the spreadsheet shown below. So that when you are clicking on ‘Public Transit’, for instance, the relevant categories would be highlighted in the spreadsheet that is below.
5. Find similar doc: User a weighted link/cluster graph as in 9001, but have more clear labels and navigation instructions. Change the labels so that there are less words in each cluster (currently too many words are squeezed together), and add a feature which enables the user to click on a word in the cluster, and then another cluster graph will emerge to show all the words related to this specific word. With this layer design, each cluster graph will be clearer and look less squeezed.
This challenge will be subjectively judged by the CrowdAnalytics team based on clarity, usability and aesthetics. Users should understand what they are looking at and be able to grasp the purpose behind the (hopefully) attractive graphics. Bonus points will be awarded for interactivity. Submissions will be ranked in order of preference by the team.
The winning submission will need to address the feedback from the client to qualify for the prize (consider it the final fix phase).
Final Submission Guidelines1. Please write simple Node.js application which hosts your analytics pages. The PORT of the node.js application must be configurable. And it must work on AWS and can be accessed from public internet.
3. Provide complete documentation for your solution include instructions on how to build and deploy your app (e.g. npm start and npm install commands).
4. You do not need to provide a video with your submission. We’ll be looking at them.