Expedia’s Nautilus Travel Search Engine: Overview and Applications

By Thomas Crook, Manager of Data Science and Technical Product Management, Expedia Search Group, and Neelakantan Kartha, Senior Technical Product Manager, Expedia Nautilus Team

History and Introduction

Expedia has been researching natural language processing for more than five years and completed version 1 of the patent-pending Nautilus travel search engine in 2012. Nautilus is composed of an NLP language parser and a probabilistic travel entity selector we call “SmartFinder.” Client applications pass Nautilus a natural language query (e.g. “Hotels in Bellevue, “Beach Hotels”, “Hotels near Space Needle in Seattle”, “Las Vegas”) and Nautilus returns ranked lists of travel entities, such as hotels and regions, that are most relevant to the query.

In July of 2012 Expedia launched “Semantha,” an internal employee hotel booking site powered by Nautilus. Semantha accepted natural language queries and displayed a ranked list of hotel results on a map view of the destination most relevant to the user query. The Nautilus team used Semantha telemetry and qualitative feedback for three years to continually test and improve the Nautilus search engine and build confidence in its ability to successfully handle real world natural language travel queries before launching it for external use.

Nautilus and Expedia’s Search Anything

We started A/B testing a Nautilus-powered “Search Anything” tab on the Expedia.com US home page in September of 2015 to gauge customer feedback and search input trends, and have continued testing and adding incremental improvements to the feature ever since. For example, we were surprised by the number of people who were directly entering itinerary numbers so we added a feature that returns a link to users’ itineraries at the top of the search results when they enter an itinerary number.

figure-1

Figure 1: We were surprised at the number of people who directly entered itinerary numbers into the Search Anything form

This past July we rolled out Search Anything to the majority of our English-language platform sites under the Expedia, Travelocity, Orbitz and Wotif brands that enables us to understand local context in search results. For example, searching for “Hotels in Newcastle” on Wotif.com will return hotels in Newcastle New South Wales in the first two positions, versus the same search on Expedia.co.uk which will surface hotels in Newcastle-upon-Tyne.

figure-2

Figure 2: Localized Search Results

The most popular Search Anything query categories we have observed in 2016 include:

itinerary
all inclusive
ground transportation
flights
phone number
customer service
train
multiple destination vacation packages
beach
disney
contact
hotels

Expedia is also testing Nautilus on other parts of its sites, beyond the Search Anything tab. In conjunction with our machine learning sorting algorithms, Nautilus is powering a hotel search result refinement test that allows users to surface hotels that meet their unique needs – such as “pet friendly hotels with a kitchen.”

figure-3

Figure 3: Nautilus Search Refinement on Hotel Search Results

Nautilus Technical Overview

At a high level, here’s how Nautilus works:

The Nautilus orchestration service takes an input query and forwards it to the NLP service. The NLP service tags the query with named entities (e.g., Name, Location, Amenity, Other) and concepts (e.g., HOTEL_STRUCTURE, HOTEL_ATTRIBUTE, HOTEL_STAR_RATING, PRICE, RELATIVE_DATE). The tagged query is then passed on to the SmartFinder service, which is powered by machine learning models derived from various sources. The SmartFinder service uses the tagged query returned by the NLP service in combination with machine learning models to determine the lists of travel entities such as hotels and regions most relevant to the query. The Nautilus service constructs the final response using the outputs of the NLP and SmartFinder services and returns it the calling application.

figure-4

Figure 4: Nautilus High Level Architecture

Exploring Artificial Intelligence via Natural Language Processing

Artificial Intelligence (AI) is a hot topic lately – it seems to be the main conversation starter at various industry events, workplace hallway interactions, and dinner parties. However, AI relies on the ability to interact successfully – or intelligently – with a consumer in some way. And in order to do that, you must have a robust system that understands what an input means.

In travel, these options are nearly endless. If someone says in casual conversation, “I want to go to Paris,” we make an assumption that they mean Paris, France instead of Paris, Illinois. Similarly, “Show me a flight on Friday” likely means for the next Friday on the calendar instead of one random Friday next month.

At the heart of this understanding is Natural Language Processing (NLP) or the task of turning travelers’ common questions, those they would ask a friend or travel agent, into searchable content. We’ve been experimenting with NLP for the past few years; ever since we realized that the standard travel search framework doesn’t work as well on mobile devices. For example, did you know that a search request for a big city like London can turn up thousands of hotel results? Going through that information on a desktop can be challenging, but someone searching on a tablet or a mobile phone is unlikely to scroll through every page of those results. And with wearables exploding on the market, you can image the quantity of acceptable results becomes even smaller.

Filters become a very important part of slicing search data into relevant, digestible chunks of information that you care about. With mobile devices, finding an easy way to input those filters is a key priority. Selecting filters manually is an option, which is why we offer solutions like that on our mobile app and mobile websites. But the appeal of voice- and chat-bots is they take some of that filtering away by having a more fluid conversation with customers. Instead of checking a box that says, “pet friendly” you could tell a chat bot you want to bring your dog, and it can narrow results to those that accept pets.

Experiments available today

In addition to the mounds of traveler data we look at en masse to predict trends and identify patterns, we are testing ways NLP can expedite the search process. Some of this happens on the backend of our site via machine learning and automation of certain big data tasks. But others are more obvious and available for direct interaction:

  • Search Anything on our Homepage: As the name implies, you can type an array of travel-related requests into this field and we’ll begin to filter your search results for you automatically. This space has been interesting to watch, as it has helped us understand some of the more common requests associated with search. For example, we have implemented a breakfast filter because of content frequently being searched for in this field.

Search Anything

  • Expedia tablet app: If you’ve downloaded our Expedia app on an iOS or Android tablet, you’ll notice the interface is a lot different from our desktop experience and mobile phone app. The most obvious difference is upon opening the app, you’ll see just one search bar. Similar to the Search Anything box, it is designed to allow customers to enter NLP travel requests. This was a huge learning for us – we saw customers inputting restaurant names and popular destinations such as the Eiffel Tower, and quickly had to adjust our prompts to encourage visitors to enter questions we could answer.

Expedia Tablet App

  • Hotel Smart Finder on Mobile Web: Launched just a few weeks ago, travelers who use our mobile hotel search product will be presented with an open search box. With this feature travelers can look for hotels using specific hotel names, hotel locations and neighborhood, hotel amenities such as wifi and restaurants, or simply for specific outcomes such as family friendly. We’ve already seen travelers search for a range of things like “all inclusive,” “on the beach,” or “hot tub.”

Hotel Smart Finder on Mobile Web

  • Expedia bot for Facebook Messenger: Our most recent addition to our NLP research world. Just launched today, customers using Facebook Messenger can interact with an Expedia bot to fulfill hotel search requests. The bot operates on a structured conversation flow: it analyzes information provided and prompts the user to input other relevant data points to complete a search.

 

Tip of the iceberg

The beauty of our work to date is that there’s still plenty to investigate in this space. Voice recognition software continues to advance, which makes the possibilities of voice-activated search more prevalent. Messaging solutions around the world are growing at an impressive rate compared to other types of technologies, and the demand for these platforms to facilitate commerce is also increasing. For example, in China, people already use the messaging app WeChat to order an array of services like requesting taxis or booking a doctor’s appointment.

And NLP isn’t the only thing we’re working on. Machine learning is a big investment area for Expedia as well. It is what powers our flight search algorithm – Best Fare Search – which is a one-of-a-kind program that reduces the nearly infinite set of flight combinations down to a key set of realistic and reviewable options. This algorithm, like many others on our site, has been learning patterns for over ten years.

As the data available grows, so will our ability to refine the algorithms that can turn this content from natural language processing to a solution that more closely resembles artificial intelligence. We have a team of data scientists around the globe closely monitoring our progress and making tweaks as we notice unique findings in the data. As our tools become more sophisticated, they can tap into more computer power and better analyze the fascinating patterns buried in the mounds of data. Our data scientists review this content and apply learnings to our products, resulting in a better experience for our travelers.

Expedia has been looking at travel data for the last 20 years. Through our scale, our vast partnerships, and our loyal customer base, we have access to better travel insights than anyone else in the industry. But access to the data isn’t enough anymore. We are testing, learning, and applying our insights to our products on a daily basis. We believe this passion towards making our sites better every day is what will put us ahead, particularly in emerging areas like using machine learning, natural language processing, and artificial intelligence, to make travel a personalized experience.

– David Fleischman, Vice President of Global Product