• Aucun résultat trouvé

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

2.  Les approches syntaxiques 34 

2.1.  Langages et grammaires 35 

2.1.1. Alphabet, mot

Un alphabet est un ensemble fini de symboles, noté Χ. Ses éléments appelés des lettres, seront notés : a, b, c…. La taille X d’un alphabet Χ est le nombre de ses éléments.

Un mot ou une phrase sur un alphabet X est une suite de lettres de X représentée par une simple juxtaposition (concaténation) de ces éléments. On définit par convention le mot vide comme le mot de longueur nulle. On le note ici par ε.

L’ensemble de tous les mots que l’on peut écrire sur l’alphabet X se note : X*. On note : *-{ }

X X  , l’ensemble des mots non vides.

Par exemple dans l’alphabet : X { , , }a b c . Un mot sur l’alphabet X est x bcaab . D’où, la longueur de x est 5 on écrit : |x|=5.

2.1.2. Langages

Un langage L sur l’alphabet X est un ensemble de mots de X*. Par exemple :

1 { * / }

L  x X nombre de lettres de x est pair , L2 { ,  a aa aaa, , ... an pour n  , 0 } 3

L  et 4 { }Ø L  

On peut définir plusieurs opérations sur les langages. Les opérations booléennes sont l’union, l’intersection, la complémentation et la différence qui s’en déduit.

Si A et B deux langages construits sur un même alphabet X, alors :

*|

;

*|

A B  z X z A ou z B  A B  z X z A et z B 

*\ *| ; \ *| c c AX A z X z AA B A B   z X z A et z B  2.1.2.1. Produit de deux langages

Soient L1 et L2 deux langages définis sur deux alphabets quelconques X1 et X2, alors le

produit de L1 et L2 est défini sur l’alphabet X1 X2 par : L{ / xy x L et y L 1  2}.

Par exemple, si L1{ , }a abc et L2 {bcd d, }Alors L L1 2 {abcd ad abcbcd abcd, , , }. 2.1.2.2. Fermeture d’un langage

La fermeture d’un langage L, notée L* est définie de la façon suivante :

* 0 1

0

{ },

1

n n n

n

L

L avec L

 

est le mot vide et L

LL

pour n

Enfin, on note L+l’étoile propre de L :

1 . * *. n n LL L L L L  

 

Pour représenter commodément certains langages infinis par un nombre fini de symboles mathématiques, on dispose de grammaires formelles qui hiérarchisent l’ensemble des langages par la complexité de leur structure syntaxique.

Nous présentons par la suite la définition d’une grammaire ainsi que le procédé de génération d’une phrase par une grammaire.

2.1.3. Grammaire et langage généré

Une grammaire permet de représenter des langages infinis (à nombre infini de mots) par un nombre fini de symboles et de règles. Chomsky [Chom56] a défini une grammaire G comme un quadruplet G( , , , )X V S P où :

 X est l’alphabet où sont écrites les phrases du langage engendré, appelé alphabet terminal ;

 V est un alphabet auxiliaire ou non terminal ;

 S est un élément particulier de V, appelé axiome (symbole de départ) ;

 P est un ensemble de règles de production qui permettront le déroulement du processus de génération de mots.

Une règle de production peut être définie par le passage d’une chaîne α non vide formée de lettres de l’alphabet terminal et d’éléments de l’alphabet auxiliaire à une nouvelle chaîne β du même type pouvant être vide. Avec(VX)* V (VX)* et (VX)*.

Cela signifie que α et β sont des chaînes formées en concaténant un nombre quelconque d’éléments de V ou X mais α contient au moins une lettre de l’alphabet et β peut être le mot vide.

2.1.3.1. Génération d’une phrase par une grammaire *

( )  ( )

   

SoitV X etV X . On dit que α se récrit en β selon la grammaire G, ou que la grammaire G dérive β de α en une étape (ce qui se note :   , ou si besoin

G

 ) si et seulement si on peut écrire α et β sous la forme :  x'y (avec éventuellement x  ou y  ) ;   = x ' y ;

 avec

P

;

La grammaire G dérive en k étapes ß de α (ce qui se note : k) si et seulement si 1

k

   = 0 ;    = k ;

 ii1 pour 0 i k-1  .

La grammaire G dérive de   (ce qui se note :  *) s’il existe un entier k tel que : k

 . Pour k ≥1 la séquence ...i... s’appelle une dérivation de par   . De plus, une dérivation est dite gauche (respectivement droite) si, à chaque étape, on remplace le non-terminal le plus à gauche (respectivement le plus à droite).

Processus génératif associé à la grammaire G : On part de l’axiome S qui peut être

considéré comme une règle de production particulière permettant d’initialiser le processus des réécritures successives puis on applique d’une manière successive des règles de production éligibles en procédant à des réécritures successives a a  Si a1 2 n n’est

composé que de symboles du vocabulaire terminal (alphabet X) alors on ne peut plus faire de réécritures et an est donc un des mots générés par la grammaire G. On dit qu’un mot v X est engendré par la grammaire G quand il peut se dériver en un nombre quelconque d’étapes à partir de l’axiome de G, ce qui s’écrit : S . L’ensemble des mots qui *

v

peuvent être générés par la grammaire forme le langage généré par G que nous noterons

L(G): L G( )

x S| *x

.

2.1.3.2. Exemple de grammaires et langages générés correspondants

Considérons la grammaire G1 définit comme suit:X

 

a b, , ,V

 

S A , avec S est

l’axiome: : S aS S bA P bA bbA A a          

Exemples de réécritures : SaSaaSaabAaaba. On ne déduit que : ( 1)

aaba L G et L G( 1)

a b a avec nn m 0 1 et m .

2.1.3.3. Hiérarchie de Chomsky

Chomsky [Chom56] a construit à partir de la représentation par grammaire une hiérarchie de classes de représentation connue sous le terme de hiérarchie de Chomsky. Les classes de

la hiérarchie de Chomsky sont définies par des contraintes syntaxiques sur la forme des règles de production :

 Les grammaires de type 0 n’ont aucune contrainte sur les règles de production ;  Les grammaires de type 1, ou grammaires sensibles au contexte, ont des règles de

production qui ne contiennent qu’un seul non-terminal en partie gauche et une partie droite différente du mot vide 

 Les grammaires de type 2, ou grammaires hors-contextes, ou encore grammaires algébriques, ont des règles de production dont les parties gauches sont formées d’un unique non terminal ;

 Les grammaires de type 3, ou grammaires régulières, ou encore grammaires rationnelles, ont des règles de production formées d’un non terminal en partie gauche et en partie droite soit d’une unique lettre, soit d’une lettre puis d’un non terminal. La relation d’inclusion entre ces quatre types de grammaire est bien sur la suivante :

3 2 1 0

TypeTypeTypeType .

Dans ce mémoire, nous nous intéressons uniquement aux grammaires régulières. Bien que cette classe soit la plus simple, donc la moins expressive, elle a été très étudiée dans le cadre de l’inférence grammaticale, avec de nombreux résultats positifs d’apprentissage, notamment dans le cadre de l’identification à la limite ([Gold67], [Higu97], [Higu05]).