Méthodes pour le Traitement Automatique des Langues

publicité
M1 Ingénierie de la Communication Personne-Système
2004/2005
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)).
1
M1 Ingénierie de la Communication Personne-Système
2004/2005
Pour (2), il est judicieux de disposer des parenthèses comme suit1 :
((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).
laboure le champ
le paysan
dont
la maison
prend feu
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
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.
1
2
M1 Ingénierie de la Communication Personne-Système
-
2004/2005
  (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
3
M1 Ingénierie de la Communication Personne-Système
2004/2005
[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 horscontexte 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 horscontexte. 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 :
4
M1 Ingénierie de la Communication Personne-Système
-
2004/2005
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
o
o
o
o
SN  SN et SN | SN ou SN etc
N  N et N | N ou N etc.
V  V et V | V ou V etc.
SV  SV et SV | SV ou SV etc.
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 :
5
M1 Ingénierie de la Communication Personne-Système
2004/2005
(10) *le coureur de fonds a été gagné par une médaille
(11) *une médaille a gagné un coureur de fonds (!!)
autrement dit, il faut faire intervenir des restrictions de sélection sur les sujets des verbes
(certains verbes ne peuvent avoir qu’un sujet animé, d’autres qu’un sujet humain etc.) et sur
leurs objets (par exemple « mange » requiert un complément « comestible »). Mais les
restrictions sur les sujets de certains verbes (comme ici « gagner ») sont les mêmes que celles
sur les objets des verbes passifs correspondants : d’où une redondance dans l’écriture des
règles, et le fait que Chomsky dit préférer un modèle dans lequel on engendrerait d’abord une
phrase correspondant à la voie active, avant d’obtenir une phrase passive par transformation
de l’arbre obtenu.
3- sur l’accord
Si nous avons des phrases comme :
(12) une médaille a été gagnée par un athlète indien
(13) plusieurs médailles ont été gagnées par les athlètes indiens
nous voyons que les marques de genre et de pluriel du sujet « se propagent » sur le groupe
verbal. Cela nécessite une analyse du groupe verbal. Supposons que nous ayons des règles :
(14)
- Verbe  Aux V
- V  gagne, court, saute, …
- Aux  C (avoir <ppassé>)(être)(être <ppassé>)
- C  <passé>, <présent>
Alors « a été gagné » va pouvoir être dérivée de la manière suivante :
-
Verbe
Aux V
C avoir <ppassé> être <ppassé> V
<présent> avoir <ppassé> être <ppassé> V
mais pour obtenir la chaîne de mots souhaitée, il va être nécessaire d’opérer certaines
permutations dans l’expression obtenue (comme dans le cas du langage Labc). Autrement dit,
si nous appelons Af la classe des affixes (tout ce qui est entre crochets triangulaires) et v la
classe des radicaux verbaux (contenant les V ainsi que avoir et être), il va falloir introduire
une règle qui n’est pas hors –contexte, la règle :
-
Af v  v Af #
De cette manière en effet la dérivation précédente va pouvoir se continuer selon :
-
<présent> avoir <ppassé> être <ppassé> V
<présent> avoir <ppassé> être V <ppassé> #
<présent> avoir être <ppassé> # V <ppassé>
avoir <présent> # être <ppassé> # V <ppassé>
[Q : pourquoi l’introduction du symbole « # » a-t-elle été nécessaire ?]
6
M1 Ingénierie de la Communication Personne-Système
2004/2005
Ensuite, il ne restera qu’à dire que les symboles séparés par un simple blanc (et non par « # »)
doivent être fusionnés, selon un processus « morphologique », avec des règles comme :
-
avoir + présent (+ sing)  a
être + ppassé  été
gagner + ppassé  gagné
Remarque : nous n’avons pas traité l’accord en nombre et en genre ! Compléter l’exemple de
manière à en tenir compte.
1.4 Des arguments pour le modèle hors-contexte, les grammaires d’unification
En fait, seul le troisième exemple marque vraiment les limites du modèle hors-contexte. Dans
les deux premiers, c’est seulement une question de préférence qui pousse Chomsky à
introduire la notion de transformation grammaticale, mais il semble que l’on pourrait traiter
ces cas au moyen de règles hors-contexte : ces deux exemples ne sont donc pas vraiment
pertinents. C’est en faisant ce genre de remarque que d’autres auteurs (J. Bresnan, G. Gazdar)
ont été amenés à proposer des solutions « non transformationnelles » à ces problèmes. Gazdar
en particulier a soutenu un certain temps la thèse qu’on pouvait bel et bien analyser les
langues naturelles au moyen de grammaires hors-contexte. Bien sûr, les critiques faites plus
haut demeurent : cela risque de faire exploser le nombre de règles. A cela, Gazdar et ses
collègues (Klein, Pullum et Sag) ont répondu en proposant une généralisation de la notion de
règle. Ils ont remplacé la notion de règle par celle de schéma de règle. Grosso modo, Un
schéma de règle est une règle dans laquelle figurent des variables. C’est en instanciant ces
variables qu’on obtient les règles proprement dites. En procédant de cette manière, on peut
écrire une grammaire avec un nombre de schémas de règles raisonnable. Evidemment si on
considère toutes les instanciations possibles de ces schémas, on obtient un ensemble énorme
de règles (des millions !), mais toutes ces règles néanmoins sont en principe des règles horscontexte. Nous verrons ultérieurement plus en détails cette solution, mais on peut d’ores et
déjà en donner une idée à partir du troisième exemple.
Au lieu de travailler avec des chaînes (voire des fragments de chaînes, voire des abstractions
de chaînes comme <sing>, <plur>, <présent> ou <passé>), on travaillera avec leurs
descriptions. Une description de chaîne ou plus généralement d’objet morpho-syntaxique sera
représentée par une structure de traits. Par exemple, à la forme « ont » du verbe « avoir » sera
associée une description qui dit que la forme vient du radical « avoir », est conjuguée selon le
nombre « pluriel », la personne « 3 » et le temps « présent », ce qu’on peut représenter par :




 verbe  avoir



 temps  présent


 nombre  plur  
 
 accord  
personne

3



ou bien par un « terme » : verbe(‘avoir’, prest, acc(plur, 3)). Au lieu des règles (14), on
pourrait avoir :
-
Verbe(passif, pass, acc(fem, sing, 3))  Aux(‘être’, pass, acc(sing, 3)), V(pp,
acc(fem, sing))
7
M1 Ingénierie de la Communication Personne-Système
-
2004/2005
Aux(‘être’, pass, acc(sing, 3))  Aux(‘avoir’, prest, acc(sing, 3)), V(‘être’, pp)
Aux(‘avoir’, prest, acc(sing, 3))  ‘a’
V(pp, acc(fem, sing))  ‘gagnée’
V(‘être’, pp)  ‘été’
Ce qui permettrait de dériver « a été gagnée », mais pas « ont été gagnées ». Pour cela, on
pourrait bien sûr multiplier les règles comme on l’a déjà vu, mais il y a une meilleure
solution : elle consiste à « factoriser » tout ce qui peut l’être dans la famille de règles qu’on
obtiendrait. D’où le schéma de règle suivant2 :
-
Verbe(passif, T, acc(G, N, P))  Aux(‘être’, T, acc(N, P)), V(pp, acc(G, N))
(S1)
qui dit que, pour tout temps (T), pour tout genre (G), pour tout nombre (N) et toute personne
(P), le nœud verbal doté du trait passif se réécrit selon deux nœuds : un nœud auxiliaire et un
nœud participe, le premier étant l’auxiliaire « être » conjugué au même temps T, avec le
nombre N et la personne P, le deuxième étant un participe passé de verbe accordé au genre G
et au nombre N. On peut ensuite distinguer selon le temps du nœud verbal. Si ce temps est le
passé, on pourra par exemple avoir le schéma de règle :
-
Aux(‘être’, pass, acc(N, P))  Aux(‘avoir’, prest, acc(N, P)), V(‘être’, pp)
(S2)
Puis les nœuds pré-terminaux de l’arbre se réécrivent en des chaînes, selon des règles dites
lexicales :
-
Aux(‘être’, prest, acc(sing, 3))  ‘est’
Aux(‘être’, prest, acc(plur, 3))  ‘sont’
Aux(‘avoir’, prest, acc(sing, 3))  ‘a’
Aux(‘avoir’, prest, acc(plur, 3))  ‘ont’
V(pp, acc(fem, sing))  ‘gagnée’
V(pp, acc(fem, plur))  ‘gagnées’
V(pp, acc(masc, sing))  ‘gagné’
V(pp, acc(masc, plur))  ‘gagnés’
V(‘être’, pp)  ‘été’
etc.
Comment décider des instances de schéma de règle à utiliser ? Regardons les choses d’une
manière naïve et imaginons que nous analysions « ont été gagnées » en lisant les mots un à un
de gauche à droite (ce qu’on appelle une analyse ascendante gauche droite) :
-
ont  Aux(‘avoir’, prest, acc(plur, 3))
été  V(‘être’, pp)
or, Aux(‘avoir’, prest, acc(plur, 3)) est une instance de Aux(‘avoir’, prest, acc(N, P)), avec N
= plur et P = 3, donc « par unification », le schéma de règle S2 est réalisé, ce qui donne :
-
Aux(‘être’, pass, acc(plur, 3))
Nous respectons la convention PROLOG qui est de toujours faire commencer le nom d’une variable par une
majuscule et le nom d’une constante ou d’un foncteur par une minuscule.
2
8
M1 Ingénierie de la Communication Personne-Système
2004/2005
Ensuite, on trouve :
-
gagnées  V(pp, acc(fem, plur))
V(pp, acc(fem, plur)) « s’unifie » avec V(pp, acc(G, N)), en donnant à G la valeur fem et à N
la valeur plur, de plus il se trouve qu’avec ces mêmes valeurs, Aux(‘être’, pass, acc(plur, 3))
« s’unifie » avec Aux(‘être’, T, acc(plur, P)), en donnant à P la valeur 3 et à T la valeur pass,
le schéma S1 est donc lui aussi réalisé, ce qui donne :
-
Verbe(passif, pass, acc(fem, plur, 3))
et ce qui permet de prévoir que le sujet du nœud verbal sera féminin, pluriel et de troisième
personne (les médailles).
Dans cette analyse, nous avons plusieurs fois utilisé le verbe « s’unifier avec ».
Définition 2 : Nous dirons en première approche que deux termes possédant des variables
s’unifient lorsqu’il existe des valeurs que l’on peut donner à certaines des variables de telle
sorte que lorsque ces variables prennent ces valeurs, les termes deviennent identiques à
quelques renommages de variables près3.
Exemple :
- V(X, Z, acc(Y, plur)) s’unifie avec V(‘être’, W, acc(fem, V))
Il suffit de prendre : X = ‘être’, Y = fem et V = plur. Ensuite c’est simplement une question de
renommage de variable (changer le nom de W en Z par exemple).
Bien sûr, on peut avoir des difficultés : si nous cherchons à unifier p(X, X) avec p(Y, f(Y)),
nous allons trouver X = Y et X = f(Y), d’où Y = f(Y) = f(f(Y)) = f(f(f(Y))) = etc. et
l’algorithme que nous utiliserons aura de grandes chances de boucler indéfiniment !
Nous envisagerons dans la suite de ce cours deux sortes d’unifications :
- l’unification des termes, implantée dans le langage PROLOG,
- l’unification généralisée (unification des structures de traits en général).
Les grammaires utilisant des schémas de règles comme on vient de le voir sont appelées
grammaires d’unification. Il en existe plusieurs variantes, parmi lesquelles : DCG (Definite
Clause Grammar, Colmerauer (voir photo)), LFG (Lexical Functional Grammar, Bresnan et
Kaplan), GPSG (Generalized Phrase Structure Grammar, Gazdar, Klein, Pullum et Sag),
HPSG (Head-Driven Phrase Structure Grammar, Pollard et Sag) etc. Les DCG sont les plus
facilement réalisables (en Prolog), mais c’est HPSG qui, dans le passé récent, a donné lieu au
plus grand nombre de recherches et de réalisations. Nous en verrons un rapide aperçu.
En principe, l’ajout de variables aux symboles du vocabulaire non terminal ne devrait pas
faire sortir du hors-contexte. Pourtant cela n’est pas toujours vrai, comme le montre l’exemple
suivant :
Ce type de définition sera reformulé par la suite d’une manière plus formelle. Il s’agit ici seulement de donner
une idée d’ensemble des méthodes abordées.
3
9
M1 Ingénierie de la Communication Personne-Système
2004/2005
Exemple :
VT = {a, b, c}
VN = {s, bn, cn}
Axiome : s
Schémas de règles :
o
o
o
o
o
o
o
s  a s(i)
s(I)  a s(i(I))
s(I)  bn(I), cn(I)
bn(i(I))  b bn(I)
cn(i(I))  c cn(I)
cn(i)  c
bn(i)  b
Q : Vérifier que cette grammaire engendre le langage Labc. [à votre avis, à quoi tient le fait
qu’ici, l’ensemble des schémas de règles permette d’engendrer un langage contextuel ?]
1.5 Un argument décisif contre le modèle hors-contexte ?
Revenons à la question initiale : est-ce que les langues naturelles peuvent être analysées au
moyen de grammaires hors-contexte ?
Si les travaux de Gazdar et al. nous ont donné des raisons de répondre par l’affirmative
jusqu’à maintenant (à condition de restreindre le genre de structures utilisables par les
grammaires d’unification, comme le montre l’exemple précédent), d’autres exemples vont
nous apporter des raisons malheureusement sérieuses d’en douter.
En 1976, Riny Huybregts a montré que certaines phrases du suisse allemand et du néerlandais
n’étaient pas engendrables (avec le type d’analyse souhaité) par une grammaire hors-contexte.
Considérons pour cela un morceau de phrase (une subordonnée) en néerlandais, comme :
(15)
…. (dat) we jou de gevangenen sagen helpen ontkommen
ce qui signifie:
(16) …. (que) nous vous avons vu aider les prisonniers à s’échapper
les liens entre sujets et verbes sont représentables comme suit :
…. (dat) we jou de gevangenen sagen helpen ontkommen
Ainsi, si nous voulons avoir une analyse syntaxique dans l’esprit des grammaires horscontexte, il faudra, comme dans les exemples étudiés plus haut (phrases (1) et (2)), avoir une
grammaire qui engendre respectivement « we » et « sagen », « jou » et « helpen », « de
gevangenen » et « ontkommen » à partir d’une même partie droite de règle. Comparer avec :
(17) nous avons vu les gardiens aider les prisonniers à s’échapper
10
M1 Ingénierie de la Communication Personne-Système
2004/2005
avec les règles de grammaire :
o S  SN SV
o SV  V SN SVinf
o SVinf  Vinf SN (à) SVinf
o SN  nous | Det N
o Vinf  aider, s’échapper…
o V  avons vu
o Det  les
o N  gardiens, prisonniers…
On obtient l’arbre syntaxique :
S
SV
SN
nous
V
avons vu
SVinf
SN
les gardiens
Vinf
aider
SN
Prep
SVinf
les prisonniers à
Vinf
s’échapper
« nous » et « avons vu » viennent de la même partie droite de règle (S  SN SV), « avons
vu » est la « tête » du syntagme SV introduit en même temps que le SN qui va donner
« nous ». De même « les gardiens » est introduit en même temps que le syntagme verbal dont
la tête est « aider » et « les prisonniers » est introduit en même temps que le syntagme verbal
dont la tête est « s’échapper ». Il en résulte une structure à partir de laquelle on peut
clairement identifier « nous » comme sujet de « avons vu », « les gardiens » comme sujet de
« aider » et « les prisonniers » comme sujet de « s’échapper ».
Si nous changeons l’ordre des mots dans la phrase de manière à obtenir :
(18)
nous les gardiens les prisonniers avons vu aider à s’échapper
nous ne pouvons plus obtenir ce type de représentation interprétable de cette manière. Nous
pourrions tout au plus changer la grammaire par permutation de certains éléments en partie
droite :
o S  SN SV
o SV  SN V SVinf
o SVinf  SN Vinf (à) SVinf
o SN  nous | Det N
o Vinf  aider, s’échapper…
o V  avons vu
o Det  les
o N  gardiens, prisonniers…
11
M1 Ingénierie de la Communication Personne-Système
2004/2005
Mais cela donnerait :
S
SV
SN
nous
SN
les gardiens
SVinf
V
avons vu
SN
Vinf
Prep
aider
les prisonniers
SVinf
à
Vinf
s’échapper
qui correspondrait à :
(19)
nous les gardiens avons vu les prisonniers aider à s’échapper
qui n’est pas identique à (18)4. D’autres solutions seraient ad hoc ou ne marcheraient que pour
trois verbes et pas pour un nombre plus grand etc.
De fait, un langage qui possède ce type de dépendances (qu’on appelle dépendances croisées)
« ressemble » au langage formel Lcopie = {ww ; w{a, b}*}. Or un tel langage n’est pas horscontexte. Pour cela, on démontre (assez facilement grâce au théorème de la paire itérée) que le
langage L’ = {ambnambn ; m>0, n>0} n’est pas hors-contexte. Ensuite on utilise le théorème
suivant :
Théorème d’intersection avec un langage régulier : si L est un langage hors-contexte et R
un langage régulier, alors LR est hors-contexte.
Or, le langage L’ n’est autre que l’intersection du langage Lcopie avec le langage régulier
représenté par l’expression régulière a+b+a+b+. donc si Lcopie était hors-contexte, L’ le serait
aussi. Ce n’est pas le cas. Donc Lcopie n’est pas hors-contexte. CQFD. Et donc le néerlandais
n’est pas hors-contexte !
On a des exemples semblables dans le suisse allemand parlé dans la région de Zürich
(Zürittüütsch) :
(20)
mer d’chind em Hans es huus lönd hälfed aastriiche
qui signifie: nous laissons les enfants aider Hans à peindre la maison
(litt. : nous les enfants Hans la maison laissons aider peindre)
4
Noter toutefois que cette solution conviendrait à la phrase française équivalente avec tous les compléments
remplacés par des pronoms clitiques : nous vous avons vu les aider à s’échapper.
12
M1 Ingénierie de la Communication Personne-Système
2004/2005
On ne peut donc pas trouver de grammaire hors-contexte engendrant ces phrases, en revanche
on peut trouver une grammaire contextuelle qui les engendre. Cela revient à chercher une
grammaire contextuelle pour le langage Lcopie. [Q : problème à résoudre !].
1.6
Vers des grammaires faiblement contextuelles
La question est alors de savoir si on a
besoin des grammaires contextuelles dans
toute leur généralité pour analyser les
phrases d’une langue naturelle ou si on
peut se contenter d’une sous-classe des
grammaires contextuelles. Joshi (voir
photo), Levy et Takahashi ont développé
un modèle de grammaire particulier, que
nous étudierons, qui permet de traiter
seulement certains langages contextuels,
mais pas tous. Ils font l’hypothèse que ce
modèle de grammaire (les TAGs, pour
Tree Adjoining Grammars) est exactement
ce qui convient pour analyser les langues
naturelles, elles seront qualifiées de
faiblement contextuelles (mildly contextsensitive).
Exercice
Dans la langue mohawk, les verbes incorporent leurs sujets s’ils sont intransitifs, ou leur objet
s’ils sont transitifs. Par exemple, « il mange de la viande » devient « il viande-mange ». De
plus tous les verbes peuvent être nominalisés. Par exemple le verbe « viande-manger » donne
le nom « viande-manger » (le fait de manger de la viande). Ainsi, si un tel nom devient
complément d’objet d’un autre verbe, il s’incorporera à celui-ci pour donner un nouveau
verbe puis un nouveau nom et ainsi de suite, de manière récursive. Par exemple, « il aime
manger de la viande » devient « il viande-manger-aime » et il apparaît alors le nom « viandemanger-aimer » (le fait d’aimer manger de la viande »). De plus, quelquefois, un verbe avec
un sujet (ou un objet) incorporé apparaît avec un sujet (ou un objet) clairement manifesté en
position externe. Dans de tels cas, le nom incorporé doit correspondre exactement au nom
externe. Par exemple, on pourra avoir : « il viande-mange de la viande » ou bien « il viandemanger-aime viande-manger ». Sont des équivalents de phrases du mohawk les suites :
-
L’homme maison-louait maison
L’homme maison-louer-aimait maison-louer
L’homme maison-louer-aimer-souhaitait maison-louer-aimer etc.
Donner une description formelle de ce langage. Est-il hors-contexte ?
13
Téléchargement