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
Un réseau de neurones récurrent (RNN, recurrent neural network) est un type de réseau de neurones artificiels principalement utilisé dans la reconnaissance automatique de la parole, dans l'écriture manuscrite et dans le traitement automatique du langage naturel, en particulier dans la traduction automatique.
Les RNN sont conçus de manière à reconnaître les caractéristiques séquentielles et pour prédire le scénario suivant le plus probable.
Les réseaux LSTM (Long Short Term Memory ou mémoire à long terme et à court terme ) sont un type spécial de RNN, capable d'apprendre les dépendances à long terme. Ils ont été introduits par Hochreiter et Schmidhuber en 1997, et ont été par la suite affinés et popularisés à travers plusieurs travaux. Ils fonctionnent extrêmement bien sur une grande variété de problèmes et sont maintenant largement utilisés.
Lien pour la version vidéo :
https://youtube.com/playlist?list=PLzjg2z2kYUrjcL_UhvQawGGB85UA9rtNO
Définition du data mining, intervention du Data Mining dans une chaîne décisionnelle, applications, méthodes de travail, processus KDD (ECD, Extraction de connaissances à partir de Données), méthode SEMMA de SAS, méthode CRISP-DM, etc.
Représentation sous forme de graphe d'états
Global Problem Solver
Algorithmes de Recherche Aveugles
Algorithmes de Recherche Informés
Depth First Search
Breadth First Search
Best First Search
A, A*
Fonction heuristique, Fonction heuristique admissible
Document pour découvrir l'algorithme Word2vec (I/II) appliqué dans le traitement du langage naturel.
Ce document a été créé dans le cadre des séminaires le jeudis IA et du groupe MOROCCO AI.
Ce thème est aussi disponible en vidéo :
https://youtu.be/FxQkfNQQKzM
Un réseau de neurones récurrent (RNN, recurrent neural network) est un type de réseau de neurones artificiels principalement utilisé dans la reconnaissance automatique de la parole, dans l'écriture manuscrite et dans le traitement automatique du langage naturel, en particulier dans la traduction automatique.
Les RNN sont conçus de manière à reconnaître les caractéristiques séquentielles et pour prédire le scénario suivant le plus probable.
Les réseaux LSTM (Long Short Term Memory ou mémoire à long terme et à court terme ) sont un type spécial de RNN, capable d'apprendre les dépendances à long terme. Ils ont été introduits par Hochreiter et Schmidhuber en 1997, et ont été par la suite affinés et popularisés à travers plusieurs travaux. Ils fonctionnent extrêmement bien sur une grande variété de problèmes et sont maintenant largement utilisés.
Lien pour la version vidéo :
https://youtube.com/playlist?list=PLzjg2z2kYUrjcL_UhvQawGGB85UA9rtNO
Définition du data mining, intervention du Data Mining dans une chaîne décisionnelle, applications, méthodes de travail, processus KDD (ECD, Extraction de connaissances à partir de Données), méthode SEMMA de SAS, méthode CRISP-DM, etc.
Représentation sous forme de graphe d'états
Global Problem Solver
Algorithmes de Recherche Aveugles
Algorithmes de Recherche Informés
Depth First Search
Breadth First Search
Best First Search
A, A*
Fonction heuristique, Fonction heuristique admissible
Document pour découvrir l'algorithme Word2vec (I/II) appliqué dans le traitement du langage naturel.
Ce document a été créé dans le cadre des séminaires le jeudis IA et du groupe MOROCCO AI.
Ce thème est aussi disponible en vidéo :
https://youtu.be/FxQkfNQQKzM
conférence sur le thème :
Intelligence artificielle et applications
Organisée par :
Laboratoires MISI, IR2M, IIMSC et AMSAD
UNIVERSITE HASSAN 1er et FST DE SETTAT
Evénement organisé à Mehdia, Kénitra
(Complexe Hotel Kenz Mehdia)
25 et 26 décembre 2019
Bases de Données non relationnelles, NoSQL (Introduction) 1er coursHatim CHAHDI
Ce premier cours introduit les systèmes de stockages NoSQL. L'objectif est d'introduire les alternatives de stockages disponibles et de sensibiliser sur les spécificités de chacun des paradigmes de stockage.
Les BD orientées graphes sont aussi présentées dans la deuxième partie du cours avec une étude du système Neo4j.
Présentation sur les ontologie :
le concept de base, les langages, et les applications dans les différents domaines.
Exposé présenté par Benouini Rachid, Adnane Eddariouache dans FST Fès 2013-2014.
SPSS est un outil puissant, efficace et assez facile à manipuler. Ce logiciel sert à faire des analyses statistiques (ANOVA, ACP, ANCOVA etc.). Il nous évite de faire des calculs longs et fastidieux. Les résultats sont très explicites et bien mis en forme, ils apparaissent dans des tableaux et sous formes de graphes
BigData_TP2: Design Patterns dans HadoopLilia Sfaxi
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
Architecture web aujourd'hui, besoin de scalabilité des bases de données relationnelles, découverte des bases de données NoSQL et des différents types de celles-ci. La vidéo de présentation peut être consultée à l'adresse suivante : http://youtu.be/oIpjcqHyx2M
conférence sur le thème :
Intelligence artificielle et applications
Organisée par :
Laboratoires MISI, IR2M, IIMSC et AMSAD
UNIVERSITE HASSAN 1er et FST DE SETTAT
Evénement organisé à Mehdia, Kénitra
(Complexe Hotel Kenz Mehdia)
25 et 26 décembre 2019
Bases de Données non relationnelles, NoSQL (Introduction) 1er coursHatim CHAHDI
Ce premier cours introduit les systèmes de stockages NoSQL. L'objectif est d'introduire les alternatives de stockages disponibles et de sensibiliser sur les spécificités de chacun des paradigmes de stockage.
Les BD orientées graphes sont aussi présentées dans la deuxième partie du cours avec une étude du système Neo4j.
Présentation sur les ontologie :
le concept de base, les langages, et les applications dans les différents domaines.
Exposé présenté par Benouini Rachid, Adnane Eddariouache dans FST Fès 2013-2014.
SPSS est un outil puissant, efficace et assez facile à manipuler. Ce logiciel sert à faire des analyses statistiques (ANOVA, ACP, ANCOVA etc.). Il nous évite de faire des calculs longs et fastidieux. Les résultats sont très explicites et bien mis en forme, ils apparaissent dans des tableaux et sous formes de graphes
BigData_TP2: Design Patterns dans HadoopLilia Sfaxi
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
Architecture web aujourd'hui, besoin de scalabilité des bases de données relationnelles, découverte des bases de données NoSQL et des différents types de celles-ci. La vidéo de présentation peut être consultée à l'adresse suivante : http://youtu.be/oIpjcqHyx2M
"Le traitement automatique du langage (TAL) face aux données textuelles volumineuses et potentiellement dégradées : qu’est-ce que cela change ?" : Présentation de Pascale Sebillot, chercheuse à l'IRISA lors du séminaire IST Inria : "Big Data, nouvelles partitions de l'information" ; Saint-Paul-Lès-Dax du 6 au 10 octobre 2014.
Dans cette presentation, nous introduisons des concepts-clés du domaine du traitement automatique de langues (TAL): qu'est-ce qu'un texte pour une machine? comment identifier des unités linguistiques à plusieurs niveaux? la segmentation et l'analyse lexicale; la disambiguation automatique; comment relier les mots entre elles? les structures syntaxiques minimales (chunks) et les relations syntaxique d'haute niveau (SUJET, OBJECT DIRECT, etc.); des relations ou rôles sémantiques entre les constituants de la phrase; l'unité sémantique à travers des categories morphosyntaxiques et sa representation dans les lexiques électroniques.
Maîtrise / Soutien phonétique / Soutenance Patrick Tremblay, ing., M.Ing. Patrick Tremblay
J'ai créé un logiciel qui facilite l'apprentissage de la lecture en français! :) Votez pour moi dans le cadre de ce concours (http://www.reseauiq.qc.ca/blogue/?p=97) pour m'aider à le rendre disponible à tous!
Plus d'infos:
1) Présentation au jury pour ma maîtrise en génie, ÉTS 2015. Mention d'excellence reçue du jury.
2)Site web du logiciel conçu: http://patricktremblay.ca/sPhone/
3) Titre de mon mémoire: "CONCEPTION ET RÉALISATION D’UN LOGICIEL DE SOUTIEN PHONÉTIQUE AUTOMATISÉ ET DÉGRESSIF POUR LES PERSONNES DYSLEXIQUES, ALLOPHONES OU PRÉSENTANT DES INCAPACITÉS INTELLECTUELLES".
I. Bounhas et Y. Slimani, “Désambiguïsation de textes Arabes pour l'extraction des syntagmes nominaux, L'apport de la structure des documents”, 10ème Colloque Africain sur la Recherche en Informatique et en Mathématiques Appliquées, Yamoussoukro, Côte d'Ivoire, 18 – 21 octobre 2010, pp. 93-100.
تتناول التفاعل المعقد بين اللغة والمعرفة والذكاء في سياق العصر الرقمي، مع التركيز بشكل خاص على التطورات في الذكاء الاصطناعي (AI) والتعلم العميق (Deep Learning). ونستكشف كيف أدى ظهور الذكاء الاصطناعي، وخاصة معالجة اللغة الطبيعية (NLP) ، إلى إعادة تشكل هذه العلاقات، خاصة بعدما تجاوز الذكاء الاصطناعي المعالجة الإحصائية للغة وبدأ في محاولة معالجة المعنى، لا سيما من خلال تقنيات التعلم العميق وتقنيات التضمين (Embedding).
Mrbml004 : Introduction to Information Theory for Machine LearningJaouad Dabounou
La quatrième séance de lecture de livres en machine learning.
Vidéo : https://youtu.be/Ab5RvD7ieFg
Elle concernera une brève introduction à la théorie de l'information: Entropy, K-L divergence, mutual Information,... et son application dans la fonction de perte et notamment la cross-entropy.
Lecture de trois livres, dans le cadre de "Monday reading books on machine learning".
Le premier livre, qui constituera le fil conducteur de toute l'action :
Christopher Bishop; Pattern Recognition and Machine Learning, Springer-Verlag New York Inc, 2006
Seront utilisées des parties de deux livres, surtout du livre :
Ian Goodfellow, Yoshua Bengio, Aaron Courville; Deep Learning, The MIT Press, 2016
et du livre :
Ovidiu Calin; Deep Learning Architectures: A Mathematical Approach, Springer, 2020
On présente ici un réseau récurrent séquence à séquence (ou sequence to sequence: seq2seq) pour la traduction automatique. Nous présentons ci-dessous une architecture simplifiée basée sur un réseau récurrent composé le plus souvent de cellules LSTM avec un mécanisme d'attention.
Le réseau RNN, et tout particulièrement la variante LSTM, permettent de créer des modèles Séquence à séquence (Seq2seq) pour la traduction automatique. Mais le problème du goulot d'étranglement entre l'encodeur et le décodeur a conduit à l'utilisation d'un mécanisme d'attention pour faciliter l'accès à l'information pertinente contenue dans les états cachés de l'encodeur lors de la phase de décodage et garantir un bon alignement des mot dans les séquences en sortie.
Liens pour les vidéos :
I- Introduction
https://youtu.be/JhH6MSST2ic
II- Principes du mécanisme d'attention
https://youtu.be/EjhPvC9aizs
III- Machine Translation avec Attention
https://youtu.be/5avpZ0Ea4x8
IV- Graphe et matrice des liaisons pertinentes
https://youtu.be/1zFXWT4cuKI
Bonjour
Analyse Convexe : Projection sur les ensembles convexes fermés
Cours d'analyse convexe dans le cadre du master : Mathématiques et Applications de la FST de Settat - Université Hassan 1er.
Vidéo :
https://youtu.be/j1jyD_OocY8
Cordialement
Pr JAOUAD DABOUNOU
FST DE SETTAT
UNIVERSITE HASSAN 1er
Bonjour
Analyse Convexe : Projection d’un point sur un ensemble
Cours d'analyse convexe dans le cadre du master : Mathématiques et Applications de la FST de Settat - Université Hassan 1er.
https://youtu.be/hXxYcuKvppo
Cordialement
Pr JAOUAD DABOUNOU
FST DE SETTAT
UNIVERSITE HASSAN 1er
Bonjour
Analyse Convexe : Distance à un ensemble
Cours d'analyse convexe dans le cadre du master : Mathématiques et Applications de la FST de Settat - Université Hassan 1er.
Vidéo :
https://youtu.be/G9c-bhehgAo
Cordialement
Pr JAOUAD DABOUNOU
FST DE SETTAT
UNIVERSITE HASSAN 1er
Bonjour
Analyse Convexe : Théorèmes de Carathéodory
Cours d'analyse convexe dans le cadre du master : Mathématiques et Applications de la FST de Settat - Université Hassan 1er.
Vidéo :
https://youtu.be/vqfy2MNuQbk
Cordialement
Pr JAOUAD DABOUNOU
FST DE SETTAT
UNIVERSITE HASSAN 1er
Bonjour
Analyse Convexe : Intérieurs relatifs d’ensembles convexes
Cours d'analyse convexe dans le cadre du master : Mathématiques et Applications de la FST de Settat - Université Hassan 1er.
Vidéo :
https://youtu.be/DdUTVKKpu70
Cordialement
Pr JAOUAD DABOUNOU
FST DE SETTAT
UNIVERSITE HASSAN 1er
Série de TD 1 avec correction.
Module d'analyse convexe pour le master Mathématiques et Applications à la FST de Settat - Université Hassan 1er.
Vidéos des corrections:
Exercice 1 : https://youtu.be/iQZPyBzM6
Exercice 2/3 : https://lnkd.in/dfbgvsv
Exercice 4/5 : https://lnkd.in/dfbgvsv
L'Analyse Factorielle des Correspondances est présentée dans ce document à travers un exemple simple, pour mes étudiants à la FST de Settat. Mais cela peut aussi intéresser d'autres personnes, surtout dans ces conditions particulières de la pandémie de Covid-19.
Ce thème est aussi disponible en vidéo :
https://youtube.com/playlist?list=PLzjg2z2kYUrg6XvYVYMxdZQnouBEwavfQ
Cordialement
Pr JAOUAD DABOUNOU
FST DE SETTAT
UNIVERSITE HASSAN 1er
Ce document qui utilisent comme prétexte un exercice pour vous présenter l'ACP, vous comprendrez l'essentiel de ce que permet de faire une Analyse en Composantes Principales.
Certains fondements mathématiques et illustrations géométriques permettent d'appréhender les concepts derrière cette méthode d'analyse factorielle.
Je un exercice simple sur l'ACP et détaille quelques éléments de réponse pour mes étudiants à la FST de Settat. Mais cela peut aussi intéresser d'autres personnes, surtout dans ces conditions particulières de la pandémie de Covid-19.
Vos réactions me seront très utiles pour apporter davantage d'éclaircissements.
Ce thème est aussi disponible en vidéo :
https://www.youtube.com/playlist?list=PLzjg2z2kYUrgV6fswgo5B5gaYWfVFX44V
Cordialement
Pr JAOUAD DABOUNOU
FST DE SETTAT
UNIVERSITE HASSAN 1er
Méthode d'Analyse en Composantes Principales dans la perspective de son utilisation pour réduire la dimensionnalité dans le cadre d'un traitement par réseau de neurones.
Ce document s'inscrit dans un travail global sur l'Intelligence artificielle.
Ce cours introduit l'interpolation polynomiale de Lagrange. Il fait partie du module d'analyse numérique donné en Parcours MIP à la FST de Settat, Université Hassan 1er.
Ce cours introduira les étudiants à l'analyse numérique. Il aborde les thèmes suivants :
- Introduction au calcul numérique,
- Résolution des équations numériques,
- Interpolation polynomiale,
- Dérivation et intégration numériques,
- Résolution des équations différentielles ordinaires
- Résolution de systèmes linéaires.
A chaque fois, les notions présentées sont illustrées par des exemples pratiques. Des exercices
et problèmes sont aussi proposés afin de confronter les étudiants aux multiples difficultés du
calcul numérique.
Ce recueil de contrôles d'analyse numérique avec correction couvre la période allant de 2011 à 2015. Il apporte aux étudiants des éléments leur permettant d'aborder efficacement les problèmes d'analyse numérique, niveau parcours MIP semestre 3.
L'attention a été faite sur les raisonnements à développer chez les étudiants en essayant de présenter, au début du document, les erreurs de logique dont souffrent un grand nombre de ces étudiants.
La complexité des questions et leur difficulté sont variables et de différentes forme, mais le principe général était que ces contrôles soient abordable à la majorité des étudiants.
Ce recueil constitue un complément au polycopié d'analyse numérique déjà disponible. Il sera enrichi au fur et à mesure par de nouveaux contrôles et éventuellement, par des exercices et problèmes complémentaires, si leur utilité est démontrée.
Introduction des méthodes de base de dérivation et d'intégration numériques. Ce cours fait partie du module d'analyse numérique donné en Parcours MIP à la FST de Settat, Université Hassan 1er.
L'IA connaît une croissance rapide et son intégration dans le domaine éducatif soulève de nombreuses questions. Aujourd'hui, nous explorerons comment les étudiants utilisent l'IA, les perceptions des enseignants à ce sujet, et les mesures possibles pour encadrer ces usages.
Constat Actuel
L'IA est de plus en plus présente dans notre quotidien, y compris dans l'éducation. Certaines universités, comme Science Po en janvier 2023, ont interdit l'utilisation de l'IA, tandis que d'autres, comme l'Université de Prague, la considèrent comme du plagiat. Cette diversité de positions souligne la nécessité urgente d'une réponse institutionnelle pour encadrer ces usages et prévenir les risques de triche et de plagiat.
Enquête Nationale
Pour mieux comprendre ces dynamiques, une enquête nationale intitulée "L'IA dans l'enseignement" a été réalisée. Les auteurs de cette enquête sont Le Sphynx (sondage) et Compilatio (fraude académique). Elle a été diffusée dans les universités de Lyon et d'Aix-Marseille entre le 21 juin et le 15 août 2023, touchant 1242 enseignants et 4443 étudiants. Les questionnaires, conçus pour étudier les usages de l'IA et les représentations de ces usages, abordaient des thèmes comme les craintes, les opportunités et l'acceptabilité.
Résultats de l'Enquête
Les résultats montrent que 55 % des étudiants utilisent l'IA de manière occasionnelle ou fréquente, contre 34 % des enseignants. Cependant, 88 % des enseignants pensent que leurs étudiants utilisent l'IA, ce qui pourrait indiquer une surestimation des usages. Les usages identifiés incluent la recherche d'informations et la rédaction de textes, bien que ces réponses ne puissent pas être cumulées dans les choix proposés.
Analyse Critique
Une analyse plus approfondie révèle que les enseignants peinent à percevoir les bénéfices de l'IA pour l'apprentissage, contrairement aux étudiants. La question de savoir si l'IA améliore les notes sans développer les compétences reste débattue. Est-ce un dopage académique ou une opportunité pour un apprentissage plus efficace ?
Acceptabilité et Éthique
L'enquête révèle que beaucoup d'étudiants jugent acceptable d'utiliser l'IA pour rédiger leurs devoirs, et même un quart des enseignants partagent cet avis. Cela pose des questions éthiques cruciales : copier-coller est-il tricher ? Utiliser l'IA sous supervision ou pour des traductions est-il acceptable ? La réponse n'est pas simple et nécessite un débat ouvert.
Propositions et Solutions
Pour encadrer ces usages, plusieurs solutions sont proposées. Plutôt que d'interdire l'IA, il est suggéré de fixer des règles pour une utilisation responsable. Des innovations pédagogiques peuvent également être explorées, comme la création de situations de concurrence professionnelle ou l'utilisation de détecteurs d'IA.
Conclusion
En conclusion, bien que l'étude présente des limites, elle souligne un besoin urgent de régulation. Une charte institutionnelle pourrait fournir un cadre pour une utilisation éthique.
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...OCTO Technology
par Claude Camus (Coach agile d'organisation @OCTO Technology) et Gilles Masy (Organizational Coach @OCTO Technology)
Les équipes infrastructure, sécurité, production, ou cloud, doivent consacrer du temps à la modernisation de leurs outils (automatisation, cloud, etc) et de leurs pratiques (DevOps, SRE, etc). Dans le même temps, elles doivent répondre à une avalanche croissante de demandes, tout en maintenant un niveau de qualité de service optimal.
Habitué des environnements développeurs, les transformations agiles négligent les particularités des équipes OPS. Lors de ce comptoir, nous vous partagerons notre proposition de valeur de l'agilité@OPS, qui embarquera vos équipes OPS en Classe Business (Agility), et leur fera dire : "nous ne reviendrons pas en arrière".
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...Horgix
This is the slide deck of a talk by Alexis "Horgix" Chotard and Laurentiu Capatina presented at the MongoDB Paris User Group in June 2024 about the feedback on how PayFit move away from a monolithic hell of a self-hosted MongoDB cluster to managed alternatives. Pitch below.
March 15, 2023, 6:59 AM: a MongoDB cluster collapses. Tough luck, this cluster contains 95% of user data and is absolutely vital for even minimal operation of our application. To worsen matters, this cluster is 7 years behind on versions, is not scalable, and barely observable. Furthermore, even the data model would quickly raise eyebrows: applications communicating with each other by reading/writing in the same MongoDB documents, documents reaching the maximum limit of 16MiB with hundreds of levels of nesting, and so forth. The incident will last several days and result in the loss of many users. We've seen better scenarios.
Let's explore how PayFit found itself in this hellish situation and, more importantly, how we managed to overcome it!
On the agenda: technical stabilization, untangling data models, breaking apart a Single Point of Failure (SPOF) into several elements with a more restricted blast radius, transitioning to managed services, improving internal accesses, regaining control over risky operations, and ultimately, approaching a technical migration when it impacts all development teams.
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...OCTO Technology
Par Nicolas Bordier (Consultant numérique responsable @OCTO Technology) et Alaric Rougnon-Glasson (Sustainable Tech Consultant @OCTO Technology)
Sur un exemple très concret d’audit d’éco-conception de l’outil de bilan carbone C’Bilan développé par ICDC (Caisse des dépôts et consignations) nous allons expliquer en quoi l’ACV (analyse de cycle de vie) a été déterminante pour identifier les pistes d’actions pour réduire jusqu'à 82% de l’empreinte environnementale du service.
Vidéo Youtube : https://www.youtube.com/watch?v=7R8oL2P_DkU
Compte-rendu :
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Laurent Speyser
(Conférence dessinée)
Vous êtes certainement à l’origine, ou impliqué, dans un changement au sein de votre organisation. Et peut être que cela ne se passe pas aussi bien qu’attendu…
Depuis plusieurs années, je fais régulièrement le constat de l’échec de l’adoption de l’Agilité, et plus globalement de grands changements, dans les organisations. Je vais tenter de vous expliquer pourquoi ils suscitent peu d'adhésion, peu d’engagement, et ils ne tiennent pas dans le temps.
Heureusement, il existe un autre chemin. Pour l'emprunter il s'agira de cultiver l'invitation, l'intelligence collective , la mécanique des jeux, les rites de passages, .... afin que l'agilité prenne racine.
Vous repartirez de cette conférence en ayant pris du recul sur le changement tel qu‘il est généralement opéré aujourd’hui, et en ayant découvert (ou redécouvert) le seul guide valable à suivre, à mon sens, pour un changement authentique, durable, et respectueux des individus! Et en bonus, 2 ou 3 trucs pratiques!
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Modèles de langue : Ngrammes
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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) =
SCtrain
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Perplexité des modèles N-gramme
60
On obtient aussi l’expression de la cross-entropie par mot:
H(Ctest) =
1
SCtest
𝐒 𝐒 𝐂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