Comment fonctionne la génération de texte ?
Sommaire
Que signifie le sigle NLG ?
NLG est l’acronyme anglais de « Natural Language Generation », en d’autres termes génération (de textes) en langage naturel. Il s’agit de faire produire à une machine des textes sur un sujet donné.
Les travaux sur la génération de textes datent des débuts du traitement automatique des langues, qui est né de la traduction automatique. En effet, les premiers systèmes de traduction étaient basés sur le triptyque analyse-transfert-génération (aussi appelé triangle de Vaucquois)
Les premiers systèmes de génération industriels hors-traduction ont été les système de production de bulletins météo. Certains pouvaient aller jusqu’à produire différents types de bulletins à partir des mêmes données (météo marine et météo « standard ») et ce dans plusieurs langues.
Quelles sont les techniques utilisées pour la Génération de Textes ?
Il y a deux grandes familles de technologiques qui peuvent être mobilisées pour faire produire du texte à une machine :
- les modèles de textes paramétrables ou templates en anglais
- les réseaux de neurones profonds ou deep-learning
Comment fonctionnent les systèmes de NLG basés sur des templates ?
Les templates sont des modèles de documents qui peuvent aller du simple « texte à trous » jusqu’aux descriptions de haut niveau des structures de document.
Les textes à trous sont des textes dans lesquels des variables viennent s’insérer, comme les cher Monsieur NOM, vous avez gagné… qui forment la majorité des spams. On ne peut pas se limiter à de la pure insertion de variables, car en fonction des données, il faudra changer la formule (remplacer Monsieur par Madame), accorder les adjectifs, conjuguer les verbes, etc. Les outils permettent de mettre en œuvre ces règles linguistiques de bas niveau.
Certains systèmes fournissent des abstractions de plus haut niveau, mettant en œuvre des grammaires linguistique masquées par des primitives sémantiques de haut niveau (décrire une valeur, par exemple).
L’avantage des systèmes basés sur des templates, quels que soient les niveaux d’abstraction, est qu’ils sont déclaratifs et directement liés aux données structurées (bases de données, tableurs, etc.). Ce type de génération guidé par les données est appelé data-to-text . Une liaison directe et explicite aux données permet d’assurer la fiabilité et la traçabilité des textes produits, parfois aux dépends de la complexité de gestion des templates.
Comment les réseaux de neurones peuvent-ils générer du texte ?
Les récentes avancées dans les réseaux de neurones ont montré une redoutable capacité pour ces systèmes à produire des textes, à commencer par la traduction neuronale et plus récemment avec des modèles de langue massifs (large language models) comme GPT‑3.
Ces systèmes ont tendance à être particulièrement créatifs : ils sont capables de continuer un texte dont le début aurait été rédigé par un humain. En revanche, ils sont difficiles à contraindre. Cela les dispose donc plus à des applications de type « écriture créative » (qui consiste à laisser la machine « broder » sur un sujet) et moins à de la génération basée sur les données, pour lesquels les templates restent la solution privilégiée par les industriels.
Quels systèmes open-source pour générer du texte ?
Des systèmes open-source comme SimpleNLG ou RosaeNLG permettent de gérer les aspects morpho-syntaxiques de la génération (mise au masculin/féminin, conjugaison des verbes, etc.) au travers d’un langage de programmation de templates. Ils ne dispensent pas de l’écriture de ces templates pour chacun des cas visés.
Les modèles massifs sont disponibles en accès libre sur la plateforme Huggingface. Ils demandent toutefois un certain niveau d’expertise en Intelligence Artificielle pour être mis en œuvre.
Études de cas associés
Je suis responsable des ventes d'une entreprise de vente en ligne. Nous avons une section de commentaires où les clients publient leurs expériences d'utilisation ainsi qu'une section de questions où les prospects se renseignent sur des produits. La section de commentaires constituant une source d'informations précieuse contenant souvent des éléments non contenus dans les fichiers descriptifs envoyés par des fournisseurs, je voudrais savoir comment les avis clients peuvent être exploités afin de proposer des réponses automatiques aux questions des prospects.
Chef de produit d'un quotidien d'actualités en ligne, je fais attention à la qualité de la section des commentaires rédigés par nos abonnés. Une façon de modérer serait de bloquer des commentaires contenant de fausses informations ou présentant un raisonnement douteux. Cependant, je dois aussi veiller à ce qu'il y ait une bonne interactivité entre les abonnés. Le blocage de commentaires, bien que simple à mettre en place, impactera non seulement la liberté d'expression mais aussi l'échange d'opinions entre les abonnés. J'aimerais savoir s'il existe des solutions moins contraignantes.
Je suis chef de service hospitalier et souhaite alléger la charge que représente la rédaction récurrente de comptes-rendus médicaux. Les médecins du service sont amenés à rédiger pour chaque visite de patient des comptes-rendus médicaux nécessaires à leur suivi. Afin d'alléger la charge que représente la rédaction de ces comptes-rendus, je souhaite disposer d'un outil qui permettre d'optimiser la rédaction récurrente de parties redondantes.
Dans ma pratique professionnelle, je dois rédiger de nombreux rapports. La correction orthographique et grammaticale amène un gain de temps considérable. Souvent surpris par l'efficacité de ce type d'outils, j'aimerais comprendre comment ils fonctionnent afin de mieux jauger les corrections proposées.
Responsable d’une agence immobilière, mon équipe est régulièrement amenée à dresser des états des lieux des biens qui nous sont confiés. Les informations nécessaires pour choisir le type d'état des lieux à créer et le préremplir sont stockées dans une base de données. Comment éviter une perte de temps inutile en automatisant la sélection du bon type d'état des lieux et sa rédaction conformément à la législation en vigueur ?
En tant que responsable de la direction finances et risques d'une banque, je souhaite mettre en place un processus de création automatique des dossiers de crédit aux entreprises à partir des éléments clés : projets de financement, santé financière de l'entreprise, garanties apportées, etc. Cette solution devra être déployée sur l'ensemble du groupe, et notamment être accessible à tous les "risk managers" de l'établissement.
Je suis responsable d'une plateforme touristique d'un office de tourisme, et je souhaite proposer aux touristes potentiels des descriptions de mes prestataires et socioprofessionnels prenant en compte les avis clients.
Responsable de la commercialisation de plusieurs titres de presse, je dois acquérir ou fidéliser mes abonnés en ligne en leur proposant l’actualité cruciale, voire critique dans leur activité, parmi des masses d’informations quotidiennes. Les mêmes outils de veille constituent un support précieux pour les journalistes de mes publications, à partir de sources externes.
La mise sur le marché d'un médicament nécessite un grand nombre de documents décrivant son processus de validation. Certains d'entre eux peuvent être très longs (jusqu'à plusieurs milliers de pages) et tous ont une procédure de rédaction/relecture très contrôlée. Pourtant, certaines parties de ces document peuvent être produites automatiquement à partir des données des études cliniques qui ont été effectuées, réduisant ainsi le temps qui sépare la conception du médicament de son Autorisation de Mise sur le Marché (AMM).
Responsable d'un domaine de publication, je dois assurer la mise en ligne en temps quasiment réel de bulletins d’analyse et de synthèse de données chiffrées massives telles que des résultats de rencontres sportives locales ou d'élections, les derniers chiffres de la pandémie COVID ou les prévisions météorologiques régionales et nationales.