Spel

Inside the Tech: soluzioni per ricerche multilingue e semantiche

Inside the Tech è una serie di blog che accompagna il nostro Podcast di colloqui tecnici. Nell’episodio 19 del podcast, Internazionale, Il CEO di Roblox David Baszucki ha parlato con il Senior Product Manager Zhen Fang della strategia internazionale di Roblox e delle sfide tecniche che stiamo risolvendo per garantire un’esperienza localizzata per decine di milioni di persone in tutto il mondo. In questa edizione di Inside the Tech, parliamo con il responsabile tecnico Ravali Kandur per saperne di più su una di quelle sfide tecniche, la ricerca multilingue e semantica, e su come il lavoro del team Growth sta aiutando gli utenti Roblox di tutto il mondo a effettuare ricerche (e rapidamente). trovare) tutto ciò che desiderano sulla nostra piattaforma.

Qual è la sfida tecnica più grande che il tuo team sta affrontando?

Fino a circa un anno fa, la ricerca 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 tale approccio non è più sufficiente per fornire agli utenti contenuti pertinenti. Allo stesso tempo, alcuni utenti Roblox potrebbero utilizzare un’ortografia errata nelle loro query. Dobbiamo quindi essere in grado di suggerire risultati che corrispondano a ciò che stanno cercando, il che significa comprendere le loro intenzioni.

Un altro grosso problema nella ricerca è la mancanza di dati di addestramento in tutte le lingue. Prima della ricerca semantica, il nostro primo passo è stato sfruttare le traduzioni automatiche all’interno del sistema Roblox. Abbiamo indicizzato le traduzioni e poi abbiamo effettuato una corrispondenza testuale. Ma questo non basta per mostrare sempre agli utenti contenuti rilevanti. Pertanto, abbiamo adottato una tecnica di machine learning più avanzata chiamata modello studente-insegnante: l’insegnante impara dalla nostra più grande fonte di contesto per qualsiasi scenario specifico.

L’inglese è la lingua più utilizzata in Roblox, quindi impariamo quante più relazioni semantiche possibile in inglese (il modello insegnante) e poi le riassumiamo nel modello studente estendendolo 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 visualizzazioni provenienti dalle ricerche in Giappone.

Recentemente abbiamo lavorato per supportare meglio le nostre query sul catalogo come “đua xe (carriere)”. Ma gli utenti più spesso inviano domande lunghe e in formato libero, come: “Ehi, ricordo di aver giocato a un gioco in cui c’erano un drago e una ragazza che lo combattevano. Puoi aiutarmi a trovarlo? Ciò presenta sfide più tecniche e continuiamo a migliorare i nostri sistemi a questo riguardo.

Quali sono alcuni approcci innovativi per incorporare più contesto e più ricerca semantica?

Abbiamo creato un sistema di ricerca ibrido che prende la ricerca lessicale e la combina con tecniche e modelli di apprendimento automatico che utilizzano la ricerca semantica e comprendono l’intento di una query. Evolviamo continuamente i nostri sistemi per sviluppare la comprensione del contesto, gestire query complesse e restituire contenuti pertinenti.

La magia della ricerca semantica sta negli incorporamenti, che sono ricche rappresentazioni 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 durata o quali sono i suoi aspetti unici.

Stiamo anche esaminando i segnali di contenuto come esperienze, elementi avatar e coinvolgimento: quanto spesso è stato giocato a questo gioco o quanti utenti aveva e da quanti paesi? Ci sono anche cose come la monetizzazione e la fidelizzazione, nonché metadati come il titolo, la descrizione o il creatore di un’esperienza. Mettiamo tutto questo attraverso un’architettura basata su BERT, basata su trasformatori e utilizziamo a Percettrone multistrato alla fine per generare incorporamenti, che diventano la nostra fonte di verità.

Un’altra innovazione è il nostro sistema interno di ricerca delle somiglianze. Quando qualcuno esegue una query di ricerca, recuperiamo incorporamenti 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 la propria 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 diversi elementi della lingua. Ad esempio, i trasformatori 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 la nostra tecnologia 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 può supportare cose come query freestyle (come giochi di corse o giochi di cibo popolari) e che capisce cosa cercano le persone e può restituire risultati appropriati.

A quale valore Roblox si allinea maggiormente il tuo team?

Avere una visione a lungo termine è essenziale 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 controllo ortografico utilizzando grandi modelli preaddestrati.

Lo abbiamo creato pensando alla riusabilità nei diversi tipi di ricerche eseguite dalle nostre decine di milioni di utenti attivi ogni giorno. Ciò significa che possiamo inserire un diverso tipo di dati (ad esempio elementi avatar invece di esperienze) e dovrebbe funzionare con modifiche minime.

Abbiamo incorporato la ricerca semantica delle esperienze e l’abbiamo condivisa con altri verticali come Marketplace, che sono stati in grado di sfruttare l’architettura esistente. Non è un sistema plug-and-play perfetto, ma con alcuni accorgimenti possiamo adattarlo a diversi casi d’uso.

Cosa ti entusiasma di più della direzione in cui sono diretti Roblox e il tuo team?

La ricerca è l’unica superficie in cui gli utenti esprimono il loro intento esplicito. Ciò significa che è essenziale comprendere ciò che vogliono e fornire i risultati più rilevanti. Quindi è davvero entusiasmante per me lavorare per comprendere quell’intento ed educare i nostri utenti su ciò che è possibile, a volte prima ancora che l’utente se ne renda conto.

Un utente di qualsiasi paese può porre una domanda e noi possiamo dargli esattamente ciò che desiderano e ciò che è più rilevante per loro. Ciò crea fiducia che, a sua volta, migliora la fidelizzazione. È emozionante per me accettare la sfida di migliorare la ricerca per costruire quella fiducia e aiutare Roblox a raggiungere il nostro obiettivo di avere un miliardo di utenti.