Using LTR to Personalize Search Experience at Go-FOOD

Maulik Soneji • Back to Haystack 2019

GoFood, the food delivery product of Gojek is one of the largest of its kind in the world. This talk summarizes the approaches considered and lessons learnt during the design and successful experimentation of a search system that uses ML to personalize the restaurant results based on the user's food and taste preferences.

We present the tradeoffs between accuracy in relevance estimation and response times while designing search relevancy systems. We formulated the estimation of the relevance as a Learning To Rank ML problem which makes the task of performing the ML inference for a very large number of customer-merchant pairs the next hurdle. The bottleneck here is that if we design ML inferencing to happen after all candidate restaurants in the user's location are retrieved from the database, the time taken for information retrieval and inferencing causes slower response times. This calls for a design that performs the inferencing before the information retrieval step. This talk will also cover how we scaled our experiment whilst maintaining our Service Level Agreements(SLAs).

Our story should help the audience in making design decisions on the data pipelines and software architecture needed when using ML for relevance ranking in high throughput search systems.

Maulik Soneji

Go Jek

Maulik Soneji is currently working as a Data Engineer at Gojek where he works with different parts of data pipelines for a hyper-growth startup. Outside of learning about data systems, he is interested in elasticsearch, golang and kubernetes.