Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

45
Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles

Transcript of Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

Page 1: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

Traitement Automatique du Langage Naturel

Chapitre 4

Lemmatisation et Modèles

Page 2: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 2

Qu’est-ce qu’un mot?

• Terminologie Lemme: un ensemble de formes lexicales ayant la

même racine, même partie du discours (POS), et approximativement le même sens de mot Cat et cats = même lemme

Forme du Mot: la forme de surface complètement inflexionnée. Cat et cats = formes de mots différentes

Distinction Token/Type Un token est une instance d’utilisation d’un lemme

dans un texte (ou une prononciation/articulation) Un type fait référence à un lemme donné

Page 3: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 3

Compter les mots• They picnicked by the pool then lay back on the grass and looked

at the stars 16 tokens 14 types

• SWBD (Switchboard corpus: communications téléphoniques) 2.4 million tokens ~20,000 types,

• Brown balanced English corpus 583 million tokens 293,181 types

• Shakespeare: 884,647 tokens 31,534 types

• Google 1,024,908,267,229 tokens 13,588,391 types

• Soit N = nombre de tokens, V = vocabulaire = nombre de types• Règle générale (informelle): V > O(sqrt(N))

Page 4: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 4

Segmentation (Tokenizing)

• Identifier les tokens (mots) dans un texte que nous voulons traiter

• Presque une condition préalable à faire quelque chose d'intéressant

• La difficulté varie avec la tâche et la langue

Page 5: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 5

Tokenizing

• Pour l’Anglais, pourquoi ne pas se contenter d’utiliser “l’espace / le blanc"? Mr. Sherwood said reaction to Sea Containers’ proposal

has been "very positive." In New York Stock Exchange composite trading yesterday, Sea Containers closed at $62.625, up 62.5 cents.

“I said, ‘what’re you? Crazy?’ “ said Sadowsky. “I can’t afford to do that.”

• L’utilisation de l’espace comme base du découpage donne des mots comme: cents. said, positive.” Crazy?

Page 6: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 6

Aspects de Ponctuation

• Ponctuation à l’intérieur des mots: M.P.H. Ph.D. AT&T 01/02/06 Google.com Yahoo! 555,500.50

• Clitiques What’re I’m

• Mots à tokens multiples New York Rock ‘n’ roll

Page 7: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 7

Aspects de Langage

• Français L'ensemble un ou deux tokens?

L ? L’ ? Le ? Nous voulons que l’ensemble corresponde à un

ensemble

• En Allemand les noms composés ne sont pas segmentés: Lebensversicherungsgesellschaftsangestellter “employé d’une compagnie d’assurance vie” Les systèmes de recherche d'information en Allemand bénéficient

grandement d'un module de segmentation des noms composés

• En Arabe, agglutination

أفنلزمكموها « devrons nous vous la forcer / vous forcer à la faire/ à l’accepter? »

Page 8: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 8

Aspects de Langage• Pas d’espaces entre les mots en Chinois et

en Japonais 莎拉波娃现在居住在美国东南部的佛罗里达。 莎拉波娃 现在 居住 在 美国 东南部 的 佛罗里达 Sharapova vit actuellement en Floride, sud-est

des USA

• Rendu plus difficile en Japonais, par l’enchevêtrement de caractères différents Dates/sommes en multiples formats

フォーチュン 500社は情報不足のため時間あた $500K(約 6,000万円 )

Katakana Hiragana Kanji Romaji

Slide de Chris Manning

Page 9: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 9

Exemple en Anglais

• Nous verrons bientôt de meilleurs exemples basés sur les probabilités

thetabledownthere

the table down theretheta bled own there

Page 10: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 10

Normalisation

• Besoin de “normaliser” les mots Pour diverses applications nous voulons avoir des mots

qui sont dans un format canonique pour faire les correspondances (matching) E.g. U.S.A. et USA اقسم vs أقسم

• Le plus souvent nous définissons de façon implicite des classes d’équivalences de termes Par exemple, en supprimant les points à l’intérieur des

mots Ou par recherche

Page 11: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 11

Morphologie de surface

• Parfois, on a besoin de connaitre la racine d'un mot sans se soucier de sa structure, ou même la racine correcte pour peu qu’on obtienne une chaîne cohérente Stemming (Racinisation)

• Parfois, on a besoin d'une segmentation sans aucune analyse des parties Hyphenation

Page 12: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 12

Lemmatisation pour la Recherche d’Information

• Exécuter un stemmer (lemmatiseur) sur les documents à indexer

• Exécuter un stemmer sur les requêtes des utilisateurs

• Correspondance (matching) Il s'agit essentiellement d'une forme de

hachage, où vous êtes à la recherche de collisions

Page 13: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 13

Stemmer de Porter

• Pas besoin d’un lexique• Fondamentalement, un ensemble de

règles de réécriture (rewrite rules) qui éliminent les suffixes

• Traite les suffixes inflectionnels aussi bien que dérivationnels

• Ne garantit pas que le lemme résultant est vraiment un lemme (voir le 1er point plus haut)

• Ce manque de garantie n’importe pas pour la RI

Page 14: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 14

Stemmer de Porter: Exemple

• Computerization ization -> -ize computerize ize -> ε computer

Page 15: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 15

Porter

• Dans la description initiale du stemmer de Porter, il n'a pas été présenté comme un transducteur, mais… Chaque étape est un transducteur

séparé Les étapes peuvent être composées

pour obtenir un grand transducteur http://tartarus.org/martin/PorterStemmer/

Implementations en C, Java, Perl, Python, C#, Lisp, Ruby, VB, javascript, php, Prolog, Haskell, matlab, tcl, D, et erlang

Page 16: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 16

Segmentation d’une Phrase

• Pourquoi ne pas simplement utiliser la ponctuation pour extraire les phrases ... Plus précisément s’arrêter sur le « point espace » “._” Mr. Sherwood said reaction to Sea Containers’

proposal has been “very positive.” In New York Stock Exchange composite trading yesterday, Sea Containers closed at $62.625, up 62.5 cents.

“I said, ‘what’re you? Crazy?’ “ said Sadowsky. “I can’t afford to do that.”

• Parce que le ‘.’ est ambigu en Anglais... Et n’existe même pas en Chinois...

Page 17: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 17

Segmentation d’une Phrase • !, ? Sont relativement non ambigus• Le point “.” est assez ambigu

Fin (limite) de phrase Abbreviations comme Inc. ou Dr.

• Idée Générale: Construire un classifieur binaire:

Prend un “.” Décide EndOfSentence/NotEOS (fin de phrase ou

pas) Classifieur = règles écrites manuellement, ou séquences d’expressions régulières, ou par apprentissage automatique

Page 18: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 18

Version Arbre Décisionnel

Page 19: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 191/5/07

Plus de détails

• Prob(mot avec “.” en fin de phrase)• Prob(mot avec “.” en début de phrase)• Longueur d’un mot avec “.”• Longueur d’un mot après “.”• Cas d’un mot avec “.”: Majuscules,

Minuscules, 1ère lettre capitale, Nombre• Cas d’un mot après “.”: Majuscules,

Minuscules, 1ère lettre capitale, Nombre• Ponctuation après “.” (s’il y en a)• Abbréviation d’une classe de mot avec “.”

(nom de mois, unité de mesure, titre, addresse, etc.)

Page 20: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 20

Apprentissage Automatique Supervisé

• Etat de l'art consiste à le faire par Apprentissage Automatique supervisé Faire l’apprentissage d’un

SVM/Maxent/HMM etc. pour désambiguer les marqueurs de fin de phrase Tâche de décision binaire: “Ce point est-il

considéré comme un marqueur de fin de phrase ou pas»?

Evidemment, pour ce faire, on a besoin d'un excellent ensemble d’apprentissage

Et besoin d’être en mesure d'extraire les caractéristiques du texte à segmenter

Page 21: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 21

Apprentissage Automatique Supervisé

• L’extraction et ingénierie des caractéristiques sont souvent négligées en AA...

• C-à-d, les caractéristiques sont supposées être données et l'accent est mis sur les algorithmes

• Dans le TALN, l'accent est mis sur la recherche des caractéristiques utiles et d'être en mesure de les extraire

Page 22: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 22

Comparison de Séquences• Une fois que nous avons le genre de séquences que

nous voulons, quel genre de choses simples pouvons nous faire?

• Comparer des séquences (déterminer des similarités) À quelle distance sont une paire de chaînes l’une de

l'autre?

• Alignement Quel est le meilleur moyen d'aligner les divers

morceaux de deux séquences?

• Distance d’édition Distance d’édition minimale Distance d’édition minimale pondérée

Page 23: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 23

Correction d’Orthographe

• Comment corriger “graffe”? Chercher tous les mots dans le lexique

graf craft grail giraffe

Sélectionner celui qui est “le plus proche” de graffe

Que signifie “le plus proche” ? Nous avons besoin d’une mesure de distance. La mesure la plus simple: distance d’édition

À la “diff” dans Unix

Page 24: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 24

Distance d’Edition

• La distance d'édition minimale entre deux chaînes est le nombre minimum d'opérations d'édition Insertion Suppression Substitution

nécessaires pour transformer une chaîne de caractères en une autre

N.B.: Possibilités d’erreurs (corrections) multiples

Page 25: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 25

Distance d’Edition Minimale

• Si chaque opération a un coût de 1 la distance entre ces mots est 5• Si une substitution a un coût de 2 (Levenshtein) la distance entre ces mots est 8

Page 26: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 26

Exemple “Edit Min ”

Page 27: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 27

“Edit Min ” comme Recherche

• Nous pouvons considérer la distance d'édition comme la recherche d'un chemin (une suite de modifications) qui nous mène de la chaîne de départ à la chaîne finale Etat initial est le mot que nous voulons

transformer Les opérateurs sont: insérer, supprimer,

substituer Etat final: le mot que nous essayons d'obtenir coût du chemin (que nous essayons de réduire

autant que possible): le nombre d’éditions

Page 28: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 28

“Edit Min ” comme Recherche

Page 29: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 29

“Edit Min ” comme Recherche

• Problème: cela génère un espace de rechercheimmense

• Naviguer dans l'espace avec un retour en arrière naïf serait un gaspillage fou!

• Pourquoi?Beaucoup de chemins distincts se retrouvent au même état. Mais il n‘y a pas besoin de garder une trace de tous ceux ci. On se soucie seulement du plus court chemin pour chacun des états revisités.

Page 30: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 30

Définir la Distance Edit Min

• Pour deux chaînes de caractères S1 de longueur n, et S2 de longueur m distance(i,j) ou D(i,j)

dénote la distance d’édition de S1[1..i] à S2[1..j] i.e., le nombre minimum d'opérations d'édition

dont nous avons besoin pour transformer les premiers i caractères de S1 en les premiers j caractères de S2

La distance d’édition de S1, S2 est D(n,m)

• Nous calculons D(n,m) en calculant D(i,j) pour tous les i (0 < i < n) et j (0 < j < m)

04/11/23 30

Page 31: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 31

Définir la Distance Min Edit

• Conditions de Base : D(i,0) = i D(0,j) = j

Relation de Récurrence : D(i-1,j) + 1 D(i,j) = min D(i,j-1) + 1 D(i-1,j-1) + 2; if S1(i) ≠

S2(j)

0; if S1(i) = S2(j)04/11/23 31

Page 32: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 32

Programmation Dynamique

• Un calcul tabulaire de D(n,m)• Bottom-up (Bas vers le haut)

Calculer D(i,j) pour des i,j petits Et calculer les valeurs de D(i,j) sur la

base de valeurs “plus petites” calculées précédemment

04/11/23 32

Page 33: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 33

N 9

O 8

I 7

T 6

N 5

E 4

T 3

N 2

I 1

# 0 1 2 3 4 5 6 7 8 9

# E X E C U T I O N

Table/Matrice de Distances d’Edition

Page 34: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 34

N 9

O 8

I 7

T 6

N 5

E 4

T 3

N 2

I 1

# 0 1 2 3 4 5 6 7 8 9

# E X E C U T I O N

Page 35: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 35

N 9 8 9 10 11 12 11 10 9 8

O 8 7 8 9 10 11 10 9 8 9

I 7 6 7 8 9 10 9 8 9 10

T 6 5 6 7 8 9 8 9 10 11

N 5 4 5 6 7 8 9 10 11 10

E 4 3 4 5 6 7 8 9 10 9

T 3 4 5 6 7 8 7 8 9 8

N 2 3 4 5 6 7 8 7 8 7

I 1 2 3 4 5 6 7 6 7 8

# 0 1 2 3 4 5 6 7 8 9

# E X E C U T I O N

Page 36: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 36

Distance Min Edit

• Le résultat n’est pas très expressif (informatif) Pour une paire de chaînes de caractères

nous obtenons un nombre Le nombre minimum d’éditions pour passer

de l’une à l’autre

• Un peu comme un programme de routage qui vous indique la distance minimale d'ici à Timmimoun, mais ne vous dit pas comment y aller

Page 37: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 37

Alignement

• Un alignement est un appariement 1-1 de chaque élément dans une séquence avec un élément correspondant dans l'autre séquence ou avec un écart...

-AGGCTATCACCTGACCTCCAGGCCGA--TGCCC---TAG-CTATCAC--GACCGC--GGTCGATTTGCCCGAC

Page 38: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 38

Chemins/Alignements

• Garder un pointeur arrière Chaque fois qu’une cellule est remplie

ajouter un pointeur vers la cellule qui a été utilisée pour la créer (la cellule min qui y a conduit)

Pour obtenir la séquence d’opérations, suivre le pointeur arrière partant de la cellule finale

C'est la même chose que l'alignement

Page 39: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 39

N 9 8 9 10

11 12

11

10

9 8

O 8 7 8 9 10 11

10

9 8 9

I 7 6 7 8 9 10

9 8 9 10

T 6 5 6 7 8 9 8 9 10

11

N 5 4 5 6 7 8 9 10

11

10

E 4 3 4 5 6 7 8 9 10

9

T 3 4 5 6 7 8 7 8 9 8

N 2 3 4 5 6 7 8 7 8 7

I 1 2 3 4 5 6 7 6 7 8

# 0 1 2 3 4 5 6 7 8 9

# E X E C U T I O N

Backtrace

Page 40: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 40

Ajouter le Backtrace à EditMin

• Conditions de Base : D(i,0) = i D(0,j) = j

• Relation de Récurrence : D(i-1,j) + 1 D(i,j) = min D(i,j-1) + 1 D(i-1,j-1) + 2; if S1(i) ≠ S2(j)

0; if S1(i) = S2(j)

LEFTptr(i,j) DOWN DIAG

04/11/23 40

Cas 1

Cas 2

Cas 3

Cas 1

Cas 2

Cas 3

Page 41: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 41

Complexité

• Temps:O(nm)

• Espace:O(nm)

• Trace Arrière (Backtrace)O(n+m)

Page 42: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 42

Distance d’Edition Pondérée

• Pourquoi voudrions-nous ajouter des poids au calcul de distance d’édition minimale?

Page 43: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 43

Matrice de Confusion

04/11/23 43

Page 44: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 44

Why “Dynamic Programming”“I spent the Fall quarter (of 1950) at RAND. My first task was to find a name for multistage decision processes.

An interesting question is, Where did the name, dynamic programming, come from? The 1950s were not good years for mathematical research. We had a very interesting gentleman in Washington named Wilson. He was Secretary of Defense, and he actually had a pathological fear and hatred of the word, research. I’m not using the term lightly; I’m using it precisely. His face would suffuse, he would turn red, and he would get violent if people used the term, research, in his presence. You can imagine how he felt, then, about the term, mathematical. The RAND Corporation was employed by the Air Force, and the Air Force had Wilson as its boss, essentially. Hence, I felt I had to do something to shield Wilson and the Air Force from the fact that I was really doing mathematics inside the RAND Corporation. What title, what name, could I choose? In the first place I was interested in planning, in decision making, in thinking. But planning, is not a good word for various reasons. I decided therefore to use the word, “programming” I wanted to get across the idea that this was dynamic, this was multistage, this was time-varying I thought, lets kill two birds with one stone. Lets take a word that has an absolutely precise meaning, namely dynamic, in the classical physical sense. It also has a very interesting property as an adjective, and that is its impossible to use the word, dynamic, in a pejorative sense. Try thinking of some combination that will possibly give it a pejorative meaning. It’s impossible. Thus, I thought dynamic programming was a good name. It was something not even a Congressman could object to. So I used it as an umbrella for my activities.”

Richard Bellman, “Eye of the Hurricane: an autobiography” 1984.

Page 45: Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles.

04/11/23 Speech and Language Processing - Jurafsky and Martin 45

Recherche par Programmation Dynamique• Dans le cadre du traitement du

langage (et de traitement du signal) ce genre d'algorithme est souvent désigné comme une recherche par Programmation Dynamique Distance Min Edit (correction d’erreur

d’ortho.) Viterbi et “Forward algorithms”

(reconnaissance de la parole) CKY and Earley (analyse syntaxique)