• Aucun résultat trouvé

Chapitre 2 : Approches syntaxiques et Réseaux de neurones artificiels 34

2.  Les approches syntaxiques 34 

2.5.  Apprentissage : inférence grammaticale 44 

2.5.1. Préliminaires

Nous nous intéressons ici à l’apprentissage de modèles structurels pouvant être décrits par le biais d’une grammaire formelle. Ce problème relève de l’inférence grammaticale dans le sens classique du terme [Gold67]. Elle consiste en l’apprentissage d’une grammaire représentant un langage à partir d’un ensemble d’exemples. Cet ensemble est formé au moins d’un échantillon positif, c’est-à-dire un sous-ensemble fini d’un langage. Nous pouvons également disposer d’un échantillon négatif, c’est-à-dire un ensemble fini de chaînes n’appartenant pas au langage.

L'inférence grammaticale est un domaine de recherche né dans les années 1960, motivé par l'analyse et l'acquisition de la langue naturelle. Les travaux fondateurs sont apparus dans l’article d’E.M. Gold [Gold67] après une formalisation de la notion de langage par N.Chomsky [Chom56]. Outre son intérêt théorique, elle offre un ensemble d’applications potentielles, telles que le traitement automatique de la langue naturelle [Roch97], l’annotation automatique des séquences de type biologique ([Fred03], [Cost04], [Lero05], [Kerb08]) et aussi dans les domaines de la reconnaissance syntaxiques de formes (reconnaissance de la parole ([Dupo96], [Mohr07]), de l’écriture ([Ron98], [Amin03], [Ota07], [Abdu09]) et de documents ([Ahon94], [Soua02])).

Les méthodes d'inférence grammaticale développées dans le domaine des langages formels sont souvent inadéquates pour apprendre des structures de formes complexes, mais elles peuvent être utiles pour des formes très complexes, comme les figures géométriques, ou des parties de formes dont la structure est plus simple que celle de la forme globale. Il existe plusieurs algorithmes pour la solution de l’inférence grammaticale. Dans ce mémoire, nous nous limiterons à l’inférence régulière ([Dupo94], [Dupo98]), c’est-à-dire l’apprentissage d’une grammaire représentant un langage supposé régulier. Nous donnons dans la section suivante le principe de l’algorithme d’inférence régulière. Pour une vue globale du domaine de l'inférence grammaticale, le lecteur pourra se référer aux références ([Micl84], [Higu97], [Saka97], [Dupo98], [Cost00], [Higu05]).

2.5.2. L’inférence régulière

Lorsque l’apprentissage concerne plus spécifiquement des grammaires régulières pouvant être représentées sous la forme d’un automate fini, on parle alors d’inférence grammaticale régulière [Dupo98]. Le problème posé consiste à faire l’apprentissage d’un automate fini à partir d’un multi-ensemble d’exemples. On se place ici dans le cadre de l’apprentissage

supervisé où les exemples peuvent être étiquetés positivement, c’est-à-dire appartenant au langage à apprendre et éventuellement négativement ou bien ne faisant pas partie de ce langage (on parle alors de contre-exemples). D’un point de vue d’apprentissage automatique, l’inférence consiste en la recherche d’un modèle de généralisation à partir d’un échantillon d’apprentissage positif, voire d’un échantillon négatif. On considère que l’échantillon positif a été généré par un automate particulier appelé automate cible. L’objectif de l’inférence est alors d’identifier cet automate qui a généré les données d’apprentissage.

En reconnaissance syntaxique de formes, nous allons supposer que les formes que l’on gère sont en fait des mots d’un langage particulier et nous supposons que les classes sont en fait définies par des échantillons de mots. Chaque classe est donc définie par un petit paquet de mots. C’est à partir de ce paquet de mots qu’il faut trouver une technique de discrimination. Autrement dit, il s’agit de découvrir quelle est la grammaire régulière (ou l’automate fini) qui génère la classe des échantillons. Notons I l’ensemble d’échantillons définissant une classe, alors il faut trouver l’automate ou la grammaire qui génère ces mots. Ce problème d’inférence admet une infinité de solutions : l’une d’entre elles est simplement la grammaire universelle Gu dont le langage accepté est X*. Si X est l’alphabet sur lequel l’ensemble I est écrit, alors l’automate fini correspondant à cette grammaire est présenté à la Figure 2.7 ci-dessous :

Figure 2.7 : Automate universel sur l’alphabet X= {a, b}

Remarquons que l’on peut ajouter à X autant de lettres que l’on veut, tout en conservant la grammaire universelle ainsi engendrée dans les solutions au problème d’inférence.

Une autre solution, nommée grammaire canonique maximale notée GCM(I) qui ne génère que les échantillons de I. Donnons sa construction sur un exemple :

Soit I {a, bc, abc, ababc} . La grammaire canonique maximale GCM(I) serait représentée par l’automate de la Figure 2.8. Cet automate est appelé automate canonique maximale de I

ACM(I).

De la même façon, on peut ajouter à GCM(I) des transitions quelconques portant des lettres de X, des lettres extérieures à X sans sortir de l’ensemble des solutions. Il existe donc une infinité de solutions au niveau des grammaires. Pour éviter cette infinité de solutions sans

intérêt, une condition a été imposée sur l’ensemble des échantillons I, pour qu’il soit structurellement complet par rapport à la grammaire proposée.

Nous donnons la définition d’un échantillon structurellement complet, correspondant à celle introduite dans [Dupo94], et qui représente la structure que doit avoir un échantillon caractéristique pour permettre l’inférence d’un automate déterministe.

Figure 2.8 : L’automate ACM(I)

Un ensemble d’échantillons I est complet par rapport à la grammaire G (X, V, P, S) si et seulement si :

1. IL(G);

2. L’alphabet sur lequel est écrit l’ensemble I est égal à X ;

3. Toutes les règles de P sont utilisées au moins une fois dans une génération des mots de I.

Moyennant cette condition, le problème de l’inférence grammaticale devient alors :

Pour un échantillon I, il faut trouver une grammaire (ou toutes les grammaires) G telle que,

1. IL(G);

2. I est complet par rapport à G.

Cette restriction naturelle permettra de trouver des algorithmes d’énumération des solutions, en particulier dans le cas des grammaires régulières. Cependant, leur nombre est toujours très grand par rapport à la taille de l’échantillon.

Plusieurs algorithmes ont été proposés dans le cadre de l’inférence d’automates. L’approche la plus utilisée afin de réaliser l’inférence d’automates est celle dite par fusion d’états à partir d’un automate canonique maximal (MCA) [Dupo98]. Le MCA des échantillons positifs représente exactement le langage des exemples donnés. L’idée est de

procéder à l’apprentissage par fusion d’états et de généraliser le langage (augmenter le nombre des échantillons acceptés) en appliquant des fusions entre les états. En effet, celles- ci génèrent de nouveaux automates introduisant de nouveaux chemins et donc de nouveaux échantillons dans le langage, à partir du MCA. Les différents algorithmes diffèrent ensuite par leur stratégie de choix d’états à fusionner et leur critère d’arrêt [Dupo98]. Pour une revue des algorithmes de l'inférence régulière, le lecteur pourra se référer aux références ([Dupo98], [Cost00], [Fred03], [Higu05]).

Récemment, d’autres approches utilisent des automates à états finis pondérés pour la reconnaissance syntaxique de formes. Y. LeCun et al. proposent d’étendre ce formalisme à la reconnaissance de l’écriture [LeCu98]. Cette idée est également reprise par X. Dupré [Dupr03], et ensuite par F. Menasri [Mena08] sur une tâche plus simple de reconnaissance de noms de famille français écrits en lettres capitales.