fbpx

Le Machine Learning au service de la génération de texte

Le Natural Language Processing (NLP), ou traitement automatique du langage naturel en français, est l’un des domaines clés où l’apprentissage automatique a été très efficace. En effet, si auparavant le NLP nécessitait beaucoup d’interventions humaines, ce n’est plus le cas aujourd’hui. Plus précisément, la technologie deep learning peut être utilisée pour l’apprentissage de tâches liées à la langue, telles que la traduction, la classification, la reconnaissance d’entités ou encore le résumé. Dans le présent article, nous allons nous concentrer sur cette dernière tâche et voir comment utiliser le machine learning et les transformateurs HuggingFace pour effectuer une synthèse de texte. 

Le machine learning ou l’apprentissage automatique dans le résumé de texte

Les êtres humains disposent d’une capacité cognitive relativement limitée en ce qui concerne l’interprétation de certains textes. En effet, on remarque qu’aujourd’hui, beaucoup de gens n’aiment plus lire de grandes quantités de texte, ce qui rend les résumés encore plus essentiels. C’est également pour les mêmes raisons que beaucoup de développeurs souhaitent automatiser la synthèse des textes, d’où le recours à l’apprentissage automatique. Voyons comment grâce à l’utilisation de quelques lignes de codes, on parvient à résumer un texte entier.

Résumer un texte avec un transformateur pré-entraîné

Grâce au budget important alloué à l’utilisation du machine learning dans la synthèse de texte, il est désormais possible de générer un résumé en ayant recours à un transformateur pré-entraîné. Il convient, cependant, de noter que si l’écriture du code est plus ou moins facile, la technologie qui se cache derrière cette interface simple demeure complexe.

Pour mieux comprendre le système, nous allons nous intéresser aux transformateurs qui sont à la pointe de la technologie en matière de traitement automatique du langage naturel. Ceci implique, notamment, un examen approfondi des architectures de modèle BERT et GPT.

Focus sur le fonctionnement d’un transformateur

Un transformateur est une architecture d’apprentissage automatique qui combine un encodeur avec un décodeur. Ces deux éléments entrent conjointement en apprentissage, ce qui permet la conversion des séquences d’entrée dans un format intermédiaire avant leur reconversion dans un format compréhensible par l’homme.

Une analogie humaine de ce système serait deux traducteurs qui parlent tous deux une langue imaginaire et une langue interprétable par l’homme, comme l’allemand et le français. Le premier traducteur peut traduire le français dans la langue imaginaire. Le second, quant à lui, s’occupe de la traduction de la langue intermédiaire en allemand. Ainsi, sans une compréhension des deux langues humaines, un traducteur ici considéré comme l’encodeur, et un autre qualifié de décodeur peuvent toujours effectuer la traduction des deux langues humaines.

Comprendre les modèles BERT et GPT

Le sigle BERT correspond à Bidirectional Encoder Representations from Transformers, ou représentations d’encodeurs bidirectionnels à partir de transformateurs. Ce modèle peut être utilisé comme encodeur pour les tâches d’ajustement ultérieures. En d’autres termes, il est possible de s’en servir comme racine pour former nos propres modèles avec des ensembles de données linguistiques beaucoup plus petits.

Un autre atout de BERT est qu’il utilise uniquement le segment d’encodeur du transformateur classique, à savoir vanille. Par conséquent, il excelle dans la compréhension du langage naturel, mais s’avère, par contre, moins efficace dans la génération du texte.

En outre, il faut savoir que ce modèle ne lit pas seulement le texte de gauche à droite. Un trait de caractère, qui notons-le, est assez courant dans les segments masqués des transformateurs classiques. En effet, comme il est bidirectionnel, il est donc capable de lire un texte de gauche à droite et inversement.

En ce qui concerne le modèle GPT ou Generative Pre-Training, celui-ci est le décodeur du transformateur classique vanille. Il excelle donc dans la génération du texte. La dernière version actuelle pour ce modèle est GPT-3, pour lequel Microsoft a acquis une licence exclusive.

Résumer un texte en utilisant HuggingFace

Pour comprendre le rôle d’HuggingFace dans la synthèse d’un texte, voyons, en premier lieu, tout ce qu’il y a à retenir sur les transformateurs BART. 

BART correspond à Bidirectional and Auto-Regressive Transformers, ou transformateurs bidirectionnels et auto-régressifs en français. Ce modèle généralise essentiellement les architectures basées sur BERT et GPT en utilisant l’architecture standard Seq2Seq Transformer de Vaswani tout en imitant la fonctionnalité BERT/GPT et les objectifs de formation. En d’autres termes, BART dispose d’un encodeur bidirectionnel de type BERT. En conséquence, il peut lire le texte de gauche à droite et de droite à gauche. La sortie, quant à elle, est assurée par le décodeur autorégressif. Bref, avec BART, il est maintenant possible de comprendre les entrées et de générer simultanément de nouvelles sorties.

En ce qui concerne la synthèse proprement dite, on utilise l’architecture BART et HuggingFace pour réaliser un réglage fin avec l’ensemble de données de synthèse CNN/DailyMail. Ce jeu de données a deux fonctionnalités qui sont : 

  • L’article, qui est le texte de l’article d’actualité ;
  • Les surlignages, qui représentent les éléments clés du texte et qui peuvent être utiles pour le résumé.

Pour implémenter le résumé pré-entraîné CNN/DailyMail avec HuggingFace Transformers, voici les étapes à suivre : 

  1. Importation du pipeline à partir du transformateur, qui importe la fonctionnalité Pipeline, vous permettant d’utiliser facilement une variété de modèles pré-entraînés. Si vous n’avez pas installé de transformateurs, il est possible de le faire avec les transformateurs d’installation pip. À noter qu’il est préférable d’installer également PyTorch, éventuellement dans un environnement séparé.
  2. Lecture d’un article stocké dans un fichier texte.
  3. Initialisation et configuration du pipeline de résumé.
  4. Génération du résumé à l’aide de BART.
  5. Impression du texte résumé.

Grâce à l’avancée de la data science, il est désormais possible de générer un résumé de texte en utilisant le machine learning et HuggingFace. Comme détaillé ci-dessous, le modèle d’architecture BART représente un atout majeur pour cette tâche. En effet, il est le résultat de la combinaison des deux meilleures architectures au monde, ce qui fait de lui une architecture de modèle qui, une fois formée, est vraiment excellente pour à la fois comprendre et générer du texte. Notons, toutefois, que pour pouvoir fonctionner parfaitement, ce modèle, à l’instar de la plupart des modèles de machine learning, nécessite une quantité importante d’espace de stockage et de mémoire vive.

Vous souhaitez vous former au Big Data ? Retrouvez les formations Data Full Stack et Data Analyst qui vous forment aux métiers de Data Analyst, Data Scientist, Data Engineer et AI Scientist.
Merci pour votre lecture ! Si vous souhaitez lire nos prochains articles autour de la Data et de l’IA, vous pouvez nous suivre sur FacebookLinkedIn et Twitter pour être notifié lorsqu’un nouvel article est publié !