Traitement de la langue naturelle (TAL – NLP)
M2 MIDS
Marie Candito / Antoine Simoulin
1
Aperçu du cours
! 3 séances M Candito
[email protected]! introduction au TAL
! concepts linguistiques
! 7 séances Antoine Simoulin
[email protected]! classification de documents
! vecteurs de mots, modèles de langue
! CM et TPs
! Evaluation
! 50% examen final + 50% contrôle continu
! contrôle continu : quizz / TPs
Biblio indicative
! Jurafsky, D., and Martin, J. (2019), Speech and Language Processing. Pearson
! (nombreuses rééditions, pédagogique)
! chapitres en ligne: https://web.stanford.edu/~jurafsky/slp3/
! panorama assez complet du domaine
! moins centré sur le deep learning
! Goldberg, Y. (2016), Neural network methods in NLP. Morgan
& Claypool
! très pédagogique
! Eisenstein, J. (2019). Natural Language Processing. MIT Press
3
Traitement automatique des langues (TAL)
! = Natural Language Processing (NLP)
! rem: « langue naturelle » est un pléonasme
! Relève de:
! Communication humain-machine
! Intelligence artificielle
! Informatique
! Peut utiliser:
! Mathématiques (par ex. logique)
! Apprentissage automatique
! Linguistique (dont psycho-linguistique)
Exemples d’applications
5
Applications faisant intervenir du TAL
Exemples d’applications:
! Traduction automatique (machine translation)
! Question-réponse (question answering QA)
! Classification de documents
Traduction automatique
! la trad neuronale (neural machine translation)…
! exemple : DeepL
7
Traduction automatique
! a totalement éclipsé la trad "par transfert" (rule-based)
! par exemple Systran
Question-réponse ( Question Answering QA )
! Système devant répondre automatiquement à une question en « langue naturelle »
! Qui a gagné la ligue des champions féminine en 2020?
! Quel est le nombre moyen de jours de vent par an à Marseille?
9
Question-réponse ( Question Answering QA )
! 2 types d’applications techniquement très différentes, selon la source pour la/les réponses
1. Source des réponses = des documents textuels
! réponses = documents non formatés
! => simple moteur de recherche documentaire
! réponses = information précise
! trouvée dans les textes
! = système de question-réponse extractif (extractive QA)
! ou bien inférées
! Nécessitant un raisonnement à partir des énoncés
! Plus difficile!
! Autre terme pour la tâche (plus général) : Machine reading comprehension (MRC)
extractive QA + mise en forme: Google
11
extractive QA: données SQuAD
! https://rajpurkar.github.io/SQuAD-explorer/
Question-réponse ( Question Answering QA )
! 2 types d’applications techniquement très différentes, selon la source pour la/les réponses
2. Source des réponses = une base de connaissances (knowledge base KB)
! en général graphe décrivant des faits
! nœuds = entités du monde, arcs = relations sémantiques
13
QA from knowledge base
! Exemple de KB = wikidata,
! wikidata query service
! https://query.wikidata.org/
! langage de requête SPARQL
! Tâche = traduire la question en requête
! input:
! Quels sont les auteurs nommés au prix Nobel de littérature qui ne l'ont pas obtenu ?
! output = requête, par exemple en SPARQL
! voir slide suivant
QA: réponses dans base de connaissance
! Tâche = traduire la question en requête
! par ex. KB = wikidata, wikidata query service:
15
Application "Classification de documents"
! associer une ou plusieurs catégories à un document / une portion de textes
! NB: les catégories sont pré-existantes
! par ex. thèmes de dépêches
! ≠ clustering / détection de thèmes
! Exemples:
! identifier le thème d'articles de presse
! identification de spam
! mais aussi : analyse de sentiment (« sentiment analysis »)
! « document » = verbatim, contenu généré par utilisateur
! « catégorie » = positif, négatif, neutre
! mais aussi : réponse à une FAQ
! "document" = question utilisateur
! "catégorie" = les questions répertoriées dans une FAQ
! …
Autres exemples d'applications faisant intervenir du TAL
Quelques exemples supplémentaires:
! Agents conversationnels (chatbots)
! Résumé automatique (automatic summarization)
! « Analyse de sentiment » (sentiment analysis)
! Extraction d’information / fouille de textes (text mining)
! Correction grammaticale
! Multi-modal: recherche d’images (d’après légende+image)
! …
17
Bref historique du TAL
Historique express
! Débuts de l’informatique
! Traduction automatique, abordée comme de la cryptographie
! rapport ALPAC 1966 : constat d'échec des approches sous- estimant les difficultés
! 70’s-80’s : TAL symbolique, « par règles »
! symbolic, rule-based
! interfaces de BDD en langage naturel
! approche symbolique: « systèmes experts »
! Exemple de règle:
! « Si une graphie m peut être un nom ou un verbe et qu’elle est précédée d’un déterminant, alors c’est un nom »
! Mon épaule gauche me fait mal
19
Historique express
! 90’s : TAL probabiliste
! Modèles « génératifs » :
! estimation de P(observations | sorties cherchées)
! par exemple
! Classifieur bayésien naïf
! Par exemple classification de documents
! C = ensemble de classes possibles
classe* = argmaxc ∈ C P(c | document)
= argmaxc ∈ C P(doc | c) P(c) / P(doc) = argmaxc ∈ C P(doc | c) P(c)
! statistical machine translation (IBM, Brown et al. 93)
! Traduction phrase f langue F vers langue E e* = argmaxphrases e P(e)P(f | e) / P(f)
= argmax P(e)P(f | e)
Historique express
! Fin années 90 – années 2000
! Modèles probabilistes discriminants
! Estimation directe de P(sorties cherchées | observations)
! Via classifieurs linéaires
! Permettant de représenter les observations au moyen de vecteurs de traits, définis manuellement
! Feature engineering
! Machines à vecteurs support (support vector machines SVM)
21
Historique express
! ≈ 2013
! Apprentissage profond ("deep learning")
! Réseaux neuronaux
! Spécificité du TAL: intégration de vecteurs de mots ("word embeddings")
! Colobert et al. 2008, Mikolov et al. 2013 (word2vec)
! La similarité entre 2 vecteurs de mots (en général cosinus) est sensée capturer la similarité entre ces 2 mots
Historique express
! À partir de 2018
! Intégration au sein de réseaux de neurones de deep contextualized word representations
! Vecteurs représentant un mot en contexte
! ElMO (Peters et al. 2018)
! Transformer-based models (par ex. BERT (Devlin et al. 2018) )
! pour l’anglais + modèle multilingue
! Blog pédagogique: https://jalammar.github.io/illustrated-bert/
! Pléthore de modèles pour autres langues: flauBERT … CamemBERT…
! entraînable sur texte brut (milliards de mots disponibles)
! techniquement = apprentissage supervisé
! mais construction triviale d'exemples d'apprentissage
! Par exemple à partir du contexte « le chat XXX à la balle », identifier le mot manquant
! paramètres appris utilisables dans modèles entraînés pour des tâches plus sophistiquées
" On parle d’apprentissage par transfert (« transfer learning »)
" gains importants sur toutes les tâches de TAL
23
Tendances actuelles en TAL (NLP)
! Modèles de TAL
! intégrent actuellement peu de linguistique
! Intelligence artificielle, apprentissage profond
! Apprentissage supervisé
! Récents gains de performance
! In fine: optimisation mathématique: recherche de paramètres minimisant une perte
Tendances actuelles en TAL (NLP)
! Mais enjeux:
1. Manque de données d’apprentissage
! Annotations de données : long, coûteux, peu généralisable
! Même si apprentissage par transfert limite un peu le volume de données nécessaires pour obtenir de bons résultats
! Apprentissage d’un point de départ de valeurs de paramètres d’un modèle
! Sur données produites trivialement à partir de corpus bruts
! Puis spécialisation des valeurs de paramètres pour une tâche plus sophistiquée, requérant des données annotées
2. Interprétabilité:
! " connaissances linguistiques restent utiles en pratique dans le milieu industriel
25
Un peu de linguistique
Un peu de linguistique:
! Qu’est-ce que la linguistique?
! Notion d'acceptabilité
! Objectif de la linguistique
! Qu’est-ce que modéliser la langue?
! Décrire versus prescrire
! Représentation linguistique d’une phrase
! Concepts descriptifs:
! en morphologie:
! catégorie morpho-syntaxique (Nom, Verbe…)
! lemme (manger) et traits flexionnels (sing, féminin…)
! expression polylexicale (carte bleue, mettre en garde)
! en syntaxe: arbre syntaxique
! en sémantique: rôle sémantique
! notion d’ « entité nommée »
27
Qu’est-ce que la linguistique ?
Qu’est-ce que la linguistique ?
! Linguistique = étude du fonctionnement des langues et de la compétence langagière des locuteurs
! « mitruchaient » et « chluktaag »
! sont-ils des mots français?
! sonnent-ils français?
! Idem pour
! « Les chitailles mitruchaient sous la pongère. »
! « Oiseaux les mur le sur picoraient. »
29
Qu’est-ce que la linguistique ?
! Linguistique = étude du fonctionnement des langues et de la compétence langagière des locuteurs
! « mitruchaient » et « chluktaag »
! sont-ils des mots français?
! sonnent-ils français?
! Idem pour
! « Les chitailles mitruchaient sous la pongère. »
! « Oiseaux les mur le sur picoraient. »
! Un locuteur produit et comprend des énoncés jamais rencontrés auparavant
! " La compétence d’un locuteur ne se réduit pas à un ensemble fini d’énoncés appris par cœur
! " des règles sous-tendent la formation des énoncés dans une langue donnée
Concept linguistique: Acceptabilité
! Compétence des locuteurs, qui savent dire que:
! certains énoncés appartiennent à leur langue
! J’aime beaucoup les olives.
! et d’autres certainement pas
! * Aimer olives beaucoup moi.
31
Concept linguistique: Acceptabilité
! Compétence des locuteurs, qui savent dire que:
! certains énoncés appartiennent à leur langue
! J’aime beaucoup les olives.
! et d’autres certainement pas
! * Aimer olives beaucoup moi.
! " on parle d’acceptabilité des énoncés
! inacceptabilité notée avec *
! les locuteurs savent "juger" de l'acceptabilité d'un énoncé
! compétence acquise à l'apprentissage d'une langue maternelle
! les jugements d'acceptabilité sont plus ou moins unanimes
! " échelle d’acceptabilité (non binaire)
Concept linguistique: Acceptabilité
! À vous de juger l'acceptabilité de :
! phrase de contexte :
! Elle autorisa une personne sans masque à entrer/monter.
Alors en arrivèrent beaucoup d’autres.
? Alors en montèrent beaucoup d'autres.
Alors en arrivèrent des milliers.
? Alors en montèrent des milliers.
Alors commencèrent à en arriver des milliers.
? Alors commencèrent à en arriver beaucoup d’autres.
?? Alors commencèrent à en monter beaucoup d’autres.
33
Grammaticalité/Interprétabilité
! Acceptabilité = grammaticalité + interprétabilité
! interprétable mais agrammatical
! *Je manger olive beaucoup.
! grammatical mais ininterprétable
! #Les rugueux athéismes liquides appuient sur le mur.
! phrase « bien formée » mais quel sens lui donner?
! *Je sais que tu as rencontré un homme qui travaille avec le voisin de la femme que le frère de ma dentiste qui
habite la rue passant derrière celle que Paul a photographiée a décidé d’épouser.
! limites cognitives
Objectif de la linguistique
! = modéliser la « grammaire » intériorisée par les locuteurs
35
Objectif de la linguistique
! = modéliser la « grammaire » intériorisée par les locuteurs
! = construire appareil formel permettant de
reproduire / prédire le comportement langagier
! i.e. prédire quels énoncés sont acceptables et lesquels ne
le sont pas
Décrire versus prescrire
! « Grammaire intériorisée par locuteurs »
! ≠ grammaire normative
! les autorités normatives prescrivent le « bon usage »
! Académie française, grammaire scolaire …
! échelle de valeur
! et insistent justement sur ce qui contredit les règles normatives mais est employé par les locuteurs
! « J’aime pas les photos que t’as pris »
! => c'est français!
37
Décrire versus prescrire
! « Grammaire intériorisée par locuteurs »
! ≠ grammaire normative
! les autorités normatives prescrivent le « bon usage »
! Académie française, grammaire scolaire …
! échelle de valeur
! et insistent justement sur ce qui contredit les règles normatives mais est employé par les locuteurs
! « J’aime pas les photos que t’as pris »
! => c'est français!
! Objectif du linguiste
! = prendre en compte tous les usages effectifs de la langue
Décrire versus prescrire: exemples
! Collectivement, les locuteurs introduisent des changements…
! que les autorités normatives finissent par entériner ou pas:
! Prononciation:
! les zaricots
! Mots:
! 109 nouveaux mots au Robert 2020: boboïser, anticasseur, coworking...
! pour 2021: déconfinement, cluster, télétravailler…
! Constructions:
! exemple typique: malgré que
! usage encore « non recommandé » par l’Académie
! Au Robert depuis 1990
! cf. historique Candel et Kibbee 2006
! Rem: l’orthographe est quant à elle normée
39Décrire tous les usages langagiers
! Linguistique / TAL prend en compte tous les usages
! mais locuteurs savent repérer différents « registres » de langue
! connaissance active / passive
! Les langues contribuent à assurer l’identité et l’unité à l’intérieur des communautés humaines.
! Lunes et nuit, vous êtes un loup de velours noir, village, sur la veillée de mon amour (René Char)
! Donne lui-en pas!
! Auriez-vous l’obligeance de bien vouloir faire cesser ces désordres?
! Mention de l’arrêté préfectoral et des modalités de consultation de celui-ci est inséré en caractères apparents dans deux journaux
régionaux ou locaux diffusés dans le département
Décrire tous les usages langagiers
! Impératif en TAL de traiter les usages réels
! exemples French Social Media Bank (Seddah et al., 2012)
! Mais y’a des gens ils pensent pas à l’ avenir de leur gosse !
! J’ai pas lisser mes cheveux il boucle un peu, sa fais jolie :3
! J’en ai marre de me lisser les chvx, ils peuven pas être tout lisse déjà ?
! Je pars me lisser les cheveux , énorme journée de diiiiiingue .
41