M1 Ingénierie de la Communication Personne-Système 2004/2005
1
Méthodes pour le Traitement Automatique des Langues
Alain Lecomte Professeur, Université Pierre Mendès-France
Leçon 1 Introduction : les langues naturelles sont-elles « hors-contexte » ?
1.1 Les grammaires hors-contexte
Noam Chomsky (voir photo), dans les
années cinquante, a été un véritable
pionnier concernant les modèles à utiliser
pour analyser les langues naturelles. Un
article de 1956 (« Trois modèles de
description du langage ») passait en revue
plusieurs modèles et s’arrêtait sur un
modèle final : celui qualifié alors de
« génératif et transformationnel ». Le
premier modèle reposait sur la notion
d’états finis : Chomsky montrait qu’il
n’était pas envisageable de traiter la
syntaxe d’une langue naturelle au moyen
d’automates à états finis.
La raison essentielle en est l’existence de liens de dépendance entre des marques syntaxiques
à l’intérieur des phrases. Par exemple, le Français possède une règle d’accord entre sujet et
verbe. Partant de la phrase : (1) le paysan laboure le champ, si nous changeons « le » en
« les » devant le mot « paysan », nous devons aussi changer « paysan » en « paysans » et
« laboure » en « labourent ». On pourrait penser qu’il s’agit d’une simple modification entre
des mots adjacents, mais partant de la phrase plus complexe : (2) le paysan dont la maison
prend feu laboure le champ, si nous changeons « le paysan » en « les paysans », là aussi nous
devrons changer « laboure » en « labourent ». L’effet du premier changement se répercute à
distance, et a priori, cette distance peut être arbitraire (bien qu’en pratique, il n’en soit pas
tout à fait ainsi : le paysan dont la maison que je regarde prend feu laboure le champ devient
plus difficile à admettre et notre réticence va augmenter avec le nombre de relatives
enchâssées). On peut dire de ce point de vue qu’une langue comme le Français ressemble au
langage formel L = {anbn ; n>0} : on sait qu’il n’est pas reconnaissable par un automate à états
finis (il suffit d’utiliser pour cela le théorème de la chaîne itérée).
On trouve un problème semblable dans les langages informatiques. Un langage informatique
qui possède des instructions en « si… alors… » composables entre elles contiendra des
instructions du genre :
(3) si si A alors B alors si C alors D
le compilateur devra calculer les bonnes dépendances entre les « si » et les « alors », de
manière à obtenir ici :
si1 si2 A alors2 B alors1 si3 C alors3 D.
Il est commode de représenter cette structure de liens graphiquement, ou au moyen de
parenthèses, par exemple :
(si (si A alors B) alors (si C alors D)).
M1 Ingénierie de la Communication Personne-Système 2004/2005
2
Pour (2), il est judicieux de disposer des parenthèses comme suit
1
:
((le paysan (dont( la maison prend feu)))( laboure le champ))
[Q : Pourquoi ?]
De telles structures parenthétiques sont facilement représentables par des arbres comme sur la
figure 1 ci-dessous. [Q : on cherchera à étiqueter les nœuds]. Une telle représentation
arborescente est utile, et même nécessaire, si on veut saisir une partie au moins de la
signification de la phrase, de même qu’en informatique un compilateur doit être capable
d’associer les « si » et les « alors » qui se correspondent si on veut que le programme qu’on a
écrit s’exécute correctement. Nous dirons qu’il s’agit d’une représentation syntaxique de la
phrase. L’un des buts que nous nous assignons est d’être capable d’écrire des programmes qui
produisent de telles représentations à partir de n’importe quelle phrase d’une langue naturelle
donnée. Un tel programme est un analyseur syntaxique (ou parseur).
figure 1
L’analyse que nous venons de faire est dite « en constituants immédiats » [Q : pourquoi ?].
Comme nous avons dit plus haut, un automate à états finis ne serait pas capable de l’obtenir.
C’est la raison pour laquelle Chomsky a proposé un autre modèle, celui des « grammaires de
constituants » (Phrase structure grammar). De telles grammaires sont aussi appelées
« grammaires hors-contexte » en informatique. Rappelons en la définition ci-dessous :
Définition 1 : Une grammaire hors-contexte G est définie par la donnée :
- d’un premier ensemble VN, dit « vocabulaire non-terminal »
- d’un deuxième ensemble VT, dit « vocabulaire terminal »
- d’un élément distingué de VN, appelé « axiome »
- d’un ensemble fini de couples d’expressions (X, ), notées en général X ,
appelées « règles de réécriture » ou « règles de production ».
Ces ensembles sont tels que :
- VN VT =
et les règles X sont telles que :
- X VN
1
Ou peut-être préférerez-vous les disposer d’une autre manière. Cette représentation est en effet discutable.
Qu’en pensez-vous ? mais si vous choisissez une autre parenthétisation, cela n’exigera pas un changement de
modèle, c’est l’essentiel pour l’instant.
la maison
laboure le champ
prend feu
le paysan
dont
M1 Ingénierie de la Communication Personne-Système 2004/2005
3
- (VN VT)*
Exemple :
- VN = {S, SN, SV, SRel, Rel, Det, N, V}
- VT = {le, paysan, champ, la, maison, prend feu, laboure, dont}
- axiome : S
- règles :
o S SN SV
o SN Det N
o SN Det N SRel
o SRel Rel S
o SV V SN
o SV V
o Det le
o Det la
o N maison
o N paysan
o N champ
o Etc. [Q : compléter !]
Q : Vérifier qu’une telle grammaire permet d’engendrer les phrases (1) et (2) avec les
représentations syntaxiques souhaitées. [Q : quelle définition du mot « engendrer »
proposez-vous ?]
Q : Quelle solution proposez-vous pour tenir compte de la règle d’accord entre sujet et
verbe ?
Q : Noter que le symbole S qui sert d’axiome est également introduit en partie droite d’une
règle. Quelle en est la conséquence ? En particulier : quelle est la conséquence sur la taille
théorique du langage ? (la taille étant le nombre de phrases admises dans le langage).
1.2 Les grammaires contextuelles
La dénomination « hors-contexte » pour une telle grammaire vient de ce que la partie gauche
de chaque règle est réduite à un seul symbole (du vocabulaire non terminal bien sûr). Une
règle devient « contextuelle » ou « dépendante du contexte » si c’est toute une expression (de
longueur supérieure à 1) qui se réécrit. On vérifiera ainsi que la grammaire suivante permet
d’engendrer le langage formel Labc = {anbncn ; n>0} :
- VN = {S, A, B, C}
- VT = {a, b, c}
- Axiome = S
- Règles :
o S aBCS
o S aBC
o Ca aC
o Ba aB
o CB BC
o aB ab
o bB bb
o bC bc
o cC cc
M1 Ingénierie de la Communication Personne-Système 2004/2005
4
[Q : peut-on toujours obtenir aussi facilement une représentation en arbre ?]
La grammaire précédente peut être modifiée par l’ajout de symboles non terminaux. Par
exemple, la règle CB BC peut se décomposer en plusieurs étapes :
o CB C’B
o C’B C’B’
o C’B’ BB’
o BB’ BC
On peut dire de la première que « C se réécrit C’ dans le contexte droit B », de la deuxième
que « B se réécrit B’ dans le contexte gauche C » et ainsi de suite. C’est le sens qu’il faut
donner ici au mot « contextuel ». Par contraste, une règle de grammaire « hors-contexte » dit
simplement qu’un certain symbole X se réécrit dans n’importe quel contexte.
De même que de nombreux langages sont analysables par une grammaire hors-contexte mais
pas par un automate à états finis, de nombreux langages sont analysables par une grammaire
contextuelle mais pas par une grammaire hors-contexte. La langage formel Labc que nous
venons de voir en est un exemple : il n’admet pas de grammaire hors-contexte (théorème de la
paire itérée).
Une question qui s’est trouvée très tôt posée dans l’histoire de la linguistique
computationnelle a donc été de savoir si les langues naturelles étaient des langages hors-
contexte ou si au contraire on avait besoin de grammaires contextuelles pour les analyser.
L’enjeu est important : c’est un enjeu d’efficacité. Il existe des algorithmes permettant
d’analyser un langage hors-contexte de manière polynomiale (en n3, voire un peu moins),
alors qu’en ce qui concerne les langages contextuels, cela devient vite très compliqué.
1.3 Les arguments de Chomsky pour un modèle « transformationnel »
Un premier type de réponse a été fourni par Chomsky lui-même dès l’article de 1956 évoqué
plus haut, puisque dès cette date, il parle de limites importantes pour les grammaires hors-
contexte. En résumé, les arguments sont les suivants :
1- sur la coordination
La coordination est un problème difficile dans toutes les langues où il est la source de
nombreuses ambiguïtés. Par exemple, nous ne devons pas comprendre de la même manière :
(4) je voudrais un livre sur la biologie ou un dictionnaire
(5) je voudrais un livre sur la biologie ou les sciences naturelles
on peut traduire la différence par les deux structures suivantes :
(4’) je voudrais (un livre sur la biologie) ou (un dictionnaire)
(5’) je voudrais un livre sur (la biologie) ou (les sciences naturelles)
Heureusement, il existe des garde-fou qui nous empêchent de comprendre ou d’utiliser la
coordination n’importe comment :
Règle : on ne peut coordonner que des parties de phrases qui :
M1 Ingénierie de la Communication Personne-Système 2004/2005
5
- sont des syntagmes
- sont des syntagmes de même type
par exemple :
(6) *le coureur de fonds a sauté la haie, et un sauteur à la perche
est une « phrase » pour le moins bizarre… elle coordonne en fait une phrase et un syntagme
nominal, ce qui n’est pas licite.
On pourrait bien sûr rendre compte de cette règle sur la coordination par des règles de
grammaire hors-contexte, comme :
o SN SN et SN | SN ou SN etc
o N N et N | N ou N etc.
o V V et V | V ou V etc.
o SV SV et SV | SV ou SV etc.
o S S et S | S ou S etc.
Mais on voit à quel point cela risque de multiplier les règles de grammaire. De plus, ces règles
ne tiennent pas comptent des énumérations, comme :
(7) Le coureur de fonds, le sprinteur, la sauteuse en hauteur et le perchiste ont remporté
leur concours
A moins d’introduire un type particulier de règle (sortant du schéma hors-contexte, justement)
du genre :
o SN (SN)+ et SN etc.
(où (A)+ signifie : A répété un nombre de fois supérieur à 0)
Pour éviter cela, Chomsky propose que plusieurs arbres soient construits indépendamment les
uns des autres (par exemple un pour le coureur de fonds a remporté son concours, un pour le
sprinteur a remporté son concours etc.) et qu’ensuite, on réunisse tous ces arbres en un seul au
moyen d’une transformation, c’est-à-dire une opération sur les arbres.
2- sur la relation actif / passif
Dans le même ordre d’idées, on pourrait bien sûr traiter par des règles hors contexte des
phrases comme :
(8) le coureur de fonds a gagné une médaille
(9) une médaille a été gagnée par le coureur de fonds
on aurait des règles comme :
- SV V<actif> SN
- SV V<être> V<ppassé> SP<par>
- SP<par> par SN
Mais il faudrait faire très attention à ne pas engendrer dans la foulée :
1 / 13 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !