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 5 N-Grammes

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

3 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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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

14 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

15 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

16 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

17 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

18 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

19 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

20 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

21 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

22 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

23 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

24 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

25 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

26 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/ = .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

27 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

28 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

29 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

30 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)* = 4/10/2017 Speech and Language Processing - Jurafsky and Martin

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

32 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

33 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

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

35 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

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

37 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

38 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

39 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

40 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

41 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

42 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

43 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

44 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

45 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

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

47 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

48 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


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

Présentations similaires


Annonces Google