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.
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 :
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.
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.
"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."
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.
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.
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.
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.
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.
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).