13 juillet 2022

Détection des hallucinations

Les contributeurs
Matthias Cami
Ingénieur en machine learning
Aucun élément trouvé.
S'abonner à la newsletter
Partager cet article

Ce billet de blog est dérivé de sa version interactive sur Hugging Face Spaces. Vous pouvez continuer à lire cet article si vous souhaitez profiter des avantages liés à l'utilisation de plusieurs exemples ou si vous souhaitez apporter votre propre contribution.

‍Introduction

Des travaux récents utilisant des transformateurs sur de grands corpus de textes ont donné de bons résultats lorsqu'ils ont été affinés pour différentes tâches de NLP en aval. L'une de ces tâches est le résumé de texte. L'objectif du résumé de texte est de générer des résumés concis et précis à partir d'un ou plusieurs documents d'entrée. Il existe deux types de résumés :

  • Le résumé extractif se contente de copier les fragments informatifs de l'entrée.
  • Le résumé abst rait peut générer des mots nouveaux. Un bon résumé abstrait doit couvrir les informations principales de l'entrée et doit être linguistiquement fluide. Ce billet de blog se concentrera sur cette tâche plus difficile qu'est la génération d'un résumé abstractif. En outre, nous nous concentrerons principalement sur les erreurs d'hallucination, et moins sur la fluidité des phrases.

Pourquoi est-ce important ? Supposons que nous voulions résumer des articles de presse pour un journal populaire. Si un article raconte l'histoire d'Elon Musk qui a acheté Twitter, nous ne voulons pas que notre modèle de résumé dise qu'il a plutôt acheté Facebook . Le résumé pourrait également être utilisé pour les rapports financiers, par exemple. Dans de tels environnements, ces erreurs peuvent être très critiques, c'est pourquoi nous voulons trouver un moyen de les détecter.

Pour générer des résumés, nous utiliserons le logiciel PEGASUS qui produit des résumés abstraits à partir d'articles volumineux. Ces résumés contiennent souvent des phrases comportant différents types d'erreurs. Plutôt que d'améliorer le modèle de base, nous examinerons les étapes de post-traitement possibles pour détecter les erreurs dans les résumés générés.

Générer des résumés

Vous trouverez ci-dessous le résumé généré pour un exemple d'article. Pour obtenir l'article complet, différents exemples ou pour tester les choses par vous-même, nous avons également créé un espace interactif "Hugging Face". Nous discuterons de deux approches que nous avons trouvées capables de détecter certaines erreurs communes. Sur la base de ces erreurs, il est possible d'attribuer une note à différents résumés, en indiquant dans quelle mesure un résumé est factuel pour un article donné. L'idée est qu'en production, vous pourriez générer un ensemble de résumés pour le même article, avec différents paramètres (ou même différents modèles). En utilisant la détection d'erreurs en post-traitement, nous pouvons alors sélectionner le meilleur résumé possible.

Exemple de résumé :

"Le OnePlus 10 Pro est le premier téléphone phare de la société. Il est le résultat d'une fusion entre OnePlus et Oppo, qui s'appellera "SuperVOOC". Le téléphone sera d'abord lancé en Chine le 11 janvier. Il n'y a pas encore de date de sortie aux États-Unis. Le 10 Pro aura un écran de 6,7 pouces et trois caméras à l'arrière. Nous n'avons pas encore de prix, mais les prix des produits phares de OnePlus ont augmenté chaque année jusqu'à présent, et le 9 Pro était à 969 $. Le téléphone sera mis en vente le 11 janvier en Chine et le 18 janvier aux États-Unis."

Correspondance des entités

La première méthode que nous aborderons est la reconnaissance des entités nommées (NER). La NER consiste à identifier et à catégoriser des informations clés (entités) dans un texte. Une entité peut être un mot singulier ou une série de mots qui se réfèrent systématiquement à la même chose. Les classes d'entités les plus courantes sont les noms de personnes, les organisations, les lieux, etc. En appliquant le NER à l'article et à son résumé, nous pouvons repérer d'éventuelles hallucinations.

Les hallucinations sont des mots générés par le modèle qui ne sont pas étayés par l'entrée source. La génération basée sur l'apprentissage profond est est susceptible d'halluciner des textes non intentionnels. Ces hallucinations dégradent les performances du système et ne répondent pas aux attentes des utilisateurs dans de nombreux scénarios du monde réel. En appliquant la correspondance des entités, nous pouvons améliorer ce problème pour la tâche en aval de la génération de résumés.

En théorie, toutes les entités du résumé (telles que les dates, les lieux, etc.) devraient également être présentes dans l'article. Nous pouvons donc extraire toutes les entités du résumé et les comparer aux entités de l'article original, afin de repérer les hallucinations potentielles. Plus nous trouvons d'entités non concordantes, plus le score de factualité du résumé est faible.

Correspondance d'entités appliquée au résumé de l'exemple

Nous appelons cette technique l'appariement des entités et vous pouvez voir ici ce que cela donne lorsque nous appliquons cette méthode au résumé. Les entités du résumé sont marquées en vert lorsqu'elles existent également dans l'article, tandis que les entités non appariées sont marquées en rouge.

Comme vous pouvez le voir, nous avons 2 entités non appariées : "18 janvier" et "États-Unis". La première est une entité hallucinée dans le résumé, qui n'existe pas dans l'article. U.S. apparaît bien dans l'article, mais sous la forme "US" au lieu de "U.S.". Ce problème pourrait être résolu en comparant avec une liste d'abréviations ou avec un intégrateur spécifique pour les abréviations, mais il n'a pas été mis en œuvre pour le moment.

Comparaison des dépendances

La deuxième méthode que nous utilisons pour le post-traitement s'appelle l'analyse des dépendances (Dependency Parsing) : il s'agit du processus d'analyse de la structure grammaticale d'une phrase, qui permet de trouver les mots apparentés ainsi que le type de relation qui existe entre eux. Pour la phrase "La femme de Jan s'appelle Sarah", vous obtiendrez le graphique de dépendance suivant :

Ici, "Jan" est le "poss" (modificateur de possession) de "wife". Si le résumé devait soudainement se lire "Le mari de Jan...", il y aurait une dépendance dans le résumé qui n'existe pas dans l'article lui-même (à savoir "Jan" est le "poss" de "mari").Cependant, il arrive souvent que de nouvelles dépendances soient introduites dans le résumé, qui restent correctes, comme on peut le voir dans l'exemple ci-dessous.

"Les frontières de l'Ukraine" ont une dépendance entre "frontières" et "Ukraine" différente de "frontières de l'Ukraine", alors que les deux descriptions ont la même signification. Par conséquent, la simple mise en correspondance de toutes les dépendances entre l'article et le résumé (comme nous l'avons fait avec la mise en correspondance des entités) ne serait pas une méthode robuste. Pour en savoir plus sur les différents types de dépendances et leur description, voir ici.

Toutefois, nous avons constaté qu'il existe des dépendances spécifiques qui indiquent souvent une phrase mal construite lorsqu'il n'y a pas de correspondance avec l'article. Nous utilisons (actuellement) deux dépendances communes qui, lorsqu'elles sont présentes dans le résumé mais pas dans l'article, sont très révélatrices d'erreurs factuelles. En outre, nous ne vérifions que les dépendances entre une entité existante et ses connexions directes. Ci-dessous, nous mettons en évidence toutes les dépendances non appariées qui satisfont aux contraintes discutées pour l'exemple actuel. Pour des exemples plus interactifs, nous nous référons à nouveau à l espace interactif.

Première dépendance non appariée du résumé

L'une des dépendances qui, lorsqu'elle se trouve dans le résumé mais pas dans l'article, indique une erreur possible est la dépendance "amod" (modificateur adjectival). Appliquée à ce résumé, nous avons "First" comme entité, et c'est le modificateur adjectival du mot " phone". Et en effet, cette dépendance non appariée indique une erreur réelle ici. La phrase n'est pas factuelle, puisque l'article parle d'un nouveau type de téléphone phare, et non du premier téléphone phare. Cette erreur a été détectée en filtrant sur ce type de dépendance spécifique. Les résultats empiriques ont montré que les dépendances amodales non appariées suggèrent souvent que la phrase de résumé contient une erreur.

Deuxième dépendance non appariée du résumé

Une autre dépendance que nous utilisons est la dépendance "pobj" (objet de la préposition). De plus, nous ne faisons correspondre les dépendances pobj que lorsque le mot cible est "in", comme dans cet exemple. Dans ce cas, la phrase elle-même contient une erreur factuelle (parce que l'article dit "il n'y a pas encore de date de sortie aux États-Unis"). Cependant, cette erreur aurait déjà pu être trouvée avec la correspondance d'entité (puisque le 18 janvier n'est pas apparié), et la dépendance non appariée ne peut pas être complètement blâmée pour cette erreur ici.

La mise en commun

Nous avons présenté deux méthodes qui tentent de détecter les erreurs dans les résumés par le biais d'étapes de post-traitement. L'appariement d'entités peut être utilisé pour résoudre les hallucinations, tandis que la comparaison de dépendances peut être utilisée pour filtrer certaines mauvaises phrases (et donc de mauvais résumés). Ces méthodes mettent en évidence les possibilités de post-traitement des résumés produits par l'IA, mais ne constituent qu'une première introduction. Comme les méthodes ont été testées de manière empirique, elles ne sont certainement pas suffisamment robustes pour des cas d'utilisation généraux. Mais pour des exemples différents où vous pouvez jouer avec les méthodes présentées, nous nous référons à l'espace interactif Hugging Face.

Ci-dessous, nous générons 3 types de résumés différents (pour l'article d'exemple), et sur la base des deux méthodes discutées, leurs erreurs sont détectées pour estimer un score de résumé. Sur la base de cette approche de base, le meilleur résumé (lire : celui qu'un humain préférerait ou indiquerait comme étant le meilleur) sera, nous l'espérons, en haut de l'échelle. Nous mettons également en évidence les entités comme nous l'avons fait précédemment, mais nous notons que les classements sont effectués sur la base d'une combinaison d'entités non appariées et de dépendances (ces dernières n'étant pas montrées ici).

Postes connexes

Voir tout le contenu
Aucun résultat n'a été trouvé.
Il n'y a pas de résultats correspondant à ces critères. Essayez de modifier votre recherche.
Grand modèle linguistique
Modèles de fondation
Entreprise
Personnes
Données Structurées
Chat GPT
Durabilité
Voix et son
Développement frontal
Protection des données et sécurité
IA responsable/éthique
Infrastructure
Hardware et capteurs
MLOps
IA générative
Natural Language Processing
Vision par ordinateur