• Aucun résultat trouvé

Traitement de la langue naturelle

N/A
N/A
Protected

Academic year: 2022

Partager "Traitement de la langue naturelle"

Copied!
41
0
0

Texte intégral

(1)

Traitement de la langue naturelle (TAL – NLP)

M2 MIDS

Marie Candito / Antoine Simoulin

1

(2)

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

(3)

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

(4)

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)

(5)

Exemples d’applications

5

(6)

Applications faisant intervenir du TAL

Exemples d’applications:

!  Traduction automatique (machine translation)

!  Question-réponse (question answering QA)

!  Classification de documents

(7)

Traduction automatique

!  la trad neuronale (neural machine translation)…

!  exemple : DeepL

7

(8)

Traduction automatique

!  a totalement éclipsé la trad "par transfert" (rule-based)

!  par exemple Systran

(9)

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

(10)

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)

(11)

extractive QA + mise en forme: Google

11

(12)

extractive QA: données SQuAD

!  https://rajpurkar.github.io/SQuAD-explorer/

(13)

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

(14)

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

(15)

QA: réponses dans base de connaissance

!  Tâche = traduire la question en requête

!  par ex. KB = wikidata, wikidata query service:

15

(16)

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

! 

(17)

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

(18)

Bref historique du TAL

(19)

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

(20)

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)

(21)

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

(22)

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

(23)

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

(24)

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

(25)

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

(26)

Un peu de linguistique

(27)

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

(28)

Qu’est-ce que la linguistique ?

(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. »

29

(30)

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

(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.

31

(32)

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)

(33)

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

(34)

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

(35)

Objectif de la linguistique

!  = modéliser la « grammaire » intériorisée par les locuteurs

35

(36)

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

(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!

37

(38)

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

(39)

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

39

(40)

Dé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

(41)

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

Références

Documents relatifs

Pro & Cons X État de l’art en TAL sur de nombreuse tâches, mais proche d’autres méthodes d’apprentissage X ouverture vers d’autres tâches approches moins supervisées

voyage, nous avions créé un atelier de brésilien avec l'aide d'une étudiante. Celle-ci était suffoquée de la rapidité de nos progrès. On sait que la mémoire est affective.

Il était dans les projets de Freinet de réunir dans un ensemble de plus grande co hérence ses divers écrits sur la Méthode Naturelle de lecture, la Méthode

Mathématiques Devoir n°1:. les complexes et les

Une démonstration dans ce système se construit sous la forme d'un arbre dont la racine est le séquent à prouver et dont chaque n÷ud correspond à une des règles de

Models with even modestly sized auxiliary input represen- tations are considerably harder to train than a typical un- supervised character model.. To overcome this problem, we

◦ Il est souvent (toujours) possible de trouver des mots qui n’apparaissent que dans l’une des classes de documents..?. ◦ Il suffit de se baser dessus pour prendre une

is the number of times words assigned to topic j and sentiment label k, N j,k,d is the number of times a word from document d has been associated with topic j and sentiment label k,