Formalismes syntaxiques et traitement automatique

publicité
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
Téléchargement