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 LR 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