Traitement Automatique du Langage Naturel

Slides:



Advertisements
Présentations similaires
Mais vous comprenez qu’il s’agit d’une « tromperie ».
Advertisements

ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
LES NOMBRES PREMIERS ET COMPOSÉS
Ma surprise du Zoo.
Vocabulaire 6.2 Français II Bon voyage ! 1.
Licence pro MPCQ : Cours
Distance inter-locuteur
Portée des variables VBA & Excel
Fonctions & procédures
Calcul géométrique avec des données incertaines
RECONNAISSANCE DE FORMES
Les numéros
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
Inférence statistique
Architecture de réseaux
Analyse de la variance à un facteur
User management pour les entreprises et les organisations Auteur / section: Gestion des accès.
1 7 Langues niveaux débutant à avancé. 2 Allemand.
Par Clément en vacances sur la Côte d’Azur Le 17 décembre 2011
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.
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)
Récursivité.
Probabilités.
Le soccer & les turbans Sondage mené par lAssociation détudes canadiennes 14 juin 2013.
Cours de physique générale I Ph 11
GRAM 1 CE2 Je sais transformer une phrase affirmative en phrase négative.
1.2 COMPOSANTES DES VECTEURS
Titre : Implémentation des éléments finis sous Matlab
Pro Senectute Vaud Unité Centres de rencontre Centre Val Paisible Lausanne.
1 Journée de regroupement des correspondants "Egalité et genre" - 21 novembre 2011 Rectorat de Rouen - SAIO - CD-HD Résultats scolaires, appréciations.
Tableaux de distributions
Tableaux de distributions
LES NOMBRES PREMIERS ET COMPOSÉS
VOC 1 CE2 Je sais utiliser des mots de la vie quotidienne.
Logiciel gratuit à télécharger à cette adresse :
RACINES CARREES Définition Développer avec la distributivité Produit 1
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Courbes de Bézier.
1.1 LES VECTEURS GÉOMÉTRIQUES
2. Le Monopole Hypothèse de base du modèle:
Chapitre 3 Syntaxe et sémantique.
Mise en oeuvre des MMCs L'utilisation des MMCs en reconnaissance des formes s'effectue en trois étapes : définition de la topologie de la chaîne de Markov,
1 La détection de gènes impliqués dans les maladies multifactorielles Marie-Pierre Etienne ENGREF Laboratoire GRESE Statistique et Génome.
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
Introduction à l’algèbre
Équipe 2626 Octobre 2011 Jean Lavoie ing. M.Sc.A.
Échantillonnage (STT-2000) Section 2 Tirage de Bernoulli (plan BE). Version: 4 septembre 2003.
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
Mise en forme en Mathématiques
Calcul de probabilités
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.
1 - Programme de Seconde (juin 2009) Statistique et probabilités
Nom:____________ Prénom: ___________
Paradigmes des Langages de Programmation

LES PILES ET FILES.
Vers un nouvel empirisme: l’ancien et le nouvel empirisme John Goldsmith Université de Chicago CNRS MoDyCo.
ANOVA : introduction.
Exercice de vérification 1 p
Formation instituteurs Séquence : Tu assimiles de nouvelles connaissances Cours du Professeur Iacobellis
Master 1 – Sciences du Langage –
Rappels de statistiques descriptives
Théorème de la limite centrale l’inférence statistique
To practice: Quantities Un, une, des, de Du, de la, de l’, de Le, la, l’, les.
Gestion du portefeuille – Sélection du portefeuille
Les parties du corps By Haru Mehra Le Frehindi 1Haru Mehra, DELF, DALF,CFP.
Transcription de la présentation:

Traitement Automatique du Langage Naturel Chapitre 5 N-Grammes

4/10/2017 Speech and Language Processing - Jurafsky and Martin

Classifieurs et Séquences Beaucoup de ce que nous traitons sont des séquences Mais les classifieurs (en général) traitent des entités uniques pas des séquences (et les classifient) Une architecture typique est de faire l’apprentissage d’un classifieur pour décider sur un élément d'une séquence ensuite le classifieur balaie la séquence pour obtenir une réponse globale 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Retour à l’Exemple “Theta” Segmentation... Une correspondance maximale donne theta bled own there Plutôt que The table down there Beaucoup de raisons pour lesquelles la version "theta" est un mauvais choix Syntaxiquement mal formée Vide de sens Etc. Nous voulons un simple « filtre » qui nous dit que la version "table" est meilleure. 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Prédiction de Mots Devinez le prochain mot... ... I notice three guys standing on the ??? Il existe de nombreuses sources de connaissances qui peuvent être utilisées pour guider cette tâche, y compris les connaissances mondaines (« World Knowledge »). De bons résultats possibles en regardant simplement les mots qui précèdent et en gardant la trace de certaines fréquences. 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Prédiction de Mots On peut formaliser cette tâche en utilisant ce qu'on appelle les modèles N-grammes. N-grammes sont des séquences de tokens de longueur N Notre exemple précédent contient les 2-grammes suivants (bigrammes) (I notice), (notice three), (three guys), (guys standing), (standing on), (on the) Ayant des statistiques sur des N-grammes tels que ceux-ci, on peut deviner les mots susceptibles d’être suivants. 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Modèles de N-Grammes Plus formellement: les statistiques de N-grammes permettent d'évaluer la probabilité conditionnelle de mots candidats comme mots suivants dans une séquence Ou, nous pouvons les utiliser pour évaluer la probabilité d'une séquence entière de mots. Tout à fait la même chose comme nous allons le voir … 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Applications Il s'avère que la capacité de prédire le mot suivant (ou toute unité linguistique) dans une séquence est une chose extrêmement utile à faire. Comme nous le verrons, il est au cœur des applications suivantes reconnaissance automatique de la parole reconnaissance de caractères et d'écriture manuscrite correction d'orthographe traduction automatique et bien d'autres. 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Comptage Le comptage simple est au cœur de toute approche probabiliste. Que pouvons nous compter? He stepped out into the hall, was delighted to encounter a water brother. 13 tokens, 15 si nous incluons “,” et “.” en tant que tokens séparés. En supposant que nous incluons la virgule et le point, combien de bi-grammes y a-t-il? 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Comptage Pas toujours aussi simple: I do uh main- mainly business data processing La langue parlée pose divers défis. Doit-on compter "euh" et d'autres « remplisseurs » (fillers) comme des tokens? Qu'en est-il de la répétition de «mainly»? Doivent ils compter deux fois ou une seule fois? Les réponses dépendent de l'application. ASR (reconnaissance de la parole) comme support à l’indexation pour la recherche, alors "euh" n'est pas utile (pas susceptible de se produire dans une requête). Mais les pauses « remplies » sont très utiles dans la gestion du dialogue; nous les voudrions probablement… Le découpage du texte soulève le même type de problèmes 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Comptage: Types et Tokens Qu’en est-il de They picnicked by the pool, then lay back on the grass and looked at the stars. 18 tokens (en comptant la ponctuation) Mais on peut aussi noter que «the» est utilisé 3 fois, donc il ya seulement 16 types uniques (par opposition à tokens). À l'avenir, nous aurons l'occasion de nous concentrer sur les deux types de comptage ainsi que les tokens de mots et de N-grammes 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Comptage: Corpus Rappelons ce qui se passe quand on regarde de grands volumes de texte plutôt que de simples phrases Google “Crawl” de 1,024,908,267,229 tokens anglais 13,588,391 types de mots (wordforms) Cela semble beaucoup de types ... Même les gros dictionnaires de l'anglais, contiennent environ 500k types seulement. Pourquoi tant de types ici? Nombres Fautes d'orthographe Noms propres Acronymes Etc. 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Modélisation du Langage Retour à la prédiction de mots Nous pouvons modéliser la tâche de prédiction de mots comme étant la capacité d'évaluer la probabilité conditionnelle d'un mot donné, connaissant les mots précédents dans la séquence P(wn|w1,w2…wn-1) Nous appellerons Modèle de la Langue un modèle statistique permettant d'évaluer ceci 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Modélisation du Langage Comment pourrions-nous approcher le calcul d’une telle probabilité conditionnelle? Une façon de le faire est d'utiliser la définition des probabilités conditionnelles et faire les calculs. Donc pour obtenir P(the | its water is so transparent that) Par définition ceci équivaut à P(its water is so transparent that the) P(its water is so transparent that) Nous pouvons obtenir chacune de ces quantités par comptage dans un vaste corpus. 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Estimation très simple Comment estimer la quantité P(the | its water is so transparent that) P(the | its water is so transparent that) = Count(its water is so transparent that the) Count(its water is so transparent that) 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Estimation très simple D’après Google ceci donne 5/9. Malheureusement... 2 de ceux ci apparaissent dans ces slides !!! ... Il se pourrait donc que ce soit… 3/7 Dans tous les cas, ce n'est pas terriblement convaincant en raison des petits nombres en question. 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Modélisation du Langage Malheureusement, pour la plupart des séquences et des collections de textes nous n'obtiendrons pas de bonnes estimations par cette méthode. Ce que nous sommes susceptibles d'obtenir est 0. Ou pire encore 0 / 0!!! Nous devrons être un peu plus intelligents: Utiliser tout d'abord la règle de chaînage de probabilités Puis appliquer une hypothèse d'indépendance particulièrement utile 4/10/2017 Speech and Language Processing - Jurafsky and Martin

La Règle de Chaînage Rappellons la définition de probabilités conditionnelles C-à-d: Pour des séquences... P(A,B,C,D) = P(A)P(B|A)P(C|A,B)P(D|A,B,C) En général P(x1,x2,x3,…xn) = P(x1)P(x2|x1)P(x3|x1,x2)…P(xn|x1…xn-1) 4/10/2017 Speech and Language Processing - Jurafsky and Martin

La règle de chaînage (The Chain Rule) P(its water was so transparent)= P(its)* P(water|its)* P(was|its water)* P(so|its water was)* P(transparent|its water was so) 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Malheureusement Il ya encore beaucoup de séquences possibles là-dedans En général, nous ne serons jamais en mesure d'obtenir suffisamment de données pour calculer les statistiques pour les préfixes plus longs Le même problème que pour les chaînes de caractères elles mêmes 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Hypothèse d’Indépendance Faire l'hypothèse simplificatrice suivante: P(lizard|the,other,day,I,was,walking,along,and, saw,a) = P(lizard|a) Ou peut-être P(lizard|the,other,day,I,was,walking,along,and,saw,a) = P(lizard|saw,a) En d’autres termes, la probabilité en question est dans une certaine mesure indépendante de son historique. 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Hypothèse d’Indépendance Ce type particulier d'hypothèse d'indépendance est appelé Hypothèse de Markov (le mathématicien russe Andrei Markov) 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Hypothèse d’Indépendance Ainsi, pour chaque quantité dans le produit, remplacer par l’approximation (en supposant un préfixe de longueur N - 1) Version Bi-gramme (N = 2): 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Estimer les Probabilités Bi-grammes L’Estimation de la Vraisemblance Maximale (Maximum Likelihood Estimate, MLE) 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Exemple <s> I am Sam </s> <s> Sam I am </s> <s> I do not like green eggs and meat</s> 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Estimation de la Vraisemblance Maximale (MLE) L‘Estimation de la Vraisemblance Maximale d’un paramètre d'un modèle M à partir d'un ensemble d’apprentissage A est l'estimation qui maximise la vraisemblance de l'ensemble d’apprentissage A étant donné le modèle M Supposons que le mot «Chinese» se produit 400 fois dans un corpus d'un million de mots (Brown corpus ) Quelle est la probabilité qu'un mot aléatoire pris d’autres textes de la même distribution sera le mot « Chinese" MLE est 400/1000000 = .004 Ceci pourrait être une mauvaise estimation pour d'autres corpus Mais il s'agit de l'estimation qu'il est plus que probable que "Chinese" se produira 400 fois dans un corpus d’1 million de mots 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Phrases du Project “Berkeley Restaurant” can you tell me about any good cantonese restaurants close by mid priced thai food is what i’m looking for tell me about Chez Panisse can you give me a listing of the kinds of food that are available I’m looking for a good place to eat breakfast when is Caffe Venezia open during the day 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Comptages de Bi-grammes Parmi les 9222 phrases E.g. “I want” est apparu 827 fois 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Probabilités de Bi-grammes Diviser les nombres de bi-grammes par les nombres de préfixes unigrammes pour obtenir les probabilités conditionnelles. 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Estimations Bi-grammes de Probabilités de Phrases P(<s> I want english food </s>) = P(I|<s>)* P(want|I)* P(english|want)* P(food|english)* P(</s>|food)* =.000031 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Types de Connaissances Aussi brutes qu’elles puissent être, les probabilités de N-grammes capturent une série de faits intéressants sur la langue. P(english|want) = .0011 P(chinese|want) = .0065 P(to|want) = .66 P(eat | to) = .28 P(food | to) = 0 P(want | spend) = 0 P (i | <s>) = .25 World knowledge Syntax Discourse 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Méthode de Shannon L’affectation de probabilités à des phrases est bien belle, mais pas très éclairante. Une tâche plus amusante est d’utiliser le modèle en sens inverse, c-à-d l'utiliser pour générer des phrases aléatoires qui sont comme les phrases à partir desquelles le modèle a été dérivé Générallement attributée à Claude Shannon. 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Shannon’s Method Choisir un bi-gramme (<s>, w) aléatoirement selon sa probabilité Puis Choisir un bi-gramme (w, x) aléatoirement selon sa probabilité de telle sorte que le préfixe w corresponde au suffixe du premier. Et ainsi de suite jusqu’à ce que l’on ait choisi aléatoirement un (y, </s>) Puis coller les mots ensemble: <s> I I want want to to eat eat Chinese Chinese food food </s> 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Shakespeare 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Shakespeare en tant que Corpus N=884,647 tokens, V=29,066 types (wordform types) Shakespeare a produit 300,000 types de bi-grammes à partir des V2= 844 millions de bi-grammes possibles... Donc, 99,96% des bi-grammes possibles n’ont jamais été vus (ont des entrées 0 dans le tableau) C'est le plus grand problème dans la modélisation du langage; nous y reviendrons Quadrigrams sont pires: le résultat paraît comme du Shakespeare! 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Le Wall Street Journal nest pas du Shakespeare 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Evaluation des Modèles de N-Grammes Meilleure évaluation d'un modèle de langage Mettre un modèle dans une application Par exemple, un logiciel de reconnaissance vocale Évaluer les performances de l'application avec le modèle A Mettre en application le modèle B et l’évaluer Comparer les performances de l'application avec les deux modèles Evaluation Extrinsèque 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Difficulté de l’évaluation extrinsèque des modèles de N-grammes Evaluation extrinsèque Prend trop de temps Peut prendre des jours pour exécuter un test Donc Comme solution temporaire (en vue de mener des expériences), pour évaluer des N-grammes, nous utilisons souvent une évaluation intrinsèque, une approximation appelée perplexité Mais la perplexité est une mauvaise approximation à moins que les données de test ressemblent beaucoup aux données d’apprentissage Donc utile seulement pour des études pilotes 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Evaluation de Modèles Comment pouvons nous savoir si nos modèles sont bons? Et en particulier, comment pouvons-nous savoir si un modèle est meilleur qu'un autre “Le jeu” à la Shannon nous donne une intuition. Les textes générés par les modèles d'ordre supérieur sont clairement meilleurs. Autrement dit, ils ressemblent plus au texte à partir duquel le modèle a été obtenu Les textes générés à partir des modèles du WSJ et de Shakespeare sont différents On dirait qu'ils sont basés sur des modèles sous-jacents différents Mais qu'est-ce que cela signifie-t-il? Pouvons-nous rendre cette notion opérationnelle? 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Evaluation Méthode standard Faire l’apprentissage des paramètres de notre modèle sur un ensemble d’apprentissage . Regarder la performance des modèles sur des données nouvelles C'est exactement ce qui se passe dans le monde réel; nous voulons savoir comment notre modèle fonctionne sur les données que nous n'avons pas vues Il faut donc utiliser un ensemble de test. Un ensemble de données qui est différent de notre ensemble d'apprentissage, mais tiré de la même source Ensuite, nous avons besoin d'une métrique d’évaluation de la performance de notre modèle sur l'ensemble de test Une telle métrique est la perplexité 4/10/2017 Speech and Language Processing - Jurafsky and Martin

De prime abord… A l’examination des données de tests, nous allons rencontrer des mots que nous n'avons pas vus auparavant (indépendamment de la quantité disponible de données d’apprentissage) Avec une tâche de Vocabulaire Ouvert (Open Vocabulary task) Créer un token pour “mot inconnu” <UNK> Apprentissage des probabilités de <UNK> Créer un lexique L de taille V À partir d’un dictionnaire ou D’un sous-ensemble de termes de l’ensemble d’apprentissage A la phase de normalisation du texte, chaque mot qui n’est pas dans L est remplacé par <UNK> Celui-ci est alors compté comme un mot normal À la phase de tests: Utiliser le comptage de UNK pour tout mot pas rencontré 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Perplexité L'intuition derrière la notion de perplexité en tant que mesure est la notion de surprise A quel point le modèle de langage est-il surpris quand il voit l'ensemble de test? Où la surprise est une mesure de... Vraiment, je ne m’y attendais pas… Plus le modèle est surpris, moins grande est la probabilité qu'il affecte au texte Plus la probabilité est grande, moins il a été surpris Bien sûr: aucune surprise par rapport aux données d’apprentissage! 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Perplexité Minimiser la perplexité = maximiser la probabilité Perplexité: probabilité d'un ensemble de test (attribuée par le modèle de langage), telle que normalisée par le nombre de mots : Règle de chaînage: Pour des bigrammes: Minimiser la perplexité = maximiser la probabilité Le meilleur modèle de langage est celui qui prédit le mieux un ensemble de test non rencontré précédemment 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Moindre perplexité veut dire meilleur modèle Apprentissage 38 millions de mots , tests 1.5 millions de mots, WSJ 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Aspects Pratiques Tout est fait en échèlle logarithmique Eviter l’underflow (de plus, l’addition est plus rapide que la multiplication) 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Google N-Gram Release 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Google N-Gram Release serve as the incoming 92 serve as the incubator 99 serve as the independent 794 serve as the index 223 serve as the indication 72 serve as the indicator 120 serve as the indicators 45 serve as the indispensable 111 serve as the indispensible 40 serve as the individual 234 4/10/2017 Speech and Language Processing - Jurafsky and Martin

Le Corpus Google Rappelez-vous la leçon sur les jeux de tests et les ensembles d’apprentissage... Les jeux de tests devraient être similaires à l'ensemble d'apprentissage (extraits de la même distribution) pour que les probabilités soient significatives Donc... Le corpus Google est bon si l’application traite de textes anglais arbitraires sur le Web. Sinon, un corpus plus petit et plus spécifique donnera probablement de meilleurs résultats. 4/10/2017 Speech and Language Processing - Jurafsky and Martin