Outils de Traitement de Corpus

Cours d'Outils de traitement de Corpus - PluriTAL


Project maintained by EveSa Hosted on GitHub Pages — Theme by mattgraham

Outils de Traitement de Corpus

-vertical-

Qui suis je❓

-vertical-

Qu’est ce que ce cours ❓

Un cours sur le traitement statistique des corpus et la manière de les préparer pour ce traitement

-vertical-

Organisation - contenu📆

6 x 3 heures + 1h30 pour l’examen

Cours 1 : Définir le sujet

Cours 2 : Récupérer un corpus

Cours 3 : Préparer un corpus

Cours 4 : Les modèles de traitement

Cours 5 : Appliquer les outils au corpus

Cours 6 : Evaluer l’efficacité des outils

-vertical-

Organisation - déroulé

-vertical-

Points bonne pratiques

Cours 1 : se tenir informé

Cours 2 : organiser son code

Cours 3 : rendre son code lisible

Cours 4 : savoir bien partager

Cours 5 : tester

Cours 6 : segmenter

-vertical-

A noter : je serais absente le 7 avril → on fera le cours en ligne

-vertical-

Evaluation

3 notes :

2 rendus obligatoires :

La meilleure des 2 notes (\40%):

-vertical-

Evaluation

📚📄Evaluation de corpus au cours d’un projet en 6 séances📄📚

l’objectif :

A rendre sur Git

-vertical-

Evaluation

📚📄Evaluation de corpus au cours d'un projet en 6 séances📄📚

Les critères :

-vertical-

Les objectifs

-vertical-

Evaluation

📮Participer à la newsletter📮

Pour apprendre à se tenir informé dans le monde de la tech:

Réaliser au moins un post sur la newsletter au cours des 7 semaines de cours.

et le présenter en cours en faisant une rapide explication et en répondant aux questions de l’assemblée.

-vertical-

Evaluation - Newsletter

critères d’evaluation :

-vertical-

Evaluation

2 petits quizz à chaque séances sur le contenu de la session

→ chaque séance sera noté sur 5

-horizontal-

Outils de Traitement de Corpus

-vertical-

Qu’est ce qu’un corpus ❓

On les appele aussi “Dataset” ou “jeu de données”

-vertical-

Pourquoi veut on traiter les corpus ❓

Les collections de données sont des mines d’informations explicites:

ou d’informations implicites

-vertical-

Définir le sujet

Comme dans une dissertation, le premier point c’est de bien définir ce que l’on cherche, ce que l’on veut

→ c’est ce qui va déterminer comment on va traiter notre corpus et quels outils on va utiliser.

-vertical-

Quelques exemples :

-vertical-

Comment bien définir son sujet/ le besoin ?

  1. Quelle tâche ? → Annotation, Question-Réponse, Audio, Génération, …
  2. Quel sujet ? → Médical, Général, Education, …
  3. BONUS Quelle qualité ? Quelle quantité ? → sur le médical → très forte qualité | Sur le général → on peut se permettre moins de qualité

-vertical-

Les différents types de tâches

Supervisé ou Non-supervisé (ou apprentissage par renforcement)

-vertical-

l’Apprentissage supervisé

L’apprentissage supervisé s’apparente à l’apprentissage avec un enseignant. Le modèle est entraîné sur un ensemble de données étiquetées, ce qui signifie que chaque entrée correspond à une sortie.

-vertical-

apprentissage supervisé

l’objectif est de prédire correctement des classes.

-vertical-

l’Apprentissage supervisé : exemples

-vertical-

l’Apprentisage non supervisé

L’apprentissage non supervisé fonctionne avec des données sans étiquettes prédéfinies. Le modèle identifie des modèles, des clusters ou des associations de manière indépendante.

-vertical-

apprentissage non
supervisé

l’objectif est de découvrir des motifs cachés

-vertical-

l’Apprentisage non supervisé : exemples

-vertical-

Le Reinforcement learning

L’apprentissage par renforcement implique un agent qui interagit avec un environnement, apprenant par le biais de récompenses et de pénalités pour maximiser le succès à long terme.

→ plutôt lié à la robotique

-vertical-

RL

C’est apprentissage essai-erreur.

-vertical-

Le Reinforcement learning : exemples

→ en TAL, on utilise le RLHF (Reinforcement Learning from Human Feedback) pour entraîner les agents conversationnels

-vertical-

Les modèles de langues

Dans quelle catégorie tombe les modèles de langues ?

-vertical-

L’apprentissage auto supervisé

Self Supervised Learning (SSL)

L’apprentissage auto-supervisé est une méthode d’apprentissage profond dans laquelle un modèle est pré-entraîné à l’aide de données non étiquetées. Les étiquettes de données sont générées automatiquement et utilisées comme vérités lors des itérations suivantes.

→ Permet de faire le même genre de tâches que du supervisé sans le coût de l’annotation

-vertical-

SSL : exemples

Les modèles de langues (Bert, …) sont des modèles de langues masqués.

MLM

-vertical-

SSL : exemples

Les modèles de langues (Mistral, GPT, …) sont des modèles de Next Token Prediction (NTP)

NTP

-vertical-

Les tâches du NLP

-vertical-

-vertical-

-vertical-

-vertical-

-vertical-

-vertical-

Les tâches du NLP

-horizontal-

Définir le besoin :

Qu’est ce que j’ai en entrée → qu’est ce que je veux en sortie

exemples:

images médicales → diagnostic

surface, localisation d’un bien → prix du bien

-vertical-

Les types de données

Données structurées ou Non Structurées ?

structured unstructed
data

-vertical-

Données structurées

Exemple : base de données relationnelles

-vertical-

Données non structurées

Exemple : fichier Word, pdf, textes

-vertical-

Données semi-structurées

Les données semi-structurées sont des informations qui ne résident pas dans une base de données relationnelle, mais dont les propriétés organisationnelles facilitent leur analyse. Certains processus permettent de les stocker dans la base de données relationnelle (ce qui peut s’avérer très difficile pour certaines données semi-structurées), mais les données semi-structurées existent pour gagner de la place.

Exemple : données XML.

-vertical-

Quantité des données

Selon le type de modèle qu’on veut utiliser, on va avoir besoin de plus ou moins de données :

-vertical-

Quantité de données

→ selon la tâche que l’on veut réaliser, on va devoir récupérer plus ou moins de données. Il faut s’assurer que les données sont disponibles pour la tâche en question

-vertical-

Quantité des données

Pourquoi faut-il tant de données pour les modèles d’apprentissage ?

→ il faut que le modèle est vu tous les cas de figure pour faire les bonnes prédictions.

ex : le modèle n’a jamais appris ce qu’était un adverbe parce qu’il n’en a pas dans son jeu de donnée → il ne pourra jamais prédire d’adverbe.

-vertical-

Qualité des données

Les modèles d’apprentissage (profond ou classique) n’ont pas de visibilité hors des données d’entraînement : ils récupèrent donc les biais présents dans les données.

ex : biais sexiste, raciste dans les modèles génératifs

→ il faut donc s’assurer de pouvoir récupérer des données de qualité

-vertical-

Equilibre des données

Il est important d’obtenir des données équilibrées pour être sur que tous les cas vont être appris également par le modèle.

ex : le modèle a très peu d’adverbes dans son jeu de données → il ne prédira jamais d’adverbe.

-vertical-

Obtenir des données

→ Avec internet, c’est plus si compliqué

Obtenir des données utiles

→ C’est très couteux 💸💸💸

-vertical-

❓ A quel point c’est important ❓

C’est le nerf de la guerre

Les entreprises publient :

✔️ 🏠 les architectures

✔️ 🔩 les poids des modèles

❌ 📚 mais pas les données

-vertical-

Pourquoi c’est si comliqué à récupérer ?

En TAL, on a souvent des données non structurées qu’on veut enrichir → annoter

l’annotation demande la présence d’experts du sujet

exemple : dans le domaine médical, on a besoin de médecin pour annoter les comptes rendus

-vertical-

Pourquoi c’est si compliqué à récupérer ?

En NLP, on utilise beaucoup de données non structurées.

Ces données sont souvent sous un format difficile à récupérer.

exemples:

-vertical-

Avant de sélectionner son corpus → bien déterminer la tâche que l’on veut traiter :

-vertical-

Critères de définition d’un corpus

-vertical-

🔎Où trouver des corpus🔍

(cf. Clement Plancq)

-vertical-

💂Les grands corpus de l’anglais💂

Text Classification - IMDB - GLUE Token Classification - conll Question Answering - MMLU - thruful_qa Summarization - cnn_dailymail - scientific_papers

-vertical-

🥖Les grands corpus du français🥖

(cf. Clement Plancq)

-vertical-

Point bonnes pratiques

Comment rester informer

-vertical-

Comment rester informer

Le monde de l’IA et du NLP évolue extrêment vite et même en temps qu’expert, on a parfois du mal à rester au courant.

Quels sont les outils pour rester au courant des nouvelles ?

-vertical-

Les Outils

-vertical-

Attention à bien vérifier vos sources !

-vertical-

Petite revue des nouvelles

-horizontal-

Les ressources sur lesquelles se basent le cours :

-vertical-

TP

Partie 1 étude de cas CoNLL 2003 :
  1. Quelle type de tâche propose CoNLL 2003 ?
  2. Quel type de données y a-t-il dans CoNLL 2003 ?
  3. A quel besoin répond CoNLL 2003 ?
  4. Quels types de modèles ont été entraînés sur CoNLL 2003 ?
  5. Est un corpus monolingue ou multilingue ?

-vertical-

TP

Partie 2 projet:
  1. Définissez les besoins de votre projet:
    • dans quel besoin vous inscrivez vous ?
    • quel sujet allez vous traiter ?
    • quel type de tâche allez vous réaliser ?
    • quel type de données allez vous exploiter ?
    • où allez vous récupérer vos données ?
    • sont-elles libres d’accès ?