Image for post
Image for post

Using natural language processing to route around NYC’s subway disruptions

Gobot analyzes MTA’s service advisories in realtime

Citymapper
Aug 10, 2017 · 5 min read

The New York City Subway is in distress. But you already know that:

Image for post
Image for post
August 2017 New Yorker Cover

The infrastructure is a mess of delays, signal problems, power outages and trash fires. What is also challenging is figuring out what is going on and how to plan around it.

MTA’s service changes are complicated, long pieces of text that are hard to decipher, especially when you’re in a hurry, and only concerned about your specific journey.

It turns out the best way to make the service issues understandable by humans is to build a robot that explains them to humans.

Image for post
Image for post
Gobot the robot

Gobot applies natural language processing to MTA’s service alerts

Let’s say you’re travelling from DUMBO in Brooklyn to 59th and Lex in Manhattan, but there’s a service change.

“Due to FDNY activity at 23St there is no B, D, F, M train service between W4St-Washington Sq and 42St-Bryant Pk in both directions.”

What does that mean for you? Gobot digs into the details to figure out that:

  • Stations between West 4th Street and 42nd Street Bryant Park are closed,
  • But the rest of the F line is running

So our routing then suggests transferring from the F to the 6 train.

Image for post
Image for post
Gobot analysis

Gobot automatically updates the app to reroute you in real time

A to B routing results are adjusted immediately so that that best possible usable route is ranked at the top!

Image for post
Image for post
Automatic realtime rerouting in our app

Gobot constantly figures out the realtime State of the City

Planned work? Sudden power outage? Rush hour trash fire? Gobot is always working at analyzing all subway lines in realtime. Even on weekends.

And we’re updating our app and website accordingly. Check the ‘Lines/Status’ section. Rather than indecipherable text, we will help you understand exactly what’s going on:

Image for post
Image for post
NYC line service advisory

If you like visuals, the website shows every disrupted subway line on a map, highlighting affected parts, and updating in realtime.

Check out New York City at Citymapper.com/nyc/status.

Image for post
Image for post
The real state of NYC

Here’s the 1 with at-a-glance service statuses and affected stations.

Image for post
Image for post

So much wow. How does Gobot do it?

Semantics are tough, especially when they’re inconsistent. The MTA often uses multiple (and abbreviated) names for the same station, describes directions with a confusing mix of actual places, directions and phrases (for example, “Southbound” means “Downtown” which can mean “Brooklyn-bound” which can also mean “Bay Ridge-bound”) and… they sometimes make sbelleng miztakes.

So we’ve been collecting thousands and thousands and thousands of these MTA messages over a long period, and getting Gobot to read all of them, so it learns what the MTA is saying, no matter how the MTA is saying it.

Image for post
Image for post
Gobot at work

Gobot, try this beast of a message:

“Due to FDNY activity at Lexington Av-59St, there is no N train service between Times Sq-42St and Queens Plz, northbound and southbound.”

The MTA has used ‘Plz’ and not Plaza. They haven’t stated “from Times Sq-42 St to Queens Plz” but “between Times Sq-42 St and Queens Plz”. They’ve used “northbound and southbound” rather than just saying ‘in both directions’. Oh, and to add another level of confusion, Queens Plaza isn’t even on the N. It’s Queensboro Plaza.

Gobot is able to figure out these crazy MTA variables, extract the relevant station information, and help you understand it all in a single glance:

Image for post
Image for post

Don’t worry, just Route

All this happens in the background. Most importantly for users, you just request directions. We will give you the best realtime option, based on what is happening at that moment, without you having to read or decipher anything!

If you can make it here… You can make it anywhere.

New York may be the most challenging city in the world when it comes to disruptions and service changes. But we are also conducting the same analysis on train and bus systems around the world.

When using our app or website, rest assured that Gobot will aim to figure out the most accurate realtime information on the state of your city, not just based on the information we get from agencies, but also through our own analysis of the information.

Image for post
Image for post

Visit NYC at Citymapper.com/NYC

More stories at Medium.com/Citymapper

Citymapper

The ultimate transit app for major cities

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store