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 this challenge, we’re hoping to develop 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. And of course, it never hurts to have a little graphical eye-candy to impress users and sponsors of the tool.
We have four types of data which should included in your dashboard:
1. Category Summary (PaloAltoPivot.xlsx - Summary tab) - This is simply a pivot table of the category assignments for a particular data set, but this does give a helpful overview and provide some basic context for the submitted content.
2. Sentiment Analysis (Sentiment Analysis Sample.xlsx) - This is fairly straightforward. In content column we have the content to be analyzed following by the aggregate sentiment: Positive, Neutral, or Negative. The next column, details, indicate the keywords that indicate sentiment, and finally score which describes the degree or positive or negative sentiment. Positive sentiment values will be positive and negative comments will have negative scores. Neutral comments will be zero
3. Concept Extraction (Concept Extraction Sample.xlsx) - This document lists an aggregate of the main concepts found in a particular data set. The two columns are the concepts found and the number of occurrences for each concept in the data set file.
4. Find Similar Documents (Find Similar Documents Sample 1.txt and Find Similar Documents Sample 2.txt) sample documents are JSON responses. By loading all the documents into a Haven OnDemand Text Index you can group a set of entries conceptually. Each of the sample files displays the following information related to each similar entry:
reference number -- the id to other documents in the index.
weight - the strength of the relationship between docs
links - an array of the words or conceptual word roots that relate the docs.
Please prepare a dashboard which contains a visualization/graphic for each sample data type listed above. The components should be reasonably coherent/compatible.This challenge will be subjectively judged by the CrowdAnalytics team based on clarity 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.
Final Submission Guidelines
1. Please write simple Node.js application which hosts your analytics pages. The PORT of the node.js application must be configurable.
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.