• Aucun résultat trouvé

2.2 Inférence de grammaires régulières

2.2.4 Discussion

L'inférence de langages réguliers permet de représenter la structure linéaire de la pro- téine comme enchainement de motifs séparés par des gaps. Cependant, il a été établi que les repliements spatiaux des protéines seraient apparemment mieux conservés au sein d'une même famille que la séquence elle même [CL86a]. De plus, c'est la structure qui porte la fonction de la protéine. Ainsi, il serait intéressant de pouvoir aussi apprendre des interactions entre diérentes zones d'une séquence en découvrant des motifs liés plus ou moins éloignés. Sur la gure 2.5, on peut ainsi voir que des interactions peuvent exister entre des parties de séquences a priori éloignées dans la structure primaire mais proches en trois dimensions.

Deux types de corrélations doivent être repérées :

 à courte distance (gure 2.5(b)), à l'intérieur d'un même bloc, comme dans les hélices alpha.

 à longue distance (gure 2.5(a)), dans des blocs diérents, comme par exemple l'hélice rouge et l'hélice verte qui sont éloignées dans la structure primaire mais proche en trois dimensions.

Les langages réguliers ne peuvent pas représenter ces types de corrélations à cause de leur linéarité. Pour cette raison, nous nous sommes intéressés à l'extension des techniques d'inférence à la classe des langages algébriques.

2.2. Inférence de grammaires régulières 43

(a) Une séquence protéique en 3D

(b) Quelques repliements fréquents (hélice alpha et feuillet béta)

Fig. 2.5  Exemples de structures d'une protéine

Nous illustrons l'intérêt,en terme de gain d'expressivité, de passer du régulier à l'algé- brique sur un exemple (gure2.6).

On remarque dans cet exemple que la modélisation des séquences par une grammaire linéaire droite produit un eet reset. Il est impossible de décrire des corrélations entre les blocs 1,2,3 et 4 puisqu'une fois l'état commun dépassé la grammaire ne garde pas en mémoire le chemin suivi. En réalité, il serait possible de le représenter avec une gram- maire régulière mais on perdrait alors en compacité de représentation et la généralisation reviendrait au mieux à la première grammaire ou sera inexistante. Avec une grammaire algébrique, nous serons par exemple facilement capables d'exprimer que le bloc 1 et le bloc 4 vont de paire. On voit sur sur la gure 2.6 qu'une grammaire de ce type est capable d'exprimer les interactions entre les blocs de façon compacte, sans perdre en expressivité. La question est maintenant de savoir si le langage généré par cette représentation peut être généralisé. C'est ce que nous allons essayer de déterminer dans les chapitres suivants.

Bloc1 Bloc2

Bloc3

Bloc4 Bloc5

(a) Séquences ayant un bloc de conservation commun

S −→Bloc1S1 |Bloc2S1 S −→Bloc1S1 |Bloc2S2 S1 −→Bloc3S2 S1 −→Bloc3S3

S2 −→Bloc4|Bloc5 S2 −→Bloc3S4 S3 −→Bloc4

S4 −→Bloc5 (b) Modélisation avec une grammaire régulière

compacte (eet reset) (c) Modélisation avec une grammaire régulièreplus expressive S −→Bloc1S1Bloc4|Bloc2S1Bloc5

S1 −→Bloc3

(d) Modélisation avec une grammaire algébrique compacte et expressive

Chapitre

3

Apprentissage de grammaires par substituabilité

Les grammaires algébriques ont un pouvoir d'expressivité supérieur à celui des langages réguliers. L'espace de recherche correspondant en apprentissage est également beaucoup plus complexe. Il faut alors restreindre la recherche à des sous-classes de langages algé- briques ou utiliser des heuristiques tout en conservant un bon pouvoir prédictif sur des applications pratiques par l'utilisation d'un principe de généralisation naturel.

Dans ce chapitre, après avoir présenté les principaux algorithmes traitant ce problème, nous nous intéressons au principe de généralisation qu'est la substituabilité et qui semble être sous-jacent à toutes les méthodes ecaces. Nous étudions plus particulièrement le problème de l'inférence de la sous-classe des langages substituables développée par [CE07] et adaptons ce procédé pour le cas des séquences protéiques. Nous introduisons de nouvelles classes de langages substituables, de nouveaux critères de généralisation associés ainsi qu'un algorithme capable de générer une grammaire réduite conservant la structuration des exemples de l'échantillon d'apprentissage. Nous terminons en présentant les expériences que nous avons eectuées sur des ensembles de séquences protéiques.

3.1 Apprentissage de grammaires algébriques

Dans cette section, nous présentons les dicultés liées à l'inférence grammaticale de langages algébriques, lié au fait qu'il faut non seulement apprendre la grammaire générant le langage voulu mais aussi la structuration de celui-ci.

Nous avons alors cherché dans l'état de l'art de l'inférence de grammaires algébriques des algorithmes non supervisés, fonctionnant à partir d'exemples positifs seulement et à visée applicative. Le traitement automatique des langues est un domaine où il y a eu des avancées signicatives en apprentissage ces dernières années. Nous présentons les princi- paux travaux de ce domaine dont le principe de généralisation semble lié à la découverte de la structuration des exemples par substituabilité. Ces approches semblent être les plus intéressantes pour notre problème bien qu'elles doivent être adaptées pour le traitement

de séquences protéiques. Elles ont montré en particulier des résultats encourageants sur des corpus réels.

3.1.1 Les dicultés de l'apprentissage de grammaires algébriques

Dans un premier temps, nous expliquons quelles sont les dicultés principales de l'apprentissage d'une grammaire algébrique en nous inspirant de la thèse de R. Eyraud [Eyr06]. Nous mettrons l'accent sur quatre des dicultés évoquées.

Opérabilité

Un des premiers problèmes rencontrés dans l'inférence de grammaires algébriques, comparée à l'inférence régulière, découle de la faiblesse des propriétés liées à la classe de langages apprise. Ainsi, l'union, la concaténation et l'intersection de langages réguliers, ou le complémentaire d'un langage régulier sont des langages réguliers. Ces propriétés fortes permettent d'utiliser certaines opérations lors de l'inférence sans sortir de la classe de langages visée.

Cependant, pour la classe des langages hors-contexte, la stabilité de ces opérations n'est pas toujours assurée. En eet, si l'union et la concaténation de deux langages hors- contexte forment un langage hors-contexte, ce n'est pas le cas de leur intersection ou du complémentaire.

Cet état de fait rend dicile l'introduction d'exemples négatifs, qui ne délimitent pas forcément un langage hors-contexte et conduit à inférer le langage à partir d'exemples positifs seulement, alors que le résultat de Gold a montré l'impossibilité de l'identication à la limite de langages hors-contexte à partir d'exemples positifs seulement [Gol78].

Indécidabilité

Un second problème provient de l'indécidabilité de l'équivalence de deux grammaires algébriques. En eet, il est dans la plupart des cas impossible de savoir si deux grammaires hors-contexte génèrent le même langage ce qui rend dicile la recherche d'une grammaire dans un espace d'hypothèses ordonné partiellement par rapport à l'inclusion des langages générés par ces grammaires.

Dans le cas de l'inférence de langages réguliers à l'aide d'automates, il existe un repré- sentant canonique calculable pour chaque langage. On peut donc réduire cet apprentissage à l'identication de ce représentant. Dans le cas des grammaires hors-contexte, lorsqu'il existe un nombre inni de représentations, il est dicile de les élaguer puisque l'équivalence ne peut être prouvée dans le cas général.

L'identication doit donc être basée sur le langage lui-même et non sur sa représen- tation, ce qui rend dans le même temps impossible l'identication à la limite en temps et données polynomiaux de langages algébriques à partir d'exemples [dlH97].

Cependant, on peut noter que certaines sous-classes peuvent néanmoins être apprises s'il existe une grammaire canonique pour tous les langages de ces sous-classes et un

3.1. Apprentissage de grammaires algébriques 47

S

Nanbn Ncm

a b c

(a) Une dérivation possible de abc

S

Nan Nbmcm

a b c

(b) Une autre dérivation possible de abc

Fig. 3.1  Dérivations ambiguës du mot abc générées par une grammaire représentant le langage algébrique {anbncm| n, m ≥ 0} ∪ {anbmcm| n, m ≥ 0}. 3.1(a) privilégie la structure du sous langage anbncm alors que3.1(b) privilégie le sous langage anbmcm.

algorithme capable d'apprendre cette dernière. De récents résultats de [Cla14] introduisent ainsi la notion de strong learning pour certaines sous-classes des langages algébriques.

Ambiguïté

Un autre problème majeur dans l'inférence de grammaires algébriques est l'ambiguïté inhérente à certains de ces langages. Des langages possèdent alors à plusieurs arbres de dérivation possibles.

Un exemple de langage inhéremment ambigu est par exemple le langage {anbncm| n, m ≥ 0} ∪ {anbmcm| n, m ≥ 0}. Les mots de la forme anbncn ont alors deux dérivations diérentes [Ogd68]. Un exemple de dérivations du mot abc est montré en gure3.1.

La déterminisation supprimerait une partie des arbres de dérivation possibles et cer- taines structures du langage, et au nal certains mots du langage cible. Quand on sait que la déterminisation est un principe largement utilisé dans l'inférence d'automates, on conçoit que l'abandon de celui-ci dans le cas des grammaires algébriques ne permet pas la réalisation des algorithmes ecaces développés dans le cadre régulier.

Structuralité

Le dernier problème sur lequel nous mettrons l'accent est celui de la structuralité du langage appris par une grammaire algébrique. En eet, l'intérêt d'apprendre une représen- tation du langage, plutôt qu'un classieur répondant à la question "ce mot appartient-il au langage ?" est que cette représentation apporte une information sur le langage lui-même. Ainsi, alors que la représentation sous forme d'expressions ou d'automates pour les réguliers conserve l'information sur la structuration des exemples, les formes normales

souvent employées pour représenter les grammaires algébriques font perdre cette notion de structure induite par le langage cible.

Lorsque qu'on apprend un langage algébrique, il faut donc apprendre non seulement les mots acceptés par ce langage mais aussi les structures d'analyse associées, ce qui est une double diculté.

Ce dernier point a fondé la plupart des approches d'apprentissage des langages algé- briques.