Cours 1 - Génération Automatique de Textes PDF
Document Details
Uploaded by Deleted User
Tags
Related
- SwinTRG: Swin Transformer Based Radiology Report Generation for Chest X-rays PDF
- Automated Question and Answer Generation from Texts using Text-to-Text Transformers PDF
- Prompt Engineering Techniques PDF
- Detecting Hallucinations in Large Language Models Using Semantic Entropy PDF
- Natural Language Processing (NLP) PDF
- Natural Language Processing Basics PDF
Summary
This document provides an introduction to automatic text generation, discussing key concepts, evaluation methods, and examples. It covers different types of generation, relations with other fields in Natural Language Processing (NLP), and the importance of text representation in these tasks.
Full Transcript
GÉNÉRATION AUTOMATIQUE DE TEXTES — 15/10 Cours 1 Introduction ChatGPT : Novembre 2022 : ouverture au grand public Basé sur GPT : - modèle neuronal à base de blocs de transformer auto-régressifs - appris sur d’énormes quantités de données textuelles - avec...
GÉNÉRATION AUTOMATIQUE DE TEXTES — 15/10 Cours 1 Introduction ChatGPT : Novembre 2022 : ouverture au grand public Basé sur GPT : - modèle neuronal à base de blocs de transformer auto-régressifs - appris sur d’énormes quantités de données textuelles - avec comme objectif de prédire le token suivant - adapté sur des tâches de réponses à des requêtes Objectifs : connaître les principales applications en GAT être sensibilisé aux problèmes/besoins du domaine avoir un aperçu de quelques techniques et méthodes mises en œuvre pour la GAT manipuler quelques-uns des outils développés Évaluation Après chaque TP → QCM (avant le TP suivant) = 30% de la note Choix d’un article scienti que dans la liste sur le site web → échéance le 5 novembre, sur le doc collaboratif → Présentation orale de cet article le 17 décembre après-midi (10 minutes de présentation) + réponses aux questions (5 minutes) = 70% de la note Références E. Reiter & R. Dale (2000). Building Natural Language Generation Systems. Cambridge University Press. Albert Gatt & Emiel Krahmert (2018). Survey of the State of the Art in Natural Language Generation : Core tasks, applications and evaluation. Journal of Arti cial Intelligence Research. Qu’est-ce que la GAT ? But : systèmes informatiques qui produisent des textes en langage naturel compréhensibles et appropriés Entrées : données essentiellement non-linguistiques Sortie : document, rapport, explication, messages, etc. Connaissances : langage et domaine Dé nition : « Natural language generation is the process of deliberately constructing a natural language text in order to meet speci ed communicative goals. » (McDonald, 1987) → Processus d’élaboration à partir de n’importe quel type de données et d’un but communicationnel, d’un texte en langage naturel restituant à chacun de ses destinataires (lecteurs) un contenu informatif, dans un but donné. 1 sur 11 fi fi fi fi Exemples d’application - Production automatique ou semi-automatique de rapports, courriers, résumés, articles d’agences de presse, etc. - Traduction automatique - Interrogation de bases de données (formulation des réponses) - Apprentissage des langues - Aide à la rédaction - Simulation du processus cognitif - etc. → Tout programme qui produit des résultats dont le destinataire est directement (ou indirectement) l’homme. Différents types de génération Génération complètement automatique : principal développement industriel Génération médiatisée par la machine : aide de l’humain pour la machine ou inversement Simulation de processus cognitifs : qu’est-ce que ça nous apprend sur le processus langagier ? Relation avec d’autres domaines du TALN Nécessité d’une représentation textuelle La communication humaine est essentiellement basée sur la langue naturelle Obligation légale → de nombreux documents doivent être textuels De nombreuses données ne peuvent pas être trouvées sans une description textuelle → elles sont indexées sur du texte (ex: images avec descriptions textuelles) Les terminaux mobiles sont plus adaptés aux textes courts qu’aux grands graphiques Il est plus naturel de personnaliser un texte qu’un graphique 2 sur 11 Graph vs. text ? Représentation graphique Représentation textuelle Capacité à résumer une masse + d’informations - Moins précise + / - « Intuitive » + / - Peut être long à assimiler + / - Granularité + Granularité - Apprentissage + Pas d’apprentissage - Exigeant sur le plan cognitif Exemple de systèmes de GAT — Systèmes de prévision météorologique FoG Objectif : produire un résumé textuel de prévision météorologique en anglais et en français Entrée : description graphique et numérique du temps Utilisateur : Environment Canada (Forecaster’s Production Assistant (FPA)) Développeur : CoGenTex (http ://www.cogentex.com) Statut : opérationnel depuis 1992 → Comment structurer la présentation des données ? Quelles informations faut-il donner en premier ? SUMTIME Objectif : Produire un résumé textuel de prévisions météorologiques en anglais pour les plates-formes pétrolières. Entrée : description numérique du temps Utilisateur : WNI (Weathernews International) Développeur : université d’Aberdeen Statut : opérationnel depuis 2005 → Di cultés : Prévoir les données et la taille d'un texte en sortie en fonction de l’entrée 3 sur 11 ffi Exemple de système de GAT : STOP (Smoking Termination with cOmputerised Personalisation) Objectif : produire une lettre personnalisée d’encouragement à arrêter de fumer Entrée : questionnaire à propos des habitudes du fumeur Utilisateur : NHS (National Heat Service — British Health System) Développeur : université d’Aberdeen Statut : échec Exemple de système de GAT : STORYBOOK (génération de récits) Objectif : génération automatique d’histoires frictionnelles Entrée : Sortie : Once upon a time there was a woodman and his wife. Développeur : ITC-irst et North Carolina State University [Callaway et Lester, 2002] Autres exemples de GAT ModelExplainer : système pour générer des descriptions de diagrammes techniques pour le développement de programmes Surgen [Hüske-Kraus, 2003] : système de génération de rapports médicaux en allemand (www.suregen.de). NLG Systems Wiki (https://aclweb.org/aclwiki/Downloadable_NLG_systems) L’industrie et la GAT Entreprises majeures du domaine : - ARRIA Natural Language Generation http://www.arria.com/ - narrativescience Natural Language Generation http://www.narrativescience.com/ - Automated Insights - Natural Language Generation and Business Intelligence Reporting http://automatedinsights.com/ - Yseop Smart NLG http://www.yseop.com La plupart ont moins de 100 employés (à comparer à NUANCE 12k, IBM 400k) mais elles embauchent. Autres entreprises : - OnlyBoth http ://www.onlyboth.com/ “Discovers New Insights from Data. Writes Them Up in Perfect English. All Automated.” - Syllabs http ://www.syllabs.com/ “Faites parler vos données” + projet de GAT chez Agfa, Thomson Reuters, etc. Un des produits de Syllabs : Grâce à la solution data2content, 34 000 communes et 2 000 cantons de France ont été couverts sur le site du “Le monde” lors des deux tours des élections départementales de 2015. 4 sur 11 Le problème de la GAT La GAT peut s’e ectuer à partir d’un très large ensemble de données hétérogènes. Le problème principal de la GAT est un problème de choix. [Danlos et Roussarie, 2000] → Quoi dire ? (Génération profonde) : données non-normalisées, faire des abstractions, etc. → Comment le dire ? (Génération de surface) : choix des mots qui transportent l’information, type de personne qui reçoit l’information, etc. La GAT doit résoudre des problèmes ardus : Pas de théorie linguistique précise indiquant comment faire ces choix pour produire un texte cohérent complet Les niveaux de choix peuvent (doivent ?) interagir et il ne semble pas exister de moyen simple et able d’ordonner ces choix Certains résultats de ces choix ne peuvent être évalués qu’à la n du traitement (ex: taille du texte) Pas de méthode unique pour évaluer un système de GAT. Exemple : Un groupe nominal peut exprimer une quantité variable d’information. La clé appartient à la porte X où X ∈ {∅, jaune, qui grince, de la chambre de Bruno qui ne la ferme jamais, etc } Quelle quantité d’information peut-on insérer dans un groupe nominal ? → Ce choix est généralement attribué à la tâche de génération d’expressions référentielles. La GAT et le TALN La GAT joue aussi un rôle important dans d’autres tâches : - résumé automatique (texte vers texte) - simpli cation de textes (texte vers texte) - traduction automatique (texte ou parole vers texte ou parole) - dialogue (texte ou parole vers texte ou parole) La GAT dans les systèmes de dialogue Exemple avec SPot (Walker et coll. 2001) 5 sur 11 fi fi ff fi Types d’entrées de la GAT → Entrées généralement non-linguistiques Données brutes : - entrées numériques (ex: systèmes météorologiques) - nécessité de les traiter pour en extraire l’information utile (problème du bruit et de l’incertitude) Connaissances : - ex: bases de données sur les vols disponibles - ex: ontologies médicales avec des instances Modèle utilisateur (à qui on parle ?) : - contraint la génération aux besoins de l’utilisateur - ex: est-ce que l’utilisateur est un médecin traitant, un médecin spécialisé, ou un patient ? Plan : - représentation de ce que l’on veut communiquer (généralement sous forme logique) - ex: con rmer la destination du client et demander l’heure préférée d’arriver (SPoT) - ex: un plan de récit (STORYBOOK) Historique : - journal de ce qui a été généré/sélectionné - utile pour, par exemple, la génération d’expressions référentielles Types de sortie de la GAT - Textes bruts : ponctuation - Text-to-Speech : information sur la prosodie - Documents : mise en page, gures, etc. - Documents web : liens hypertextes, mise en page, etc. - Vidéos : animations et/ou expressions faciales 6 sur 11 fi fi Techniques de GAT À base de textes à trous À base de syntagmes concaténés À base de modèles statistiques de langage : modèle probabiliste depuis lequel on génère les mots (modèles n-gram) → pas performant pour la GAT À base de grammaires génératives (règles) À base de modèle Domaine/Langage par apprentissage automatique (RNN, RB) 1. TEXTES À TROUS → Un texte à trous est une structure de données contenant des chaînes de caractères et des emplacements vides qui peuvent être remplis par des informations d’un type prédé ni. Exemple : génération automatique classique de courrier électronique Dans les gros systèmes, il y a un dictionnaire de messages et le système doit choisir le type de message en fonction des données d’entrée. Exemple : - Patron : You would like to book FLIGHT from ORIGIN to DESTINATION. Please con rm.. - Valeurs : FLIGHT = KM101 ; ORIGIN = Newark, DESTINATION = Dallas. Avantages Désavantages Très rapides à développer et nécessite peu de Di cile à « porter » (transférer) dans d’autres connaissances techniques domaines Extrêmement adaptés au domaine (ex: Beaucoup de redondances (beaucoup de réservation de vols, lettres bancaires, etc.) messages ne di èrent que d’un ou deux termes) Peu de variations (lassitude rapide des utilisateurs) Chaque nouvel ajout demande une intervention et véri cation humaine 2. CONCATÉNATION → Simple concaténation de phrases qui mises bout-à-bout nécessitent un minimum de post-traitements. Technique très utilisée dans les tâches très répétitives. Elle est également populaire pour la génération de textes divertissants : - Pipotronic : http://pipotronic.com/ → génère du contenu textuel corporate - Bullshit Generator : http://sebpearce.com/bullshit/ → générateur de fadaises new age - SCIgen : http://pdos.csail.mit.edu/scigen/ → générateur automatique d’articles scienti ques 7 sur 11 ffi fi fi ff fi fi Architecture d’un système de GAT De bout-en-bout : Étapes obligatoires : Décider quelles données doivent être considérées parmi les données d’entrée Décider comment ces données doivent être structurées Transformer cette structure en texte Architecture en pipeline : C’est un « consensus » à propos de ce qu’un système de GAT doit faire. Ce qui veut dire que tous les systèmes de GAT ne se conforment pas à 100% à cette architecture. Elle est très modulaire, plus facile à développer, réutiliser et maintenir. → Exemple concret : projet BabyTalk [Porter et coll., 2009] Objectif : résumer textuellement les données médicales et physiologiques d’un patient en unité de soins intensifs. Audience : médecins et famille du patient Entrées : un ensemble hétérogène de signaux physiologiques et de données du dossier médical Sortie : ”There were 3 successive bradycardias down to 69”. Plani cation de document Objectif : sélectionner le contenu et l’ordonnancer La sortie est généralement un plan de document sous forme d'un arbre : - dont les feuilles sont des messages à communiquer - dont les nœuds (parfois arcs) sont des relations rhétoriques entre les terminaux (messages). Par exemple, justi e, partie-de, séquence BabyTalk — Plani cation de document : 1.traitement du signal : identi e les formes d’intérêt dans le signal 2.abstraction : estime l’importance des événements et infère de nouvelles informations 3.plani cation : sélectionne le contenu et le structure Microplanning et lexicalisation Beaucoup de façons d’exprimer un concept Beaucoup de façons d’exprimer une relation entre concepts La plupart des systèmes de GAT utilisent une base lexicale 8 sur 11 fi fi fi fi fi BabyTalk — Microplanning et agrégation : → Soit un ensemble de messages, e ectuer une fusion de ceux-ci a n d‘exprimer la même information de manière plus concise. BabyTalk — Génération d’Expressions Référentielles (GER) → Sachant une entité, dé nir la meilleure façon d’exprimer une référence. Exemple : BRADYCARDIA bradycardia it the previous Extrêmement dépendant du contexte. L’usage des pronoms n’est possible que lorsque l’entité a été préalablement explicitée d’une manière ou d’une autre. BabyTalk — Microplanning Réalisation de surface Traduit la représentation sémantique en une structure syntaxique Choisit la meilleure forme selon l’entrée et la tâche Fléchit les formes (accords genre-nombre, conjugaison, etc.) Linéarise les formes en chaînes de caractères Si nécessaire, ajoute des informations structurelles ou prosodiques (HTML, TTS) 9 sur 11 fi ff fi Architecture en pipeline complète Architecture en pipeline et cognition [Levelt, 1999] : production langagière vue comme un processus incrémental, parallèle et contrôlé. 10 sur 11 Modèles actuels des systèmes de génération Modèles neuronaux profonds Systèmes à base de règles ou patrons Apprentissage de la couverture Contrôle du processus de génération + linguistique à faible coût + (prédictible) Permet une plus grande rapidité de + développement + Interprétable Ne nécessite pas de grand ensemble de + Fluidité impressionnante + données Dépendant de grande quantité de Développement long et souvent + / - données (moins vrai avec les modèles - laborieux pré-appris) Peu prédictible → di cile d’assurer une Peu transférable d’une application à une - - autre sortie « sous contrôle » - Opaque → di cile à interpréter - Rigide Processus de maintenance non encore - standardisé (MLops) Focus du monde académique et des → Grande majorité des textes → grandes entreprises internet (GAFAM) commerciaux actuels Architectures des systèmes de génération 11 sur 11 ffi ffi