Scaling Multilingual Semantic Search in Uber Eats Delivery

Este artículo presenta un sistema de recuperación semántica multilingüe y multi-vertical para Uber Eats que, mediante el ajuste fino de un modelo Qwen2 con aprendizaje de representaciones matryoshka y una combinación de funciones de pérdida, logra mejoras significativas en la recuperación de tiendas, platos y artículos de supermercado en múltiples mercados.

Bo Ling, Zheng Liu, Haoyang Chen, Divya Nagar, Luting Yang, Mehul Parsana

Publicado Wed, 11 Ma
📖 4 min de lectura☕ Lectura para el café

Each language version is independently generated for its own context, not a direct translation.

¡Hola! Imagina que Uber Eats es como una biblioteca gigante y desordenada que tiene millones de libros (restaurantes), capítulos (platos) y revistas (comida de supermercado) en todos los idiomas del mundo.

Antes, si alguien buscaba "tacos", el sistema era un poco torpe: leía la palabra "tacos" y solo mostraba cosas que tenían esa palabra escrita exactamente igual. Si escribías "comida picante mexicana", el sistema se confundía y no te daba nada. Además, tenían que usar diferentes "bibliotecarios" (sistemas) para cada tipo de comida, lo cual era lento y costoso.

Este paper cuenta la historia de cómo crearon un super-bibliotecario inteligente que entiende lo que realmente quieres, no solo las palabras exactas. Aquí te explico cómo lo hicieron, usando analogías sencillas:

1. El Gran Unificador (El Sistema de Dos Torres)

Imagina que antes tenían dos bibliotecarios separados: uno solo para libros y otro solo para revistas. Ahora, crearon un sistema de dos torres que funcionan juntas pero por separado:

  • La Torre de Pregunta: Escucha lo que el usuario escribe (ej. "cena rápida").
  • La Torre de Respuesta: Conoce todos los restaurantes y platos del mundo.

Ambas torres usan la misma "lengua" interna (un modelo de inteligencia artificial llamado Qwen2). En lugar de buscar palabras clave, convierten la pregunta y la respuesta en huellas digitales matemáticas (llamadas embeddings). Si la huella de tu pregunta se parece mucho a la huella de un restaurante, ¡los emparejan! Esto funciona igual de bien en inglés, español, japonés o francés.

2. El Entrenamiento: De "Estudiante" a "Experto"

El modelo no nació sabiendo todo sobre Uber Eats. Lo entrenaron en dos fases, como un estudiante universitario:

  • Fase 1 (El Relleno de Datos): Le mostraron cientos de millones de ejemplos de lo que la gente realmente hizo (hizo clic en un restaurante o agregó algo al carrito). Fue como darle un libro de texto gigante con miles de millones de páginas para que aprendiera patrones generales.
  • Fase 2 (El Entrenamiento de Elite): Aquí fue la magia. Usaron una IA más avanzada para encontrar los casos difíciles. Por ejemplo, si alguien buscó "pizza" pero hizo clic en "tacos", la IA aprendió que quizás quería "comida italiana" o "comida rápida", no necesariamente pizza. Esto afinó el sistema para entender las intenciones ocultas.

3. La Caja de Matryoshka (Ajuste de Tamaño)

Imagina una muñeca rusa (Matryoshka) que tiene muchas muñecas dentro, una más pequeña que la otra.

  • El sistema crea una huella digital gigante (muy detallada, pero pesada).
  • Pero, gracias a una técnica llamada MRL, pueden cortar esa muñeca gigante en pedazos más pequeños sin perder la esencia.
  • ¿Para qué sirve? Si el usuario está en un móvil lento o en una zona con mala señal, el sistema usa la "muñeca pequeña" (rápida y ligera). Si el usuario tiene una conexión rápida y quiere resultados perfectos, usan la "muñeca grande" (más detallada). ¡Todo con el mismo modelo!

4. El Formato JSON (La Etiqueta de la Caja)

Antes, el sistema leía el texto como un bloque de palabras sueltas. Ahora, les dan la información en una caja con etiquetas claras (formato JSON).

  • En lugar de decir "Restaurante: La Pizza, Comida: Italiana", el sistema ve:
    • Nombre: La Pizza
    • Tipo: Restaurante
    • Cocina: Italiana
      Esto ayuda al "bibliotecario" a entender exactamente qué es cada cosa, evitando confusiones (como pensar que "Pan" es un panadero o un pan de molde, dependiendo del idioma).

5. El Resultado: Más Rápido y Más Preciso

¿Qué lograron con todo esto?

  • Menos búsquedas sin resultado: Antes, si escribías algo raro, no salía nada. Ahora, el sistema entiende tu intención y te muestra opciones, reduciendo los "no encontrados" en casi un 70%.
  • Más ventas: Al mostrar lo que la gente realmente quiere, hay más gente que termina pidiendo comida (aumentaron las conversiones).
  • Ahorro de dinero: Al usar las "muñecas pequeñas" (huellas comprimidas) y técnicas de compresión, guardan menos datos en los servidores, lo que hace que el sistema sea más barato de mantener y más rápido.

En Resumen

Este paper describe cómo Uber Eats dejó de buscar palabras sueltas para empezar a entender intenciones. Crearon un cerebro único que habla todos los idiomas, entiende que "hamburguesa" y "comida rápida" están relacionados, y se adapta a la velocidad de tu internet. Es como pasar de buscar en un diccionario de papel a tener un asistente personal que conoce tus gustos mejor que tú mismo.