Scaling Multilingual Semantic Search in Uber Eats Delivery

Questo articolo presenta un sistema di recupero semantico multilingue e multi-verticale per Uber Eats, basato su un modello Qwen2 fine-tunato con tecniche avanzate di apprendimento su larga scala, che ha ottenuto significativi miglioramenti nel recall rispetto ai baseline esistenti.

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

Pubblicato Wed, 11 Ma
📖 4 min di lettura☕ Lettura da pausa caffè

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

Ecco una spiegazione semplice e creativa del paper, pensata per chiunque, anche senza conoscenze tecniche.

Immagina Uber Eats come un'enorme biblioteca culinaria globale. Invece di libri, ci sono milioni di ristoranti, piatti e prodotti della spesa. Il problema? Quando un utente cerca "pasta", il sistema deve capire se vuole pasta fresca, pasta secca, un ristorante italiano o forse pasta per animali (se cercasse qualcosa di strano).

Fino a poco tempo fa, Uber Eats aveva tre bibliotecari separati: uno solo per i ristoranti, uno solo per i piatti e uno solo per la spesa. Ognuno parlava una lingua diversa e non si parlavano tra loro. Se cercavi "pizza", il bibliotecario dei ristoranti ti dava la pizza, ma quello della spesa non sapeva che esisteva la mozzarella per farla. Era confuso, lento e costoso da gestire.

Questo paper racconta come hanno costruito un unico "Super-Bibliotecario" intelligente che capisce tutto, parla tutte le lingue e trova esattamente ciò che cerchi, sia che tu voglia ordinare un sushi o comprare un'insalata.

Ecco come hanno fatto, punto per punto:

1. Il Cervello: Un'unica Intelligenza Artificiale (Qwen2)

Invece di avere molti piccoli cervelli, hanno usato un "super-cervello" chiamato Qwen2. È come un lettore di libri che ha già letto milioni di testi su tutto il mondo.

  • L'idea: Hanno insegnato a questo cervello a capire che "cibo" e "ristorante" sono collegati, anche se le parole sono diverse.
  • Il trucco: Invece di scrivere le cose in modo semplice (es. "Pizza"), gli hanno dato i dati in una forma strutturata (come un modulo JSON), tipo: { "tipo": "piatto", "nome": "Pizza", "cucina": "Italiana" }. È come se invece di dare al bibliotecario un foglio di carta strappato, gli dessi un modulo compilato con caselle precise. Questo aiuta l'AI a capire subito di cosa si tratta.

2. L'Allenamento: Due Fasi di Studio

Hanno allenato il sistema in due tappe, come un atleta che si prepara per le Olimpiadi:

  • Fase 1 (La lettura massiccia): Hanno mostrato al sistema centinaia di milioni di ricerche fatte dagli utenti reali. Se qualcuno cercava "sushi" e cliccava su un ristorante giapponese, il sistema imparava: "Ok, questi due vanno insieme". È come se il bibliotecario leggesse tutti i registri della biblioteca per vedere cosa piace alla gente.
  • Fase 2 (Il tirocinio difficile): Hanno usato un'altra AI molto potente per creare "quiz difficili". Hanno preso casi in cui il sistema sbagliava (es. cercare "pan" in spagnolo e trovare "padella" invece di "pane") e hanno corretto l'errore. Questo ha affinato la precisione, insegnando al sistema a distinguere le sfumature.

3. La Magia delle "Matrioske" (MRL)

Qui c'è il colpo di genio per risparmiare soldi e tempo.
Immagina di dover inviare un pacco. A volte ti serve un pacco piccolo e veloce (per una ricerca rapida), a volte un pacco grande e dettagliato (per un'analisi profonda).
Invece di avere scatole diverse, hanno creato una Matrioska digitale (le famose bambole russe che si aprono).

  • Hanno creato un'unica "firma" digitale molto grande e dettagliata (1536 dimensioni).
  • Ma questa firma può essere "tagliata" in qualsiasi momento: puoi usare solo la parte interna (piccola e veloce) o tutta la matrioska (grande e precisa).
  • Risultato: Lo stesso modello serve sia per ricerche veloci su telefoni lenti (usando la parte piccola) sia per ricerche complesse su server potenti (usando la parte grande), senza dover costruire due modelli diversi.

4. Il Risultato: Trovare l'Ago nel Pagliaio

Prima di questo sistema, se cercavi qualcosa, il sistema trovava solo le parole esatte. Ora, grazie a questa intelligenza:

  • Recall (Ritrovamento): Hanno trovato molto più spesso ciò che l'utente voleva. In alcuni casi, hanno aumentato la capacità di trovare il prodotto giusto del 30-80% rispetto al vecchio sistema.
  • Velocità: Nonostante sia più intelligente, è veloce. Usando le "matrioske" e comprimendo i dati (come trasformare una foto HD in un JPEG leggero senza perdere troppo dettaglio), il sistema risponde in millisecondi.
  • Multilingua: Funziona perfettamente in inglese, spagnolo, giapponese, ecc., capendo che "pan" in spagnolo è "pane", non "padella".

In Sintesi

Hanno preso un sistema vecchio, frammentato e lento, e l'hanno trasformato in un unico assistente intelligente, multilingue e flessibile.

  • Prima: Tre bibliotecari confusi che non si parlavano.
  • Ora: Un unico super-bibliotecario che conosce ogni angolo della biblioteca, parla tutte le lingue e sa esattamente cosa vuoi, sia che tu voglia mangiare o fare la spesa, tutto in una frazione di secondo.

Il risultato finale? Meno ricerche a vuoto, più ordini fatti e un'esperienza utente molto più fluida su Uber Eats in tutto il mondo.