FP-AlexEngel

From cs448b-wiki
Jump to: navigation, search

Proposal

Description

For my project, I intend to make an interactive visualization that allows users to see which Twitter hashtags are trending in a given area. By using this visualization, people will gain insight into how current events affect trends on social media and will be able to pinpoint where a given trend is most popular. This visualization will have two main workflows. The first workflow will allow the user to specify a location by clicking on a map or entering the location in the sidebar and will then display the top 10 trending hashtags within a certain radius of the given location. Additionally, when a location is selected, a view will appear in the visualization that will live stream tweets containing the relevant trend(s). The second workflow is essentially the inverse of the first. The user will enter a search term in the sidebar and the map will update to display the top 10 locations that are associated with the search term.

Implementation

The interactive part of the visualization will be created using d3. For the first workflow, the front-end Javascript will POST location information from a user click to a Node.js web server which will then use the Twitter API to collect tweets from a location. During collection, these tweets will be analyzed in order to find the top 10 trends. These will then be sent in a the response back to the d3 front-end to be displayed. The second workflow will work similarly, but instead will send a trend to search for to the backend.

Project Progress Presentation

Literature Review

General Design Principles

Tufte, Edward R. The Visual Display of Quantitative Information. Cheshire, Conn. (Box 430, Cheshire 06410): Graphics, 1983. Print.

Tufte, Edward R. Envisioning Information. Cheshire, Conn: Graphics, 2006. Print.

Relevant Prior Work

One of the most relevant visualizations related to my project is the One Million Tweet Map. This visualization shows every publicly geotagged tweet in real-time. You can focus in on specific locations and also search for keywords and very recent tweets. One of the strengths of this visualization is that it is very robust and consequently allows users to adjust the visualization to display only relevant information. Additionally, this visualization is very easy to use and understand. The main weakness of this visualization is that it does not provide any deeper level of analysis on the tweets, it simply displays them. My project will be similar in that it will gather tweets to display in real-time, but if a search term is specified, the resulting tweets will be ran through a sentiment analysis script in order to generate a visualization of the overall sentiment regarding a search term in a given area.

Another relevant visualization is Sentiment140. This visualization allows users to input a search term and returns several charts regarding the overall sentiment of tweets containing this term. One strength of this application is that it provides can calculates sentiment from historical data (the past week). Additionally, this app provides two embedded charts which provide a visual cue for the sentiment analysis. The main weakness of this app is that it only provides sentiment data. Traits such as location are lost. Additionally, this app does not support real-time results. My visualization will be different in that it will be real-time and will be able to plot the location of tweets to provide sentiment information about a certain area.

Sentiment Analysis

Many papers have been written on Tweet sentiment analysis in general. However, these papers are all concerning the actual algorithms used to perform sentiment analysis and do not specifically mention visualization of this data. Here are a couple:

Other Twitter Sentiment Tools

This website lists 5 more sentiment tools that can be used for analyzing tweets. However, like the one mentioned above, they do not support location data.

Project Plan

As of now, I have essentially completed the backend for my visualization. The steps that remain are as follows:

  • Format response from Node.js server to include location data.
  • Use d3 to plot points on the graph as tweets are gathered.
  • Figure out a color-coding schema for sentiment.
  • Implement color-coding schema in map using d3.
  • UI Aesthetics
  • Deployment to Amazon Web Services

Final Deliverables

Final Code
Final Poster
Final Paper
Final Web Application