ezyang's blog

the arc of software bends towards understanding

Metro Maps of the News

Metro maps are a visual metaphor for complex, interdependent story lines developed by Dafna Shahaf. Dafna’s thesis involved techniques for automatically taking a corpus of news articles and extracting a coherent narratives that covered the overall space. For our final CS448b project, we took one of the narratives Dafna had generated and created a system for displaying the maps. (The demo is best viewed on a large monitor.)

image

We only had enough time to get the viewer aspect polished, but we think that it would not be too difficult to extend this framework for the construction of metro maps (in case you don’t have access to Dafna’s algorithm).

This is joint work with Russell Chou and Jacob Jensen.

6 Comments

  1. Anonymous
    I like the suggestion of using this for scientific papers. Do you have an example of that in use?
  2. Edward Z. Yang

    Dafna wrote a paper about applying it to that domain: http://www.cs.cmu.edu/~dshahaf/kdd2012-shahaf-guestrin-horvitz.pdf

    But as far as a researcher is concerned, the paper is a nice proof of concept but doesn’t actually give me anything that I can use, alas!

  3. Anonymous
    I see a bunch of links to papers (which is insightful reading nevetheless) but I do not see any code. Is there opensource implementation of this metro-maps algorythm available somewhere? And same question goes for visualazer - because without an actual code it’s pretty much worthless.
  4. Edward Z. Yang

    Ooops. The code lives here: https://github.com/ezyang/metromaps

    Our layout algorithm is really fast (i.e. realtime) but as a result, it needs some human input to get out of local optima. If you play around with the debug mode http://metro.ezyang.com/#debug some of the quirks should become clear. Some really good future work would be to figure out how to get the layout algorithm user friendly.

  5. Anonymous

    Hello, Can you share the layout algorithm with us. I see in the sample that X and Y coordinates are already present in the JSON file. Is that a requirement or do we have something that can generate the X and Y co-ordinates at the runtime based on the data in JSON?

    Thank you. VT

  6. Edward Z. Yang
    I posted a video about how to use the layout algorithm. It requires some human input. http://www.youtube.com/watch?v=J9FHip7-c5I