NLP-powered search engine

Problem / Goal
As part of R&D Skyscanner investigated the ability to parse and interpret natural language queries such as “I want to fly from Berlin to Los Angeles next Tuesday” and return it as a set of key/value pairs such as “from”, “to”, “outbound date” and “inbound date”.

In addition the system had to be language-independent and it should be fairly easy to add support for other languages and handle common typing mistakes and incorrect grammar forms.

Solution
We developed algorithms for recognizing the textual meaning of flight search queries, and linked them with the API for Skyscanner flight data. The project was implemented originally for English, Polish and Italian, with the possibility to have new languages added relatively quickly and to have the domain extended to include hotels, car rentals, or travel by rail.

Later on support for Chinese Traditional, Spanish and Russian languages were added.

This approach can be used for a range of very different issues, such as weather forecasts, exchange rates, restaurants and many more. Assuming the use of a suitable API converting speech to text, as well as data provider APIs, we can provide text recognition that covers various topics for applications such as S-Voice (Samsung) and Siri (iPhone).

Results
Skyscanner’s user could now ask questions such as: “How much is the cheapest airline ticket to London for me and my daughter for next weekend”, and in reply receive a list of flights along with the correctly indicated route, number of passengers, date, etc.

TEAM

Wit Więch
Co-founder and CEO
Tomasz Marcinek
Co-founder and Software Architect
Kamila Marcinek
Database Developer
Radosław Szuban
Infrastructure Engineer
Norbert Tu-Van
Software Developer