Inside the Tech – Soluzioni per la ricerca multilingue e semantica

Internazionale
Con Zhen Fang, responsabile internazionale
Zhen Fang, responsabile del settore internazionale, si unisce al CEO David Baszucki per discutere di come stiamo lavorando per offrire un'esperienza realmente localizzata a tutti gli utenti Roblox in tutto il mondo. Dalla traduzione linguistica alle opzioni di pagamento, fino ai contenuti culturalmente rilevanti, esploreranno come la nostra piattaforma si stia adattando alla nostra comunità sempre più internazionale.
Qual è la sfida tecnica più grande che il tuo team sta affrontando?
Fino a circa un anno fa, la ricerca su Roblox utilizzava un sistema lessicale per abbinare i risultati alle ricerche degli utenti, il che significa che si concentrava esclusivamente sulla corrispondenza del testo. Ma i comportamenti di ricerca stanno cambiando rapidamente e quell'approccio non è più sufficiente per fornire agli utenti contenuti pertinenti. Allo stesso tempo, alcuni utenti di Roblox potrebbero utilizzare un'ortografia errata nelle loro query. Quindi, dobbiamo essere in grado di suggerire risultati che corrispondano a ciò che stanno cercando, il che significa comprendere la loro intenzione.
Un altro problema importante nella ricerca è la mancanza di dati di addestramento in tutte le lingue. Prima della ricerca semantica, il nostro primo passo era sfruttare le traduzioni automatiche all'interno del sistema Roblox. Indicizzavamo le traduzioni e poi facevamo una corrispondenza testuale. Ma questo non è sufficiente per mostrare sempre agli utenti contenuti pertinenti. Quindi, abbiamo adottato una tecnica di ML più all'avanguardia chiamata modello studente-insegnante: l'insegnante impara dalla nostra più grande fonte di contesto per qualsiasi scenario specifico.
L'inglese è la lingua più utilizzata su Roblox, motivo per cui apprendiamo quante più relazioni semantiche possibile in inglese (il modello "teacher") e poi le distilliamo nel modello "student", estendendole ad altre lingue. Questo ci aiuta a risolvere il problema anche se non disponiamo di molti dati in determinate lingue. Ciò ha portato a un aumento del 15% delle sessioni di gioco originate dalla ricerca in Giappone.
Recentemente abbiamo lavorato per supportare meglio le nostre query di catalogo come "đua xe (corse)". Tuttavia, gli utenti inviano sempre più spesso query lunghe e in formato libero, del tipo: "Ehi, ricordo di aver giocato a un gioco in cui c'era un drago e una ragazza che combatteva contro di lui. Potete aiutarmi a trovarlo?". Ciò presenta maggiori sfide tecniche e stiamo continuando a migliorare i nostri sistemi in tal senso.
Quali sono alcuni degli approcci innovativi per incorporare più contesto e una ricerca più semantica?
Abbiamo creato un sistema di ricerca ibrido che combina la ricerca lessicale con tecniche e modelli di ML che utilizzano la ricerca semantica e la comprensione dell'intento di una query. Stiamo evolvendo continuamente i nostri sistemi per sviluppare la comprensione del contesto, gestire query complesse e restituire contenuti pertinenti.
La magia della ricerca semantica sta negli embedding, che sono rappresentazioni ricche di una varietà di segnali che riceviamo da tutto Roblox. Ad esempio, stiamo incorporando segnali come i dati demografici degli utenti, la query di un utente, la sua lunghezza o quali sono i suoi aspetti unici.
Stiamo anche esaminando i segnali relativi ai contenuti, come le esperienze, gli oggetti degli avatar e il coinvolgimento: con quale frequenza è stato giocato questo gioco, quanti utenti ha avuto e da quanti paesi? Ci sono anche aspetti come la monetizzazione e la fidelizzazione, oltre a metadati quali il titolo, la descrizione o il creatore di un'esperienza. Inseriamo tutti questi dati in un'architettura basata su BERT e Transformer e utilizziamo un Perceptron Multistrato alla fine per generare degli embedding, che diventano la nostra fonte di verità.
Un'altra innovazione è il nostro sistema interno di ricerca per similarità. Quando qualcuno effettua una query di ricerca, recuperiamo gli embedding strettamente correlati e li classifichiamo per assicurarci che siano pertinenti a ciò che l'utente sta cercando. E poi restituiamo i risultati agli utenti.
Quali sono alcune delle cose fondamentali che hai imparato svolgendo questo lavoro tecnico?
Ogni lingua presenta una sfida unica. E soprattutto con la ricerca, dobbiamo capire cosa cercano gli utenti in diverse parti del mondo in modo da poter mostrare loro i risultati più pertinenti. Dobbiamo comprendere i diversi elementi linguistici. Ad esempio, i transformer pre-addestrati sono stati essenziali per comprendere i molteplici dialetti del giapponese.
In secondo luogo, i modelli di query di ricerca sono cambiati parecchio e dobbiamo evolvere continuamente il nostro stack tecnologico per stare al passo. Allo stesso tempo, dobbiamo informare i nostri utenti su ciò che è possibile fare sulla nostra piattaforma, poiché potrebbero non rendersene conto. Ad esempio, potremmo dire ai nostri utenti che la ricerca supporta cose come le query libere (come giochi di corse o giochi di cucina popolari) e che capisce ciò che le persone stanno cercando e può restituire risultati appropriati.
A quale valore di Roblox si allinea maggiormente il tuo team?
Avere una visione a lungo termine è fondamentale per il nostro team ed è uno dei motivi per cui amo lavorare in Roblox.
Un esempio del mio team è il nostro stack tecnologico, che consiste nei nostri sistemi di ricerca basati su ML e NLP: ricerca semantica, completamento automatico e correzione ortografica utilizzando modelli di grandi dimensioni pre-addestrati.
L'abbiamo costruito pensando alla riutilizzabilità in diversi tipi di ricerche effettuate dai nostri decine di milioni di utenti attivi ogni giorno. Ciò significa che possiamo inserire un diverso tipo di dati (ad esempio, oggetti per avatar invece di esperienze) e dovrebbe funzionare con modifiche minime.
Abbiamo incorporato la ricerca semantica per le esperienze e l'abbiamo condivisa con altri settori verticali come Marketplace, che hanno potuto semplicemente integrarsi nell'architettura esistente. Non è perfettamente plug-and-play, ma con qualche messa a punto possiamo adattarla a diversi casi d'uso.
Cosa ti entusiasma di più riguardo alla direzione che stanno prendendo Roblox e il tuo team?
La ricerca è l'unica superficie in cui gli utenti esprimono il loro intento esplicito. Ciò significa che è essenziale capire cosa vogliono e fornire loro i risultati più pertinenti. Per me è davvero entusiasmante lavorare per comprendere quell'intento e informare i nostri utenti su ciò che è possibile, a volte anche prima che se ne rendano conto.
Un utente in qualsiasi paese può chiedere qualcosa e noi possiamo dargli esattamente ciò che vuole e che è più rilevante per lui. Questo crea fiducia che, a sua volta, migliora la fidelizzazione. Per me è entusiasmante affrontare la sfida di migliorare la ricerca per costruire quella fiducia e aiutare Roblox a raggiungere il nostro obiettivo di avere un miliardo di utenti.


