Tâches de génération de séquences

Natural Language Processing (NLP) en Python

Fouad Trad

Machine Learning Engineer

Génération de séquences

  • Génère du nouveau texte à partir d'une entrée
  • Comprend des tâches comme :
    • Résumé de texte
    • Traduction de texte
    • Modélisation de langue

GIF d'un crayon qui écrit des phrases sur du papier.

Natural Language Processing (NLP) en Python

Résumé de texte

  • Condense de longs documents en versions courtes qui mettent l'accent sur l'essentiel
  • Utile avec :
    • Articles de presse longs
    • Articles scientifiques
    • Rapports
    • Courriels

Image montrant une pile de livres et un document de synthèse généré à partir de ceux-ci.

Natural Language Processing (NLP) en Python

Pipeline de résumé de texte

from transformers import pipeline

summarizer = pipeline(task="summarization", model="cnicu/t5-small-booksum")
text = """The Amazon rainforest, often referred to as the "lungs of the Earth," is one of the most biologically diverse regions in the world. Spanning over nine countries in South America, the majority of the forest lies in Brazil. It is home to an estimated 390 billion individual trees, divided into 16,000 different species. The rainforest plays a critical role in regulating the global climate by absorbing vast amounts of carbon dioxide and producing oxygen."""
result = summarizer(text)
print(result)
[{'summary_text': 'the Amazon rainforest is one of the most biologically diverse regions in the world. 
The majority of the forest lies in Brazil. The rainforest plays a critical role in regulating the 
global climate by absorbing vast amounts of carbon dioxide and producing oxygen.'}]
Natural Language Processing (NLP) en Python

Traduction de texte

  • Convertit un texte d'une langue à une autre
  • Essentiel pour les applications multilingues :
    • Sites Web internationaux
    • Outils de soutien à la clientèle

Image montrant un texte traduit de l'anglais (Good morning) au français (Bonjour).

Natural Language Processing (NLP) en Python

Pipeline de traduction de texte

translator = pipeline(task="translation", model="Helsinki-NLP/opus-mt-en-fr")

sentence = "The rainforest helps regulate the Earth's climate."
result = translator(sentence)
print(result)
[{'translation_text': 'La forêt tropicale aide à réguler le climat de la Terre.'}]
Natural Language Processing (NLP) en Python

Modélisation de langue

  • Prédit les prochains mots à partir d'une amorce
  • Base de nombreuses applications :
    • Saisie anticipée
    • Génération d'histoires
    • Réponses de clavardoirs

Image illustrant la modélisation de langue : on fournit une amorce à la machine qui génère le texte.

Natural Language Processing (NLP) en Python

Pipeline de modélisation de langue

generator = pipeline(task="text-generation", model="distilgpt2")


prompt = "Once upon a time,"
result = generator(prompt, max_length=30, num_return_sequences=3)
print(result)
[{'generated_text': "Once upon a time, my life wasn't so good, I kept my things tidy. The 
                     more time I spend with my children the more ..."}, 
 {'generated_text': 'Once upon a time, we began a process of finding the right answers to 
                     some big questions," said Jim Pelterer, a lecturer at the 
                     University...'}, 
 {'generated_text': 'Once upon a time, a man came along and took in the city, and found out 
                     that a strange woman had just walked in and was dancing about...'}]
Natural Language Processing (NLP) en Python

Passons à la pratique !

Natural Language Processing (NLP) en Python

Preparing Video For Download...