Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Modèles de langue : Ngrammes

Nous présentons les modèles N-grammes qui constituent l'une des approches basiques du traitement automatique du langage naturel (TLN ou NLP en anglais). Leur compréhension permet de mieux aborder les méthodes plus performantes, notamment celles qui utilisent les architectures de réseaux de neurones. Seront détaillés ici les fondements mathématiques, les techniques pratiques à travers des exemples illustratifs ainsi que des implémentations informatiques de ces méthodes.

YOUTUBE : https://youtube.com/playlist?list=PLzjg2z2kYUrh_RIcPUN2J7UyFBvZu2z_L

  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Modèles de langue : Ngrammes

  1. 1. Traitement automatique du langage naturel (TALN) NATURAL LANGUAGE PROCESSING (NLP) juillet 2020 JAOUAD DABOUNOU FST de Settat Université Hassan 1er Centre CLIK Modèles N-gramme YOUTUBE : https://youtube.com/playlist?list=PLzjg2z2kYUrh_RIcPUN2J7UyFBvZu2z_L
  2. 2. NLP: Définition 2 Le Traitement du langage naturel (TLN ou NLP) : ensemble des approches statistiques, probabilistes ou neuronales (deep learning) pour comprendre et manipuler le langage naturel. Construire des modèles capables d’interpréter du texte à travers les régularités et structures de données textuelles d’un corpus, au lieu de simplement intégrer les règles et connaissances préétablies. J. DABOUNOU - FST DE SETTAT
  3. 3. NLP: Applications 3 • Recherche d’information : Analyse d’opinions, de questionnaires • Analyse de sentiments • Traduction automatique • Résumé de textes • Classification de documents • Moteurs de recherche • Construction de bases de connaissances / ontologies • Génération de texte • Nouvelles interfaces : Conversation(Chatbots), Speech recognition, Text to speach,… • Domaines d’application : Services, enseignement, médecine, marketing,… J. DABOUNOU - FST DE SETTAT
  4. 4. NLP: Applications 4 Nous allons par la suite présenter des modèles de langue puissants qui sont désormais utilisés dans : • La traduction automatique Traduire en Français : « ‫الكبير‬ ‫المغرب‬ ‫بلدان‬ ‫تنمية‬ » Donne : « Développement des pays du Maghreb » Et non « Développement des pays du grand coucher » et non encore « Développement des pays du grand Maroc » • La correction d’erreur typographique « Je me promène dans le forêt et je garde les arbres » • La complétion de texte « L’élève a ouvert son cartable et a sorti son … » « L’arbitre a estimé que le …. a porté trop haut son …. » J. DABOUNOU - FST DE SETTAT
  5. 5. NLP: Applications 5 Utilisation (suite) Un modèle de langue est aussi utilisé dans: • Les moteurs de recherche, • La création de profils, • La reconnaissance d’écriture manuscrite, de la parole, … • L’identification d’auteurs, de thèmes,… • Analyse de la sémantique des phrases, • La détection d'opinions et l’analyse des sentiments, • Le résumé automatique d’un document, • La détection de spam J. DABOUNOU - FST DE SETTAT
  6. 6. Espace des sémantiques 6 Comment transformer la crise en opportunité ? B A B doit mobiliser son espace des sémantiques pour comprendre (se représenter) la signification de la phrase. B a construit son espace des sémantiques, en particulier, à travers son expérience langagière dans son contexte familial, social et culturel. Espace des sémantiques Représentation simplificatrice J. DABOUNOU - FST DE SETTAT
  7. 7. Espace des sémantiques 7 Comment transformer la crise en opportunité ? B A Comment doter une machine B d’un espace des sémantiques pour lui permettre de « comprendre (se représenter) » la signification de la phrase ? Nous pouvons construire l’espace des sémantiques de la machine B à l’aide d’un corpus. travers son expérience langagière dans son contexte familiale, social et culturel. Espace des sémantiques Modèle simplifié J. DABOUNOU - FST DE SETTAT
  8. 8. Modèles de langue 8 Le concept de modèle de langue est central dans les approches de NLP. Nous allons essayer de répondre à de nombreuses questions, comme : - A quoi peut servir une distributions de probabilité sur une langue ? - Comment concevoir une telle distribution ? - Comment la construire ? - Comment la tester et évaluer sa performance ? - Comment représenter des mots, que nous utilisons pour nous exprimer, en des nombres, que les machines savent manipuler ? J. DABOUNOU - FST DE SETTAT
  9. 9. Modèles de langue 9 Définition Un modèle de langue est, souvent de manière implicite : • Une représentation de la manière dont se construit le sens dans une langue, • Des régularités et structures linguistiques utilisées pour s’exprimer et communiquer dans une langue. • Un ensemble de normes, cultures et habitudes langagières partagées par une communauté qui s’exprime dans une langue donnée. • Il s’agit aussi, en particulier, de convertir le sens en données numériques que les machines pourront traiter. • Un modèle de langue détermine la probabilité qu’une séquence de mots soit dans cette langue. Il définit ainsi une distribution de probabilité sur une langue. J. DABOUNOU - FST DE SETTAT
  10. 10. Corpus de texte pour le NLP 10 Les modèles de langue seront créés automatiquement à travers l’observation de corpus. Entrainer le modèle sur beaucoup de données. Donc utilisation de corpus. Un corpus de texte est une collection de ressources textuelles. De nombreux corpus sont disponibles en anglais, beaucoup moins dans les autres langues. Grand manque pour certaines langues comme l’arabe. J. DABOUNOU - FST DE SETTAT
  11. 11. Corpus de texte pour le NLP De nombreux corpus sont disponibles, comme : - Brown Corpus - Wall Street Journal - Shakespeare corpus - AP news - EuroParlement, - TOEFL 2000 - … En plus de - wikipédia Les corpus utilisés pour entrainer un modèle sont appelés corpus d’apprentissage (training corpus). On utilise d’autres corpus, ou on divise le même corpus, pour avoir en tout : • Un corpus d’entrainement : pour estimer les paramètres du modèle • Un corpus de validation : pour affiner les paramètres du modèle • Un corpus de test : pour évaluer la performance du modèle. J. DABOUNOU - FST DE SETTAT 11
  12. 12. Modèles de langue 12 Pourquoi définir une distribution de probabilité sur une langue : Prédire le mot suivant : Marrakech ville rouge climat sec J. DABOUNOU - FST DE SETTAT
  13. 13. Modèles de langue 13 Pourquoi définir une distribution de probabilité sur une langue : Prédire le mot suivant : Marrakech ville rouge climat sec J. DABOUNOU - FST DE SETTAT
  14. 14. Modèles de langue 14 Pourquoi définir une distribution de probabilité sur une langue : Prédire le mot suivant : Marrakech ville rouge climat sec J. DABOUNOU - FST DE SETTAT
  15. 15. Modèles de langue 15 Pourquoi définir une distribution de probabilité sur une langue : Prédire le mot suivant : Marrakech ville rouge climat sec J. DABOUNOU - FST DE SETTAT
  16. 16. Modèles de langue 16 Pourquoi définir une distribution de probabilité sur une langue : Prédire le mot suivant : Marrakech ville rouge climat sec J. DABOUNOU - FST DE SETTAT P(sec | Marrakech ville rouge climat)>P(voiture | Marrakech ville rouge climat) P(sec | Marrakech ville rouge climat)>P(tagine | Marrakech ville rouge climat) P(sec | Marrakech ville rouge climat)>P(idée | Marrakech ville rouge climat)
  17. 17. Modèles de langue 17 Un modèle de langue c’est : prédire les mots d’une phrases, l’un à la suite de l’autre, ou évaluer la probabilité des séquences de mots dans une langue. Soit V le vocabulaire construit à partir d’un corpus d’entrainement (auquel on peut ajouter quelques mots spéciaux). On considère  l’ensemble des séquences de mots construites à partir de V. Un évènement  désigne une partie de . Une probabilité P sur  est définie par : 1. Tout évènement   possède une probabilité P() telle que 0  P()  1 2. L’évènement nul ∅ possède une probabilité nulle : P(∅)=0. 3. Pour toute partition (i) de , c’est-à-dire telle que i i =  et  i i = ∅ , i P(i) = 1 J. DABOUNOU - FST DE SETTAT
  18. 18. Modèles de langue probabilistes Le sens d’un mot est déterminé par le contexte de son utilisation, donc à travers les mots qui l’accompagnent dans une séquence. Chaque phrase a une probabilité d'apparition dans l'ensemble des phrases possibles, constituées des mots d’une langue. Un modèle de langue est défini par une distribution de probabilités sur des séquences de mots : P(S) = P(w1,w2,w3,…,wn) On a par exemple: P(Omar est un intelligent enfant) < P(Omar est un enfant intelligent) ou en traduction automatique : P(Développement des pays du Grand Maghreb) > P(Développement des pays du grand coucher) et en Speech to Text : P(La liberté est un trésor donné qu'il faut savoir apprécier) > P(La liberté est un très ordonné qu'il faut savoir apprécier) P(Marrakech Poisson tricoter) et P(apprécier savoir faut ) doivent être égales, ou presque, à 0. J. DABOUNOU - FST DE SETTAT 18
  19. 19. Modèles de langue et probabilités conditionnelles 19 Sans hypothèses supplémentaires, la seule manière de construire un modèle de langue serait d’écrire : P(w1, w2, . . . ,wn) = Count(w1, w2, . . . ,wn) nseq , nseq étant le nombre de séquences dans le corpus. On a : P(w1, w2, . . . , wn) = P(w1, w2, . . . , wn-1) P(wn | w1, w2, . . . , wn-1) Règle de la chaîne (chain rule) : On note souvent w1 n = (w1, w2, . . . , wn) P(S) = P (w1 n ) = P(w1) P(w2|w1) P(w3|w1 2 ) … P(wn|w1 n−1 ) P(S) = P(w1) k=2,n P(wk|w1 k−1 ) P(wk|w1 k−1 ) désigne la probabilité d’apparition du mot wk à la suite de la séquence de mots w1 k−1 et on a : P(wk|w1 k−1 ) = P(w1 k−1 ,wk) P(w1 k−1 ) , P(wk|w1 k−1 ) étant la probabilité conditionnelle. J. DABOUNOU - FST DE SETTAT Historique ou contexte Mot suivant La probabilité jointe est décomposée en un produit de probabilités conditionnelles
  20. 20. Entrainer un modèle de langue 20 Pour estimer les probabilités jointes P(wk|w1 k−1 ), on utilise un corpus d’entrainement Ctrain et on a: P(wk|w1 k−1 ) = Count(w1 k−1 ,wk) Count(w1 k−1 ) Par convention pour le dénominateur, Count() = ntrain, nombre total des mots du corpus Ctrain. C’est une estimation du maximum de vraisemblance, c’est-à-dire faire en sorte que les séquences les plus fréquentes dans le corpus aient une probabilité maximale dans le modèle. En particulier, si à chaque fois, la séquence w1 k−1 est suivie de wk, alors P(wk|w1 k−1 ) = 1. On a ainsi, par exemple : P(Pays du Grand Maghreb) = P(Pays) P(du|Pays) P(Grand|Pays du) P(Maghreb|Pays du Grand) P(Grand|Pays du) = Count(Pays du Grand) Count(Pays du) J. DABOUNOU - FST DE SETTAT Compter les occurrences dans un corpus de grande taille
  21. 21. Modèles N-gramme 21 Calcul des probabilités jointes P(S) = P(w1,w2,w3,…,wn), S = (w1,w2,w3,…,wn) séquence d’un corpus. Hypothèse de Markov : On peut prédire l’état futur en utilisant un historique assez faible, ici d’ordre N-1. On utilise l’occurrence d’une séquence de N mots consécutifs dans un corpus : Fréquence d’un N-gramme. P(wn|w1 n−1 )  P(wn |wn−N+1 n−1 ) Ainsi, si N=2, on dit alors que le modèle est bigramme, on a : P(wn|w1 n−1 )  P(wn |wn−1) Et donc P(Grand|Pays du) = P(Grand|du) La probabilité d’avoir le n-ième mot dépend seulement du mot précédent, et non de tous les mots précédents. J. DABOUNOU - FST DE SETTAT
  22. 22. Modèles N-gramme 22 Selon la valeur de N, on a les modèles : Unigramme : N=1 (pas de contexte), chaque mot est considéré individuellement Exemple: « Faculté » Bigramme : N=2, le contexte d’un mot est défini par le mot qui le précède Exemple: « Sciences Mathématiques » Trigramme : N=3, le contexte d’un mot est défini par le couple de mots qui le précèdent Exemples: « Marrakech est connue », « est connue par » et « son climat chaud » Modèle N-gramme : la probabilité d’apparition d’un mot peut être estimée à partir des N-1 mots qui le précèdent. Ces N-1 mots définissent ainsi le contexte du mot en question. On peut aussi choisir N=4 ou N=5. Les probabilités deviennent très petites avec N trop grand. J. DABOUNOU - FST DE SETTAT
  23. 23. Entrainer un modèle N-gramme 23 On note Ctrain le corpus d'entrainement extrait du corpus textuel de départ. Maximiser la log-vraisemblance : LL(Ctrain) = SCtrain log( k=1,nS P(wk|wk−N+1 k−1 )) Les paramètres sont ici, pour chaque séquence S de n mots: P(w1), P(w2|w1),…,P(wn|wn-N+1,…, wn-2, wn-1) L'estimation du maximum de vraisemblance permet le calcul de ces paramètres du modèle. On montre que : P(wk|wk−N+1 k−1 ) = Count(wk−N+1 k−1 ,wk) Count(wk−N+1 k−1 ) J. DABOUNOU - FST DE SETTAT
  24. 24. Paramètres pour un modèle N-gramme 24 Pour entrainer un modèle N-gramme sur un corpus d’apprentissage Ctrain possédant le vocabulaire V, (V types de mots) on aura: Pour un modèle unigramme : |V| paramètres Pour un modèle bigramme : |V|2 paramètres Pour un modèle trigramme : |V|3 paramètres Pour un modèle N-gramme : |V|N paramètres |V| est souvent très grand. Il peut être de l’ordre de 104 à plus de 106. J. DABOUNOU - FST DE SETTAT
  25. 25. Modèles N-gramme: Exemple 25 Considérons le corpus d’entrainement : Marrakech ville rouge climat sec Marrakech ville ocre Ville Marrakech climat chaud sec Le vocabulaire est constitué de l’ensemble V={Marrakech, ville, rouge, climat, sec, ocre, chaud} Le nombre de mots (tokens) dans le corpus (sans les caractères spéciaux) sera noté m. Dans l’exemple m=13. Les N-grammes que l’on retrouve dans le corpus pour n=1,2 et 3 sont: • Unigrammes: V={Marrakech, ville, rouge, climat, sec, ocre, chaud} • Bigrammes: {(marrakech,ville), (ville,rouge ), (rouge,climat), (climat,sec), (ville,ocre), (ville,marrakech), (marrakech,climat), (climat,chaud), (chaud,sec) } • Trigrammes: {(marrakech,ville,rouge), (ville,rouge,climat), (rouge,climat,sec), (marrakech,ville,ocre), (ville,marrakech,climat ), (marrakech,climat,chaud), (climat,chaud,sec)} J. DABOUNOU - FST DE SETTAT
  26. 26. Modèle bigramme: Exemple 26 Pour le modèle bigramme: P(wk|wk−1) = Count(wk−1,wk) Count(wk−1) On a le tableau du nombre d’unigrammes pour chaque mot dans le corpus Count(wk−1) : On a aussi le tableau du nombre de bigrammes dans le corpus Count(wk−1,wk) : J. DABOUNOU - FST DE SETTAT Marrakech ville rouge climat sec ocre chaud 3 3 1 2 2 1 1 Marrakech ville rouge climat sec ocre chaud Marrakech 0 2 0 1 0 0 0 ville 1 0 1 0 0 1 0 rouge 0 0 0 1 0 0 0 climat 0 0 0 0 1 0 1 sec 0 0 0 0 0 0 0 ocre 0 0 0 0 0 0 0 chaud 0 0 0 0 1 0 0 Corpus : Marrakech ville rouge climat sec Marrakech ville ocre Ville Marrakech climat chaud sec
  27. 27. Modèle bigramme: Exemple 27J. DABOUNOU - FST DE SETTAT Le tableau de probabilités des bigrammes est alors créé à l'aide de la relation : P(wk|wk−1) = Count(wk−1,wk) Count(wk−1) Marrakech ville rouge climat sec ocre chaud Total Marrakech 0 0.67 0 0.33 0 0 0 1 ville 0.33 0 0.33 0 0 0.33 0 1 rouge 0 0 0 1 0 0 0 1 climat 0 0 0 0 0.5 0 0.5 1 sec 0 0 0 0 0 0 0 0 ocre 0 0 0 0 0 0 0 0 chaud 0 0 0 0 1 0 0 1 Cette manière de procéder présente au moins deux inconvénients: 1. Les mots "sec" et "chaud" n’apparaissent dans aucun bigramme. Ils ont une probabilité totale égale à 0 au lieu de 1. 2. Le modèle ne tient pas compte du fait que le mot ville se trouve en début de phrase et que les mots "sec" et "chaud" se trouvent en fin de phrase. Pour tout k  V (pour tous les mots du vocabulaire) z P(z|wk−1) = z Count(wk−1,z) w Count(wk−1,w) = z Count(wk−1,z) w Count(wk−1,w) = 1
  28. 28. Modèle bigramme: Exemple 28J. DABOUNOU - FST DE SETTAT On introduit les caractères spéciaux <s> pour début de séquence et </s> pour fin de séquence. <s>Marrakech ville rouge climat sec</s> <s>Marrakech ville ocre</s> <s>Ville Marrakech climat chaud sec</s> On obtient alors : Marrakech ville rouge climat sec ocre chaud </s> Total <s> 2 1 0 0 0 0 0 0 3 Marrakech 0 2 0 1 0 0 0 0 3 ville 1 0 1 0 0 1 0 0 3 rouge 0 0 0 1 0 0 0 0 1 climat 0 0 0 0 1 0 1 0 2 sec 0 0 0 0 0 0 0 2 2 ocre 0 0 0 0 0 0 0 1 1 chaud 0 0 0 0 1 0 0 0 1 Marrakech ville rouge climat sec ocre chaud </s> <s> 0.67 0.33 0 0 0 0 0 0 Marrakech 0 0.67 0 0.33 0 0 0 0 ville 0.33 0 0.33 0 0 0.33 0 0 rouge 0 0 0 1 0 0 0 0 climat 0 0 0 0 0.5 0 0.5 0 sec 0 0 0 0 0 0 0 1 ocre 0 0 0 0 0 0 0 1 chaud 0 0 0 0 1 0 0 0 Tableau de probabilités des bigrammesTableau du nombre de bigrammes Les caractères spéciaux <s> et </s> doivent être ajoutés V, ensemble des types de mots (vocabulaire) du corpus d'entrainement.
  29. 29. Modèle bigramme : Probabilité d'une séquence 29J. DABOUNOU - FST DE SETTAT On a pour S = (w1,w2,w3,…,wn), P(S) = P(w1) P(w2|w1)…P(wn|wn-N+1,…, wn-2, wn-1). Dans un modèle bigramme : P(S) = k=1,n P(wk|wk−1) Donc pour les séquences qui composent notre corpus : P(Marrakech ville rouge climat sec) = = P(Marrakech|<s>) P(ville|Marrakech) P(rouge|ville) P(climat|rouge) P(sec|climat) P(</s>| sec) = 0.67 x 0.67 x 0.33 x 1 x 0.5 x 0.67 = 0.0496259 P(Marrakech ville ocre) = = P(Marrakech|<s>) P(ville|Marrakech) P(ocre|ville) P(</s>|ocre) = 0.67 x 0.67 x 0.33 x 1 = 0.148137 P(Ville Marrakech climat chaud sec) = = P(Ville|<s>) P(Marrakech|Ville) P(climat|Marrakech) P(chaud|climat) P(sec|chaud) P(</s>| sec) = 0.33 x 0.33 x 0.33 x 0.5 x 1 x 1 = 0.0179685
  30. 30. Modèle bigramme : Probabilité d'une séquence 30J. DABOUNOU - FST DE SETTAT Séquence "Ville rouge climat chaud sec" P(Ville rouge climat chaud sec) = = P(Ville|<s>) P(rouge|ville) P(climat|rouge) P(chaud|climat) P(sec|chaud) P(</s>| sec) = 0.33 x 0.33 x 1 x 0.5 x 1 x 1 = 0.05445 On calcule maintenant la probabilité de la séquence "Marrakech ocre climat chaud sec" P(Marrakech ocre climat chaud sec) = = P(Marrakech|<s>) P(ocre|Marrakech) P(climat|ocre) P(chaud|climat) P(sec|chaud) P(</s>| sec) = 0 Du fait que P(ocre|Marrakech) = 0. En effet, le bigramme (Marrakech,ocre) ne se trouve pas dans le corpus. On vérifie aussi que l'on a 6 x P(Marrakech ville rouge climat sec) + 4 x P(Marrakech ville ocre) + 6 x P(Ville Marrakech climat chaud sec) = 1. Ce résultat va être démontré dans le cas général par la suite.
  31. 31. Modèle trigramme: Exemple 31 Pour le modèle trigramme, on ajoute deux fois le caractère spécial <s> au début de chaque séquence et une fois le caractère spécial </s> à la fin de chaque séquence. Les séquences du corpus deviendront alors : <s><s>Marrakech ville rouge climat sec</s> <s><s>Marrakech ville ocre</s> <s><s>Ville Marrakech climat chaud sec</s> Les trigrammes de ce corpus deviennent ainsi : Trigrammes: {(<s>,<s>,marrakech),(<s>,marrakech,ville),(marrakech,ville,rouge), (ville,rouge,climat), (rouge,climat,sec), (climat,sec,</s>),(marrakech,ville,ocre), (ville,ocre,</s>),(<s>,<s>,ville),(<s>,ville,marrakech),(ville,marrakech,climat), (marrakech,climat,chaud),(climat,chaud,sec),(chaud,sec,</s>)} J. DABOUNOU - FST DE SETTAT
  32. 32. Modèle trigramme: Exemple 32 On a aussi le tableau du nombre de trigrammes dans le corpus Count(wk−1,wk) : On obtient le tableau des probabilités des trigrammes en divisant chaque élément du tableau du nombre de trigrammes par le total correspondant. Exemple : P(ville|<s>,marrakech) = Count(<s>,marrakech,ville) Count(<s>,marrakech) = 2 2 = 1 P(marrakech|<s><s>) = Count(<s>,<s>,marrakech) Count(<s>,<s>) = 2 3 L'intérêt des modèles trigrammes apparait dans le cas, plus réaliste, de corpus de grande taille. J. DABOUNOU - FST DE SETTAT Marrakech ville rouge climat sec ocre chaud </s> Total (<s>,<s>) 2 1 0 0 0 0 0 0 3 (<s>,marrakech) 0 2 0 0 0 0 0 0 2 (marrakech,ville) 0 0 1 0 0 1 0 0 2 (ville,rouge) 0 0 0 1 0 0 1 0 1 (rouge,climat) 0 0 0 0 1 0 0 0 1 (climat,sec) 0 0 0 0 0 0 0 1 1 (ville,ocre) 0 0 0 0 0 0 0 1 1 (<s>,ville) 1 0 0 0 0 0 0 0 1 (ville,marrakech) 0 0 0 0 0 1 0 0 1 (marrakech,climat) 0 0 0 0 0 0 1 0 1 (climat,chaud) 0 0 0 0 1 0 0 0 1 (chaud,sec) 0 0 0 0 0 0 0 1 1 Corpus : <s><s>Marrakech ville rouge climat sec</s> <s><s>Marrakech ville ocre</s> <s><s>Ville Marrakech climat chaud sec</s>
  33. 33. Modèles 4-grammes,… 33J. DABOUNOU - FST DE SETTAT Pour le modèle 4-gramme, on ajoute trois fois le caractère spécial <s> au début de chaque séquence et une fois le caractère spécial </s> à la fin de chaque séquence. Les séquences du corpus deviendront alors : <s><s><s>Marrakech ville rouge climat sec</s> <s><s><s>Marrakech ville ocre</s> <s><s><s>Ville Marrakech climat chaud sec</s> Les 4-grammes de ce corpus deviennent ainsi : 4-grammes: {(<s>,<s>,<s>,marrakech),(<s>,<s>,marrakech,ville),(<s>,marrakech,ville,rouge), (marrakech,ville,rouge,climat), (ville,rouge,climat,sec), (rouge,climat,sec,</s>),(<s>,marrakech,ville,ocre), (marrakech,ville,ocre,</s>),(<s>,<s>,<s>,ville),(<s>,<s>,ville,marrakech),(<s>,ville,marrakech,climat), (ville,marrakech,climat,chaud),(marrakech,climat,chaud,sec),(climat,chaud,sec,</s>)} P(ville|<s><s>marrakech) = Count((<s>,<s>,marrakech,ville)) Count((<s>,<s>,marrakech)) = 2 2 = 1
  34. 34. Modèle bigramme: Générer une séquence 34J. DABOUNOU - FST DE SETTAT En se basant sur le tableau de probabilités des bigrammes, le modèle peut générer une séquence de mots. Marrakech ville rouge climat sec ocre chaud </s> <s> 0.67 0.33 0 0 0 0 0 0 Marrakech 0 0.67 0 0.33 0 0 0 0 ville 0.33 0 0.33 0 0 0.33 0 0 rouge 0 0 0 1 0 0 0 0 climat 0 0 0 0 0.5 0 0.5 0 sec 0 0 0 0 0 0 0 1 ocre 0 0 0 0 0 0 0 1 chaud 0 0 0 0 1 0 0 0
  35. 35. Modèle bigramme: Générer une séquence 35J. DABOUNOU - FST DE SETTAT En se basant sur le tableau de probabilités des bigrammes, le modèle peut générer une séquence de mots. Marrakech ville rouge climat sec ocre chaud </s> <s> 0.67 0.33 0 0 0 0 0 0 Marrakech 0 0.67 0 0.33 0 0 0 0 ville 0.33 0 0.33 0 0 0.33 0 0 rouge 0 0 0 1 0 0 0 0 climat 0 0 0 0 0.5 0 0.5 0 sec 0 0 0 0 0 0 0 1 ocre 0 0 0 0 0 0 0 1 chaud 0 0 0 0 1 0 0 0 La séquence pourrait commencer par le mot "Marrakech" (probabilité de 67%) ou le mot "Ville" (probabilité de 33%). Supposons que le modèle étant paramétré de façon adéquate, choisit le mot "Ville" pour commencer la séquence. Ville ……………………………… P(Ville|<s>) = 0.33
  36. 36. Modèle bigramme: Générer une séquence 36J. DABOUNOU - FST DE SETTAT En se basant sur le tableau de probabilités des bigrammes, le modèle peut générer une séquence de mots. Marrakech ville rouge climat sec ocre chaud </s> <s> 0.67 0.33 0 0 0 0 0 0 Marrakech 0 0.67 0 0.33 0 0 0 0 ville 0.33 0 0.33 0 0 0.33 0 0 rouge 0 0 0 1 0 0 0 0 climat 0 0 0 0 0.5 0 0.5 0 sec 0 0 0 0 0 0 0 1 ocre 0 0 0 0 0 0 0 1 chaud 0 0 0 0 1 0 0 0 La séquence pourrait commencer par le mot "Marrakech" (probabilité de 67%) ou le mot "Ville" (probabilité de 33%). Supposons que le modèle étant paramétré de façon adéquate, choisit le mot "Ville" pour commencer la séquence. Il pourra ensuite choisir un mot parmi "Marrakech", "rouge" et "ocre" avec une probabilité de 33% pour chacun des mots. Supposons que le modèle choisit le mot "rouge" après le mot "Ville". Ville ……………………………… P(Ville|<s>) = 0.33 Ville rouge …………………… P(rouge|ville) = 0.33
  37. 37. Modèle bigramme: Générer une séquence 37J. DABOUNOU - FST DE SETTAT En se basant sur le tableau de probabilités des bigrammes, le modèle peut générer une séquence de mots. Marrakech ville rouge climat sec ocre chaud </s> <s> 0.67 0.33 0 0 0 0 0 0 Marrakech 0 0.67 0 0.33 0 0 0 0 ville 0.33 0 0.33 0 0 0.33 0 0 rouge 0 0 0 1 0 0 0 0 climat 0 0 0 0 0.5 0 0.5 0 sec 0 0 0 0 0 0 0 1 ocre 0 0 0 0 0 0 0 1 chaud 0 0 0 0 1 0 0 0 La séquence pourrait commencer par le mot "Marrakech" (probabilité de 67%) ou le mot "Ville" (probabilité de 33%). Supposons que le modèle étant paramétré de façon adéquate, choisit le mot "Ville" pour commencer la séquence. Il pourra ensuite choisir un mot parmi "Marrakech", "rouge" et "ocre" avec une probabilité de 33% pour chacun des mots. Supposons que le modèle choisit le mot "rouge" après le mot "Ville". Après "rouge" le modèle n'a qu'un seul choix, le mot "climat". Ville ……………………………… P(Ville|<s>) = 0.33 Ville rouge …………………… P(rouge|ville) = 0.33 Ville rouge climat…………. P(climat|rouge) = 1
  38. 38. Modèle bigramme: Générer une séquence 38J. DABOUNOU - FST DE SETTAT En se basant sur le tableau de probabilités des bigrammes, le modèle peut générer une séquence de mots. Marrakech ville rouge climat sec ocre chaud </s> <s> 0.67 0.33 0 0 0 0 0 0 Marrakech 0 0.67 0 0.33 0 0 0 0 ville 0.33 0 0.33 0 0 0.33 0 0 rouge 0 0 0 1 0 0 0 0 climat 0 0 0 0 0.5 0 0.5 0 sec 0 0 0 0 0 0 0 1 ocre 0 0 0 0 0 0 0 1 chaud 0 0 0 0 1 0 0 0 La séquence pourrait commencer par le mot "Marrakech" (probabilité de 67%) ou le mot "Ville" (probabilité de 33%). Supposons que le modèle étant paramétré de façon adéquate, choisit le mot "Ville" pour commencer la séquence. Il pourra ensuite choisir un mot parmi "Marrakech", "rouge" et "ocre" avec une probabilité de 33% pour chacun des mots. Supposons que le modèle choisit le mot "rouge" après le mot "Ville". Après "rouge" le modèle n'a qu'un seul choix, le mot "climat". Ensuite, le modèle pourra choisir entre les mots "sec", "chaud" avec une probabilité de 50% pour chacun des mots. Supposons qu'il choisit le mot "chaud". Ville ……………………………… P(Ville|<s>) = 0.33 Ville rouge …………………… P(rouge|ville) = 0.33 Ville rouge climat…………. P(climat|rouge) = 1 Ville rouge climat chaud………. P(chaud|climat) = 0.5
  39. 39. Modèle bigramme: Générer une séquence 39J. DABOUNOU - FST DE SETTAT En se basant sur le tableau de probabilités des bigrammes, le modèle peut générer une séquence de mots. Marrakech ville rouge climat sec ocre chaud </s> <s> 0.67 0.33 0 0 0 0 0 0 Marrakech 0 0.67 0 0.33 0 0 0 0 ville 0.33 0 0.33 0 0 0.33 0 0 rouge 0 0 0 1 0 0 0 0 climat 0 0 0 0 0.5 0 0.5 0 sec 0 0 0 0 0 0 0 1 ocre 0 0 0 0 0 0 0 1 chaud 0 0 0 0 1 0 0 0 La séquence pourrait commencer par le mot "Marrakech" (probabilité de 67%) ou le mot "Ville" (probabilité de 33%). Supposons que le modèle étant paramétré de façon adéquate, choisit le mot "Ville" pour commencer la séquence. Il pourra ensuite choisir un mot parmi "Marrakech", "rouge" et "ocre" avec une probabilité de 33% pour chacun des mots. Supposons que le modèle choisit le mot "rouge" après le mot "Ville". Après "rouge" le modèle n'a qu'un seul choix, le mot "climat". Ensuite, le modèle pourra choisir entre les mots "sec", "chaud" avec une probabilité de 50% pour chacun des mots. Supposons qu'il choisit le mot "chaud". Après "chaud" le modèle n'a qu'un seul choix, le mot "sec". Ville ……………………………… P(Ville|<s>) = 0.33 Ville rouge …………………… P(rouge|ville) = 0.33 Ville rouge climat…………. P(climat|rouge) = 1 Ville rouge climat chaud………. P(chaud|climat) = 0.5 Ville rouge climat chaud sec…. P(sec|chaud) = 1
  40. 40. Modèle bigramme: Générer une séquence 40J. DABOUNOU - FST DE SETTAT En se basant sur le tableau de probabilités des bigrammes, le modèle peut générer une séquence de mots. Marrakech ville rouge climat sec ocre chaud </s> <s> 0.67 0.33 0 0 0 0 0 0 Marrakech 0 0.67 0 0.33 0 0 0 0 ville 0.33 0 0.33 0 0 0.33 0 0 rouge 0 0 0 1 0 0 0 0 climat 0 0 0 0 0.5 0 0.5 0 sec 0 0 0 0 0 0 0 1 ocre 0 0 0 0 0 0 0 1 chaud 0 0 0 0 1 0 0 0 La séquence pourrait commencer par le mot "Marrakech" (probabilité de 67%) ou le mot "Ville" (probabilité de 33%). Supposons que le modèle étant paramétré de façon adéquate, choisit le mot "Ville" pour commencer la séquence. Il pourra ensuite choisir un mot parmi "Marrakech", "rouge" et "ocre" avec une probabilité de 33% pour chacun des mots. Supposons que le modèle choisit le mot "rouge" après le mot "Ville". Après "rouge" le modèle n'a qu'un seul choix, le mot "climat". Ensuite, le modèle pourra choisir entre les mots "sec", "chaud" avec une probabilité de 50% pour chacun des mots. Supposons qu'il choisit le mot "chaud". Après "chaud" le modèle n'a qu'un seul choix, le mot "sec". Après le mot "sec" le modèle ne peut que terminer la séquence par </s>. Ville ……………………………… P(Ville|<s>) = 0.33 Ville rouge …………………… P(rouge|ville) = 0.33 Ville rouge climat…………. P(climat|rouge) = 1 Ville rouge climat chaud………. P(chaud|climat) = 0.5 Ville rouge climat chaud sec…. P(sec|chaud) = 1 Ville rouge climat chaud sec. P(</s>|sec) = 1
  41. 41. Modèle bigramme: Générer une séquence 41J. DABOUNOU - FST DE SETTAT En se basant sur le tableau de probabilités des bigrammes, le modèle peut générer une séquence de mots. Marrakech ville rouge climat sec ocre chaud </s> <s> 0.67 0.33 0 0 0 0 0 0 Marrakech 0 0.67 0 0.33 0 0 0 0 ville 0.33 0 0.33 0 0 0.33 0 0 rouge 0 0 0 1 0 0 0 0 climat 0 0 0 0 0.5 0 0.5 0 sec 0 0 0 0 0 0 0 1 ocre 0 0 0 0 0 0 0 1 chaud 0 0 0 0 1 0 0 0 Il est ainsi probable que le modèle génère la séquence <s>Ville rouge climat chaud sec</s> On peut d'ailleurs calculer la probabilité d'obtenir cette séquence : P(<s>Ville rouge climat chaud sec</s>) = 0.33 x 0.33 x 1 x 0.5 x 1 x 1 = 0,05445 Le résultat final peut s’avérer sous-optimal. Ville ……………………………… P(Ville|<s>) = 0.33 Ville rouge …………………… P(rouge|ville) = 0.33 Ville rouge climat…………. P(climat|rouge) = 1 Ville rouge climat chaud………. P(chaud|climat) = 0.5 Ville rouge climat chaud sec…. P(sec|chaud) = 1 Ville rouge climat chaud sec. P(</s>|sec) = 1
  42. 42. Chaine de Markov et modèle N-gramme 42J. DABOUNOU - FST DE SETTAT Une chaîne de Markov avec des probabilités de transition pour ce corpus ressemblerait alors à : On sous-entend dans ce graphe qu’un mot, à l’exception du mot spécial </s> ne peut pas être suivi par lui- même. Marrakech ville 0.67 <s> 0.67 0.33 0.33 rouge 0.33 climat 0.33 1 chaud 0.5 sec 1 ocre 1 0.33 </s> 1 0.5
  43. 43. Evaluer un modèle N-gramme 43 On utilise un corpus (ou des corpora) de test et on évalue dessus le modèle. Le corpus de test est composé de données non utilisées dans l’entrainement du modèle. Un bon modèle de langue est celui qui attribue une grande probabilité aux séquences réelles courantes dans le langage et correctement structurées et de faibles probabilités à celles rarement utilisées ou incorrectement structurées. Il y a deux méthodes pour évaluer un modèle de langue: • Evaluation extrinsèque (appelée aussi évaluation in vivo) : intégrer le modèle dans une application et mesurer la performance totale de l'application. Cette application peut concerner la traduction automatique, la reconnaissance de la parole, l'analyse de sentiments,… L’évaluation extrinsèque est très coûteuse en temps et en ressources. • Evaluation intrinsèque : utilise les propriétés du modèle de langue sans chercher à l’appliquer à une tâche particulière. On va ici utiliser la perplexité pour évaluer le modèle de langue. J. DABOUNOU - FST DE SETTAT
  44. 44. Perplexité des modèles N-gramme 44 La métrique de perplexité permet de mesurer le degré d’incertitude d’un modèle pour prédire, donc attribuer des probabilités, à un texte. Réduire l’incertitude correspond à diminuer la perplexité, ou encore l’entropie introduite par Shannon. Un bon modèle de langue doit créer une séquence significative en plaçant un mot en fonction des valeurs de probabilité conditionnelle qui ont été attribuées à l'aide du corpus d'apprentissage. Par conséquent, la capacité d'un modèle de langage à prédire le mot suivant et donc à créer une phrase significative est affirmée par la valeur de perplexité attribuée au modèle de langue sur un corpus de tests. On va utiliser les séquences suivantes, qui constituent donc le corpus de test Ctest, pour illustrer cette notion : 1. Le Maroc est un pays du Grand Maghreb. 2. Marrakech est surnommée la ville rouge. 3. Marrakech est magique. J. DABOUNOU - FST DE SETTAT
  45. 45. Comprendre la notion de perplexité 45 On ôte le dernier mot de chacune des trois séquences et on demande au modèle entrainé de les prédire. Entre deux modèles entrainés, le meilleur est celui qui va attribuer, en moyenne, une plus grande probabilité aux mots que nous venons d'ôter. 1. Le Maroc est un pays du Grand Maghreb. 2. Marrakech est surnommée la ville rouge. 3. Marrakech est magique. J. DABOUNOU - FST DE SETTAT
  46. 46. Maghreb : 0.125 Atlas : 0.125 Atlantique : 0.125 Continent : 0.125 Sahara : 0.125 Occident : 0.125 Monde : 0.125 empire : 0.125 Maghreb : 0.65 Atlas : 0.1 Atlantique : 0.08 Continent : 0.05 Sahara : 0.04 Occident : 0.04 Monde : 0.03 empire : 0.01 P(𝐰 𝟏 𝐧 ) Comprendre la notion de perplexité 46 Par exemple, pour la première séquence, si nous avons les probabilités suivantes pour les deux modèles de langue respectifs ML1 et ML2 : 1. Le Maroc est un pays du Grand Maghreb. 2. Marrakech est surnommée la ville rouge. 3. Marrakech est magique. 1. Le Maroc est un pays du Grand Maghreb. 2. Marrakech est surnommée la ville rouge. 3. Marrakech est magique. J. DABOUNOU - FST DE SETTAT
  47. 47. Par exemple, pour la première séquence, si nous avons les probabilités suivantes pour les deux modèles de langue ML1 et ML2 : 1. Le Maroc est un pays du Grand Maghreb. 2. Marrakech est surnommée la ville rouge. 3. Marrakech est magique. 1. Le Maroc est un pays du Grand Maghreb. 2. Marrakech est surnommée la ville rouge. 3. Marrakech est magique. Maghreb : 0.125 Atlas : 0.125 Atlantique : 0.125 Continent : 0.125 Sahara : 0.125 Occident : 0.125 Monde : 0.125 empire : 0.125 • Mauvaise prédiction • Beaucoup d’incertitude • Perplexité maximale Maghreb : 0.65 Atlas : 0.1 Atlantique : 0.08 Continent : 0.05 Sahara : 0.04 Occident : 0.04 Monde : 0.03 empire : 0.01 • Bonne prédiction • Moins d’incertitude • Perplexité réduite Comprendre la notion de perplexité 47J. DABOUNOU - FST DE SETTAT P(𝐰 𝟏 𝐧 )
  48. 48. Par exemple, pour la première séquence, si nous avons les probabilités suivantes pour les deux modèles de langue ML1 et ML2 : 1. Le Maroc est un pays du Grand Maghreb. 2. Marrakech est surnommée la ville rouge. 3. Marrakech est magique. 1. Le Maroc est un pays du Grand Maghreb. 2. Marrakech est surnommée la ville rouge. 3. Marrakech est magique. Maghreb : 0.65 Atlas : 0.1 Atlantique : 0.08 Continent : 0.05 Sahara : 0.04 Occident : 0.04 Monde : 0.03 empire : 0.01 • Bonne prédiction • Moins d’incertitude • Perplexité réduite • Entropie : H(w1 n ) = − k=1,n P(w1 n ) log2 P(w1 n ) = 1.83 • Perplexité : PP(w1 n ) = 2H(w1 n) = 3.56 Maghreb : 0.125 Atlas : 0.125 Atlantique : 0.125 Continent : 0.125 Sahara : 0.125 Occident : 0.125 Monde : 0.125 empire : 0.125 • Mauvaise prédiction • Beaucoup d’incertitude • Perplexité maximale • Entropie : H(w1 n ) = − k=1,n P(w1 n ) log2 P(w1 n ) = 𝟑 • Perplexité : PP(w1 n ) = 2H(w1 n) = 𝟖 Comprendre la notion de perplexité 48J. DABOUNOU - FST DE SETTAT P(𝐰 𝟏 𝐧 )
  49. 49. • Le modèle prédit bien • Entropie faible : 1.83 bits • Perplexité : 3.56 mots • Le modèle est perplexe • Entropie grande (maximale) : 3bits • Perplexité : 8 mots Maghreb : 0.65 Atlas : 0.1 Atlantique : 0.08 Continent : 0.05 Sahara : 0.04 Occident : 0.04 Monde : 0.03 empire : 0.01 • Bonne prédiction • Moins d’incertitude • Perplexité réduite • Entropie : H(w1 n ) = − k=1,n P(w1 n ) log2 P(w1 n ) = 1.83 • Perplexité : PP(w1 n ) = 2H(w1 n) = 3.56 Maghreb : 0.125 Atlas : 0.125 Atlantique : 0.125 Continent : 0.125 Sahara : 0.125 Occident : 0.125 Monde : 0.125 empire : 0.125 • Mauvaise prédiction • Beaucoup d’incertitude • Perplexité maximale • Entropie : H(w1 n ) = − k=1,n P(w1 n ) log2 P(w1 n ) = 𝟑 • Perplexité : PP(w1 n ) = 2H(w1 n) = 𝟖 Par exemple, pour la première séquence, si nous avons les probabilités suivantes pour les deux modèles de langue ML1 et ML2 : 1. Le Maroc est un pays du Grand Maghreb. 2. Marrakech est surnommée la ville rouge. 3. Marrakech est magique. 1. Le Maroc est un pays du Grand Maghreb. 2. Marrakech est surnommée la ville rouge. 3. Marrakech est magique. Comprendre la notion de perplexité 49J. DABOUNOU - FST DE SETTAT P(𝐰 𝟏 𝐧 )
  50. 50. Maghreb : 0.125 Atlas : 0.125 Atlantique : 0.125 Continent : 0.125 Sahara : 0.125 Occident : 0.125 Monde : 0.125 empire : 0.125 Comprendre la notion de perplexité 50 Pour le modèle de langue ML1 : Les probabilités pour les 8 mots sont égales (0.125, 0.125, 0.125, 0.125, 0.125, 0.125, 0.125, 0.125). Situation équivalente à un dé de 8 faces non truqué. Ce modèle a une perplexité de 8. L'entropie est égale à 3. On a besoin de 3 bits pour représenter l'information. J. DABOUNOU - FST DE SETTAT P(𝐰 𝟏 𝐧 ) • Bonne prédiction • Moins d’incertitude • Perplexité réduite • Le modèle est perplexe • Entropie grande (maximale) : 3bits • Perplexité : 8 mots • Entropie : H(w1 n ) = − k=1,n P(w1 n ) log2 P(w1 n ) = 𝟑 • Perplexité : PP(w1 n ) = 2H(w1 n) = 𝟖 Le Maroc est un pays du Grand Maghreb.
  51. 51. Comprendre la notion de perplexité 51 Pour le modèle de langue ML2 : Les probabilités pour les 8 mots sont différentes (0.65, 0.1, 0.08, 0.05, 0.04, 0.04, 0.03, 0.01). Situation équivalente à un dé de 8 faces truqué. Le modèle attribue au mot Maghreb une probabilité de 0.65. Ce modèle a une perplexité de 3.56. L'entropie est égale à 1.83. On a besoin de 1.83 bits pour représenter l'information. J. DABOUNOU - FST DE SETTAT Maghreb : 0.65 Atlas : 0.1 Atlantique : 0.08 Continent : 0.05 Sahara : 0.04 Occident : 0.04 Monde : 0.03 empire : 0.01 P(𝐰 𝟏 𝐧 ) • Bonne prédiction • Moins d’incertitude • Perplexité réduite • Entropie : H(w1 n ) = − k=1,n P(w1 n ) log2 P(w1 n ) = 1.83 • Perplexité : PP(w1 n ) = 2H(w1 n) = 𝟑. 𝟓𝟔 • Le modèle prédit bien • Entropie faible : 1.83 bits • Perplexité : 3.56 mots Le Maroc est un pays du Grand Maghreb.
  52. 52. Comprendre la notion de perplexité 52 Dans le cas extrême où le modèle prédit le mot Maghreb avec certitude, c’est-à-dire : Les probabilités pour les 8 mots sont (1, 0, 0, 0, 0, 0, 0, 0). Situation équivalente à un dé de 8 faces toutes numérotées 1. Le modèle attribue au mot Maghreb une probabilité de 1. Ce modèle a une perplexité de 1. L'entropie est égale à 0. Il n'y a aucune incertitude sur le mot suivant, donc le nombre de bits nécessaires pour le connaitre est nul. J. DABOUNOU - FST DE SETTAT P(𝐰 𝟏 𝐧 ) • Prédiction exacte • Pas d’incertitude • Perplexité minimale • Entropie : H(w1 n ) = − k=1,n P(w1 n ) log2 P(w1 n ) = 0 • Perplexité : PP(w1 n ) = 2H(w1 n) = 𝟏 • Le modèle prédit bien avec certitude • Entropie nulle : 0 bits • Perplexité : 1 mots Maghreb : 1 Atlas : 0 Atlantique : 0 Continent : 0 Sahara : 0 Occident : 0 Monde : 0 empire : 0 Remarque : Si P(w1 n )=0, on pose P(w1 n ) log2 P(w1 n )=0. Le Maroc est un pays du Grand Maghreb.
  53. 53. Estimation de vraisemblance 53 On suppose dans cette approche que le corpus de test noté Ctest, souvent extrait (hold out) du corpus d’origine, soit composé de séquences réelles et correctes. Donc le meilleur modèle sera celui qui attribue la probabilité la plus élevée à cet ensemble de test. Cela revient à dire que le modèle n’est pas surpris par les séquences du corpus de test, donc non perplexe face à ces séquences. Ce modèle doit ainsi maximiser l’estimation de vraisemblance : L(Ctest) = 𝐒 𝐂test P(𝐒) Ce qui revient à maximiser la log-vraisemblance: LL(Ctest) = 𝐒 𝐂test log P(𝐒) J. DABOUNOU - FST DE SETTAT
  54. 54. Estimation de vraisemblance 54 On revient au corpus de test Ctest, composés ici de trois séquences, qui seront notées S1, S2 et S3 : 1. Le Maroc est un pays du Grand Maghreb. 2. Marrakech est surnommée la ville rouge. 3. Marrakech est magique. On estime la probabilité à maximiser pour le modèle N-gramme sous l'hypothèse naïve de l'indépendance des séquences, ce qui permet de décomposer cette probabilité comme le produit des probabilités des séquences, qui à leur tour sont des produits de probabilités de mots : L(Ctest) = 𝐒 𝐂test P(𝐒) = P(S1) P S2 P(S3) La log-vraisemblance à maximiser s'écrit : LL(Ctest) = 𝐒 𝐂test log P(𝐒) = log(P(S1)) + log P S2 + log(P S3 ) J. DABOUNOU - FST DE SETTAT
  55. 55. Perplexité des modèles N-gramme 55 Dans un modèle bigramme, on a : L(Ctest) = P(Le Maroc est un pays du Grand Maghreb) x P(Marrakech est surnommée la ville rouge) x P(Marrakech est magique) P(S1) = P(Le Maroc est un pays du Grand Maghreb) = P(Le|<s>) x P(Maroc|Le) x P(est|Maroc) x P(un|est) x P(pays|un) x P(du|pays) x P(Grand|du) x P(Maghreb|Grand) x P(</s>|Maghreb). P(S2) = P(Marrakech est surnommée la ville rouge) = P(Marrakech|<s>) x P(est|Marrakech) x P(surnommée|est) x P(la|surnommée) x P(ville|la) x P(rouge|ville) x P(</s>|rouge). P(S3) = P(Marrakech est magique) = P(Marrakech|<s>) x P(est|Marrakech) x P(magique|est) x P(</s>|magique). J. DABOUNOU - FST DE SETTAT
  56. 56. Probabilité et probabilité par mot 56 Supposons que le modèle prédit mieux les bigrammes de la séquence S1 que les bigrammes de la séquence S3. Soit par exemple : Il y une incohérence avec le fait que le modèle prédit mieux les bigrammes de la séquence S1 que les bigrammes de la séquence S3. On normalise donc cette probabilité sur les séquences par le nombre de mots. On pose : WP(S) = (P(S)) 1 ns, nsétant le nombre de mots (y compris </s>) de la séquence S. Remarque : ns est égal au nombre de bigrammes de la séquence S. J. DABOUNOU - FST DE SETTAT P(Le|<s>) = 0.75 P(Maroc|Le) = 0.75 P(est|Maroc) = 0.70 P(un|est) = 0.75 P(pays|un) = 0.80 P(du|pays) = 0.60 P(Grand|du) = 0.50 P(Maghreb|Grand) = 0.75 P(</s>|Maghreb) = 0.70 P(Marrakech|<s>) = 0.45 P(est|Marrakech) = 0.55 P(magique|est) = 0.40 P(</s>|magique) = 0.60 On a alors : P(S1) = 0.0372 P(S3) = 0.0594 et P(S1) < P(S3)  incohérence On a alors : WP(S1) = 0,6937 WP(S3) = 0.4937 et WP(S1) > WP(S3)  cohérence
  57. 57. Perplexité d'une séquence 57 La perplexité du modèle sur une séquence S est définie comme étant l'inverse de la probabilité normalisée WP(S). Ainsi, pour un modèle bigramme : P(S) = k=1,ns P(wk|wk−1) WP(S) = (P(S)) 1 ns = ( k=1,ns P(wk|wk−1) ) 1 ns = ns k=1,ns P(wk|wk−1) PP(S) = (P(S)) −1 ns = 1 ns k=1,ns P(wk|wk−1) On a ainsi pour les séquences S1 et S3 : PP(S1) = 1.4415 PP(S3) = 2.0256 Ce choix de calcul de la probabilité par mots permet de comparer la probabilité de deux séquences. Il permet aussi de générer des séquences de mots de longueurs quelconques. J. DABOUNOU - FST DE SETTAT
  58. 58. Vraisemblance par mot des modèles N-gramme 58 On utilise cette probabilité normalisée dans l’estimation de vraisemblance sur le corpus de test Ctest : WL(Ctest) = 𝐒 𝐂test WP(𝐒) = 𝐒 𝐂test (P(S)) 1 ns et dans la log-vraisemblance: WLL(Ctest) = 𝐒 𝐂test log WP(𝐒) = 𝐒 𝐂test log(P(S)) 1 ns = 𝐒 𝐂test 1 ns log(P(S)) Pour l'exemple illustratif: WL(Ctest) = 𝐒 𝐂test WP(𝐒) =(P(S1)) 1 ns1 (P(S2)) 1 ns2 (P(S3)) 1 ns3 WLL(Ctest) = 𝐒 𝐂test 1 ns log P(𝐒) = 1 ns1 log(P(S1)) + 1 ns2 log P S2 + 1 ns3 log(P S3 ) J. DABOUNOU - FST DE SETTAT
  59. 59. Vraisemblance par mot des modèles N-gramme 59 Dans un modèle N-gramme, on cherche à maximiser la log-vraisemblance: LL(Ctest) = 𝐒 𝐂test log( k=1,nS P(wk|w1 k−1 )) = 𝐒 𝐂test k=1,nS log P(wk|wk−N+1 k−1 ) Comme cela a été montré dans l'exemple plus haut, les phrases peuvent avoir un nombre de mots variable et l’ajout de mot réduit la valeur de la probabilité attribuée à cette phrase par le modèle. Pour avoir une métrique indépendante de la taille des phrases (et éventuellement des corpora, on normalise la probabilité des séquences de test par le nombre total de mots. On obtient une log-vraisemblance par mot sur l'ensemble Ctest : WLL(Ctest) = 1 𝐒 𝐂test 𝐒 𝐒 𝐂test k=1,nS log P(wk|w1−N+1 k−1 ) Dans cette expression ns=|S| étant le nombre de mot dans la séquence S. J. DABOUNOU - FST DE SETTAT
  60. 60. Perplexité des modèles N-gramme 60 On obtient aussi l’expression de la cross-entropie par mot: H(Ctest) = 1 SCtest 𝐒 𝐒 𝐂test k=1,nS −log2 P(wk|wk−N+1 k−1 ) Une écriture plus compacte de la cross-entropie avec ntest le nombre de mots dans Ctest. Cette écriture montre que la cross-entropie estime la capacité du modèle N-gramme à représenter les séquences test : H(Ctest) = i=1,ntest 1 ntest (−log2 P(wi|wi−N+1 i−1 ) La perplexité est donnée par l’expression PP(Ctest) = 2H(𝐂test) = eWLL(𝐂test) J. DABOUNOU - FST DE SETTAT

×