La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Traitement Automatique du Langage Naturel

Présentations similaires


Présentation au sujet: "Traitement Automatique du Langage Naturel"— Transcription de la présentation:

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

2 Qu’est-ce qu’un mot? Terminologie Distinction Token/Type
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é 4/7/2017 Speech and Language Processing - Jurafsky and Martin 2

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)) 4/7/2017 Speech and Language Processing - Jurafsky and Martin 3

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 4/7/2017 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? 4/7/2017 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 4/7/2017 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? » 4/7/2017 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 4/7/2017 Speech and Language Processing - Jurafsky and Martin

9 Exemple en Anglais thetabledownthere theta bled own there
Nous verrons bientôt de meilleurs exemples basés sur les probabilités 4/7/2017 Speech and Language Processing - Jurafsky and Martin 9

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 4/7/2017 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 4/7/2017 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 4/7/2017 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 4/7/2017 Speech and Language Processing - Jurafsky and Martin

14 Stemmer de Porter: Exemple
Computerization ization -> -ize computerize ize -> ε computer 4/7/2017 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 Implementations en C, Java, Perl, Python, C#, Lisp, Ruby, VB, javascript, php, Prolog, Haskell, matlab, tcl, D, et erlang 4/7/2017 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... 4/7/2017 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 4/7/2017 Speech and Language Processing - Jurafsky and Martin 17

18 Version Arbre Décisionnel
4/7/2017 Speech and Language Processing - Jurafsky and Martin 18

19 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.) 1/5/07 4/7/2017 Speech and Language Processing - Jurafsky and Martin 19

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 4/7/2017 Speech and Language Processing - Jurafsky and Martin 20

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 4/7/2017 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 4/7/2017 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 4/7/2017 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 4/7/2017 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 4/7/2017 Speech and Language Processing - Jurafsky and Martin

26 Exemple “Edit Min ” 4/7/2017 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 4/7/2017 Speech and Language Processing - Jurafsky and Martin

28 “Edit Min ” comme Recherche
4/7/2017 Speech and Language Processing - Jurafsky and Martin

29 “Edit Min ” comme Recherche
Problème: cela génère un espace de recherche immense 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. 4/7/2017 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) 4/7/2017 4/7/2017 Speech and Language Processing - Jurafsky and Martin 30

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) ; if S1(i) ≠ S2(j) 0; if S1(i) = S2(j) 4/7/2017 4/7/2017 Speech and Language Processing - Jurafsky and Martin 31

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 4/7/2017 4/7/2017 Speech and Language Processing - Jurafsky and Martin 32

33 Table/Matrice de Distances d’Edition
9 O 8 I 7 T 6 5 E 4 3 2 1 # X C U 4/7/2017 Speech and Language Processing - Jurafsky and Martin 33

34 N 9 O 8 I 7 T 6 5 E 4 3 2 1 # X C U 4/7/2017 Speech and Language Processing - Jurafsky and Martin 34

35 N 9 8 10 11 12 O 7 I 6 T 5 4 E 3 2 1 # X C U 4/7/2017 Speech and Language Processing - Jurafsky and Martin 35

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 4/7/2017 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 4/7/2017 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 4/7/2017 Speech and Language Processing - Jurafsky and Martin 38

39 Backtrace N 9 8 10 11 12 O 7 I 6 T 5 4 E 3 2 1 # X C U 4/7/2017 39
X C U 4/7/2017 Speech and Language Processing - Jurafsky and Martin 39

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) ; if S1(i) ≠ S2(j) 0; if S1(i) = S2(j) LEFT ptr(i,j) DOWN DIAG Cas 1 Cas 2 Cas 3 Cas 1 Cas 2 Cas 3 4/7/2017 4/7/2017 Speech and Language Processing - Jurafsky and Martin 40

41 Trace Arrière (Backtrace)
Complexité Temps: O(nm) Espace: Trace Arrière (Backtrace) O(n+m) 4/7/2017 Speech and Language Processing - Jurafsky and Martin 41

42 Distance d’Edition Pondérée
Pourquoi voudrions-nous ajouter des poids au calcul de distance d’édition minimale? 4/7/2017 Speech and Language Processing - Jurafsky and Martin 42

43 Matrice de Confusion 4/7/2017 4/7/2017 43
Speech and Language Processing - Jurafsky and Martin 43

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. 4/7/2017 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) 4/7/2017 Speech and Language Processing - Jurafsky and Martin


Télécharger ppt "Traitement Automatique du Langage Naturel"

Présentations similaires


Annonces Google