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 Chapitre 4 Lemmatisation et Modèles.

Présentations similaires


Présentation au sujet: "Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles."— Transcription de la présentation:

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

2 12/16/2014 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é

3 12/16/2014 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))

4 12/16/2014 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

5 12/16/2014 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?

6 12/16/2014 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, Clitiques  What’re  I’m Mots à tokens multiples  New York  Rock ‘n’ roll

7 12/16/2014 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? »

8 12/16/2014 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 万円 ) KatakanaHiraganaKanjiRomaji Slide de Chris Manning

9 12/16/2014 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

10 12/16/2014 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

11 12/16/2014 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

12 12/16/2014 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

13 12/16/2014 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

14 12/16/2014 Speech and Language Processing - Jurafsky and Martin 14 Stemmer de Porter: Exemple Computerization  ization -> -ize computerize  ize -> ε computer

15 12/16/2014 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 erlangPython

16 12/16/2014 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...

17 12/16/2014 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

18 12/16/2014 Speech and Language Processing - Jurafsky and Martin 18 Version Arbre Décisionnel

19 12/16/2014 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.)

20 12/16/2014 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

21 12/16/2014 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

22 12/16/2014 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

23 12/16/2014 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

24 12/16/2014 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

25 12/16/2014 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

26 12/16/2014 Speech and Language Processing - Jurafsky and Martin 26 Exemple “Edit Min ”

27 12/16/2014 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

28 12/16/2014 Speech and Language Processing - Jurafsky and Martin 28 “Edit Min ” comme Recherche

29 12/16/2014 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.

30 12/16/2014 Speech and Language Processing - Jurafsky and Martin 30 Définir la Distance Edit Min Pour deux chaînes de caractères S 1 de longueur n, et S 2 de longueur m  distance(i,j) ou D(i,j)  dénote la distance d’édition de S 1 [1..i] à S 2 [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 S 1, S 2 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) 12/16/201430

31 12/16/2014 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 S 1 (i) ≠ S 2 (j) 0; if S 1 (i) = S 2 (j) 12/16/201431

32 12/16/2014 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 12/16/201432

33 12/16/2014 Speech and Language Processing - Jurafsky and Martin 33 N9 O8 I7 T6 N5 E4 T3 N2 I1 # #EXECUTION Table/Matrice de Distances d’Edition

34 12/16/2014 Speech and Language Processing - Jurafsky and Martin 34 N9 O8 I7 T6 N5 E4 T3 N2 I1 # #EXECUTION

35 12/16/2014 Speech and Language Processing - Jurafsky and Martin 35 N O I T N E T N I # #EXECUTION

36 12/16/2014 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

37 12/16/2014 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

38 12/16/2014 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

39 12/16/2014 Speech and Language Processing - Jurafsky and Martin 39 N O I T N E T N I # #EXECUTION Backtrace

40 12/16/2014 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 S 1 (i) ≠ S 2 (j) 0; if S 1 (i) = S 2 (j) LEFT ptr(i,j) DOWN DIAG 12/16/ Cas 1 Cas 2 Cas 3 Cas 1 Cas 2 Cas 3

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

42 12/16/2014 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?

43 12/16/2014 Speech and Language Processing - Jurafsky and Martin 43 Matrice de Confusion 12/16/201443

44 12/16/2014 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.

45 12/16/2014 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)


Télécharger ppt "Traitement Automatique du Langage Naturel Chapitre 4 Lemmatisation et Modèles."

Présentations similaires


Annonces Google