• Aucun résultat trouvé

2.4 Modélisation statistique du langage

2.4.5 Modèles n -classes

  D1 = 1 − 2Y × n2 n1 D2 = 2 − 3Y × n3 n2 D3+ = 3 − 4Y × n4 n3 (2.32) avecY = n1

n1 + 2n2 etn1,n2,n3 etn4 le nombre total den-grammes apparaissant, respective-ment, exactement une fois, deux fois, trois fois et quatre fois, dans l’ensemble d’apprentissage.

2.4.5 Modèlesn-classes

Le principe des modèlesn-classes est de considérer des séquences denclasses et non plus de nmots, comme c’est le cas pour les modèles n-grammes. Les mots sont ainsi regroupés en classes, de telle façon que des mots appartenant à une même classe ont un comportement similaire. Ces modèles comportent alors moins de probabilités à estimer que les modèlesn -grammes. De plus, le regroupement des mots en classes permet aussi de pouvoir estimer la probabilité d’une suite de mots qui n’est pas présente dans le corpus d’apprentissage si la séquence de classes correspondantes est, elle, présente dans le corpus.

Il existe différentes variantes des modèles n-classes, dépendant de la façon de calculer la probabilité P(wi|Φ(hi))ainsi que du choix de la classification des mots. Nous détaillons différentes approches dans les sous-sections suivantes.

2.4.5.1 Calcul des probabilités à partir des classes

La probabilité P(wi|Φ(hi)) est calculée à partir de la classe du mot wi et de celles des mots de son historiquehi. Il existe alors plusieurs façons de prendre en compte les classes des mots [Goo01], la plus utilisée étant l’approche ibm [BPdSL92]. Dans ce cas, un mot ne peut appartenir qu’à une seule classe : cette classification est alors dite déterministe. La probabilité

P(wi|Φ(hi))est alors donnée par l’équation suivante :

PClassDeterm(wi|wii1n+1) =P(wi|ci)×P(ci|cii1n+1) (2.33) aveccila classe à laquelle appartient le motwietcii1n+1la séquence de classes correspondant à l’historique wii1n+1. Les probabilités P(wi|ci) et P(ci|cii1n+1) peuvent être estimées au maximum de vraisemblance par :

PMLE(wi|ci) = N(wi) N(ci) (2.34) et PMLE(ci|cii1n+1) = N(c i−1 i−n+1ci) P cj∈C N(cii1n+1cj) (2.35)

avecCl’ensemble des classes.

Comme dans le cas des modèles n-grammes, un modèle de lissage peut être utilisé pour calculer ces probabilités (voir section 2.4.4).

Dans le cas de la classification stochastique [Nie97], un mot peut appartenir à plusieurs classes. Il faut alors tenir compte de toutes les séquences de classes pouvant correspondre à la séquence de motswiin+1. L’équation 2.33 devient alors :

PClassStoch(wi|wii1n+1) = X

ci∈C(wi)

cii1n+1 ∈C(win+1)× · · · ×C(wi1)

P(wi|ci)×P(ci|cii1n+1)

(2.36) avecC(wi)l’ensemble des classes auxquelles appartient le motwietC(wi−n+1)×. . .×C(wi−1)

l’ensemble de toutes les séquences de classes correspondant à la séquence de motswii1n+1. Les modèles multiclasses [YIS03] se situent entre les deux modèles précédents. En effet, chaque mot possède deux classes : l’une appelée classe prédictive, quand il est en positionwi

dans le calcul de la probabilitéP(wi|Φ(hi)), et l’autre appelée classe conditionnelle, lorsqu’il fait partie de l’historiquehi. L’équation 2.33 devient alors :

PMulticlasse(wi|wiin1+1) =P(wi|cp(wi))×P(ci|cc(wiin1+1)) (2.37) aveccp(wi)la classe prédictive du motwietcc(wiin1+1)la séquence de classes conditionnelles correspondant à la séquence de motswiin1+1.

Cette classification permet de faire la distinction entre les voisinages gauche et droit d’un mot, comme ces voisinages peuvent être différents. Par exemple, les articles français le et l’ ont des voisinages gauches similaires et appartiennent donc à la même classe prédictive. En revanche, leur voisinage droit est différent puisque le précède un mot commençant par une consonne alors que l’ précède un mot commençant par une voyelle : leurs classes condition-nelles seront donc différentes.

2.4.5.2 Choix des classes

Classes prédéfinies Les classes peuvent tout d’abord être construites manuellement. Ainsi, les couleurs ou encore les jours de la semaine peuvent constituer des classes. Afin de pouvoir apprendre les probabilités du modèle de langage, le corpus doit être étiqueté, c’est-à-dire que chacun des mots du corpus doit être associé avec sa classe. Cette approche n’est cependant pos-sible que si le nombre de classes est réduit. Ainsi, dans [Ros94], des classes ont été construites pour les compagnies d’aviation ou encore les villes.

Le modèle de langage le plus utilisé parmi ceux à base de classes prédéfinies est le

modèle POS (Part Of Speech) [MS99, Nie97]. Dans ce modèle de langage, les classes

utili-sées correspondent aux catégories morpho-syntaxiques des mots, c’est-à-dire leurs catégories grammaticales telles que nom, verbe. . .. Dans ce cas, un mot peut appartenir à plusieurs classes, ce qui correspond à une classification stochastique. Par exemple, le mot souris peut être soit un nom, soit un verbe.

Bien qu’étant basé sur une approche statistique, ce type de modèle exprime des connais-sances syntaxiques. Néanmoins, les modèles à base de classes construites automatiquement se révèlent généralement plus performants, ce que nous présentons dans le paragraphe suivant.

Construction automatique des classes Lors de la construction automatique des classes, le regroupement se fait à l’aide d’un critère statistique à maximiser. Ces méthodes procèdent de manière itérative : à chaque étape, la meilleure classification est recherchée, en partant de la classification obtenue à l’itération précédente et en la modifiant. La classification finale obtenue est déterministe puisque chacun des mots n’appartient qu’à une seule classe. Il reste cependant à choisir le nombre optimal de classes qui permet d’obtenir le meilleur compromis entre les performances du modèle de langage et la taille de celui-ci. Il existe deux principaux algorithmes pour construire cette classification, que nous détaillons par la suite.

Dans l’algorithme d’échange [NEK94, MLN98], donné par l’algorithme 2.1, les mots du vocabulaire sont tout d’abord classés selon leur fréquence d’apparition décroissante, dans le corpus d’apprentissage. Ensuite, une classe est créée pour chacun desC−1premiers mots et les mots restants sont regroupés dans une même classe. À chaque itération, l’algorithme tente de déplacer chacun des mots de sa classe vers une des autres et le déplacement choisi pour chaque mot est celui qui permet d’obtenir la classification qui minimise la perplexité sur le corpus d’apprentissage. La complexité de cet algorithme, en terme de nombre de calculs de perplexité, est alors O(V CK), avec V le nombre de mots du vocabulaire, C le nombre de classes etK le nombre maximal d’itérations.

Dans l’algorithme de Brown [BPdSL92], présenté par l’algorithme 2.2, les mots sont aussi ordonnés selon leur fréquence d’apparition décroissante et une classe est créée, cette fois, pour chacun desCpremiers mots. Chacune des itérations correspond à la création d’une classe pour un des mots restants, puis à la recherche de la fusion de deux classes qui permette de mi-nimiser également la perplexité sur le corpus d’apprentissage. La complexité de cet algorithme, toujours en terme de nombre de calculs de perplexité, est alorsO(V C2).

Dans l’algorithme de Brown, la classification finale de tous les mots du vocabulaire ne sera réalisée qu’à la fin de l’algorithme alors que dans l’algorithme d’échange chacune des classifications intermédiaires correspond à une classification de tous les mots du vocabulaire.

2.4.5.3 Bilan

Un des avantages des modèlesn-classes est leur compacité. En effet, comme il y a moins d’historiques différents à considérer, ces modèles de langage comportent moins de paramètres. Cela permet aussi de considérer des historiques plus longs, pour un nombre de paramètres com-parable à celui d’un modèlen-gramme traitant d’historiques plus courts. Les modèlesn-classes permettent aussi de parer au problème du manque de données. En effet, ils permettent d’esti-mer la probabilité d’une séquence de mots non présente dans le corpus d’apprentissage si la séquence de classes correspondante était présente dans ce corpus d’apprentissage. L’utilisation de ces modèles de langage est ainsi bien indiquée lorsque les données d’apprentissage sont en quantité limitée.

Toutefois, ces modèles de langage sont moins précis que les modèlesn-grammes puisque les mots sont regroupés en classes et que des informations sont ainsi perdues.

Algorithme 2.1 : Algorithme d’échange, pour la création de classes [NEK94]. Données :

V mots correspondant au vocabulaire; Résultat :

Cclasses qui représentent le partitionnement des mots;

début

ordonner les mots selon leur fréquence décroissante; créer une classe pour chacun des(C−1)premiers mots; créer une classe regroupant les(V −C+ 1)mots restants; tant que critère de fin non satisfait faire

pour i =1àV faire pour j =1àCfaire

calculer la perplexité obtenue sur le corpus d’apprentissage lorsque le motwi est déplacé de sa classeci vers la classecj;

changer le motwide sa classecivers la classecj qui permette d’obtenir la perplexité minimale sur le corpus d’apprentissage;

fin

Algorithme 2.2 : Algorithme de Brown, pour la création de classes [BPdSL92]. Données :

V mots correspondant au vocabulaire; Résultat :

Cclasses qui représentent le partitionnement des mots;

début

ordonner les mots selon leurs fréquences décroissantes; créer une classe pour chacun desCpremiers mots; pour i =C+ 1àV faire

créer une classe pour leiemot (classeCC+1); pour j =1àC+ 1faire

pour k =1àC+ 1faire

calculer la perplexité obtenue sur le corpus d’apprentissage lorsque les classescjetcksont fusionnées;

regrouper les deux classescj etckqui permettent d’obtenir la perplexité minimale sur le corpus d’apprentissage;