D~DUCTION AUTOMATIQUE ET SYST~MES 
TRANSFORMATIONNELS 
J, CHAUCH~ 
C,E.L.T,A. 23, Boulevard Albert |er 
54000 - NANCY FRANCE 
RESUME : 
Les syst~mes transformatiounels utilisent des 
processus d6duetifs d'une approche diff6rente des 
syst~mes utilis6s en intelligence artificielle. A 
travers une comparaison du langage Prolog et du lan- 
gage Sygmart, il est montr~ comment r~aliser dans les 
syst~mes transformationnels des applications utili- 
sant des raisonnements et des bases de connaissances. 
I. INTRODUCTION : Le traitement algorithmique d'un 
texte sur-0~d~nateur suppose une approche formelle, 
une projection du texte dans cette approche et enfin 
un traitement du texte ainsi projet~. L'approche la 
plus courante ~ l'heure aetuelle en intelligence ar- 
tificielle est celle de la d~monstration automatique 
dans un syst~me logique. Cette approche est proc6du- 
rale, c'est-g-dire qu'elle traite avant tout la forme 
pr6dicative du langage. Du point de rue formel les 
objets manipul~s sont r6duits ~ des 616ments simples: 
atomes ou assemblage d'atomes suivant des r~gles de 
formation de pr~dicat. L'approche d6finie dans un 
syst~me transformationnel est avant tout orient~e 
objet. Elle se caract6rise par la d~finition d'un 
univers de traitement et d'un processus de manipula- 
tion des objets de cet univers. Les probl~mes clas- 
siques de d~duction ou d'inf~rence se transposent 
naturellement dans ce type de manipulation. Ainsi 
l'approche structurel~e du traitement des langues 
naturelles apporte une vision globale : elle pcrmet 
une analyse et une exploitation de cette analyse. 
Elle peut 6galement servir d'outil ~ la formalisa- 
tion de la repr6sentation des connaissances. Le but 
de cet article est de montrer ~ travers quelques 
exemples simples la transposition transformationnelle 
des principales fonctions d~ductives des syst~mes 
bases sur l'inf6rence logique. Les exemples utilis~s 
sont ceux d6finis dans PROLOG \[ 3 \] pour l'approche 
logique et sont traduits dans SYGMART ~ 2 \] pour 
l'approche transformationnelle. 
2. OBJET ET REPRESENTATIONS : 
Deux modes de representations sont utilis6s pour 
le traitement des langues. La representation pr6di- 
cative comprend : des atomes, des variables et des 
pr~dicats. La representation structurelle comporte 
trois 616ments : structure, 6tiquette, fonction 
d'6tiquetage : 
- Une structure est un ensemble d'arborescences 
sur un ensemble de points. 
- Une ~t~que~te est un ensemble de variables 
affect~es de valeurs 
- Une fonction d'6tiquetage associe ~ chaque point 
une ~tiquette de l'ensemble des ~tiquettes de 
la structure. 
Une structure peut ~tre le r~sultat d'une analyse 
ou l'entr6e d'un processus transformationnel. 
La nature des objets manipu!6s se distingue donc 
nettement en fonction de l'approche d~finie. Les 
~tiquettes dans le syst~me SYGMART par exemple, 
recouvrent un ensemble important de variables et les 
principales propri6t~s associ~es ~ un 616ment seront 
r6unies dans ce syst~me dans l'~tiquette associ6e 
cet 61~ment. 
L'6quival~nt dans le syst~me PROLOG n6cessite 
toute une structure et un ensemble de r~gles d'accgs 
aux valeurs correspondantes. 
Exemple : la phrase "the man eats the apple" a cormne 
structure dans l'application ~ 3 \] : 
sentence (noun-phrase(determiner(the), noun(man)), 
verb phrase(verb(eats), noun-phrase (determiner(the), 
noun(apple)))). 
La m~me structure et l'application des r~gles 
transpos~es donnerait dans le syst~me SYGMART beau- 
coup plus d'information : 
PN(CN-Sujet(d~terminant-masculin-singulier-the, 
nom-masculin-singulier-man), GV-actif(verbe-pr~sent- 
3e personne-singulier-eats, GN-compl6ment-objet- 
direct (d~terminant-neutre-singulier-the, nom-neutre- 
singulier-apple))). 
Evidemment comme il est prScis~ plus haut, la 
prise en compte dans PROLOG de tous ces renseigne- 
ments suppose une structure beaucoup plus complexe. 
3. ALGORITHMES TRANSFORMATIONNELS ET REPRESENTATIONS. 
La nature de la representation rechereh~e influe 
sur l'algorithme utilis~ et la connaissance algorith- 
mique limite les formes possibles de la representa- 
tion. L'analyse effectu~e par un syst~me est donc 
tr~s d~pendante des choix d~termin~s pour la repre- 
sentation interne qui est le but de cette analyse. 
Les choix de cette representation interne sont eux 
mSme~ tr~s d~p~nd~t~ cI~ ~l~nr~hm~s d~f~nis pour 
l'analyse. 
Lranalyse darts un syst~me d~ductionnel comportera 
une notion de globalit~ de l'analyse. A chaque ins- 
tant l'analyse recherchera un d~coupage de la phrase 
mise sous forme de liste. Ce dScoupage devra ~tre en 
accord avec les r~gles de d~duction du syst~me. 
Ainsi dans \[ 3 \] l'analyse est bas~e sur le pr~dicat 
"append" de fusion de liste : append (X,Y,Z) est vrai 
si Zest la liste fusion des listes X et Yet l'ana- 
lyse de la phrase s'~crit : 
sentence(X): -apRend(Y,Z,X),noun=phrase(Y),verb- 
phrase(Z). Soit\[ The man eats the apple \] + \[\[the 
X y 
man \] \[ eats the apple \]\] 
Z 
Dans cette approche une analyse partielle ne peut 
aboutir car chaque pr~dicat associ~ ~ append dolt 
~tre v~rifi~. Le r~sultat de cette analyse est ~gale- 
ment tr~s sp~cifique et constitue une arborescence 
binaire simplement ~tiquet~e. 
Dans un syst~me transformationnel l'approche est 
locale par opposition ~ l'approche globale pr~c~dente. 
Les transformations seront toutes locales et il est 
n~cessaire de pr~voir un test de r~alisation si une 
analyse est exig~e. La r~gle PROLOG de construction 
de la structure d'une phrase est \[ 3 \] : 
sentence (X,sentenee(NP,VP),SO,S): 
noun-phrase(X,NP,SO,S\]), 
verb-phrase(X,VP,S\],S). 
La r~gle transformationnelle correspondante est la 
suivante : 
O(~,NP,~,VP,~) _~ O(sentence(NP,VP)). 
La grammaire transformationnelle strictement ~qui- 
valente ~ la grammaire d6finie dans \[ 3 \]est la 
suivante : 
408 
O(the) =~ O(determiner(the)). 
O(man) ~ O(noun(man)). 
O(apple) =>O(noun(apple)). 
O(eats) ~O(verb(eats)). 
O(d6terminer,~,noun) =~ O(noun-phrase(d~terminer, 
noun)). 
O(verb,~,noun-phrase) =~ O(verb-phrase(verb,noun- 
phrase)). 
O(noun-phrase, ~verb-phrase) =~ O(sentence(noun- 
phrase,verb-phrase)). 
Le r6sultat est alors identique. 
L'analyse s'effectue ici de bas en haut : recon- 
naissance des ~l~ments simples, puis des groupes et 
enfin de la phrase. Dans le cas oN la phrase d'entr6e 
ne serait pas correete l'analyse donnerait un r6sul- 
tat contrairement & la grammaire PROLOG. 
Si par exemp\]e la reconnaissance de "eats" est d6fec- 
tueuse nous aurons le r6sultat : 
O(noun-phrase(d~terminer(the),noun(man)),X,noun - 
phrase (d6te~miner(the),noun(apple))). 
Pour une ~quivalence stricte des deux grammaires 
il est doric n6cessaire dans la gran~aire transforma- 
tionnelle d'ajouter un test de satisfaction. Ce text 
pour l'exemple precedent eat d~fini par la pr6sence 
du schema su~vant darts le r6sultat : 
O(~,sentence,~). 
ou de la dgfinition de la r~gle 
O(~,sentence, ~) ~ sentence. 
4. ALGORITHMES TRANSFORMATIONNELS ET BASES DE 
Darts les syst~mes d'intelligence artiflcielIe 
l'u~ilisation des connaissances est essentielle. 
L'ensemble des connaissances est utilis~ pour d6duire 
de nouvelles connaiasances ou de nouvelles propri6t6s. 
Cette d6duct~on simule une d~duction logique et il 
n'y a pas de difference fondamentale entre la d6duc- 
tion et le traitement transformationnel. Ainsi une 
r~gle transformationnelle A -~ B siguifie que l'on 
peut d~duire l'6tat B ~ partir de l'~tat A. La trans- 
position d'un exemple PROLON \[ 3 \] apporte une illus- 
tration de ce probl~me : 
Soit la base de fait : 
parent(marie,jean,yvette). 
parent(claude,jean,yvette). 
femme(marie). 
homme(claude). 
et soit la r~gle : 
aoeur(X,Y) :- femme(X),parent(X,M,F),parent(Y,M, 
F). 
A la question : 
soeur(X, claude) PROLOG r6pond : marie. 
L'~quivalent dans un syst~me de remplacement est le 
suivant : 
R~gle : 
soeur(X) =~ fille(A,B). 
r~gle d6finissant un nouveau pr~dicat et n6cessi- 
tant une lecture de la base de connaissance qui 
affecte a A et B le nom des parents. 
fille(A,B) =~ Y 
r~gle de consultation de la base de connaissance. 
Y est obtenu par consultation de cette base. 
La base de connaissance est ici un dictionnaire 
d'~tiquettes. Plusieurs choix sont bien s~r possi- 
bles. D6finissons-en un associant ~ chaque entr6e 
quatre variables : nom,p~re,m~re,sexe. L'entr~e ainsi 
d~finie comportera ~ventuellement des renseignements 
suppl6mentaires. La base sera alors la suivante : 
marie,F,jean,yvette :marie,F,jean,yvette,ne le ..., 
...~... 
claude,M,jean,yvette:claude,M,jean,yvette,ne le ..., 
La consultation de la base s'effectue suivant la 
clef nom ou la clef complexe sexe,p~re,m~re. Ainsi 
la premiAre r~gle trouvera la premiere ligne et la 
denxi&me r~gle la deuxi&me ligne. A chaque consulta- 
tion les renseignements associ6s sont complexes et 
compos6s de toutes lea variables associ~es ~ l'en- 
tr6e. Darts le cas de cet exemple l~s rSgles n'ont 
pas ~ effectuer n~cessairement une transformation 
puisque darts ce cas la consultation permet & elle 
seule de d~finir cette d6duction. Les deux rggles 
sont donc les suivantes : 
X '~>X avee comme condition : la variable "pred" 
dolt 6tre 6gale ~ "soeur" et la consulta ~- 
tion du dictionnaire doit d6finir un r6sul- 
tat. L'Stiquette associ~e ~ X sera modifi&e, 
la variable "pred" prendra la valeur "lille" 
la variable "sexe" prendra la valeur "F" et 
les variables "p~re" et "m~re" seront affec- 
t6es des valeurs lues dans le dictionnaire 
avec comme c16 : "nora". 
X )X avec comme condition : la variable "pred" 
dolt ~tre 6gale ~ "f~lle" et la consulta- 
tion du dictionnaire doit d6finir un r6sul- 
tat. 
L'dtiquette associ6e g X sera modifi6e, la 
variable "nom" prendra la valeur lue dans le diction- 
naire avec comme (:I.6 : sexe, p~re, re&re. 
II y a une opposition entre complexit6 d'une c16 
et nombre de transformations test ~ r6aliser. Ainsi 
avec une c16 simple de la forme : 
nom : p~re,m&re,ne le, etc... 
la discrimination sur le choix de l'entr&e s'effec- 
tuera une fois la substitution, c'est-~-dire la 
r~gle effectude. Alors qn'avec la cld complexe 
d6finie pr6c&demment le choix sera quasiment 
d~terministe. 
La consultation du dictionnaire dans un syst&me 
transformationnel transpose la substitution. A une 
arborescence quelconque une r~gle associe une valeur 
d'6tiquette complexe. Cette 6tiquette permet elle-- 
m~me de d6finir une entr6e dans un dictionnaire. 
L'entr~e ainsi d~finie d~termine compl~tement la 
transformation qui devieat d6pendante de la base de 
connais sance. 
Un syst~me transformationnel est avant tout 
d6terministe. Le cas de l'essai sur plusieurs solu- 
tions doit gtre d6fini par la grammaire elle~n6me. 
Plusieurs maitrises sont possibles et d6pendent bien 
sonvent du cas consid6r6. Prenons \]'exemple le plns 
simple et le plus g&n6ral qui d~finit l'6num6ratiou 
des choix sans consid&ration particuli~re. Soit la 
variable n d~finissant \]e num6ro de choix (cette 
variable arithm6tique est mise ~ jour & la construc- 
tion du dictionnaire ou N sa modification). Ii suffit 
alors d'ajouter une r~gle de choix anx deux r~g\]es 
pr6c&dentes : 
X :~X choix de la solution suivante : n eat 
angment6 de un. 
Les r~gles sont ordom~6es donc apr~s \]'application 
de R2 \]a rAgle R3 est applicable et va permettre la 
consultation dn dictionnaire avec le choix suivant. 
Bien s~r le contrSle et l'exploitation de ces diff6- 
409 
rents choix appartient ~ventuellement ~ d'autres 
r~gles. A l'inve~se d'une recherche oombinatoire 
qu'il faut maltriser par des fonctions sP~cifiques 
(exemple de "cut" en PROLOG) l'approche transforma- 
tionnelle eat d~terministe et lea probl~mes de choix 
@ventuels doivent ~tre explicitement d~crits et 
eontrDl~s. 
5. ALGORITHMES TRANSFORMATIONNELS ET OBJET MANIPULES. 
Un syst~me de remplacement op~re par transformation 
locale d'un objet. Contrairement ~ un systgme d~duc- 
tif qui impose une forme d'objet dana lea syst~mes 
de remplacement, peuvent ~tre construits sur des 
classes d'objets tr~s divers. II suffit pour un tel 
syst~me de d~finir deux ~l~ments : l'univers des 
objets et lea op~rateurs de transformations. Ainsi 
lea d~ductions op~reront sur des objets non triviaux 
et seront d~j~ d'une comp,~exit~ bien supSrieure 
la d~duction predicative. Comme exemple ~ ce mode 
de manipulation consid~rons la transformation 
"maplist" dSfinie dana \[ 3 \]. Cette transformation 
ne s'effectue que par lecture compl~te de la phrase 
et eat d~finie par lea r~gles suivantes : 
change(you, i). 
change(are, ~am,not~. 
change(X,X). 
maplist(), ~\], \[ \]). 
maplist(P, \[XI'L \] , ~YIM~) :- 
Q =.. ~P,X, YJ 
call Q, 
maplist(P,L,M). 
et maplist(change,\[your,are,a,computerJ,Z). 
determine Z = ~ i,\[am,not\],a,computer I" 
La d~finition transfErmationnelle de cette 
phrase eat immoderate : 
PH(GN(yon),GV(are)) ~ PH(GN(i),GV(GVN(are,not))). 
Cette r~gle transforme route phrase contenant 
"... your are ..." en une phrase de la forme "..~ 
i am not ...". 
En fsit l'approch~ transformationnelle sera plus 
complexe sur le traitement des 6tiquettes et sera 
~crite de faqon ~ d6finir une r~ponse n~gative quel- 
que soit le verbe utilis~ : 
PH(GN(pronom),GV(VB)) ~ PH(GN("6quivalent(pronom) 
"),GV(VB-n~g)). 
avec comme ~quivalent : 2~me personne ÷ l~re personne 
I am a computer * i am not a computer. 
we are a computer ÷ we are not a computer. 
your are a computer + i am not a computer. 
mais aussi : 
you like a computer ÷ i do not like a computer. 
car la forme n~gative du verbe eat trait6e au moment 
de la g6n~ration de la phrase. 
La structure manipul~edans un syst~me transformatiEn- 
tel eat souvent plus complexe et n'a pas d'~quiva- 
lent simple dana un syst~me d~ductif. En effet dana 
un syst~me d6ductif cheque renseignement compl6men- 
taire associ~ ~ un 616ment (mot du texte par exemple) 
doit ~tre d~fini par une variable ou un atome. Cette 
contrainte implique un double rSle h la structure 
trait~e : un r5le semantique impliquant lea relations 
entre lea diff6rents 61~ments du texte et un rSle 
opSratoire n6cessalre pour la manipulation des ren- 
seignements associ6s. En d6finissant des transforma- 
tions d'objets complexes lea syst~mes transforma- 
tionnels utilisent seulement la premiere relation, 
ce qui ~limine lea r~gles op~ratoires. Dana le sys- 
t~me SYGMART lea objets manipul~s sont plus complexes 
que des structures simples comme des listes ou des 
410 
arborescences et n'ont pas d'~quivalent naturels dana 
les syst~mes d~ductifs. 
6. SYSTEMES TRANSFORMATIONNELS ET ALGORITNMES. 
L'expression d'un algorithme dana un syst~me 
transformationnel suppose une d~finition pr~alable 
de la representation des ~l~ments trait~s par cet 
algorithme. Le probl~me classique du tri par exemple 
s'exprime tr~s simplement de fagot transformation- 
helle mais on doit d~finir ce que l'on appelle 
objet tri~. Dana une representation arboreseence on 
peut d~finir un objet tri~ un~ arborescence ordonn~e 
dont tous lea descendants d'un point sont tri~s. 
C'est-~-dire que si lea points Aet B d~pendent 
tous lea deux de la racine et si A precede B dana 
l'ordre des descendants alors on a f(A) < f(B) (f 
~tant la fonetion d'~tiquetage des points). Dana 
cette convention l'algorithme classique du "bubble 
sort" s'~crit : 
O(A,B) / f(A) > f(B) ~> O(B,A). 
Lea diff~rentes transformations simuleront lea 
permutations associ~es ~ ce tri. 
Un autre exemple acad~mique eat celui des "tours 
de Hanoi". II eat udcessaire au pr~alable de d~finir 
le but de cet algorithme. Le plus simple eat la 
recherche de la structure d~finissant tous lea 
mouvements. La lecture canonique de cette structure 
donnera le r~sultat. 
La forme g~n~rale 
de cette structure eat la suivante : 
O(X,M(Y,Z),T) ou X et T sont lea racines des 
structures d~finissant des mouvements et M(Y,Z) 
d~finit un mouvement de Y vers Z. Une ~tiquette eat 
associ~e g chaque point et comtient soit le tom 
d'une tour, soit le hombre de disque concernS. 
L'algorithme s'exprime alors en une r~gle : 
O(A,B,C) / O: n > O ~O(X(A,C,B),M(A,B),Z(C,B,A)) / 
0 : n = O X:n = n(O) - \] ; M: n=O ; 
Z:n = n(O) = 1. 
Un syst~me transformationnel suppose deux fonc- 
tions externes. La premiere permet de projeter lea 
~l~ments ~ traiter dana lea objets manipul@s par le 
syst~me et la seconde d~finit l'op~ration inverse. 
Ainsi dana Ie cas des tours de Hanoi la premiere 
fonction projetera un hombre sur une structure ayant 
quatre ~l~ments : 
0(ij,K) 
Le hombre initial sere affect~ ~ la variable n de 
l'~tiquette associ~e ~ 0 ; et lea toms des tours 
I,J,K seront affect~s aux 8tiquettes associ~es aux 
points I,J,K. Sur ces ~tiquettes la variable n sera 
bien s@r tulle. La fonction de visualisation impri- 
mere le tom des tours sur lea points qui out un tom 
et le symbole "÷" par exemple sur lea points M. En 
g~n~ral ces fonctions sont plus complexes et d~pen- 
dent de l'application trait~e. Dana le syst~me 
SYGMART ces fonctions sont associ~es ~ un traitement 
morphologique (analyse ou synth~se morphologique) de 
fagot ~ travailler sur des textes en langues natu- 
relies. 
References

\[ 1 \] Chauch~, J. Transducteurs et arborescences. 
Th~se d'~tat Grenoble 1974 

2 \] Chauch~, J. Un outil multidimensionnel de 
l'analyse du discours Proceeding of 
Coling 84. Standford University, 
California 1984. 

E 3 \] Clocksin W.F, & Mellish C,S~ Programming in 
Prolog. Springer-Verlag 198\], 

4 \] Mendelson E. Introduction to Mathematical 
Logic Van Nostrand Reinhold 1964 

\[ 5 \] Rolf, P.C, Vertalen van getalsnamen, 
Verslagen Computerlinguistiek N. 3 KU 
Nijmegen 1983 

E 6 \] Rolf P.C. & Chauch$ J. Machine translation 
and the SYGMART system. Computers and 
the llumanities $ paraltre 

E 7\] Vigroux Ch. Bilan d'une experience en traduc- 
tion automatique Espagnol Fran~ais 
Anglais. Cahier du CRAL n ° 42 - NANCY 

E 8\] Wang H. La place de la modalit8 dans un 
syst~me de traduction automatique 
trilingue FranGais-Anglais-Chinois. 
Th~se Nancy 1983. 
