Traitement Automatique du Langage Naturel

Slides:



Advertisements
Présentations similaires
ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
Advertisements

LES NOMBRES PREMIERS ET COMPOSÉS
Vocabulaire 6.2 Français II Bon voyage ! 1.
Licence pro MPCQ : Cours
Distance inter-locuteur
Classification et prédiction
Proposition de recherches sur ABI (Pro Quest) Lise Herzhaft (Urfist de Lyon) et MH Prévoteau (Bibliothèque Université Paris 2) Mise en forme par Nolwenn.
Calculs de complexité d'algorithmes
Reconnaissance de la parole
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
Chap 1 Grammaires et dérivations.
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
What is todays date and when is your birthday Ask someone what star sign they are and answer Say and ask for the time Say what you do for your birthday.
User management pour les entreprises et les organisations Auteur / section: Gestion des accès.
Révision (p. 130, texte) Nombres (1-100).
1 7 Langues niveaux débutant à avancé. 2 Allemand.
Les fonctions.
ORTH 1 CE2 Je sais écrire sans erreur les pluriels des noms se terminant par s, x, z.
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
Développement d’applications web
Interagir avec un objet mixte Propriétés physiques et numériques Céline Coutrix, Laurence Nigay Équipe Ingénierie de lInteraction Homme-Machine (IIHM)
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
L’Heure Telling Time.
Practice for uses of: Je sais OU Je connais.
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
GRAM 1 CE2 Je sais transformer une phrase affirmative en phrase négative.
Oops j’aime pas l’anglais
Titre : Implémentation des éléments finis sous Matlab
SELECT {* | Expression [Alias] [,...] } FROM Table [WHERE Condition] [ORDER BY { Expression | Alias } [ ASC | DESC ] [NULLS FIRST | NULLS LAST ] [,...]
Tableaux de distributions
Tableaux de distributions
LES NOMBRES PREMIERS ET COMPOSÉS
VOC 1 CE2 Je sais utiliser des mots de la vie quotidienne.
Représentation des systèmes dynamiques dans l’espace d’état
Systèmes mécaniques et électriques
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Match-up the numbers to the letters
1.1 LES VECTEURS GÉOMÉTRIQUES
1 Licence dinformatique Algorithmique des graphes Problèmes dordonnancement. Utilisation de ce document strictement réservée aux étudiants de l IFSIC dans.
Chapitre 3 Syntaxe et sémantique.
Titre : Implémentation des éléments finis en Matlab
How many of these flags do you recognise? Work with your partner to see if you know many – write them down - some will crop up shortly!
Équipe 2626 Octobre 2011 Jean Lavoie ing. M.Sc.A.
Mise en forme en Mathématiques
1 GPA435 Systèmes d’exploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 8 Filtres UNIX.
Elaboré par M. NUTH Sothan 1. 2 Soit x, y et z des coordonnées cartésiennes à 3 dimension. G un ensemble de points dans le plan (u, v). Déf. : On appelle.
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Création et présentation d’un tableau avec Word 2007
Nom:____________ Prénom: ___________
Paradigmes des Langages de Programmation


Slide 1 of 39 Waterside Village Fête ses 20 ans.
LES PILES ET FILES.
Programmation dynamique
Les Chiffres Prêts?
Chapitre 3 :Algèbre de Boole
1 Formation à l’usage éco-performant de votre pc 1 ère Partie.
Partie II: Temps et évolution Energie et mouvements des particules
Introduction à SolidWorks
Introduction à l’informatique en gestion 1 Plan de la leçon Compagnon office Sections et Mise en page En-têtes et pieds de page Notes de bas.
To practice: Quantities Un, une, des, de Du, de la, de l’, de Le, la, l’, les.
Français 1441 Chapître 3 Révision d’Examen.  Someone tells you where things on campus are located. You listen and fill in the blank with the missing.
Pile-Face 1. Parlez en français! (Full sentences) 2. One person should not dominate the conversation 3. Speak the entire time The goal: Practice! Get better.
Mots du jour Pauvre Riche L’homme Le Femme Pannier vagabond.
Bienvenue and Welcome to Our French II Live Lesson! We will begin shortly!
The 4th Power Places and Forms of power How reliable are our sources of information today ? The media.
OBJECT PRONOUNS WITH THE PASSÉ COMPOSÉ Page 122. Placement  With all object pronouns, placement is the same. DirectIndirectPlaces De+ nouns or ideas.
Français 12/14/15 Ouvrez vos livres á la page 112. Ecrivez six phrases de sports et activités. What is worse than “raining cats and dogs?” Important(e)
Transcription de la présentation:

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

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

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

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

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

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

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

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

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

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

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

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

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

Stemmer de Porter: Exemple Computerization ization -> -ize computerize ize -> ε computer 4/7/2017 Speech and Language Processing - Jurafsky and Martin

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

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

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

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

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

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

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

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

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

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

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

Exemple “Edit Min ” 4/7/2017 Speech and Language Processing - Jurafsky and Martin

“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

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

“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

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

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

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

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

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

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

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

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

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

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

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) 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

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

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

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

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

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