Inside the Tech – Résoudre les défis de la recherche multilingue et sémantique

International
Avec Zhen Fang, responsable des relations internationales
Zhen Fang, responsable des opérations internationales, s'entretient avec David Baszucki, PDG, pour discuter de la manière dont nous nous efforçons d'offrir une expérience véritablement localisée à chaque utilisateur de Roblox à travers le monde. De la traduction linguistique aux options de paiement en passant par les contenus adaptés à la culture locale, ils exploreront comment notre plateforme s'adapte à notre communauté de plus en plus internationale.
Quel est le plus grand défi technique auquel votre équipe est confrontée ?
Jusqu'à il y a environ un an, la recherche Roblox utilisait un système lexical pour faire correspondre les résultats aux requêtes des utilisateurs, ce qui signifie qu'elle se concentrait uniquement sur la correspondance textuelle. Mais les comportements de recherche évoluent rapidement et cette approche ne suffit plus pour fournir aux utilisateurs un contenu pertinent. Parallèlement, certains utilisateurs de Roblox peuvent utiliser une orthographe incorrecte dans leurs requêtes. Nous devons donc être en mesure de proposer des résultats qui correspondent à ce qu'ils recherchent, ce qui implique de comprendre leur intention.
Un autre problème majeur en matière de recherche est le manque de données d'entraînement dans toutes les langues. Avant la recherche sémantique, notre première étape consistait à exploiter les traductions automatiques au sein du système Roblox. Nous indexions les traductions, puis procédions à une correspondance textuelle. Mais cela ne suffit pas pour toujours proposer aux utilisateurs un contenu pertinent. Nous avons donc adopté une technique d'apprentissage automatique (ML) de pointe appelée « modèle élève-enseignant » : l'enseignant apprend à partir de notre plus grande source de contexte pour tout scénario spécifique.
L'anglais est la langue la plus utilisée sur Roblox, c'est pourquoi nous apprenons autant de relations sémantiques que possible en anglais — le modèle « enseignant » — puis nous les distillons vers le modèle « élève » en les étendant à d'autres langues. Cela nous aide à résoudre ce problème même si nous ne disposons pas de beaucoup de données dans certaines langues. Cela a entraîné une augmentation de 15 % des parties provenant de la recherche au Japon.
Nous avons récemment travaillé à mieux prendre en charge nos requêtes de catalogue telles que « đua xe » (course). Mais les utilisateurs soumettent de plus en plus souvent des requêtes longues et libres, du type : « Salut, je me souviens avoir joué à un jeu où il y avait un dragon et une fille qui se battait contre lui. Pouvez-vous m’aider à le retrouver ? » Cela présente davantage de défis techniques et nous continuons à améliorer nos systèmes dans ce sens.
Quelles sont les approches innovantes pour intégrer davantage de contexte et de recherche sémantique ?
Nous avons mis au point un système de recherche hybride qui combine la recherche lexicale avec des techniques et des modèles d’apprentissage automatique (ML) utilisant la recherche sémantique et la compréhension de l’intention d’une requête. Nous faisons évoluer nos systèmes en permanence pour améliorer la compréhension du contexte, traiter les requêtes complexes et renvoyer du contenu pertinent.
La magie de la recherche sémantique réside dans les embeddings, qui sont des représentations riches d’une variété de signaux que nous recueillons partout sur Roblox. Par exemple, nous intégrons des signaux tels que les données démographiques de l’utilisateur, la requête de l’utilisateur, sa longueur ou ses aspects uniques.
Nous examinons également les signaux liés au contenu, tels que les expériences, les objets d’avatar et l’engagement : à quelle fréquence ce jeu a-t-il été joué, combien d’utilisateurs a-t-il attiré et de combien de pays provenaient-ils ? Nous prenons également en compte des éléments tels que la monétisation et la fidélisation, ainsi que des métadonnées comme le titre, la description ou le créateur d’une expérience. Nous traitons toutes ces données via une architecture basée sur BERT et les transformateurs, puis nous utilisons un perceptron multicouche en fin de processus pour générer des représentations, qui deviennent notre source de vérité.
Une autre innovation est notre système interne de recherche par similarité. Lorsqu’un utilisateur effectue une requête, nous récupérons les embeddings étroitement liés et les classons pour nous assurer qu’ils correspondent bien à ce que l’utilisateur recherche. Nous renvoyons ensuite les résultats aux utilisateurs.
Quels sont les principaux enseignements que vous avez tirés de ce travail technique ?
Chaque langue présente ses propres défis. Et en particulier en matière de recherche, nous devons comprendre ce que recherchent les utilisateurs dans différentes parties du monde afin de leur présenter les résultats les plus pertinents. Nous devons comprendre les différents éléments linguistiques. Par exemple, les transformateurs pré-entraînés ont été essentiels pour comprendre les multiples dialectes du japonais.
Deuxièmement, les modèles de requêtes de recherche ont beaucoup évolué et nous devons continuellement faire évoluer notre pile technologique pour suivre le rythme. Parallèlement, nous devons informer nos utilisateurs de ce qui est possible sur notre plateforme, car ils ne s’en rendent peut-être pas compte. Par exemple, nous pourrions indiquer à nos utilisateurs que la recherche prend en charge des requêtes de type « freestyle » (comme les jeux de course ou les jeux culinaires populaires) et qu’elle comprend ce que les gens recherchent et peut renvoyer des résultats appropriés.
Quelle valeur de Roblox correspond le mieux à votre équipe ?
Adopter une vision à long terme est au cœur de notre équipe et c'est l'une des raisons pour lesquelles j'adore travailler chez Roblox.
Un exemple au sein de mon équipe est notre pile technologique, qui comprend nos systèmes de recherche basés sur le ML et le NLP : recherche sémantique, saisie semi-automatique et correction orthographique à l’aide de grands modèles pré-entraînés.
Nous l'avons conçue dans un souci de réutilisabilité pour les différents types de recherches effectuées par nos dizaines de millions d'utilisateurs actifs quotidiens. Cela signifie que nous pouvons intégrer un autre type de données (par exemple, des objets d'avatar au lieu d'expériences), et cela devrait fonctionner avec un minimum de modifications.
Nous avons intégré la recherche sémantique pour les expériences et l’avons partagée avec d’autres secteurs verticaux comme Marketplace, qui ont pu s’appuyer directement sur l’architecture existante. Ce n’est pas tout à fait du « plug-and-play », mais avec quelques ajustements, nous pouvons l’adapter à différents cas d’utilisation.
Qu'est-ce qui vous enthousiasme le plus dans la direction que prennent Roblox et votre équipe ?
La recherche est le seul canal où les utilisateurs expriment clairement leur intention. Il est donc essentiel que nous comprenions ce qu’ils veulent et que nous leur fournissions les résultats les plus pertinents. Je trouve donc très passionnant de travailler à la compréhension de cette intention et d’éduquer nos utilisateurs sur ce qui est possible, parfois même avant qu’ils ne s’en rendent compte.
Un utilisateur, quel que soit son pays, peut poser une question et nous pouvons lui donner exactement ce qu’il veut et ce qui est le plus pertinent pour lui. Cela renforce la confiance, ce qui, à son tour, améliore la fidélisation. Je trouve passionnant de relever le défi d’améliorer la recherche pour renforcer cette confiance et aider Roblox à atteindre son objectif d’un milliard d’utilisateurs.


