Université Paris X - Nanterre Master Traitement automatique des langues 2008 - 2009 Formalismes syntaxiques et traitement automatique Marcel Cori 1 Introduction 1.1 Le problème Les formalismes syntaxiques sont apparus en réponse à une double exigence : celle du traitement automatique des langues (TAL) et celle de la recherche d’une scientificité en linguistique. 1.1.1 Le point de vue du TAL On peut définir de manière très simplifiée le traitement automatique des langues comme étant constitué des méthodes et des programmes qui prennent pour données des productions langagières, quand ces méthodes et programmes tiennent compte des spécificités des langues humaines. L’idée communément admise à l’heure actuelle est qu’il faut séparer rigoureusement l’écriture des programmes de la description des données linguistiques. Le formalisme est alors l’interface entre le linguiste (qui doit se servir du formalisme afin de décrire les données) et l’informaticien (qui doit écrire des programmes généraux qui s’appliquent au formalisme). Il s’ensuit que : (1) Les formalismes doivent être précisément définis, afin de pouvoir se prêter à une informatisation. (2) Même dans le contexte du traitement automatique, l’expressivité des formalismes, leur lisibilité, est importante. Il y a une intervention d’êtres humains qui ne sauraient se satisfaire de modèles mathématiques rigoureusement définis et susceptibles d’être traités par des machines s’ils ne peuvent en comprendre la signification. (3) La complexité des traitements informatiques est à prendre en compte pour décider de la qualité d’un formalisme. 1.1.2 La formalisation en linguistique Chomsky, dans les années 1950, a voulu donner à la linguistique le statut de science, à l’égal des sciences de la nature. Il s’en est justifié notamment dans les termes qui suivent : (( Precisely constructed models for linguistic structure can play an important role, both negative and positive, in the process of discovery itself. By pushing a precise but inadequate formulation to an unacceptable conclusion, we can often expose the exact source of this inadequacy and, consequently, gain a deeper understanding of the linguistic data. 2 More positively, a formalized theory may automatically provide solutions for many problems other than those for wich it was explicitly designed. Obscure and intuition-bound notions can neither lead to absurd conclusions nor provide new and correct ones, and hence they fail to be usefull in two important respects. I think that some of those linguists who have questioned the value of precise and technical development of linguistic theory have failed to recognize the productive potential in the method of rigorously stating a proposed theory and applying it strictly to linguistic material with no attempt to avoid unacceptable conclusions by ad hoc adjustments or loose formulation. )) 1 Qu’apportent des (( modèles précisément construits ))? La réponse, à notre sens, tient en trois mots : falsifiabilité, prédictivité, objectivité. Tout d’abord, il est impossible de réfuter des propositions énoncées de manière très imprécise. Seules des propositions formulées rigoureusement, dont on peut sans équivoque tirer des conséquences, peuvent être réfutées. Or, une théorie non falsifiable est une théorie non scientifique. Ensuite, une science doit pouvoir trouver des solutions qui s’appliquent à des données qui n’ont pas été examinées ou à des problèmes qui n’ont pas été envisagés : c’est son caractère prédictif. Cela nécessite encore que puissent être tirées sans équivoque les conséquences des propositions énoncées. Il apparaı̂t ainsi essentiel qu’un modèle soit objectif. Autrement dit, mises entre n’importe quelles mains, les mêmes hypothèses dans un même modèle doivent conduire aux mêmes conclusions, comme les mêmes calculs doivent conduire aux mêmes résultats quel que soit le calculateur. C’est dire qu’un modèle (( précisément construit )) ne peut être qu’un modèle mathématique. On peut se passer de l’auteur d’une théorie mathématisée pour pouvoir l’appliquer à tel ou tel fait. On peut transmettre la théorie à d’autres personnes, qui en deviennent des dépositaires aussi légitimes que les auteurs originels. La théorie n’est plus attachée au théoricien. Nous dirons, de manière très rapide, que la démarche scientifique consiste à observer, décrire, classer, généraliser, modéliser. L’observation est la toute première phase de la démarche scientifique, tandis que la modélisation en constitue la phase ultime, phase exclusive de la mathématisation. Il est vrai qu’un modèle existe indépendamment des faits qu’il est supposé décrire et que, par là même, il peut ne refléter qu’imparfaitement la réalité. Mais le modèle est falsifiable, et donc sans cesse améliorable. 1.1.3 Modèles et grammaires Un modèle constitue le cadre mathématique dans lequel il est possible d’exprimer ses données. Plus précisément, définir un modèle, cela consiste à se donner une ou plusieurs classes d’objets mathématiques, les données du monde réel devant être représentées par des occurrences d’objets. Par exemple, un modèle peut déterminer la forme que doivent 1. Chomsky (1957:5). Ce passage est souvent cité, notamment par Pollard et Sag (1994), pp.7-8. Pullum (1991) a montré dans quelle mesure Chomsky s’est retourné contre les principes qu’il avait lui-même posés. 3 prendre les différentes grammaires censées décrire chacune une langue différente. Ce n’est d’ailleurs pas nécessairement aux mêmes personnes qu’il revient de définir un modèle et de construire des grammaires. On notera cependant que, le plus souvent, les concepteurs des modèles sont aussi les auteurs des grammaires, ce qui entraı̂ne de la confusion sur ce qu’est un formalisme ou ce qu’est une théorie linguistique. Selon qu’un modèle est plus ou moins contraint, c’est-à-dire selon que la classe d’objets qu’il autorise est plus ou moins étroite, il y a un déplacement dans la prise de décision. Un modèle contraint minimise le nombre de décisions à prendre dans l’écriture des grammaires. On peut dire en ce sens que choisir un modèle contraint, c’est affirmer une position sur la structure des langues humaines. Avec le risque, si le modèle est trop contraint, de rendre impossible la représentation de certains phénomènes linguistiques. À l’inverse, choisir un modèle très peu contraint ou non contraint, cela s’apparente à ne pas définir de modèle du tout. L’auteur de grammaires dispose d’une très grande liberté, mais il se trouve un peu dans la même situation que s’il travaillait dans un cadre non formel. Les décisions qu’il doit prendre ne se fondent sur aucun critère explicite, ou en tout cas aucun critère propre au modèle. Au mieux, elles peuvent être guidées par des commentaires fournis par les concepteurs des modèles. 1.1.4 Modèles et langages Il est important de ne pas confondre un modèle avec le langage en lequel sont exprimées les données dans le cadre du modèle. Sinon, on risque de ne pas s’apercevoir que deux approches sont radicalement différentes – parce qu’elles utilisent le même langage –, ou qu’il y a une rupture qui s’est produite au sein d’une même approche. Inversement, on peut être amené à penser que deux formalisations, autrement dit deux mathématisations, n’ont rien de commun parce que les langages utilisés diffèrent. Or, un même objet mathématique peut être exprimé selon différents langages. Par exemple, un même arbre syntagmatique peut être décrit par les deux notations parenthésées suivantes 2 : S(SN(det,N),SV(V,SN(det,N))) (S (SN det N) (SV V (SN det N))) Sachant que des modèles censés représenter les connaissances linguistiques ont été élaborés les uns indépendament des autres dans des cadres différents, il a fallu, a posteriori, étudier en quoi ces modèles se différenciaient. Mais, il n’est pas toujours immédiat de démontrer que deux objets mathématiques sont différents ou identiques. La notion même d’identité ou d’équivalence entre objets mathématiques ne va pas de soi. Il est par conséquent spécialement important, si on veut comparer des cadres théoriques, de définir ce qu’on entend par équivalence. 2. L’une correspond à la notation du langage Prolog, et l’autre à la notation du langage LISP. 4 On peut définir une théorie linguistique comme étant un ensemble T = {G1 , G2 , . . .} de grammaires – ce que nous appelons ici un modèle. Chaque Gi engendre un ensemble d’énoncés, autrement dit un langage L(Gi ), et un ensemble Σ(Gi ) de descriptions structurales : à chaque énoncé de L(Gi ) correspondent une ou plusieurs descriptions de Σ(Gi ). Les descriptions structurales sont d’une nature qui peut varier selon les théories. Deux théories linguistiques T et T 0 sont dites faiblement équivalentes si et seulement si pour toute grammaire Gi ∈ T il existe une grammaire G0j ∈ T 0 telle que L(Gi ) = L(G0j ), et réciproquement. Cette notion d’équivalence faible, bien qu’elle ne soit pas à négliger, est manifestement insuffisante pour décider de l’équivalence de théories linguistiques. En effet, si on s’en contentait, cela impliquerait que l’on ne tient aucun compte de tout ce qui concerne la description structurale des énoncés. C’est pourquoi a été introduite la notion d’équivalence forte. Deux théories T et T 0 sont dites fortement équivalentes si et seulement si pour toute grammaire Gi ∈ T il existe une grammaire G0j ∈ T 0 telle que Σ(Gi ) = Σ(G0j ), et réciproquement. Cette fois, cependant, le critère est trop strict, car de simples différences de notation rendraient des théories non équivalentes, de même que de simples points de détail. Une théorie ne pourrait être équivalente qu’à elle-même ! La question est donc de trouver un concept d’équivalence entre descriptions structurales qui soit moins rigide que la simple identité. On propose donc la définition suivante : deux théories T et T 0 sont fortement équivalentes si et seulement si : (i) pour toute grammaire Gi ∈ T il existe une grammaire G0j ∈ T 0 telle qu’on puisse établir une correspondance bijective entre Σ(Gi ) et Σ(G0j ) (ii) pour toute grammaire G0j ∈ T 0 il existe une grammaire Gi ∈ T telle qu’on puisse établir une correspondance bijective entre Σ(Gi ) et Σ(G0j ) Si seule la condition (i) est vérifiée on dira que T est moins puissante que T 0 , si seule (ii) est vérifiée c’est T 0 qui est moins puissante que T . 1.2 Un parcours historique rapide Nous reprenons dans cette partie les grandes lignes d’une approche historique des cinquante dernières années, élaborée par Cori et Marandin (2001). On distinguera cidessous quatre (( mouvements )): (a) l’émergence du programme génératif et de la notion de grammaire générative ; (b) le développement de modèles pour le traitement automatique qui vont rapidement devenir déclaratifs ; (c) le mouvement de réforme qui se cristallise dans le refus de la forme transformationnelle de la grammaire ; (d) le développement des grammaires multidimensionnelles qui sont chargées d’intégrer les analyses des dimensions formelles (syntaxe et phonologie) et non formelles (sémantique, pragmatique) des langues. 5 1.2.1 Le tournant formel La linguistique a pris, dans les années 1950, un tournant formel, sous l’effet du programme de la grammaire générative, élaboré par Chomsky. La grammaire générative définit un nouvel objet pour la linguistique : la compétence. Il ne s’agit plus d’établir le répertoire de tous les énoncés attestés, mais de décrire les processus de construction ou de compréhension de tous les énoncés possibles. Grâce à la récursivité, une grammaire permet d’engendrer, à l’aide d’un nombre fini de règles (de réécriture), la description structurale d’un nombre infini d’énoncés. Plusieurs types de grammaires récursives sont définies, qui fondent la hiérarchie de Chomsky. Chomsky s’appuie sur les résultats obtenus pour rejeter un certain nombre de grammaires possibles, et spécialement les grammaires syntagmatiques indépendantes du contexte (Context-Free Grammars, CFG), censées modéliser l’analyse en constituants immédiats. C’est dire que Chomsky se sert de la mathématisation à des fins de réfutation. Mais les CFG connaı̂tront un destin que le rejet par leur propre concepteur comme inadéquates à la représentation des langues ne laissait pas présager. Ainsi, ces grammaires seront très largement exploitées par le TAL. Les algorithmes d’analyse syntaxique définis dans les années 1960 seront à base de CFG, et ce sont ces algorithmes qui seront adaptés par la suite aux formalismes plus complexes. La majorité des formalismes développés ultérieurement et utilisés en TAL partiront des CFG. Il a néanmoins existé, dans la période même où Chomsky définissait les grammaires syntagmatiques, des courants qui ont développé des modèles mathématiques du langage indépendamment du chomskysme. Ces courants ont évolué au cours des décennies qui ont suivi, et ils sont bien vivants aujourd’hui. On peut citer d’une part les grammaires de dépendance, dont on peut fixer l’origine à Tesnière (1959), mais qui ont connu des évolutions vers une mathématisation plus rigoureuse, et une meilleure adaptabilité au traitement automatique. Et les grammaires catégorielles qui, nées essentiellement de préoccupations de logiciens, ont évolué en liaison avec les formalismes d’origine chomskyenne. Inversement, les formalismes d’origine chomskyenne ont adopté certaines solutions issues des grammaires catégorielles. 1.2.2 Les formalismes issus du TAL Dans la période qui débute en 1970, des dispositifs de traitement automatique des langues ont été constitués. Ces dispositifs se sont appuyés sur des modèles mathématiques, ou ont inspiré des modèles. Les réseaux d’automates augmentés, ou ATN, ont ainsi eu une importance considérable, fondant d’une certaine manière le TAL comme domaine autonome, et occupant une position quasi-hégémonique dans le domaine pendant plus d’une décennie. Se présentant à la fois comme une implémentation des grammaires transformationnelles et comme un modèle alternatif, les ATN s’émanciperont de leurs origines et s’intégreront dans des cadres divers et variés. Les ATN sont des réseaux d’automates auxquels sont associées des conditions et des 6 actions portant sur des valeurs affectées à des registres. Ils permettent de construire des structures représentatives des énoncés, qui sont des arbres hétérogènes – caractéristique qui sera reprise par les modèles ultérieurs. De même, l’affectation de valeurs à des registres préfigure les couples attribut/valeur qui formeront les spécifications de traits. C’est essentiellement au nom de la déclarativité que les ATN seront critiqués. Et c’est au nom de ce principe que les DCG seront défendues en tant que candidates à la succession des ATN. En fait, les DCG résultent du projet de traduire les CFG dans la logique du premier ordre afin d’effectuer l’analyse syntaxique des langues naturelles. Ce projet a abouti à l’élaboration du langage de programmation Prolog. Mais il fallait faire au moins aussi bien que les ATN, et c’est pourquoi les promoteurs des DCG (Pereira et Warren, 1980) ont ajouté des traits aux règles. De nouveaux formalismes ont suivi les DCG, dont le prototype est PATR II. La représentation reste déclarative, elle n’est plus à base de termes logiques, mais de structures de traits, qui permettent de représenter de l’information partielle sur des objets. PATR II, comme les DCG, s’appuient sur des CFG. Aux règles de la grammaire s’ajoutent des contraintes, et les représentations structurales construites sont des structures de traits (comme elles sont des termes pour les DCG). Les grammaires d’unification fonctionnelle (Functional Unification Grammars, FUG) de Kay (1985) constituent un tournant, car elles font disparaı̂tre les grammaires en tant qu’objets distincts. Les règles sont incluses dans les structures de traits, et une grammaire n’est elle-même qu’une structure de traits obtenue par la disjonction de structures plus élémentaires, qui chacune correspond à une ou plusieurs règles. La disjonction devenant une opération autorisée sur les structures de traits, cela complexifie la nature de celles-ci. L’importance historique des FUG ne tient nullement à leurs options en théorie linguistique (le fonctionnalisme), mais au fait que pour la première fois les structures de traits sont mises à contribution pour décrire les différentes dimensions des expressions langagières et que ce sont les mêmes outils formels qui sont utilisés quelle que soit la dimension. 1.2.3 La réforme post-chomskyenne Très tôt des linguistes ne se sont pas satisfaits des transformations et ont proposé de conserver les grammaires syntagmatiques en accroissant leur capacité descriptive. Pour eux, il fallait enrichir les grammaires syntagmatiques de telle sorte qu’elles permettent l’expression claire et distincte des principes organisateurs des langues. Les auteurs de ce type de démarche se sont présentés comme les plus fidèles continuateur du programme initial de Chomsky, que celui-ci aurait trahi. Bresnan, en définissant les LFG (Lexical-Functional Grammar), joue un rôle majeur dans l’affirmation de ce courant. Les arguments contre les grammaires transformationnelles, et donc en faveur des LFG, sont linguistiques et psycho-linguistiques. Mais, le modèle le plus achevé dans ce cadre est constitué par les GPSG de Gazdar. L’innovation clef est la définition des catégories syntaxiques comme des ensembles de spécifications de traits, où les traits sont définis comme des couples hattribut, valeuri. 7 Cette définition des catégories autorise l’écriture des règles à plusieurs niveaux de généralité. Par ailleurs, des principes permettent d’énoncer des connaissances générales sur le langage. À ce courant on peut également rattacher les grammaires d’arbres adjoints (Tree Adjoining Grammars, TAG, Joshi, 1985) qui ont la particularité de redéfinir l’opération de composition des arbres. Cette opération, l’adjonction, vient insérer des arbres, dits auxiliaires, à lintérieur des arbres syntaxiques, permettant un traitement non transformationnel des relations à longue distance. Le caractère déclaratif des modèles non transformationnels, leur concomitance avec les modèles déclaratifs issus du TAL, a permis de faire une présentation unifiée de ces modèles avec ceux issus du TAL sous la dénomination de grammaires d’unification (Shieber, 1986), puis de grammaires de contraintes (Shieber, 1992). Cette représentation unifiée est justifiée par une réelle convergence, des emprunts réciproques évidents. Mais, outre le fait que les objectifs des concepteurs de ces modèles sont dissemblables, on peut relever d’importantes différences entre les objets formels – cela n’est pas une mince augmentation, par exemple, d’intégrer la disjonction aux structures de traits – et des utilisations divergentes, selon que l’on conserve ou pas des règles de grammaire. 1.2.4 Les courants syncrétiques Le troisième moment est contemporain. Il se caractérise par la tentative de s’approprier et d’unifier les héritages des différents modèles qui ont précédé (GPSG, grammaires catégorielles et même grammaires transformationnelles), et de donner des descriptions unifiées des différentes dimensions du langage. On demande aux grammaires d’intégrer ce qui relève du signifiant, du signifié et de l’usage des expressions linguistiques. Les critères de choix des formalismes se trouvent alors profondément modifiés. Un formalisme devient d’autant meilleur qu’il est moins contraint, et donc plus à même de modéliser des dimensions nécessairement hétérogènes. Les systèmes informatiques de représentation des connaissances inspireront les concepteurs de ces formalismes. Les structures de traits typées sont une des formalisations possibles de ces systèmes de représentation des connaissances. Ces structures supposent l’existence d’un ensemble de types, structurés selon une hiérarchie d’héritage par la relation d’inclusion. Les HPSG illustrent le type de grammaire multidimensionnelle que permettent les structures de traits typées, où l’entreprise de description des langues prend le pas sur la modélisation de la faculté de langage. Elles sont caractérisées par l’hétérogénéité des facettes constitutives des objets manipulés et l’uniformité de la modélisation de ces informations. L’hétérogénéité est captée par la classification dans des dimensions distinctes. L’uniformité de la modélisation se manifeste de deux façons. D’une part le modèle de toute unité est construit sur le même patron quelle que soit sa taille : un mot (c’est-à-dire une unité du lexique) est représenté de la même manière qu’un syntagme ou qu’une phrase, voire un discours, tous ces objets étant des signes. D’autre part, les propriétés de ces entités, quelle que soit leur nature, sont exprimées dans le même format. 8 2 Automates et réseaux d’automates 2.1 Automates finis non déterministes Nous décrivons les automates finis (ou à nombre fini d’états) dans leur version non déterministe, sachant que l’on établit une équivalence entre les automates non déterministes et les automates déterministes. 2.1.1 Définition Un automate à nombre fini d’états (ou automate fini) non déterministe A est un 5-uple A = hK, V, q0 , F, δi où K est un ensemble fini d’états, V est un vocabulaire, q0 est un élément de K, appelé état initial, F est un sous-ensemble de K, dont les éléments sont appelés états terminaux et δ est une application, dite fonction de transition, qui, à tout couple composé d’un élément q de K et d’un élément a de V , associe un sous-ensemble de K. On écrit : r ∈ δ(q, a) dans le cas où r appartient à ce sous-ensemble. hq, a, ri forme alors une transition, qui peut être vue comme l’arc d’un graphe, d’origine q, d’extrémité r et étiqueté par a. Exemple 2.1 Soit l’automate défini par K = {q0 , q1 , q2 , q3 }, V = {a, b}, F = {q3 } et où la fonction de transition est définie par : δ(q0 , a) = {q1 , q2 } δ(q0 , b) = ∅ δ(q1 , a) = {q2 } δ(q1 , b) = {q1 , q2 } δ(q2 , a) = {q2 } δ(q2 , b) = {q3 } δ(q3 , a) = ∅ δ(q3 , b) = ∅ Les automates pouvant être vus comme des graphes, on en donne une représentation schématique, certainement plus expressive pour des êtres humains. Sur l’exemple : a ¾» a - q0 ½¼ ¾»b - q1 a ½¼ -¾» q2 b -½¼ b ¾» - q3 ½¼ a On notera la manière de marquer l’état initial q0 et les états terminaux (ici, un seul état terminal, q3 ). 9 2.1.2 Reconnaissance Un mot a1 a2 . . . an de V ∗ est reconnu par l’automate si et seulement si il existe une suite hk0 , k1 , . . . , kn i d’éléments de K avec k 0 = q0 kn ∈ F et, pour tout i compris entre 1 et n, ki ∈ δ(ki−1 , ai ) hk0 , k1 , . . . , kn i est un parcours de l’automate. Pour un mot donné, il peut exister plusieurs parcours qui en permettent la reconnaissance. Le langage L(A) reconnu par l’automate A est constitué par tous les mots de V ∗ reconnus par A. Exemple 2.2 Avec l’automate de l’exemple 2.1 ci-dessus, le mot abbaab est reconnu, de par l’existence des deux parcours hq0 , q1 , q1 , q1 , q2 , q2 , q3 i et hq0 , q1 , q1 , q2 , q2 , q2 , q3 i. On peut montrer plus globalement que l’automate reconnaı̂t le langage {abn ap b ; n ≥ 0 et p ≥ 0} 2.1.3 L’inadéquation des automates finis pour la représentation des langues naturelles Il y a deux types de raisons à l’inadéquation de la représentation des langues par des automates finis. Les premières sont de l’odre de la capacité générative faible, les deuxièmes de l’ordre de la capacité générative forte. En premier lieu, certaines tournures font appel aux contraintes dites de bon parenthésage. Ainsi, les relatives en que et où, qui donnent lieu à des énoncés tels que : Le notaire recevra la femme que l’appartement où le professeur que ta sœur connaı̂t vivait attire Il n’existe pas d’automate fini pouvant rendre compte de ce type de contraintes. En second lieu, certaines tournures peuvent bien être reconnus par des automates finis, mais les descriptions structurales qui seraient construites ne peuvent convenir. Exemple 2.3 Soit l’automate défini par K = {q0 , q1 , q2 , q3 , q4 }, V = {nom, verbe, dét, qui}, F = {q4 } et où la fonction de transition est définie par 3 : δ(q0 , dét) = {q1 } δ(q1 , nom) = {q2 } δ(q2 , qui) = {q3 } δ(q2 , verbe) = {q4 } δ(q3 , verbe) = {q0 } 3. Quand la valeur prise par la fonction de transition est vide, elle n’est pas indiquée ici. 10 Cet automate est suceptible de reconnaı̂tre des phrases qui comprennent des relatives en qui. Mais, l’arbre qui représente une phrase telle que Le chien qui poursuit le chat qui tient une souris aboie présente de très sérieuses insuffisances. Entre autres, il ne permet pas de rendre compte d’une décomposition en constituants, et encore moins de rendre compte de la notion de syntagme. Ainsi, le syntagme nominal le chien ne reçoit pas de représentation en tant que tel. Il en résulte notamment qu’une interprétation sémantique à partir de cette analyse syntaxique serait des plus délicates : l’interprétation la plus naturelle supposerait que c’est la souris qui aboie ! q0 ·l · · ·dét l l ll q1 ·l l · l · ll ·nom q2 ·l l · l · ll ·qui q3 ·l l · l · ll ·verbe q0 ·l l · l · ll ·dét q1 ·l l · l · ll ·nom q2 ·l l · l · ll ·qui q3 ·l l · l · ll ·verbe q0 ·l l · l · ll ·dét q1 ·T · T · T ·nom T q2 verbe 11 2.2 Réseaux d’automates 2.2.1 Définition Un réseau d’automates A est défini par un 5-uple A = hK, V, q0 , F, δi où K, V , q0 et F jouent le même rôle que dans la définition des automates finis, et où la fonction de transition δ est cette fois une application qui, à tout couple composé d’un élément q de K et d’un élément x de V ∪ K, associe un sous-ensemble de K. On écrit encore : r ∈ δ(q, x) dans le cas où r appartient à ce sous-ensemble. On notera que la seule différence avec les automates finis réside dans le fait qu’une transition peut être assurée par un symbole qui n’appartient pas au vocabulaire, mais qui est un état : cas où x ∈ K. Exemple 2.4 Soit le réseau défini par K = {S, SN, SV, Rel,q1 , q2 , q3 , q4 , q5 , q6 , q7 , q8 , q9 , q10 }, V = {dét, nom, verbe, prorel}, q0 = S, F = {q2 , q4 , q5 , q7 , q10 } et où la fonction de transition est définie par 4 : δ(S,SN) = {q1 } δ(SN, dét) = {q3 } δ(SV, verbe) = {q6 } δ(Rel, prorel) = {q8 } ¾» SN - S ½¼ δ(q1 , SV) = {q2 } δ(q3 , nom) = {q4 } δ(q6 , SN) = {q7 } δ(q8 , SN) = {q9 } δ(q4 , Rel) = {q5 } δ(q9 , verbe) = {q10 } ¾» SV - q1 ½¼ ¾» - q2 ½¼ ½¼ ¾» nom - q3 ½¼ @ ¾» ¡@ ¡ Rel - q4 ½¼ ¾» ¾» ¾» SN SV dét verbe - q 6 SN ½¼ ½¼ ¾» ¾» Rel prorel - q 8 ½¼ SN ½¼ ¾» - q5 ½¼ ¾» - q7 ½¼ ¾» ¾» verbe - q9 - q10 ½¼ ½¼ 4. Nous ne donnons encore pas la valeur prise par la fonction de transition quand celle-ci correspond à l’ensemble vide. 12 Ce réseau donne une description des phrases qui admettent des relatives en que. La transition de S à q1 , par exemple, est assurée par le symbole SN, qui appartient à K. On peut l’interpréter en disant que cette transition nécessite l’(( appel à un sous-automate )). Ce qui signifie qu’elle représente un parcours entre l’état SN et un état terminal accessible depuis SN, en l’occurrence q4 ou q5 . 2.2.2 Parcours On définit une situation du réseau d’automates relativement à un mot a1 a2 . . . an de V comme étant un triplet α = hq, r1 r2 . . . rp , ki où q, r1 , r2 , . . . , rp sont des éléments de K et où k est un nombre compris entre 0 et n. k fait référence à une place dans le mot de V ∗ , tandis que r1 r2 . . . rp est une (( pile d’états de retour )), qui donne des indications sur les appels à des sous-automates que contient la situation. ∗ Un mot a1 a2 . . . an de V ∗ est reconnu par le réseau d’automates si et seulement si il existe une suite hα0 , α1 , . . . , αi , αi+1 , . . . , αm i de situations telles que 5 : α0 = hq0 , ε, 0i αm = hq, ε, ni avec q ∈ F et que chacun des αi+1 soit lié à αi = hq, r1 r2 . . . rp , ki par une des relations suivantes : (1) αi+1 = hs, r1 r2 . . . rp , k + 1i avec s ∈ δ(q, ak+1 ) (2) αi+1 = hr, sr1 r2 . . . rp , ki avec s ∈ δ(q, r) et r ∈ K (3) αi+1 = hr1 , r2 . . . rp , ki avec q ∈ F Une telle suite de situations forme un parcours du réseau d’automates. La relation (1) est semblable à la relation qui lie des états dans le parcours d’un automate fini. La relation (2) correspond à un appel de sous-automate, qui implique un empilement. La relation (3) correspond à un retour à l’automate appelant, elle implique un dépilement. Exemple 2.5 Avec le réseau d’automates de l’exemple 2.4, la suite de situations suivante correspond à la reconnaissance du mot dét nom verbe dét nom prorel dét nom verbe ou de la phrase le notaire recevra la femme que la maison attire. α0 α1 α2 α3 α4 α5 α6 = hS, ε, 0i = hSN, q1 , 0i = hq3 , q1 , 1i = hq4 , q1 , 2i = hq1 , ε, 2i = hSV, q2 , 2i = hq6 , q2 , 3i 5. Où ε représente une suite vide. 13 α7 = hSN, q7 q2 , 3i α8 = hq3 , q7 q2 , 4i α9 = hq4 , q7 q2 , 5i α10 = hRel, q5 q7 q2 , 5i α11 = hq8 , q5 q7 q2 , 6i α12 = hSN, q9 q5 q7 q2 , 6i α13 = hq3 , q9 q5 q7 q2 , 7i α14 = hq4 , q9 q5 q7 q2 , 8i α15 = hq9 , q5 q7 q2 , 8i α16 = hq10 , q5 q7 q2 , 9i α17 = hq5 , q7 q2 , 9i α18 = hq7 , q2 , 9i α19 = hq2 , ε, 9i On notera que l’approche reste déclarative car elle s’appuie sur l’existence d’un parcours, et qu’elle n’implique pas un algorithme pour déterminer ce parcours : on n’a pas à savoir si ce parcours doit être construit en commençant par son début, sa fin, ou même son milieu. 2.2.3 Langage reconnu par un réseau d’automates Le langage L(A) reconnu par le réseau d’automates A est constitué par tous les mots de V ∗ reconnus par A. 2.2.4 Capacité générative Etant donné un réseau d’automates A, il existe une grammaire indépendante du contexte qui engendre le langage reconnu par A. Réciproquement, étant donnée une grammaire indépendante du contexte, il existe un réseau d’automates qui reconnaı̂t le langage engendré par la grammaire. Il y a donc une équivalence, au moins au sens de la capacité générative faible, entre les CFG et les réseaux d’automates. Certains arguments contre les CFG sont donc aussi des arguments contre les réseaux d’automates. Mais la capacité générative forte des réseaux d’automates est supérieure à celle des CFG. Nous allons le montrer en donnant une définition possible de la capacité générative forte des réseaux d’automates. À chaque parcours d’un réseau, on associe un arbre syntagmatique. Soit hα0 , α1 , . . . , αm i le parcours d’un réseau associé au mot a1 a2 . . . an . Un sousparcours élémentaire hαi , αi+1 i est tel que la relation entre αi et αi+1 est la relation (1) définie ci-dessus. 14 Un sous-parcours (non élémentaire) hαi , αj i est tel que j > i + 1 et que les conditions suivantes soient vérifiées : (i) La relation entre αi et αi+1 est la relation (2). (ii) La relation entre αj−1 et αj est la relation (3). (iii) Si αi = hq, µ, ki, alors αj = hr, µ, k 0 i (même µ) et il n’existe pas αl = hs, ν, k 00 i avec i < l < j et |ν| ≤ |µ|. Un tel sous-parcours revient en fait à l’appel d’un sous-automate et au retour à l’automate appelant. Ainsi, dans l’exemple précédent, hα9 , α17 i forme un sous-parcours non élémentaire. On associe un arbre à tout sous-parcours de la manière suivante : (i) Au sous-parcours élémentaire hαi , αi+1 i où αi = hq, µ, ki on associe l’arbre (ponctuel) ak+1 . (ii) Soit un sous-parcours non élémentaire hαi , αj i tel qu’à tous les sous-parcours (élémentaires et non élémentaires) hαi0 , αi1 i, hαi1 , αi2 i, . . . , hαip−1 , αip i (avec i0 = i + 1 et ip = j − 1) ont été associés les arbres respectifs γ1 , γ2 , . . . , γp . Si αi+1 = hq, µ, ki, on associe à hαi , αj i l’arbre q(γ1 , γ2 , . . . , γp ). On associe de la même façon au parcours du réseau d’automates l’arbre q0 (γ1 , γ2 , . . . , γp ). Exemple 2.6 Reprenons le parcours de l’exemple 2.5. Ci-dessous sont indiqués les différents arbres associés aux différents sous-parcours et au parcours complet. hα1 , α2 i hα2 , α3 i hα0 , α4 i hα5 , α6 i hα7 , α8 i hα8 , α9 i hα10 , α11 i hα12 , α13 i hα13 , α14 i hα11 , α15 i hα15 , α16 i hα9 , α17 i hα6 , α18 i hα4 , α19 i dét nom SN(dét,nom) verbe dét nom prorel dét nom SN(dét,nom) verbe Rel(prorel,SN(dét,nom),verbe) SN(dét,nom,Rel(prorel,SN(dét,nom),verbe)) SV(verbe,SN(dét,nom,Rel(prorel,SN(dét,nom),verbe))) S(SN(dét,nom),SV(verbe,SN(dét,nom,Rel(prorel,SN(dét,nom),verbe)))) Exemple 2.7 La portion de réseau ci-dessous rend compte de la coordination des syntagmes nominaux. Elle nous permet de mettre en évidence la supériorité de la capacité 15 générative forte des réseaux d’automates sur celle des CFG. ¾» SC SN ½¼ ¾» SN dét ½¼ ¾»et -¾» - q1 q2 SN ¾ ½¼ ½¼ ¾» nom - q3 ½¼ ¾» - q4 ½¼ Avec cette portion de réseau, la représentation d’un syntagme comme le chat et le chien et le lapin serait l’arbre : SC(SN(dét,nom),et,SN(dét,nom),et,SN(dét,nom)) L’arbre obtenu a une largeur (nombre de fils d’un même sommet) non bornée, alors que dans une CFG cette largeur est bornée par le nombre maximum d’éléments figurant dans la partie droite des règles. 16 3 L’écriture logique des grammaires 3.1 Introduction C’est en s’inspirant des systèmes formels, c’est-à-dire de systèmes logiques, que Chomsky avait conçu les grammaires formelles. Il n’est donc pas étonnant qu’on ait ensuite pensé à plonger les grammaires dans les systèmes logiques. Plus exactement, on a commencé par exprimer les CFG dans le calcul des prédicats du premier ordre. L’hypothèse sur laquelle repose cette approche est que la reconnaissance d’un énoncé est un processus semblable à la démonstration d’un théorème. Les axiomes sont en ce cas les règles de la CFG, ainsi que les informations lexicales. Ces axiomes sont en nombre fini, alors que les énoncés qu’ils régissent, et qui s’apparentent aux théorèmes, peuvent être en nombre infini. Les recherches en ce domaine ont conduit des chercheurs à définir le langage de programmation Prolog (Colmerauer et al., 1973). C’est même très précisément dans l’objectif d’effectuer l’analyse syntaxique des langues naturelles que Prolog a été défini. Ce langage permet l’écriture des CFG dans des systèmes logiques, plus précisément dans une souspartie du calcul des prédicats du premier ordre. Il permet également d’ajouter des traits aux grammaires, et d’associer des traductions aux énoncés, formant ainsi les grammaires à clauses définies (Definite Clause Grammar, DCG). Bien que les DCG soient historiquement indissociables du langage Prolog, nous essayons dans ce qui suit d’en faire une présentation détachée de Prolog. En effet, l’écriture en Prolog des grammaires ne change absolument rien à la nature de celles-ci, et rien non plus à leur interprétation linguistique. La présentation est progressive : après avoir rappelé quelques notions très élémentaires de logique des prédicats du premier ordre, on explicite comment exprimer les CFG dans ce modèle logique. On associe ensuite des traits aux règles et aux arbres syntagmatiques, mais en considérant d’abord le cas où les traits n’admettent que des valeurs atomiques, puis celui où ils admettent des valeurs arborescentes. Enfin, on étudie comment des traductions peuvent être associées aux énoncés. 3.2 3.2.1 Notions élémentaires de logique des prédicats du premier ordre Les clauses On se donne un ensemble de symboles de constantes, un ensemble de symboles de variables (ou de variables) et un ensemble de symboles de prédicats. À chaque symbole de 17 prédicat on associe un nombre entier positif ou nul : c’est l’arité du symbole 6 . Nous définissons une formule atomique du calcul des prédicats du premier ordre comme étant de la forme P (t1 , . . . , tn ) où P est un symbole de prédicat, et t1 , . . . , tn sont des termes, un terme étant pour l’instant un symbole de constante ou un symbole de variable. Une clause est une formule qui s’écrit sous la forme d’une disjonction de formules atomiques ou de négations de formules atomiques. Par exemple : (1) ¬P (x) ∨ ¬Q(x, A) ∨ R(x) ∨ S(x) (2) ¬P (x) ∨ ¬Q(x, A) ∨ ¬T (y) ∨ U (y, x) Une clause peut se mettre sous la forme d’une implication entre une conjonction et une disjonction de formules atomiques. Ainsi, pour les clauses ci-dessus : (1) (P (x) ∧ Q(x, A)) ⇒ (R(x) ∨ S(x)) (2) (P (x) ∧ Q(x, A) ∧ T (y)) ⇒ U (y, x) Deux cas particuliers sont à considérer. D’une part les clauses dans lesquelles aucune formule atomique n’est niée : (3) T (B) ∨ Q(B, A) D’autre part les clauses dans lesquelles toutes les formules atomiques sont niées : (4) (T (x) ∧ Q(x, A)) ⇒ ∅ Dans cette écriture ∅ représente la clause vide. La signification est que si T (x) et Q(x, A) sont valides, cela conduit à une contradiction. Les clauses réduites à un conséquent, comme la clause (3) ci-dessus, sont d’une certaine manière analogues aux faits des systèmes experts, les clauses comportant un antécédent et un conséquent, comme (1) ou (2), étant analogues aux règles. 3.2.2 Clauses de Horn Une clause de Horn est une clause qui contient dans la partie conséquent de l’implication une formule atomique au plus. Par exemple, les clauses (2) et (4) sont des clauses de Horn, alors que les clauses (1) et (3) ne le sont pas. Dans ce qui suit, on ne s’intéressera qu’aux clauses de Horn. 6. Par convention, les symboles de constante sont des lettres majuscules du début de l’alphabet A, B, C, . . ., les symboles de variables des lettres minuscules de la fin de l’alphabet x, y, z, t, u, . . ., les symboles de prédicat des majuscules tells que P, Q, R, . . . 18 3.2.3 Unification et résolution Une substitution est une opération qui, appliquée à une clause, construit une nouvelle clause en remplaçant toutes les occurrences d’une même variable par un terme. Par exemple la substitution {A/x} remplace toutes les occurrences de la variable x par la constante A. Une substitution peut porter sur plusieurs variables. Par exemple : {A/x, u/y, u/z} La clause obtenue après substitution s’appelle la substituée. On note : (5) {B/x}(P (x) ∧ Q(x, A)) ⇒ (R(x) ∨ S(x)) = (P (B) ∧ Q(B, A)) ⇒ (R(B) ∨ S(B)) (6) {z/x, z/y}(P (x) ∧ Q(x, A) ∧ T (y)) ⇒ U (y, x) = (P (z) ∧ Q(z, A) ∧ T (z)) ⇒ U (z, z) Une substitution peut ainsi remplacer une variable par une constante (substitution (5)), ou rendre deux variables qui étaient indépendantes égales (substitution (6)) (ou les deux). En ce sens, une substitution permet d’obtenir à partir d’une formule donnée une formule moins générale, déduite logiquement de la formule d’origine. Deux clauses X et Y sont unifiables si et seulement si il existe une même substitution s qui, appliquée aux deux clauses, construise une même troisième clause. Autrement dit : sX = sY En ce cas, s unifie X et Y . On peut interpréter le fait que deux clauses soient unifiables en disant que ces deux clauses sont susceptibles de représenter de l’information concernant une même réalité. Si s est la substitution la plus générale qui unifie X et Y , sX (ou sY ) représente l’information la plus générale portée à la fois par X et par Y . Soient deux clauses de Horn X1 ∧ · · · Xn ⇒ X et Y1 ∧ · · · Ym ⇒ Y telles qu’il existe une substitution s qui unifie X et Y1 . On démontre que de ces deux clauses est déduite logiquement la clause suivante, appelée résolvante des deux clauses : sX1 ∧ · · · sXn ∧ sY2 ∧ · · · sYm ⇒ sY 3.3 3.3.1 L’interprétation logique des CFG Règles de grammaire et formules logiques Afin de représenter les connaissances linguistiques sous forme logique, on définit des positions situées entre les mots d’une phrase, comme suit : 19 0 le 1 chien 2 mange 3 un 4 os 5 On peut ainsi indiquer qu’il y a un verbe entre les positions 2 et 3 : (7) v(2, 3) La règle de réécriture SV → V SN peut alors être exprimée par la formule : (8) ∀x, y, z v(x, y) ∧ sn(y, z) ⇒ sv(x, z) Cela signifie que si entre x et y il y a un v, et si entre y et z il y a un sn, alors il y a un sv entre x et z. La formule (7) constitue un cas particulier de clause de Horn, et la formule (8) peut être écrite sous la forme d’une clause de Horn : (9) v(x, y) ∧ sn(y, z) ⇒ sv(x, z) 3.3.2 Théorèmes Des formules ci-dessus, qui constituent des axiomes, on déduit, par résolution, des théorèmes. Si on considère par exemple les formules : (10) det(x, y) ∧ n(y, z) ⇒ sn(x, z) (11) det(0, 1) on en déduit : (12) n(1, z) ⇒ sn(0, z) Ce qui signifie que s’il y a un nom entre les positions 1 et z, il y aura un syntagme nominal entre les positions 0 et z. En utilisant la formule : (13) n(1, 2) on obtient : (14) sn(0, 2) 20 3.3.3 Le langage Prolog Le langage Prolog permet une représentation des clauses de Horn. Les clauses sont écrites (( à l’envers )), comme des implications réciproques, et elles sont exprimées dans un langage plus facilement communicable aux ordinateurs que celui habituel des formules logiques (il faut en particulier utiliser des caractères que l’on retrouvera sur tous les claviers). C’est ainsi que les variables seront distinguées des constantes par l’utilisation des majuscules 7 , et que le symbole d’implication inverse (( ⇐ )) est noté (( :- )) et lu (( si )). Chaque clause est terminée par un point. On écrit les formules et (7) (9) ci-dessus sous la forme 8 : (15) a. b. v(2,3). sv(D,F) :- v(D,I),sn(I,F). Un ensemble de formules écrites selon cette syntaxe constitue un programme Prolog. Ainsi, la traduction d’une CFG en Prolog constitue un programme. On peut obtenir un programme plus large en adjoignant à la grammaire les informations lexicales à propos d’une phrase. Exemple 3.8 Nous donnons ci-dessous une traduction en Prolog d’une CFG admettant des relatives en que, suivie d’un étiquetage de formes lexicales pouvant correspondre à la phrase : mon neveu fréquentait une fille que son père détestait s(D,F) :- sn(D,I),sv(I,F). sn(D,F) :- det(D,I),nom(I,F). sn(D,F) :- det(D,I),nom(I,I1),rel(I1,F). sv(D,F) :- verbe(D,I),sn(I,F). rel(D,F) :- prorel(D,I),sn(I,I1),verbe(I1,F). det(0,1). nom(1,2). verbe(2,3). det(3,4). nom(4,5). prorel(5,6). det(6,7). nom(7,8). verbe(8,9). Exécuter un programme, cela revient à tenter de répondre à une question, ce qui se tra7. Ce qui est malheureusement la convention inverse de celle habituellement admise en logique. 8. Nous prenons comme variables D pour début, F pour fin et I comme intermédiaire. 21 duit par l’exécution d’un algorithme de démonstration automatique. Les démonstrations, en Prolog, s’effectuent selon le mécanisme de l’unification. Le théorème à démontrer est appelé un but. Afin de le démontrer, on essaye de l’unifier avec les parties gauches des clauses Prolog (c’est-à-dire les conséquents des implications). Si l’unification est réussie, on remplace le but à démontrer par la partie droite de la clause (ou plutôt par cette partie droite modifiée), ce qui fait que l’on obtient une nouvelle liste de buts à démontrer. La liste va diminuer à chaque fois qu’on réussira à unifier un but avec un fait, c’est-à-dire une implication sans antécédent. Quand cette liste est vide, c’est que la démonstration a pu être effectuée. Il y a échec de la démonstration si on ne parvient pas à rendre vide la liste de buts à démontrer. Quand le programme Prolog, comme dans l’exemple 3.8 ci-dessus, contient la traduction d’une grammaire, accompagnée d’informations catégorielles sur les mots d’une phrase, on peut ainsi poser des questions du type : - vérifier qu’une phrase est acceptable, ou qu’une portion de phrase constitue un syntagme d’une catégorie donnée ; - trouver tous les syntagmes de la phrase qui sont d’une catégorie donnée. On notera que, dans le cas où il existe un phénomène de récursivité à gauche dans une grammaire, ce qui peut par exemple se traduire par l’existence d’une règle écrite en Prolog sous la forme sn(D,F) :- sn(D,I), rel(I,F). l’algorithme conduit à des exécutions qui ne se terminent pas. Ceci n’est nullement dû à un défaut de la grammaire, ni même à la traduction des grammaires en formules logiques : c’est la spécificité de l’algorithme associé au langage de programmation Prolog qui est en cause. Cet algorithme revient en effet à effectuer une analyse descendante avec retour en arrière. 3.4 3.4.1 L’adjonction de traits aux grammaires Introduction Les clauses de Horn sont encore appelées des clauses définies (Definite Clause). Toutefois, on ne parle de DCG que lorsque les grammaires logiques sont augmentées. Afin de véhiculer des valeurs, des traits sont adjoints aux règles et aux formes lexicales. Les valeurs sont soit des valeurs atomiques, soit des termes logiques qui correspondent à des structures arborescentes, dont certaines feuilles peuvent être étiquetées par des variables. Ceci permet : - de conditionner l’application des règles (la vérification de la compatibilité entre valeurs de traits est directe) ; - de construire des arbres associés aux expressions (syntagmes ou phrases), qui en 22 donnent la description ou une traduction 9 . On peut éventuellement associer plusieurs traductions ou descriptions à un syntagme ou à une phrase. Dans cette partie, nous présentons l’adjonction de traits aux grammaires, en commençant par des traits à valeur atomique. Dans la partie suivante, nous envisageons le cas des traits à valeur arborescente, avant d’indiquer comment des traductions sont associées aux expressions. 3.4.2 Traits associés aux catégories Les traits permettent, dans une première approche, de caractériser les objets linguistiques par d’autres informations que leur catégorie (nom, verbe, SN, SV) : le nombre, le genre, la personne, le temps, etc. On se donne un ensemble d’attributs T . Une application τ : VN ∪ VT → P(T ) associe à chaque catégorie un ensemble d’attributs, permettant de spécifier quelles informations sont attachées à quelle catégorie. À chaque catégorie on associe ainsi un nombre fixe d’attributs. Exemple 3.9 Prenons T = {genre, nombre, temps, transitif}. On se donne : τ (SV) = {temps, nombre, personne} τ (SN) = {genre, nombre, personne} τ (verbe) = {temps, nombre, personne, transitif} τ (nom) = {genre, nombre} τ (dét) = {genre, nombre} τ (S) = ∅ 3.4.3 Traits associés aux unités linguistiques À chaque forme lexicale ou à chaque syntagme d’une catégorie donnée X on va associer un ensemble de couples hattribut, valeuri, ou plus précisément une application de τ (X) dans l’ensemble E des valeurs. Par exemple, on prend E = {masculin, féminin, singulier, pluriel, oui, non, présent, passé, futur} et au syntagme le chien on associe l’application : genre 7→ masculin nombre 7→ singulier personne 7→ 3 9. On prend ici le terme traduction dans un sens très large. On peut ainsi traduire d’une langue dans une autre, mais aussi dans un formalisme logique, ou dans un langage d’interrogation de bases de données. 23 3.4.4 Traits associés à une grammaire Afin d’associer des traits aux grammaires, on se donne, en plus de l’ensemble T des attributs et de l’ensemble E des valeurs, un ensemble Ξ de variables. Soit G = hVT , VN , S, Ri une CFG. à laquelle est adjointe une application τ : VN ∪VT → P(T ). La façon dont les valeurs de traits pourront être distribuées dans les arbres syntagmatiques est déterminée par des applications associées aux règles de la grammaire. À chaque règle r de la forme C0r → C1r . . . Cprr (avec, pour tout i, Cir ∈ VN ∪ VT ), on associe pr + 1 applications: tri : τ (Cir ) → E ∪ Ξ Exemple 3.10 À la règle SV → verbe SN on associe les applications : t0 t1 t2 temps 7→ X nombre 7→ Y personne 7→ Z temps 7→ X nombre 7→ Y personne 7→ Z transitif 7→ oui genre 7→ U nombre 7→ V personne 7→ W Cette règle, accompagnée des applications qui lui sont associées, peut être écrite d’une manière plus condensée, formant une espèce de règle complexe : GV {htemps,Xi, hnombre,Y i, hpersonne,Zi} → verbe {htemps, Xi, hnombre, Y i, hpersonne,Zi, htransitif, ouii} GN {hgenre,U i, hnombre,V i, hpersonne,W i} D’autres exemples de règles accompagnées de traits sont les suivants : GN {hgenre,Xi, hnombre,Y i, hpersonne,3i} → dét {hgenre,Xi, hnombre, Y i} nom {hgenre, Xi, hnombre,Y i} S { } → GN {hgenre,Xi, hnombre,Y i, hpersonne,Zi} GV {htemps,U i, hnombre,Y i, hpersonne,Zi} Les traits expriment : - le côté (( conditionnel )) d’une règle, ainsi une règle qui ne s’applique que si le verbe est transitif ; 24 - la nécessité de l’identité des valeurs d’accord entre des sous-syntagmes qui constituent un syntagme par concaténation (par exemple pour le genre et le nombre entre le GN et le GV) ; - l’(( acquisition )) par le syntagme composé des valeurs associées à des sous-syntagmes (par exemple le GV acquiert le temps du verbe). 3.4.5 Arbres admissibles On considère à présent des arbres dont les sommets sont étiquetés à la fois par des valeurs prises dans VN ∪ VT , et par des applications qui associent des valeurs (de trait) à des attributs. Mais on suppose que dans un arbre aucune valeur de trait ne reste indéterminée. Toutes les valeurs sont donc constantes. Etant donnée une grammaire G = hVT , VN , S, Ri, une application τ : VN ∪VT → P(T ), et un ensemble d’applications tri associées aux règles, on définit les arbres admissibles par la grammaire de la manière suivante : (i) Si X ∈ VT ∪ VN et g : τ (X) → E est une application, alors hX, gi est un arbre (admissible) de racine hX, gi ; (ii) Si α1 , α2 , . . . , αn sont des arbres de racines respectives hC1 , g1 i, . . . , hCn , gn i, si C0 → C1 C2 . . . Cn est une règle de R à laquelle sont associées les (n + 1) applications ti : τ (Ci ) → E ∪ Ξ, si g0 : τ (C0 ) → E est une application, et s’il existe une substitution σ vérifiant pour tout i : ∀w ∈ τ (Ci ) σ(ti (w)) = gi (w) alors hC0 , g0 i(α1 , α2 , . . . , αn ) est un arbre admissible de racine hC0 , g0 i. 3.4.6 L’écriture logique des traits Dans une formule telle que la formule (9) ci-dessus on peut incorporer des traits, afin de traduire les règles complexes sous forme de clauses. On obtient : (16) v(t1 , t2 , x, y, z, oui) ∧ sn(t2 , t3 , u, v, w) ⇒ sv(t1 , t3 , x, y, z) C’est la place dans la liste des arguments des prédicats qui détermine l’interprétation d’un trait. Ainsi on peut considérer ici que x représente le temps (du verbe et du syntagme verbal), y représente le nombre, z la personne, u le genre du complément, v le nombre du complément et w sa personne. L’unification se fait très facilement avec les traits : il n’y a rien à ajouter aux processus automatiques. 25 3.5 3.5.1 Traits à valeur arborescente La notion de terme en logique Aux symboles de constantes et symboles de variables introduits plus haut (en 3.2.1), on adjoint un ensemble de symboles de fonctions. A chaque symbole de fonction on associe un nombre entier positif ou nul : c’est l’arité du symbole. Les termes sont définis de la manière suivante : (i) tout symbole de constante, symbole de variable ou symbole de fonction 0-aire constitue un terme ; (ii) si f est un symbole de fonction n-aire et si t1 , t2 , . . . tn sont des termes, alors f (t1 , t2 , . . . tn ) est aussi un terme. On observe une grande similitude entre cette définition et celle des arbres. Les symboles de fonction jouent ici le rôle joué par les éléments du vocabulaire non terminal, les symboles de constantes ou de variables jouent le rôle des éléments du vocabulaire terminal. Il y a bien une différence : un symbole de fonction donné ne peut avoir qu’un nombre fixe de fils, alors que le nombre de fils d’un élément de VN peut varier 10 . Le cas des symboles de fonction 0-aires correspond à celui des règles dont la partie droite est le mot vide. Les définitions des substitutions et de la résolution données plus haut (en 3.2.3) s’appliquent toujours, avec les termes plus complexes définis ici. 3.5.2 Application à l’écriture des grammaires On peut à présent faire apparaı̂tre explicitement les attributs dans les clauses représentant des règles. Par exemple : (17) verbe(t1 , t2 , temps(x), nombre(y), personne(z), transitif(oui)) ∧ gn(t2 , t3 , genre(u), nombre(v), personne(w)) ⇒ gv(t1 , t3 , temps(x), nombre(y), personne(z)) Mais, on peut également grouper ensemble des traits qui s’apparentent, par exemple : (18) det(t1 , t2 , accord(u)) ∧ n(t2 , t3 , accord(u)) ⇒ gn(t1 , t3 , accord(u), personne(3)) On indique de la sorte que les traits d’accord (genre et nombre) ont un comportement semblable. Au niveau lexical les traits associés à une forme devront correspondre à cette écriture. 10. Cela n’empêche qu’il est possible de faire correspondre à tout arbre un terme logique : il suffit d’associer à un même symbole de VN plusieurs symboles de fonction. On notera qu’en Prolog, un même symbole de fonction peut avoir plusieurs arités. 26 Par exemple, on associera à chien dans la phrase le chien mange un os une formule telle que : n(1, 2, accord(genre(masculin),nombre(singulier))). 3.5.3 L’association d’une traduction aux syntagmes La notion de compositionalité signifie que le sens associé à une unité se calcule d’après le sens associé aux unités qui la composent. On peut généraliser ceci en faisant correspondre une traduction (qui n’est pas nécessairement le sens) à chaque syntagme. Plus précisément on associe une traduction à chaque forme lexicale et une procédure de calcul de la traduction d’un syntagme à travers la règle qui le définit. Ainsi, si A → A1 A2 . . . An est la règle numéro i de la grammaire, on a : trad(A) = fi (trad(A1 ), trad(A2 ), . . . , trad(An )) fi désignant une opération explicite dans le formalisme de traduction. En logique, il s’agira de la construction d’un terme. 27 4 Les grammaires syntagmatiques généralisées 4.1 Introduction Les grammaires syntagmatiques généralisées, ou (( Generalized Phrase Structure Grammars )) (GPSG) sont nées à la fin des années 1970 à l’initiative de Gerald Gazdar (Gazdar, 1982), (Gazdar, Klein, Pullum & Sag, 1985). Ce modèle a connu une évolution jusqu’à la fin des années 1980. Les GPSG présentent un très grand intérêt : - en raison du nombre de concepts nouveaux qui ont été introduits ; - en raison de la rigueur de l’approche, tant du point de vue linguistique que du point de vue mathématique. Le modèle est très explicite. Les GPSG ont été conçues comme une réaction aux grammaires transformationnelles, qui sont soumises à une double critique : (1) leur plausibilité psychologique est très douteuse. Les êtres humains sont capables d’analyser très rapidement les énoncés, de même que les algorithmes d’analyse syntaxique fondés sur les CFG, alors que les GT ne peuvent donner lieu à des algorithmes un tant soi peu efficaces : (( The sentences of a natural language can be parsed. We do it all the time. Furthermore, we do it very fast [..]. But for transformational grammars, it is not known that processing time can be any less than a doubly exponential function of sentence length (Peters 1979). Transformational grammars thus fail to provide even the beginnings of an explanation for one of the most important and most neglected facts about natural languages : parsing is easy and quick. Sentences of a context-free language are provably parsable in a time which is, at worst, proportional to less than the cube of the sentence length. )) (Gazdar, 1982 : 133) (2) Les propriétés mathématiques des grammaires transformationnelles sont très obscures : (( The mathematical properties of the resulting baroque systems (( are almost entirely unknown : we are ignorant, for example, as to whether ungrammaticality with respect to such grammars is decidable, i.e. given an arbitrary string on the terminal vocabulary, no way is known of proving that that string is not generated by the grammar. In this situation, claims by grammarians to the effect that such and such a string of words cannot be generated by their grammar merely reflect their intuitions about the apparatus they are using. )) (Gazdar, 1982 : 131) La démarche de Gazdar consiste à revenir aux CFG, dont la critique est jugée mal fondée. Mais Gazdar ne peut ignorer l’apport des GT. Il doit donc enrichir les grammaires syntagmatiques de telle manière que puissent être traités des phénomènes pris en compte par les grammaires transformationnelles. 28 4.2 4.2.1 Les règles syntaxiques : le format DI/PL Les règles de dominance immédiate Dans les GPSG, on sépare la dominance de la précédence. Les règles de dominance immédiate (ou règles de DI) expriment la relation entre un syntagme et ses constituants immédiats, indépendamment de l’ordre linéaire. On écrit par exemple : (1) A → B, C, D les virgules servant à distinguer ces règles des règles syntagmatiques ordinaires. La règle (1) donne lieu à six arbres élémentaires distincts, correspondant à six règles d’une grammaire CF : A → BCD, A → BDC, A → CBD, A → CDB, A → DBC et A → DCB. Remarquons que l’on peut avoir des règles telles que SV → V, SN, SN (pour représenter des énoncés en anglais tels que give Mary a book). Les parties droites des règles ne sont donc ni des suites, ni des ensembles, mais des multiensembles (possibilité de répétition d’un élément, qui n’existe pas dans les ensembles). 4.2.2 Les règles de précédence linéaire Les règles de précédence linéaire (PL) s’écrivent indépendamment des règles de dominance immédiate. Par exemple : B<C Cette règle, combinée avec la règle de DI A → B, C, D, sélectionne trois arbres élémentaires distincts parmi les six définis plus haut. Ces arbres correspondent aux trois règles CF qui suivent : A → BCD, A → BDC, A → DBC La séparation entre règles de dominance immédiate et règles de précédence linéaire fait que l’on parle de format DI/PL. Cette innovation, qui paraı̂t très importante, est en réalité de peu d’effet : à chaque grammaire DI/PL on peut associer une CFG de même capacité générative forte11 . On construit par permutation des parties droites des règles de DI toutes les règles de type CFG possibles, puis on sélectionne parmi ces règles celles qui satisfont aux règles de PL. Inversement, pourtant, il y a des CFG auxquelles il n’est pas possible de faire correspondre une grammaire DI/PL fortement équivalente. Par exemple, à la CFG composée des trois règles qui suivent : A → BC, D → BC, D → CB 11. En définissant la capacité générative forte d’une GPSG comme étant l’ensemble des arbres admissibles par cette grammaire. 29 on ne peut faire correspondre une grammaire DI/PL fortement équivalente. En effet, si on inclut dans la grammaire DI/PL la règle B < C, la dernière règle de la CFG n’est pas considérée, si on exclut cette règle, il faut ajouter à la CFG la règle A → CB. Ce qui montre que les GPSG ne constituent pas une généralisation des CFG ou des PSG, mais une augmentation ou un enrichissement. Une généralisation supposerait que n’importe quelle CFG puisse être vue comme une GPSG particulière. 4.3 4.3.1 Traits et catégories syntaxiques Les catégories syntaxiques comme ensembles de traits L’idée est très simple : au lieu d’affecter à un objet (mot ou syntagme) une catégorie unique, on le décrit par ses différentes propriétés, chacune d’entre elles étant caractérisée par un attribut auquel est affecté une valeur. Une telle idée s’applique très simplement à la description des objets de la vie courante. Par exemple, on peut décrire une personne en donnant son nom, son numéro de téléphone et son âge. Une spécification de trait 12 est un couple hattribut, valeuri. Par exemple : hnom, Duponti, ou htéléphone, 0140974097i, ou hâge, 35i. Une catégorie est un ensemble de spécifications de traits. Par exemple : f = {hnom, Duponti, htéléphone, 0140974097i, hâge, 35i} Plus exactement, une catégorie est une fonction 13 de l’ensemble des attributs T sur l’ensemble E des valeurs : f :T →E Pour une catégorie f , on écrit par exemple f (nom) =Dupont. Le domaine de la catégorie f est le sous-ensemble de T constitué par tous les attributs auxquels f associe une valeur. On écrit dom(f ). Sur l’exemple : dom(f ) = {nom, téléphone,âge} 4.3.2 Les catégories des GPSG Afin de décrire les catégories syntaxiques des GPSG comme des ensembles de traits, on met en œuvre essentiellement deux mécanismes. Tout d’abord, on décompose les catégories majeures selon les valeurs prises par les traits N et V . On définit 14 : 12. Dans le cadre du présent chapitre, on considère uniquement le cas des valeurs atomiques pour les traits. On abordera le cas où un trait peut recevoir une valeur complexe en 5.2.3. 13. Rappelons qu’une fonction, contrairement à une application, n’associe pas une image à tous les éléments de son ensemble de départ. Cela signifie qu’il ne correspondra pas une valeur à tous les attributs, et que les données pourront être sous-spécifiées. 14. Nous n’explicitons pas ici les motifs linguistiques qui font trouver des similitudes d’une part entre les verbes et les adjectifs, et d’autre part entre les noms et les adjectifs. 30 {hN, +i, hV, −i} les noms et leurs projections ; {hN, −i, hV, +i} les verbes et leurs projections ; {hN, +i, hV, +i} les adjectifs et leurs projections ; {hN, −i, hV, −i} les prépositions et leurs projections. Ensuite, on exploite la théorie X-barre. Dans la version de X-barre retenue par les GPSG, il y a deux niveaux de projection. S et SV sont tous les deux des projections de V , au même niveau 2 (elles sont distinguées par le trait SU JET ). Les catégories comme N et V sont au niveau de BARRE 0, et on les appelle des préterminaux. A partir de là, un SN va être représenté par : {hN, +i, hV, −i hBARRE, 2i} et un S par : {hN, −i, hV, +i hBARRE, 2i hSU JET, +i} On peut avoir des informations supplémentaires dans les catégories, comme dans {hN, +i, hV, −i hBARRE, 2i hP ER, 3i hP LU, −i hCAS, ACCi} Ce qui veut dire que les traits tels que nous les avons définis dans le cadre des DCG sont ici inclus dans les catégories. On peut aussi avoir des catégories sous-spécifiées, comme : {hN, +i}, {hBARRE, 2i} ou {}. Cette dernière catégorie est la variable catégorielle universelle. 4.3.3 Les conventions de notation Les auteurs des GPSG ont proposé pour manipuler les catégories qui sont un peu trop (( volumineuses )), des conventions de notation, plus (( légères )). Par exemple : X pour {} X2 pour {hBARRE, 2i} N pour {hN, +i, hV, −i} SN ou N 2 pour {hN, +i, hV, −i, hBARRE, 2i} V2 pour {hN, −i, hV, +i, hBARRE, 2i} SV pour {hN, −i, hV, +i, hBARRE, 2i hSU JET, −i} S pour {hN, −i, hV, +i, hBARRE, 2i hSU JET, +i} SN [ACC] pour {hN, +i, hV, −i, hBARRE, 2i, hCAS, ACCi} SN [+P LU ] pour {hN, +i, hV, −i, hBARRE, 2i, hP LU, +i} SN [3SIN G] pour {hN, +i, hV, −i, hBARRE, 2i, hP LU, −i, hP ER, 3i} Cet usage de notations abrégées est en quelque sorte un retour à des catégories plus traditionnelles. En effet, la définition des catégories comme étant des ensembles de traits met sur le même plan les propriétés qui caractérisent une catégorie traditionnelle (N, V, BARRE, . . . ) et les propriétés qui qualifient les objets d’une catégorie donnée (PLU, PER, CAS, . . . ). Si on change la valeur associée à un attribut tel que N, V ou BARRE, on change la catégorie, ce qui n’est pas le cas si on change la valeur de PLU, PER ou CAS. 31 Les conventions de notation réintroduisent une distinction entre ces deux types d’attributs (en gros, les attributs qualifiants ou leurs valeurs se trouvent à l’intérieur des crochets), et fusionnent les attributs caractérisants pour reconstituer le nom des catégories traditionnelles. On peut en déduire que le formalisme des GPSG sans les conventions de notation manque d’expressivité, qu’il est peu lisible pour des êtres humains, si linguistes soient-ils. En revanche, l’élaboration des notations abrégées n’obéit pas à des règles strictes et tout à fait cohérentes 15 . 4.3.4 Extension et subsomption Définition : La catégorie A est une extension de la catégorie B (et on écrit B v A) si et seulement si f ∈ dom(B) ⇒ f ∈ dom(A) et A(f ) = B(f ) En ce cas, on dit également que B subsume A. Cela signifie que B contient moins d’information que A, ou que B est plus générale que A. Par exemple, {hN, +i, hV, −i, hBARRE, 2i, hP LU, −i, hP ER, 3i} est une extension de {hN, +i, hV, −i, hP ER, 3i}. Il résulte de ceci une hiérarchisation des objets linguistiques, qui peut être rendue par le graphe ci-dessous, où les objets situés le plus haut sont les objets les plus généraux, et les objets situés en bas les plus spécifiques. 15. Par exemple, on écrit 3SNG ou +PLU. 32 X "b b " " b b " " b b " b " b b " " b " b b " " {hN, +i, hV, −i} " " " b b b {hN, −i, hV, +i} X2 "b b " " " " b " b b b b " " " b b " b " b b " b " " SN " % % % % % % %e e e e e e e e % e SN [3SIN G] %SN [ACC] % e % e % e % e % e % e % e e % e%SN [ACC, 3SIN G] 4.3.5 % % % %SV % % b b V2 %e % e % e e e e e e e S L’écriture de règles sous-spécifiées Une grande innovation par rapport aux CFG est de pouvoir écrire des règles très générales, puisqu’elles ne portent pas sur des catégories au sens où on l’entendait en CFG, mais sur des catégories sous-spécifiées, c’est-à-dire sur des catégories haut placées dans le diagramme hiérarchique tel que celui présenté ci-dessus. Ainsi la règle [SOU SCAT ] < ¬ [SOU SCAT ] qui s’interprête : (( un constituant marqué par l’attribut SOU SCAT précède tout constituant non marqué par cet attribut )). Cette règle de PL s’applique par exemple aux règles de DI : SV → V, SN et SV → V, SN, SP . 4.4 4.4.1 L’admissibilité des arbres Une approche déclarative Les GPSG se veulent d’emblée et sans équivoque un modèle déclaratif. Une grammaire définit les conditions de bonne formation des arbres, autrement dit quels sont les arbres 33 qui sont acceptés, ceux qui sont admissibles. Il n’y a pas d’axiome dans GPSG. Est admissible tout arbre qui représente un quelconque syntagme, et pas obligatoirement une phrase. Techniquement, l’admissibilité est définie sur les arbres élémentaires, dont la composition constitue les arbres complexes. La notion d’extension intervient crucialement dans cette admissibilité, puisque les règles sont sous-spécifiées, alors que les arbres ne le sont pas. 4.4.2 La notion de projection Un arbre élémentaire pourra être associé à une règle de DI. On dira alors que c’est une projection de la règle. Définition : Soit r = C0 → C1 , . . . , Cn une règle de DI, et soit un arbre élémentaire dont la racine est étiquetée par C00 et les feuilles sont étiquetées par C10 , . . . , Cn0 , autrement dit l’arbre C00 (C10 , . . . , Cn0 ). Une application bijective ϕ : {C0 , C1 , . . . , Cn } → {C00 , C10 , . . . , Cn0 } est une (fonction de) projection de r si et seulement si elle vérifie 16 : (i) ϕ(C0 ) = C00 (ii) Pour tout i tel que 0 ≤ i ≤ n, ϕ(Ci ) est une extension de Ci . C00 %¢A %¢ A A %¢ A % ¢ A % ¢ A % ¢ A ¢ % A ¢ % A ¢ % A ¢ % 0 0 AA C 0 ¢ % %C1 ¢C2 n C’est ainsi que la règle S → SN, SV admet comme projection l’arbre ci-dessous 17 : S[F IN I] % % % % % % %e % %SN [−P LU ] e e e e e e e e SV [F IN I, −P LU ] 16. Il serait plus exact mathématiquement de définir l’application ϕ de {0, 1, . . . , n} sur {0, 1, . . . , n}, et 0 d’écrire Cϕ(i) plutôt que ϕ(Ci ). 17. On a tendance à assimiler la fonction de projection à l’arbre qui est image de cette fonction. 34 4.4.3 Intervention des règles de précédence linéaire Définition : Soit r = C0 → C1 , . . . , Cn une règle de dominance immédiate et soit < la relation de précédence linéaire déterminée par la grammaire. Une projection ϕ de r est PL-acceptable si et seulement si pour tous i et j, si ϕ(Ci ) précède ϕ(Cj ) (dans l’arbre), alors il n’existe pas de catégories A et B vérifiant : A v ϕ(Cj ) et B v ϕ(Ci ) et A < B Mais, il ne suffit pas que les arbres soient compatibles avec les règles. Encore faut-il qu’ils ne contreviennent pas à un certain nombre de connaissances sur le langage ou sur des langues particulières que l’arsenal fourni par les GPSG permet de prendre en compte. 4.5 4.5.1 L’expression de connaissances générales sur le langage Introduction X-barre introduit une contrainte sur la forme des règles, qui doit être respectée par les règles de dominance immédiate des GPSG. Mais les GPSG incluent d’autres types de contraintes générales : des contraintes sur la structure interne de chaque catégorie, avec les restrictions sur les coccurrences de traits ou les spécifications de traits par défaut, que le concepteur des grammaires peut définir explicitement, et les principes généraux qui formalisent des contraintes sur le partage des valeurs de traits à l’intérieur des arbres. Trois principes (ou conventions) ont été introduits : le principe des traites de tête, le principe des traits de pied et le principe d’accord et de contrôle. Nous n’évoquerons que le premier de ces principes. 4.5.2 Les restrictions sur les cooccurrences de traits Les restrictions sur les coccurrences de traits (ou Feature co-occurrence restrictions, FCR) empêchent certaines spécifications de traits d’apparaı̂tre ensemble dans une même catégorie. Il y a des FCR universelles, comme par exemple [V F ORM ] ⇒ [+V, −N ] et des FCR spécifiques à une langue donnée, comme [+IN V ] ⇒ [+AU X, F IN I] La première de ces FCR indique que l’attribut V F ORM s’applique uniquement aux verbes et à leurs projections, tandis que la deuxième exprime que, pour l’anglais, si on a la spécification hIN V, +i, on a nécessairement aussi les spécifications hAU X, +i et 35 hV F ORM, F IN Ii. A l’aide des FCR qui suivent, on peut indiquer que les contraintes de sous-catégorisation apparaissent au niveau des préterminaux, et pas ailleurs : [BARRE 0] ⇔ [N ] ∧ [V ] ∧ [SOU SCAT ] [BARRE 1] ⇒ ¬[SOU SCAT ] [BARRE 2] ⇒ ¬[SOU SCAT ] On remarquera que la syntaxe des FCR n’est pas d’une grande rigueur, d’autant plus que ces FCR sont exprimées sur les conventions de notations plutôt que sur les catégories en tant que telles. Néanmoins, il est probablement faisable sans trop de peine de définir plus rigoureusement les FCR. Ce ne sont pas les catégories qui apparaissent dans les règles (de DI ou de PL) qui doivent vérifier les FCR, puisque ces règles peuvent mettre en jeu des catégories sousspécifiées, mais les catégories qui étiquettent les arbres. Si on considère la fonction de projection ϕ : {C0 , C1 , . . . , Cn } → {C00 , C1 ,0 . . . , Cn0 } c’est chacune des Ci0 qui doit vérifier toutes les FCR. On dit en ce cas que ϕ(Ci ) est une extension légale de Ci . On notera enfin que les FCR, comme les spécifications de traits par défaut que nous examinerons plus loin, n’agissent que sur la cohérence interne à chaque catégorie, mais qu’elles ne disent rien sur la cohérence entre les valeurs associées aux traits des différents sommets d’un même arbre. C’est afin de remédier à cette insuffisance que sont introduits les trois principes qui suivent. 4.5.3 Le principe des traits de tête 4.5.3.1 Têtes, têtes lexicales et règles de DI lexicales La notion de tête est issue de X-barre. Etant donnée une règle de partie gauche {hN, αi, hV, βi, hBARRE, mi, . . .} il doit figurer dans la partie droite de cette règle une catégorie {hN, αi, hV, βi, hBARRE, ni, . . .} avec n ≤ m. Cette catégorie constitue la tête (de la règle, ou de l’arbre élémentaire qui lui correspondra). 36 Ainsi la règle {hN, −i, hV, +i, hBARRE, 2i} → {hN, −i, hV, +i, hBARRE, 0i, hSOU SCAT, 2i}, {hN, +i, hV, −i, hBARRE, 2ii} admet pour tête la catégorie {hN, −i, hV, +i, hBARRE, 0i, hSOU SCAT, 2i}. Cette règle pourrait s’écrire V 2 → V [2], N 2 mais on écrira plutôt V 2 → H[2], N 2 (H comme head). Une telle notation sera justifiée plus loin, avec l’introduction du principe des traits de tête. Quand, comme c’est le cas pour cette dernière règle, la tête est de niveau BARRE 0, on dit que c’est une règle de DI lexicale. 4.5.3.2 Les traits de tête Un certain nombre d’attributs sont dits des traits de tête. Ils appartiennent à un ensemble HEAD (ou T ET E). Parmi ces attributs : N, V P LU BARRE V F ORM SU JET P F ORM AU X ADV P ASSE IN V SOU SCAT P ER ACCORD SLASH 4.5.3.3 qui définissent les catégories majeures qui indique le nombre qui prend les valeurs F IN I, IN F ou BSE (infinitif sans to en anglais) qui distingue les SV des S qui sous-catégorise les prépositions. On écrira SP [P F ORM à] ou SP [à] qui indique la présence d’un auxiliaire qui distingue les A2 qui sont des adverbes de ceux qui sont des adjectifs qui marque le temps pour les syntagmes qui commencent par un verbe la personne utilisé pour les dépendances non bornées. Le principe On suppose que dans chaque règle de DI de la grammaire, il y a une tête unique qui est identifiable (c’est-à-dire une des catégories apparaissant dans la partie droite de la règle). 37 Le principe des traits de tête (Head Feature Convention, HFC) dit que dans chaque arbre élémentaire projection d’une règle r les traits de HEAD de la racine coı̈ncident avec les traits de HEAD de la feuille projection de la catégorie tête, sauf bonne raison pour qu’il n’y ait pas coı̈ncidence. Plus précisément, il n’y aura pas coı̈ncidence si le contraire est stipulé par la règle r, par une FCR, ou par une des deux autres conventions (traits de pied, accord). Par exemple, considérons la règle SV → H[1], SN dont une projection est l’arbre ci-dessous. On remarque que l’identité des valeurs de traits est vérifiée, sauf pour le trait BARRE (c’est la règle qui impose l’inverse), et le trait SOU SCAT , en raison de la FCR [SOU SCAT ] ⇔ [BARRE 0] hN, −i hV, +i hBARRE, 2i hV F ORM, F IN Ii hP ASSE, −i % % % % % % % % %e e e e e e e e hN, +i hV, −i hBARRE, 2i hP ER, 3i hP LU, +i hCAS, ACCU Si hN F ORM, N ORM i hSOU SCAT, 1i hN, −i hV, +i hBARRE, 0i hV F ORM, F IN Ii hP ASSE, −i 4.5.4 e Les spécifications de traits par défaut Les spécifications de traits par défaut (ou Feature Specification Defaults, FSD) affectent une valeur à un trait, ou empêchent un trait d’avoir une certaine valeur, ou empêchent un trait d’apparaı̂tre, sauf si le contraire est dit explicitement. Par exemple : 38 [−IN V ] ¬[N U LL] [BARRE 0] ⇒ ¬[P AS] [P F ORM ] ⇒ [BARRE 0] en général, un objet n’est pas inversé ; une catégorie n’est en général pas vide ; un élément lexical n’est pas passif ; par défaut, la forme d’une préposition est donnée au niveau lexical. On remarquera encore que, comme pour les FCR, la syntaxe des FSD n’est pas très rigoureuse, mais qu’elle pourrait être rendue plus rigoureuse. 4.6 4.6.1 La génération des grammaires Les métarègles Les métarègles ont été introduites essentiellement en réponse aux transformations. C’est ainsi que la première métarègle introduite est la métarègle du passif, comme la transformation passive est la transformation qui a connu le plus de popularité au départ. Les métarègles définissent des mécanismes permettant de produire de nouvelles règles à partir de règles de dominance immédiate. Une métarègle a la forme suivante modèle ⇓ cible A toute règle qui satisfait la description du modèle, on associe une règle modifiée obtenue d’après la description de la cible. On posera que le modèle doit être une règle de DI lexicale (ce qui n’a pas été le cas dans les premières versions de GPSG). La métarègle du passif a la forme suivante : SV → W, SN ⇓ SV [P AS] → W, (SP [par]) W représente ici n’importe quel multiensemble, et les parenthèses indiquent que le syntagme prépositionnel est optionnel. Si on applique cette métarègle à la règle de DI lexicale SV → H[3], SN, SP [à] on obtient SV [P AS] → H[3], SP [à], (SP [par]) 39 La métarègle du sujet inversé s’applique notamment à l’anglais. Elle a la forme suivante : SV → W ⇓ S[+IN V ] → W, SN Si on applique cette métarègle à la règle de DI lexicale SV [+AU X] → H[46], SV [−AU X, BSE] on obtient S[+IN V, +AU X] → H[46], SV [−AU X, BSE], SN ce qui permet d’obtenir des constructions comme do you see Mary à partir de do see Mary. 4.6.2 L’utilisation de l’étoile de Kleene Les GPSG autorisent aussi à définir des règles dans lesquelles on utilise l’étoile de Kleene dans la partie droite. Par exemple, pour traiter une coordination multiple, on peut proposer la règle suivante : SN → SN, (et, SN )∗ . Cette règle, est en fait un schéma de règle qui décrit une infinité de règles de DI ordinaires. L’utilisation de l’étoile de Kleene ne change pas la capacité générative faible des grammaires, mais elle en change la capacité générative forte. 4.6.3 Remarques Les métarègles, comme l’étoile de Kleene font en fait abandonner une des exigences fondamentales des PSG : la génération de langages infinis par des grammaires finies. Puisqu’on passe par une première étape consistant à engendrer des grammaires infinies. Il n’est pas surprenant que l’aspect qui a été le plus critiqué dans GPSG, et qui a conduit à l’abandon du modèle, ce sont justement les métarègles. Et, notamment, au nom du traitement automatique : les métarègles font en effet exploser la combinatoire d’un éventuel traitement. 40 5 Les structures de traits 5.1 Introduction La différence essentielle des structures de traits avec les termes logiques qui sont utilisés dans les DCG est la suivante : les structures de traits représentent de l’information partielle sur un objet. Mais des caractéristiques supplémentaires peuvent rendre plus complexes les structures de traits : - réentrance : on admet le partage des valeurs associées à des attributs. Les structures de traits sont alors représentées par des graphes sans circuits plus généraux que des arbres ; - disjonction : on peut utiliser le ou logique dans les structures de traits ou entre les structures de traits ; - typage : on donne un type aux traits et on définit une hiérarchie sur les types. Toutefois, l’utilisation des structures de traits est très différente d’un formalisme à l’autre. En gros, certains formalismes conservent des grammaires et des règles en dehors des structures de traits, alors que d’autres diluent les grammaires dans les structures de traits. 5.2 5.2.1 Les structures de traits arborescentes Des catégories aux structures de traits Si T est un ensemble d’attributs et E un ensemble de valeurs, au niveau élémentaire une structure de traits peut être vue comme une fonction f de T dans E. On retrouve ici très exactement les catégories des GPSG telles que nous les avons définies plus haut en 4.3.1. Reprenons l’exemple de la fonction f qui fournit des informations sur une personne : f (nom) = Dupont f (téléphone) = 0140974097 f (âge) = 35 Une telle fonction peut se représenter sous une forme matricielle : nom Dupont tel 0140974097 âge 35 41 ou sous la forme d’un arbre (élémentaire), dans lequel seront étiquetés les arcs (par des attributs) et les feuilles (par des valeurs atomiques). nom%% % % % % % % % %e e e e tél % % %Dupont e e âge e e e e e 0140974097 e e 35 Mais, d’une certaine façon, ces structures sont trop (( plates )) : les informations sont toutes sur le même plan. Or il peut être plus parlant et, également, plus économique, de regrouper ensemble des informations d’une nature proche, comme cela a déjà été vu pour les DCG (en 3.5.2). Par exemple, pour une personne, les informations concernant son identité d’un côté, celle concernant son adresse d’un autre, etc. C’est pourquoi, à un niveau plus complexe, on définit l’ensemble T des structures de traits de la manière suivante : (i) Toute fonction de T dans E appartient à T ; (ii) Toute fonction de T dans E ∪ T appartient à T . Ce qui peut se représenter par des arbres ou des matrices moins élémentaires : " identité adresse nom Dupont prenom Jean # " # rue Chomsky ville Nanterre âge 35 42 " " " " l " " " identité " " " ll l " l l adresse " l âge l l " " l " "" ·T · T · T · T nom · T prénom · T · T · T · T ·Dupont T Jean rue · · · · · ·T · T · · ·Chomsky l l 35 T T T ville T T T T T Nanterre On notera que les arbres ici représentés ne sont pas ordonnés : contrairement aux arbres qui apparaissent dans les formules logiques, l’ordre entre les fils d’un même sommet n’est pas significatif, pas plus que n’est significatif l’ordre entre les lignes des matrices. Le domaine d’une structure de traits, tel le domaine des catégories des GPSG, est constitué par le sous-ensemble de T auquel sont associées des valeurs par la structure, que ces valeurs soient atomiques ou non. On notera encore dom(A) pour désigner le domaine de la structure de traits A. 5.2.2 Subsomption et unification Définition : Etant données deux structures de traits A et B, B est une extension de A (et on note A v B) si et seulement si pour tout f appartenant à dom(A) on a f ∈ dom(B) et : (i) si A(f ) ∈ E alors B(f ) ∈ E et B(f ) = A(f ) (ii) sinon B(f ) ∈ / E et A(f ) v B(f ) Définition : Deux structures de traits D1 et D2 sont unifiables si et seulement si il existe une structure D telle que D1 v D et D2 v D. On écrit D = D1 ∧ D2 quand D est la structure la plus générale possible vérifiant la propriété énoncé ci-dessus, c’est-à-dire s’il n’existe pas D0 tel que D1 v D0 , D2 v D0 et D0 v D. 5.2.3 Les structures de traits complexes dans les GPSG Afin de traiter certains phénomènes (accord, dépendances non bornées), les GPSG requièrent qu’un trait puisse admettre pour valeur une catégorie. Laquelle catégorie pouvant 43 elle-même avoir été définie à l’aide d’une autre catégorie 18 . Une spécification de traits est alors soit un couple hattribut, valeuri, soit un couple hattribut,catégoriei. Ainsi peut-on avoir la catégorie suivante : {hN, +i, hV, +i, hSLASH, {hN, −i, hV, −i, hACCORD, {hN, +i, hV, −i}i}i, hACCORD, {hN, −i, hV, +i}i} Cette catégorie pourra être représentée par l’arbre : ´b ´ ¶ bb ´ ¶ b ´ ¶ b ´ b ¶ ´ b ´ b ¶ b ACCORD N´´ V ¶ SLASH b b ´ ¶ b ´ b ´ ¶ b ´ bb ¶ ¶ ´ + + £B £S £ B £ S £ B S £ B £ S £ B V S ACCORD N £ V N£ B £ S £ B £ S £ B £ S £ BB + £ S ££− S £− − £B £ B £ B B £ B V N££ B B £ B £ BB − ££+ Par exemple, la catégorie introduite ci-dessus est une extension de la catégorie : {hN, +i, hSLASH, {hV, −i, hACCORD, {hN, +i}i}i} 5.3 5.3.1 Les structures de traits avec réentrance Approche intuitive Un niveau supérieur dans la complexité des structures de traits est obtenu en admettant le partage des valeurs associées à des attributs. Par exemple, si on veut indiquer que dans une phrase le SUJET et le PREDICAT partagent leurs valeurs d’ACCORD, on peut le faire à l’aide de la matrice ou du graphe 18. Toutefois, les GPSG limitent les arbres possibles, à l’aide de certains procédés formels : il est interdit d’affecter à un attribut f une valeur catégorielle qui fasse appel à cet attribut dans sa définition. 44 (qui n’est plus un arbre) qui suivent. ACCORD SUJET 1 PERSONNE 3 sing NOMBRE GENRE fem PREDICAT [ACCORD 1 ] ,l , l , PREDICAT, , l l SUJET l l l l l l , , , , , ,ACCORD , , , , , , , , l l l l l ACCORD l l l l l , l , l, ,l l , l , , PERSONNE , , , 3, , , NOMBRE , l l l GENRE l l l l l fem sing Le fait de retrouver le même nombre dans un petit carré est un moyen d’indiquer dans les matrices le partage des valeurs. Afin de comprendre ce qu’apporte la réentrance, on observera que les deux structures de traits (abstraites) ci-dessous sont distinctes : f g h h h h 1 1 h i v a i i f g h h h h h h v a v a i i i i Dans le premier cas, il y a effectivement un partage de valeur, alors que dans le deuxième cas il y a deux fois la même valeur. 45 Si on veut se référer à une image plus concrète, on peut dire que f représente Jean, que g représente Marie, que h représente habite, que v représente la ville d’habitation et que a représente Paris. Avec ces conventions, la première structure de traits indique que Jean et Marie habitent ensemble, à Paris alors que la deuxième indique que Jean habite à Paris et Marie habite à Paris. Jean% % %e e % % % e e habite e e e % e% e Marie e e e % % %habite % Jean % % % % %e % habite e e villee Paris e Marie e e e habite e ville e e e villee e e Paris e e Parise On verra plus loin l’intérêt (calculatoire) d’une telle distinction. 5.3.2 Définition des structures de traits La notation matricielle n’est pas strictement formalisée. C’est pourquoi, dans ce qui suit nous précisons la formalisation en terme de graphes. On se donne un ensemble d’attributs T et un ensemble E de valeurs. Définition : Une structure de traits est définie comme étant un quadruplet D = hQ, q0 , δ, θi où : 1. Q est un ensemble fini de sommets (ou d’états) ; 2. q0 ∈ Q est la racine (ou l’état initial) ; 3. δ : Q × T → Q est une fonction (partielle), qui détermine l’ensemble des successeurs d’un sommet donné, ainsi que les étiquettes des arcs qui partent de ce sommet (les étiquettes apartiennent à T ). On définit, pour tout q ∈ Q, l’ensemble des successeurs de q : Γ(q) = {r ∈ Q ; ∃t ∈ T δ(q, t) = r} 4. θ : Q → E est une fonction définie uniquement pour des feuilles du graphe hQ, Γi; 5. Le graphe hQ, Γi doit être sans circuit et à racine unique (cette racine étant q0 ). 46 On obtient ainsi des graphes dont les arcs sont étiquetés (par des attributs) et dont certaines feuilles sont étiquetées (par des valeurs). Un cas particulier de structure est constitué par le graphe ne comprenant que le sommet q0 , et tel que ce sommet ne soit pas étiqueté. Cette structure est la (( variable )), elle est notée [ ] et parfois appelée T OP et notée >. Exemple 5.11 L’arbre D de la figure ci-dessous peut être défini de la manière suivante : Q = {q0 , q1 , q2 , q3 , q4 } δ(q0 , Jean) = q1 δ(q0 , Marie) = q2 δ(q1 , habite) = q3 δ(q2 , habite) = q3 δ(q3 , ville) = q4 θ(q4 ) = Paris q00 q0 Jean% % q1 % % %e % e D habiteee e e e Marie e e e q2 % % %habite % Jean % % q10 % q30 ville 5.3.3 e e Marie e e e q20 habite e q50 e e villee q4 %e % habite % e q3 e% Paris % D0 e villee e e Parise q 0 4 e e Parise q60 Chemins et valeurs Un chemin de la structure de traits permet de sélectionner une partie de la structure. Définition : Etant donnée une structure de traits D = hQ, q0 , δ, θi, un chemin est une suite d’attributs ht1 , . . . , tp i étiquetant un chemin hq0 , . . . , qp i du graphe. Autrement dit : ∀i ∈ {1, . . . , p} δ(qi−1 , ti ) = qi La valeur associée à un chemin dans une structure de traits sera soit une valeur de E, soit une autre structure de traits. Définition : Soit D = hQ, q0 , δ, θi une structure de traits, ρ = ht1 , . . . , tp i un chemin de D auquel est associé le chemin hq0 , . . . , qp i du graphe. La valeur associée à ρ pour D, notée D(ρ), est : 1. si θ(qp ) est définie, alors D(ρ) = θ(qp ) 47 2. sinon, D(ρ) est le sous-graphe de racine qp , c’est-à-dire une autre structure de traits. On notera deux cas particuliers : - au chemin vide h i est associée comme valeur la structure de traits complète; - si qp est une feuille non étiquetée, au chemin ρ est associée comme valeur la variable [ ]. Exemple 5.12 Dans la structure D de l’exemple 5.11 ci-dessus on a : D(hJean, habite, villei) = D(hMarie, habite, villei) = Paris tandis que D(hMariei) a pour valeur la structure de traits représentée par le graphe cidessous : q2 % % % % q3 % %habite ville Paris 5.3.4 q4 La subsomption Définition : Etant données deux structures de traits D = hQ, q0 , δ, θi et D0 = hQ0 , q00 , δ 0 , θ0 i, on dira que D0 est subsumée par D si et seulement si il existe une application f : Q → Q0 qui préserve les structures de traits, c’est-à-dire qui vérifie : 1. f (q0 ) = q00 2. si δ(q, t) est définie, alors δ 0 (f (q), t) est aussi définie et on a δ 0 (f (q), t) = f (δ(q, t)) 3. si θ(q) est définie, alors θ0 (f (q)) est aussi définie et on a θ0 (f (q)) = θ(q) On écrit : D v D0 . Exemple 5.13 Si on considère les structures de traits D et D0 de l’exemple 5.11 on s’aperçoit que D0 subsume D en raison de l’application f définie par : f (q00 ) = q0 f (q10 ) = q1 f (q20 ) = q2 f (q30 ) = f (q50 ) = q3 f (q40 ) = f (q60 ) = q4 Le fait qu’il y ait un partage des valeurs dans D apporte une information supplémentaire. 48 5.3.5 L’unification Définition : Deux structures de traits D1 et D2 sont unifiables si et seulement si il existe une structure D telle que D1 v D et D2 v D. On écrit D = D1 ∧ D2 quand D est la structure la plus générale possible (cf. ci-dessus en 5.2.2). Exemple 5.14 On reprend les structures D et D0 de l’exemple 5.11., et on introduit une nouvelle structure, D1 . On construit D2 = D ∧ D1 et D20 = D0 ∧ D1 . On s’aperçoit que les résultats en terme d’information ne sont pas du tout les mêmes puisque dans le premier cas on peut déduire que Marie habite au deuxième étage, mais pas dans le premier cas. Jean Jean% % %e % % habite%% D1 % % étage 2 % % e e % habite e e e e Marie e e e % % %habite % % e% D2 e % % étage % ville % % % 2 Jean % % % %e % habite e e Marie e e e habite D20 étage% % % % 2 Paris % % %e e e villee e e villee e e Paris e e Parise Dans le cas où il y a échec de l’unification, on peut écire D1 ∧ D2 = ⊥. Alors que > est une structure de traits qui contient un maximum d’information (pouvant représenter n’importe quel objet), ⊥ contient de l’information contradictoire, et ne peut de ce fait représenter aucun objet. 5.4 5.4.1 Une application : PATR II Présentation PATR II (Parse and Translate, Shieber, 1986) est plus un outil informatique qu’un modèle linguistique. Ses auteurs en présentent les caractéristiques de la manière suivante : - la concaténation est la seule opération de combinaison des suites textuelles (autrement dit des suites de formes lexicales) ; - l’unification est la seule opération de combinaison d’informations. 49 Cela signifie que le formalisme est fondé sur une grammaire composée de règles CFG et que chaque syntagme est représenté par une structure de traits (c’est pourquoi on dit que les structures de traits forment le domaine d’informations). A chaque règle on associe des contraintes (équations ou identités) qui à la fois permettent de construire les structures représentatives des syntagmes et de conditionner l’application des règles. Aux formes lexicales aussi on associe des structures de traits. 5.4.2 Les règles combinatoires Ces règles doivent décrire à la fois comment les suites sont concaténées pour former de plus grandes suites, et comment les structures de traits associées sont reliées entre elles. Nous donnons ci-dessous un exemple de règle : X0 → X1 X2 hX0 cati = P hX1 cati = SN hX2 cati = SV hX0 têtei = hX2 têtei hX0 tête sujeti = hX1 têtei On peut voir la première ligne de cette règle comme étant la partie CF de la règle, les cinq lignes qui suivent étant des contraintes, exprimées selon la syntaxe suivante : une égalité entre deux chemins de traits, ou une égalité entre un chemin de traits et une valeur atomique (de trait). Les attributs X0 , X1 et X2 jouent évidemment un rôle particulier : X0 représente le constituant concaténé (partie gauche de la règle), X1 et X2 représentent les constituants à concaténer (partie droite de la règle CF). La suite associée à X0 doit être la concaténation des suites associées à X1 et X2 . En fait, les lignes entre la deuxième et la quatrième peuvent être vues comme faisant partie de la règle CF. Seules les lignes 5 et 6 sont réellement des contraintes d’identité. Toutefois, on peut voir ici la règle (ou l’ensemble des contraintes) comme une structure de traits unique D, que nous représentons ci-dessous sous la forme d’une matrice, dans laquelle X0 , X1 et X2 sont des attributs particuliers. " X0 X1 X2 " " CAT TÊTE 1 CAT SN TÊTE 2 CAT SV TÊTE 1 50 P [SUJET 2 ] # # # Cette règle est vérifiée par exemple par les constituants D0 , D1 et D2 suivants : X0 CAT P FORME finie " TÊTE SUJET X1 CAT TÊTE X2 TÊTE CAT " ACCORD SN " " ACCORD PERSONNE 3 NOMBRE sing SV FORME finie " SUJET PERSONNE 3 NOMBRE sing " ACCORD # # # # PERSONNE 3 NOMBRE sing # # D0 représente Jean dort, D1 représente Jean et D2 représente dort. On remarque qu’on peut unifier les quatre structures ci-dessus, ce qui donne la structure ci-dessous : X0 X1 TÊTE 1 X2 " " CAT CAT SN TÊTE 2 CAT SV TÊTE 1 P FORME SUJET 2 finie " " ACCORD # # PERSONNE 3 NOMBRE sing # # Le fait que cette unification soit possible montre la compatibilité de la règle avec l’énoncé. Maintenant, on peut voir les choses autrement, c’est-à-dire de manière ascendante (et donc, en quelque sorte, procédurale): on unifie D1 et D2 avec D, et on obtient la structure ci-dessus. En extrayant la sous-structure valeur de X0 , on obtient la structure associée à Jean dort. 51 5.5 5.5.1 Une augmentations aux structures de traits : la disjonction Définition Si A et B expriment des vérités à propos d’un objet, alors l’unification A ∧ B décrit un objet qui vérifie à la fois les propriétés A et B. Inversement on va définir A ∨ B, décrivant un objet qui vérife soit A, soit B. Définition : 1. Une structure de traits telle que définie ci-dessus, par exemple en 5.3.2, est dite une structure de traits de base 19 . 2. Si A et B sont deux structures de traits, alors A ∨ B aussi. 5.5.2 Subsomption Soient A = A1 ∨ · · · ∨ An et B = B1 ∨ · · · ∨ Bm où les Ai et les Bj sont des structures de base. On écrit B v A si et seulement si chaque Ai est subsumé par un Bj . ∀i ∃j Bj v Ai Exemple 5.15 Si A = A1 et B = A1 ∨ A2 il est clair que B est plus générale que A. On peut donner comme interprétation de A Dominique est une femme et comme interprétation de B Dominique est un homme ou une femme. Exemple 5.16 On prend A = A1 ∨ A2 ∨ A3 et B = B1 ∨ B2 ∨ B3 . On a : B1 v A1 , B3 v A2 et B1 v A3 . L’interprétation qui peut être donnée de A ici est Toto est un chat ou un gorille ou un tigre et l’interprétation qui peut être donnée de B est Toto est un félin ou un mouton ou un primate. 5.5.3 Unification Étant données deux structures de traits A et B, l’unification A ∧ B reste la structure C la plus générale qui vérifie A v C et B v C. 19. On peut partir de différentes sortes de structures de traits de base, par exemple des structures de traits typées qui seront introduites en 5.6.1, et définir la disjonction. 52 Techniquement, l’unification de deux structures de traits avec disjonction A = A1 ∨ · · · ∨ An et B = B1 ∨ · · · ∨ Bm est obtenue de la manière suivante : 1. Il faut qu’au moins un Ai et un Bj soient compatibles. 2. Chaque fois que c’est possible, on construit Ck = Ai ∧ Bj . 3. On supprime les Ck subsumés par un Ck0 . 4. On obtient finalement A ∧ B = C1 ∨ · · · ∨ Cp . Exemple 5.17 Si on prend : A = [NATURE table] ∨ [COULEUR rouge] = A1 ∨ A2 " B= NATURE chaise COULEUR jaune # ∨ [COULEUR vert] = B1 ∨ B2 le résultat est : " A∧B = NATURE table COULEUR vert # Le résultat est obtenu à partir de A1 et B2 car A1 et B1 ne sont pas compatibles, pas plus que A2 et B1 ou A2 et B2 . Exemple 5.18 Si on prend A = " t1 a t2 b # " ∨ t2 e t3 c # " = A1 ∨ A2 et B = on obtient : A1 et B1 sont incompatibles ; t1 a A1 ∧ B2 = C1 = t2 b t c 3 t1 a A2 ∧ B1 = C2 = t2 e t c# " 3 t2 e A2 ∧ B2 = C3 = t3 c et C3 v C2 . On a donc : " # t1 a t2 e A ∧ B = t2 b ∨ t3 c t3 c 53 t1 a t2 e # ∨ [t3 c] = B1 ∨ B2 , Une interprétation concrète pourrait être la suivante : A = Dominique est une femme intelligente ou un professeur stupide B = Dominique est une femme stupide ou un professeur A ∧ B = Dominique est une femme professeur intelligente ou un professeur stupide 5.6 5.6.1 La hiérarchisation des informations Motivation Les règles des grammaires, par exemple des CFG, sont données indépendamment les unes des autres. De même les informations sur le lexique. L’idée est d’organiser la représentation des connaissances linguistiques, en donnant des informations globales qui doivent guider l’écriture des règles (et des structures de traits). (a) Il s’agit de savoir à quels objets s’appliquent quels attributs. Par exemple, un ACCORD est associé aux verbes et aux noms, pas aux prépositions. (b) Il s’agit aussi de savoir quelles valeurs peuvent être associées à un attribut donné. Par exemple, NOMBRE peut prendre la valeur singulier ou pluriel, et pas présent ou masculin. Pour cela, on associe un type à chaque sommet d’une structure de traits. À un type on associe certains attributs, et les valeurs associées à un attribut appartiennent également à un type donné. Mais les types seront organisés selon une relation d’inclusion: la relation sous-type. Si une propriété est vraie pour un type donné, elle est héritée pour chacun de ces sous-types. Les atomes, c’est-à-dire les valeurs prises dans E constituent des types particuliers. 5.6.2 La hiérarchie des types On se donne un ensemble T ypes (qui contient l’ensemble E) et une relation d’ordre ≤ qui structure T ypes selon un graphe sans circuit. Définition : T = hT ypes, ≤i est une hiérarchie d’héritage. Remarque : Une relation d’ordre induit un graphe sans circuit. Ce graphe peut être défini en prenant l’ensemble T ypes comme ensemble des sommets du graphe, et en définissant l’ensemble des successeurs Γ(x) de chaque sommet x en disant que y ∈ Γ(x) si et seulement si y ≤ x et y 6= x et non (∃z z 6= x et z 6= y et y ≤ z et z ≤ x) 54 Ceci permet de donner une représentation graphique des hiérarchies d’héritage, comme ci-dessous : catégorie ¢l l ¢ ¢ l ¢ ¢ l l l l ¢ l ¢ ¢prépostion 5.6.3 l l catég à accord ¢A ¢ A ¢ A ¢ A ¢ A ¢ A ¢ A ¢nom A verbe Spécifications de traits Il s’agit maintenant d’indiquer quels attributs s’appliquent à quels types, et quelles sont les valeurs possibles pour ces attributs. Définition : Une spécification de traits est une fonction (partielle) Sp : T ypes × T → T ypes qui vérifie : si Sp(σ, t) est définie, et si τ ≤ σ, alors Sp(τ, t) est définie et Sp(τ, t) ≤ Sp(σ, t). C’est ainsi qu’on peut dire que tout objet de type mot admet un attribut CAT, et que les valeurs associées à cet attribut pour les objets de ce type sont de type catégorie en écrivant : Sp(mot,CAT) = catégorie La contrainte énoncée ci-dessus indique que si un attribut t s’applique au type σ, il s’applique aussi aux sous-types τ de σ, et la valeur qu’il prend pour τ est nécessairement plus spécifique (au sens large) que celle prise pour σ. Exemple 5.19 Supposons que σ représente le type personne, que τ représente le type esquimau et que t soit le trait HABITE. On exprime le fait que toute personne habite un logement en écrivant Sp(σ, t) = logement et le fait qu’un esquimau est une personne par τ ≤ σ. On en déduit que Sp(τ, t) est définie, autrement dit que tout esquimau habite un X et que X, qui peut être un igloo, est nécessairement aussi un logement. 55 5.6.4 Les contraintes sur les structures de traits Définition : Une structure de traits D = hQ, q0 , δ, θi est à présent telle que θ : Q → T ypes est une fonction définie pour tous les sommets du graphe, autrement dit une application. Définition : Une structure de traits D = hQ, q0 , δ, θi est bien typée par Sp si et seulement si : si δ(q, t) est définie alors Sp(θ(q), t) est définie, et θ(δ(q, t)) ≤ Sp(θ(q), t). 5.7 Notation La notation matricielle d’une structure de traits typée (de type X) sera la suivante: X[ 56 ] Références [1] Carpenter, Bob The Logic of Typed Feature Structures, Cambridge University Press, 1992. [2] N. Chomsky : Syntactic structures, Mouton, La Haye, 1957 . [3] Cori M. & Marandin J.-M. (2001). La linguistique au contact de l’informatique: de la construction des grammaires aux grammaires de construction. Histoire Epistémologie Langage 23/1, p. 49-79. [4] Gazdar G., “Phrase structure grammar”, dans P. Jacobson et G. Pullum, The Nature of Syntactic Representation, Dordrecht: Reidel, 1982. [5] Gazdar, Klein, Pullum & Sag, Generalized Phrase Structure Grammar, Basil Blackwell, Oxford, 1985 [6] Kay M. (1985) “Parsing in functional unification grammar” in Natural language parsing Ed. D.R. Dowty, L. Karttunen, A.M. Zwicky, Cambridge University Press, pp 251-278. [7] Manaster-Ramer A. & Kac B. (1990). The Concept of Phrase Structure. Linguistics and Philosophy, 13, 325-362. [8] Miller P. H. (1999) Strong Generative Capacity: The Semantics of Linguistic Formalism, CLSI Publications, Stanford, California. [9] Pereira Warren “Definite Clause Grammars for Language Analysis - A Survey of the Formalism and a Comparison with Augmented Transition Networks” 1980 (*) [10] Pollard, Carl et Ivan A. Sag Information-Based Syntax and Semantics, Vol. 1: Fundamentals, CLSI Lecture Notes Series, Stanford, 1987. [11] Pollard, Carl et Ivan A. Sag Head-Driven Phrase Structure Grammar, University of chicago Press and Publications, 1994. [12] Pullum G. K. (1991) “Formal linguistics meets the Boolum”, dans The great eskimo vocabulary hoax, The University of Chicago Press, pp. 47-55. [13] Sells P., Lectures on Contemporary Syntactic theories, CSLI, Stanford, 1985 [14] Shieber, Stuart M. Constraint-Based Grammar Formalisms, The MIT Press, 1992. [15] Shieber, Stuart M. [trad. fr.], “Les grammaires basées sur l’unification”, dans Formalismes syntaxiques pour le traitement automatique du langage naturel, Ph. Miller et Th. Torris (eds), Hermès, 1990. 57 [16] Torris, T. “La Grammaire syntagmatique généralisée”, dans P. Miller et T. Torris, Formalismes syntaxiques pour le traitement automatique du langage naturel, Hermes, 1990 [17] W.A. Woods, “Transition Network Grammars for Natural Language Analysis”, Communications of the ACM, vol. 13, numéro 10, 1970. 58