Ubisoft, est un champion français des jeux vidéo avec des jeux bien connus tels qu’Assassin’s Creed, Just Dance ou Prince of Persia. L’éditeur est à l’écoute des commentaires de ses joueurs depuis des années.
Ubisoft innove en écoutant les informations libres issues de questions ouvertes aux joueurs en faisant appel aux LLM (Large Language Models). Dans ce cas, il s’agit de l’IA générative du californien OpenAI. Un prototype a été développé depuis juin 2024 afin de faire émerger les sujets qui préoccupent les joueurs face à un nouveau jeu et la coloration positive ou négative de ces sujets.
Des réglages afin de réduire les biais de l’IA générative
Des réglages spécifiques ont été mis en place afin d’encadrer les résultats délivrés par l’IA générative fournie par OpenAI via le Cloud Azure de Microsoft. Il s’agit d’évacuer certains biais dont les hallucinations. Est-ce que cela permet de supprimer les hallucinations ? « Cela permet de les limiter. On ne les supprimera pas complètement, mais cela permet de les limiter » explique le responsable du développement de cet outil chez Ubisoft, spécialiste de la Data Science.
« Il faudrait vraiment que le modèle [d’IA générative] hallucine 20 fois d’affilée pour qu’on affiche un sujet »
L’objectif est bien de supprimer les hallucinations. « Je pense qu’on les a bien limitées avec le modèle. Après, je ne m’engagerai pas pour dire que c’est parfait, mais c’était l’objectif » poursuit-il.
Le modèle est un prototype qui doit être amélioré
En termes de développement, le modèle en est encore au stade de prototype qui doit être amélioré avec les analystes d’Ubisoft qui ont une connaissance métier des jeux et des sujets de discussion. A ce stade, le prototype suscite de très bons retours de leur part. Les analystes se projettent dans l’utilisation de l’outil. « La principale demande que nous avons aujourd’hui, est de brancher cet outil à d’autres sources de données textes d’Ubisoft, ce qui représente un autre challenge » explique-t-on côté Data Science.
Dans le cas de la présentation de captures d’écrans de jeux vidéos à des joueurs, est-ce que le modèle s’adaptera à des textes plus lourds ? »
Autre ambition, il s’agit de tester l’IA sur des avis utilisateurs sur les jeux. Là, c’est l’inverse, il n’y a pas beaucoup de textes, mais il y a beaucoup d’avis, des centaines de milliers d’avis. Le défi est de voir comment le modèle s’adapte à ces deux extrêmes. De manière générale, il y a des ateliers afin de déterminer ce qu’il est possible de faire avec l’IA générative pour les sondages. Par exemple, il y a des assistants d’IA, tel que GitHub comme copilote pour l’écriture de code informatique, est-ce qu’il y aurait moyen de faire cela pour les sondages ?
Ubisoft est sous pression et retarde son jeu « Assassin’s Creed Shadows »
L’écoute des joueurs est d’importance pour Ubisoft car la firme est sous pression. Le fabricant de jeux vient de reporter la sortie de « Assassin’s Creed Shadows » de trois mois, à février 2025. Il va rater les ventes de Noël. Il fait également face à des critiques publiques. Et en un an, son cours de bourse a été divisé par deux.
« Qu’est-ce que les joueurs attendent, quelle sont leurs motivations et comment les jeux d’Ubisoft se placent par rapport à tout cela ?«
Ubisoft réalise des sondages auprès des joueurs et il y a plus spécifiquement, ce qu’on appelle les questions ouvertes. Le joueur peut donner des feedbacks de manière libre en répondant par exemple à la question : « est-ce que vous avez d’autres choses à dire sur le jeu ? » Dans ces feedbacks libres, Ubisoft peut identifier de l’information intéressante pour un projet alors que le jeu est encore en cours de développement. Le problème, c’est que lorsqu’il y a des milliers de répondants, c’est assez difficile à analyser correctement à la main.
Débuts de l’analyse des avis des joueurs en 2018
Ubisoft a pensé assez tôt qu’il lui fallait un modèle de Data science pour analyser ces feedbacks-là, au moins pour donner automatiquement des premiers résultats et des premiers sujets de discussion. En 2018, Ubisoft a commencé avec un modèle classique LDA (Latent Dirichlet Allocation ou allocation latente de Dirichlet). C’est un peu le classique pour faire du « topic modeling » ou « modélisation de sujets ».
En 2020, Ubisoft a entraîné ses propres modèles de NLP sur de la donnée de gaming
Ce modèle a été mis à jour en 2023 avec des modèles plus récents, cette fois qui comprennent un peu mieux le sens des phrases et le contexte dans une phrase. Et depuis juin 2024, l’équipe en charge de cette analyse des sujets traités travaille à mettre à jour l’outil de « topic modeling » avec de l’IA générative, grâce à un accès API au modèle d’OpenAI via le Cloud Azure de Microsoft.
Une approche initiale par mots clés
Jusqu’alors, l’équipe en charge de cette analyse des données plaçait les informations dans un fichier Excel. Elle spécifiait quelle colonne avait du texte, potentiellement, elle donnait deux, trois autres informations. Et cela donnait un Excel avec une colonne par sujet de discussion et en dessous de chaque sujet, il y avait tous les feedbacks de joueurs qui tombaient dans ce sujet-là.
Une web app a été réalisée sur la plateforme Dataiku pour utiliser le modèle d’IA générative qui doit trouver les sujets de discussion
Les fichiers Excel sont téléchargés. On explique sur quelle colonne on trouve les feedbacks de joueurs et on va éventuellement donner un peu de contexte au modèle afin de dire d’où vient la donnée pour aider à l’analyse. On peut éventuellement aussi spécifier la granularité. Il ne reste plus qu’à appuyer sur un bouton pour récupérer une analyse des sujets de discussion. Cela donne une sorte d’Executive summary (résumé exécutif) et différents blocs qui sont les différents sujets de discussion qui ont été trouvés dans le sondage des joueurs.
Des informations sur ce qui est positif ou négatif
Par exemple, un sujet de discussion concerne les « crash », c’est-à-dire quand le jeu s’arrête subitement. On trouve des informations sur la volumétrie, sur le sentiment et il est possible d’aller un petit peu plus dans le détail. Il y a un résumé plus complet de ce qui est dit en positif et en négatif ainsi que des citations de joueurs qui peuvent être mises directement dans des rapports. Il y a cela pour une vingtaine de sujets de discussion en général.
« Ce répondant-là a mentionné, par exemple, le sujet des bugs avec telle citation et tel sentiment »
Ces informations sont très importantes pour Ubisoft afin de pouvoir les recroiser avec d’autres données. Il devient possible de regarder si les personnes qui mentionnent un certain problème vont noter le jeu un peu moins bien ou vont déclarer d’autres choses.
Eviter les limites des modèles d’IA générative
Afin de parvenir à ce prototype, l’équipe de Data Science d’Ubisoft est partie des limites des modèles de l’IA Générative qu’elle voulait éviter pour ce projet. Ubisoft utilise dans ce cadre les modèles d’OpenAI qui ont 128 000 tokens de contexte. « Le problème, c’est que même si on peut leur donner beaucoup de texte, on s’est rendu compte que le modèle ne donne pas de l’attention uniformément » explique-t-on côté Ubisoft.
Le modèle va très souvent prendre dans les 10% premiers feedbacks, peu importe l’ordre de la donnée
Un deuxième point est plus classique. Il s’agit des hallucinations. L’équipe de Data Scientists ne voudrait pas, bien sûr, communiquer des sujets de discussion qui n’existent pas vraiment dans la donnée. Pour donner un cas très concret, il y avait souvent dans les essais réalisés un sujet discussion multi-joueurs qui sortait alors qu’il n’y a sans doute qu’un ou deux feedbacks sur 1 000 qui en parlaient. L’équipe voulait être capable de filtrer ce type de cas. « On veut être capable de le filtrer, de pouvoir dire que le sujet n’est pas si important que ça ».
Arriver à calculer des métriques
Dernier point, plus mineur, mais important, c’est que l’équipe ne peut pas utiliser les modèles pour avoir directement des pourcentages et des métriques. »On va être obligés de les recalculer nous-mêmes et donc on va devoir trouver un moyen d’obtenir cela » déclare-t-on chez Ubisoft. Il s’est agi alors d’essayer de limiter les biais des modèles d’OpenAI. C’est ce qui a été fait pour le POC (Proof of Concept) d’Ubisoft. Toutes les données de sondage sont passées à un modèle avec l’instruction de trouver les sujets de discussion et les résultats sont récupérés.
Des mécanismes vont être rajoutés pour essayer de rendre le résultat un peu plus robuste
À partir de cela, cela permet de faire une première liste de sujets de discussion qui est un petit peu plus stable vu qu’elle a été testée plusieurs fois sur différents échantillons. Au passage, cela permet d’absorber plus de données.
Passage sur chaque feedback de joueur avec un modèle d’IA plus petit
Ensuite, il s’agit de passer sur chaque feedback individuellement avec un modèle un peu plus petit. Pour cela, Ubisoft utilise GPT 4 ou mini. Pour chaque feedback de joueur, cela consiste à aller voir quels sont les sujets de discussion dans ce feedback-là, spécifiquement. « Est-ce qu’on en a manqués à l’étape d’avant ? Cela est important. Et pour chaque sujet de discussion, il s’agit d’extraire la citation, le sentiment qui va pouvoir ensuite être réutilisé dans l’outil » décrit-on chez Ubisoft.
« Si on voit qu’il y a souvent un sujet de discussion qui n’avait pas été identifié avant, mais qui revient souvent dans les feedbacks, il va être rajouté«
Lors de la mise au point de cet outil d’analyse, des métriques d’évaluation ont été suivies afin de vérifier que le modèle apportait réellement quelque chose. La représentativité était quelque chose d’important. Il fallait savoir à quel point le modèle représente bien tous les feedbacks de joueurs dans les sujets de discussion obtenus à la fin. Avec ce modèle, les sujets de discussion représentent bien à peu près les trois quart des feedbacks, ce qui est une belle amélioration par rapport à juste une seule prompt GPT 4o, donc c’est plus 25%. C’est légèrement en dessous de l’ancien modèle qui avait un peu plus de garantie mathématique de représentativité, mais cela « reste dans les clous ».
Examen de la stabilité du modèle
Après, l’équipe a regardé la stabilité, c’est-à-dire que si on lance plusieurs fois le modèle sur des échantillons un petit peu différents, est-ce que l’on obtient des sujets de discussion qui sont similaires ? « C’est effectivement assez similaire. On a une légère amélioration par rapport à GPT-4o de base, mais qui se débrouillait très bien déjà » se réjouit-on chez Ubisoft. Il y a également un bonus car il y a une belle amélioration par rapport à l’ancien modèle qui était un petit peu plus sensible à la donnée qu’il recevait en entrée.
L’équipe d’analyse d’Ubisoft souligne le gain en qualité obtenue grâce à l’IA générative par rapport aux modèles précédents. « Nous avons des sujets de discussion grâce à ces modèles d’IA générative qui sont beaucoup plus interprétables, beaucoup plus similaires à ce qu’un analyste aurait pu faire manuellement. Donc, il y a vraiment un gain de qualité » se félicite-t-on côté Ubisoft. « Toute la structure que nous avons créée nous permet vraiment d’avoir des informations très fines de volumétrie sur chaque sujet qu’on ne pouvait pas avoir autrement qu’en passant sur chaque feedback ».
4 enseignements tirés du prototype d’analyse de verbatim par IA générative d’Ubisoft
➔ Les systèmes complexes ou les prompts complexes d’IA générative ne donnent pas nécessairement une meilleure précision sur l’outil final. Parfois, un modèle coûte trois fois plus cher, mais est moins précis. Donc il faut toujours avoir des métriques à suivre. Il faut vérifier que si on ajoute des exemples dans un prompt ou que l’on rajoute plus d’instructions, cela a effectivement un effet positif, parce que cela peut au contraire biaiser les résultats.
➔ Il faut donner « le temps de penser » au modèle d’IA générative. C’est un petit conseil de prompt engineering qui a bien marché pour le cas d’usage d’Ubisoft. Par exemple, avant de demander à l’IA de nommer le « topic », c’est à dire un sujet évoqué par un joueur dans son avis, il était plus efficace de d’abord demander au modèle d’IA de résumer un peu ce qui est dans ce « topic », d’écrire, de donner des citations et après, de demander un nom de « topic ». Il faut laisser le modèle générer du texte, expliquer ce que le modèle voit dans la donnée en cas de problème de précision sur un modèle d’IA générative. Cela peut donner des meilleurs résultats.
➔ Réaliser un POC (Proof of Concept) est très facile. Il est beaucoup plus dur de faire un outil de production. Le POC dans le cas d’Ubisoft a été réalisé en moins d’une heure, parce que c’était juste un prompt. Le prototype en production a nécessité deux mois. Ces modèles d’IA générative vont donner rapidement quelque chose qui a l’air bien. En revanche, quand on entre dans le détail, quand on teste le modèle sur plus de données, et que l’on voit les moments où cela commence à casser, etc, cela demande beaucoup d’accompagnement et de structure autour des modèles d’IA générative. C’est cela qui prend beaucoup de temps.
➔ Il faut une Data organisée. Un modèle d’IA peut être « très sympa », mais c’est encore mieux si il y a déjà des données prêtes sur lesquelles le modèle peut être branché. Dans le cas des données de sondage, la structure était tout faite. Pour les idées à venir sur cette IA, les autres données ne sont pas nécessairement déjà récoltées et nettoyées. Avoir des données bien organisées et nettoyées à disposition c’est surtout ce qui va permettre au modèle d’être puissant.