GoFood, GO-JEK’s food delivery product, is one of the largest of its kind in the world. It uses ML to personalize restaurant results based on the user’s food and taste preferences.
Maulik Soneji and Jewel James outline the approaches they considered and the lessons they learned during the design and successful experimentation of GoFood. You’ll learn the trade-offs they had to make between accuracy in relevance estimation and response time while designing search relevancy systems. They formulated the estimation of the relevance as a learning-to-rank ML problem, which made 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 the ML inferencing happens after all candidate restaurants in the user’s location are retrieved from the database, the time taken for information retrieval and inferencing leads to slower response times. Ultimately, this called for a design that performs the inferencing before the information retrieval step.
Discover how they scaled the experiment while still maintaining their service-level agreements (SLAs). It could help you decide how to build and implement data pipelines and the software architecture when using ML for relevance ranking in high-throughput search systems.
Maulik Soneji is a data engineer at GO-JEK, where he works with different parts of data pipelines for a hypergrowth startup. Outside of learning about mature data systems, he’s interested in Elasticsearch, Go, and Kubernetes.
Jewel James is a data scientist at Gojek.
Comments on this page are now closed.
©2019, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • firstname.lastname@example.org