UN ALGORITHME DE RESOLUTION
D’ANALOGIES ENTRE MOTS
(version fran¸caise de (Lepage 98))
Yves Lepage
ATR-Laboratoires d’Interpr´etation et T´el´ecommunications
Hikari-dai 2-2 Seika-ty¯o, Soraku-gun, Ky¯oto 619-0288, Japon
INTRODUCTION
Nous adoptons, pour introduire l’algorithme qui
fait l’objet de cet article, une d´emarche in-
verse au d´eveloppement historique de la no-
tion d’analogie (voir (Hoffman 95)). Cela s’av`ere
n´ecessaire car une certaine m´ecompr´ehension
lui attribue souvent un sens trop large et plus
psychologique. Le contenu de cet article ´etant
d’ordre algorithmique, nous ne pouvions non
plus passer sous silence les travaux sur l’analogie
en informatique, c’est-`a-dire en intelligence ar-
tificielle.
1TRAVAUX SUR L’ANALOGIE
Cet article ne se voulant pas un rappel ap-
profondi, nous renvoyons par exemple `a (Hoff-
man 95) pour un tour d’horizon plus complet.
1.1 etaphores, ou analogies implicites
Commen¸cons par les travaux en psychologie
et en intelligence artificielle. (Gentner 83) fait
r´ef´erence comme tentative de mod´elisation pos-
sible des analogies du genre ¿un atome est
comme le syst`eme solaire À, pour l’intelligence
artificielle. Dans ce genre d’analogies, deux do-
maines sont mis en correspondance, d’o`u une
mod´elisation n´ecessaire des domaines.
soleil f
noyau
plan`ete f
´electron
De plus, des propri´et´es (represenees par des
propositions logiques, des formules, etc.) sont
transf´er´ees d’un domaine `a l’autre, et leur nom-
bre d´etermine en quelque sorte la qualit´e de
l’analogie.
attrac(soleil, f
attrac(noyau,
plan`ete) ´electron)
plus lourd(soleil, f
plus lourd(noyau,
plan`ete) ´electron)
Cependant, appeler analogies, comme Gen-
tner le fait, des phrases du genre ¿un A est
comme un B À, est fort critiquable. D’autres,
comme (Steinhart 94) pr´ef`erent appeler de telles
phrases des m´etaphores1dont la validit´e re-
pose sur des phrases du genre : ¿A est `a B
ce que C est `a D À, phrases auxquelles le
nom d’analogie2est r´eserv´e. En d’autres ter-
mes, certaines m´etaphores reposent sur des
analogies3. Par exemple, la m´etaphore : ¿un
atome est comme le syst`eme solaire Àrepose
sur l’analogie : ¿un ´electron est au noyau ce
qu’une plan`ete est au soleil À.
Dans son ensemble, la r´eponse de la commu-
naut´e de l’intelligence artificielle au probl`eme de
l’analogie est complexe, car ses membres se sont
pr´ecipit´es en premier sur des probl`emes diffi-
ciles. Pour eux, dans une analogie ou m´etaphore
(Hall 89) :
deux domaines diff´erents interviennent ;
pour chacun de ces deux domaines, il faut
une base de connaissance ;
la mise en correspondance des objets
et le transfert des propri´et´es sont deux
op´erations de natures distinctes ;
la qualit´e des analogies doit ˆetre ´evalu´ee en
fonction du poids (nombre, valeur de v´erit´e,
etc.) des propri´et´es transf´er´ees.
1Si ce qui caract´erise de telles phrases, c’est que des
propri´et´es sont transf´er´ees, alors, ´etymologiquement, ce
sont bien des m´etaphores : du grec pherein: porter et
meta-: entre, parmi, avec, apr`es. ¿etaphore Àsignifie
transport, transfert.
2Du grec logos, -logia: rapport, proportion, rai-
son, discours et ana-: de haut en bas, de nouveau.
¿Analogie Àveut dire : mˆemes proportions, rapports
´egaux.
3Ce sont l`a les d´efinitions d’Aristote dans la Petique.
Nous devons r´eduire de fa¸con s´erieuse tout cet
attirail, et viser `a ´enoncer un probl`eme plus sim-
ple (dont la r´esolution ne le sera pas forc´ement).
Faisons-le en simplifiant les types de donn´ees, et
par cons´equent les caract´eristiques du probl`eme.
1.2 Multiplicit´e ou unicit´e de domaines
Pour ce qui est du traitement automatique des
langues, il y a quantit´e de travaux sur la pronon-
ciation de l’anglais par analogie, certains de
ces travaux s’int´eressant mˆeme `a reproduire le
comportement humain (voir (Damper & East-
mond 96)). Un r´esum´e de la tˆache est donn´e
dans (Pirelli & Federici 94) :
vane f
/vejn/
gh
sane f
x = /sejn/
De mˆeme qu’en intelligence artificielle, deux
domaines distincts apparaissent (graph´emique
et phon´emique). Par cons´equent, les fonctions f,
get hsont de types diff´erents parce que leurs en-
sembles sources et buts sont de types diff´erents.
Encore une fois, de mˆeme qu’en intelligence
artificielle, de tels syst`emes utilisent des bases
de donn´ees de formes ´ecrites ou phon´etiques. A
propos de son propre mod`ele, (Yvon 94) note
que :
¿Le [. . . ] mod`ele repose de fa¸con cru-
ciale sur l’existence de nombreuses re-
lations paradigmatiques existant dans la
base lexicale. À
Les relations paradigmatiques ´etant des rela-
tions dans lesquelles quatre mots interviennent,
ce sont en fait des analogies au niveau mor-
phologique4: “r´eaction est `a eacteur, ce que
faction est `a facteur”.
r´eacteur f
r´eaction
gg
facteur f
faction
4Alors que le probl`eme de la transcription graph`eme-
phon`eme n’est absolument pas universelle, celui de
l’analogie au niveau morphologique l’est certainement
mˆeme pour des langues comme le chinois, o`u des mots
de plus de deux caract`eres peuvent ˆetre obtenus par
analogie : (la science) :(un scientifique) =
(la politique) :(un homme politique).
Par opposition aux approches de l’intelligence
artificielle, les analogies au niveau mor-
phologique jouent dans un seul domaine, celui
des mots. Par cons´equent, le nombre de rela-
tions entre les termes de l’analogie diminue de
trois (f,get h) `a deux (fet g). De plus, comme
les quatre termes intervenant dans une analogie
sont du mˆeme domaine, les ensembles sources et
buts de fet gsont identiques. fet gsont donc
de mˆeme type. Enfin, les analogies au niveau
morphologique peuvent ˆetre consid´er´ees comme
des ´equations ind´ependantes de quelque con-
naissance que ce soit sur la langue des mots.
Cela ´elimine le recours `a des bases de connais-
sances ou `a des dictionnaires.
r´eacteur f
r´eaction
gg
facteur f
x?
1.3 Unicit´e ou multiplicit´e des
modifications
La r´esolution des analogies au niveau morpho-
logique reste difficile parce que plusieurs modi-
fications simultan´ees peuvent ˆetre n´ecessaires
dans la transformation d’un mot en un autre
(par exemple faiseur d´efaire requiert le rem-
placement du suffixe -eur par -re et l’insertion
du pr´efixe d´e-). Ce probl`eme n’a toujours pas
´et´e r´esolu de fa¸con satisfaisante. Par exemple,
(Yvon 94) n’autorise qu’une seule modification
`a la fois, plusieurs modifications ´etant obtenues
par l’application successive de telles analogies
morphologiques, d’o`u le nom de mod`ele en
cascades. Cependant, il y a des langues pour
lesquelles les modifications simultan´ees sont
n´ecessaires, comme les langues s´emitiques.
(Nagao 84) se limite aussi `a ¿une seule
modification `a la fois Àpour une m´ethode
de traduction automatique, appel´ee traduc-
tion par analogie, dans laquelle la traduction
d’une phrase source est l’adaptation de traduc-
tions de phrases similaires extraites d’une base
de donn´ees. La difficult´e de traiter plusieurs
modifications `a la fois est palli´ee, lors de
la cr´eation de la base, par la fourniture de
phrases ne diff´erant entre elles que par un seul
changement. Bien que la r´eponse de (Sadler
& Vendelmans 90) soit plus satisfaisante, avec
l’utilisation d’une alg`ebre sur les arbres (addi-
tion et soustraction de sous-arbres), l’usage de
base de connaissances et la multiplicit´e des do-
maines refont malheureusement surface.
Notre but est un v´eritable solveur d’analogie,
c’est-`a-dire un algorithme qui, ´etant donn´es
trois mots, d´elivre un mot, analogue aux
donn´ees d’entr´ee. Pour cela, il faut ˆetre capable :
(1) d’appliquer plusieurs modifications `a la fois
(2) sur une unique structure de donn´ees (3) sans
aucun dictionnaire ni connaissances externes.
1.4 Analogies entre mots
Nous avons fini notre tour d’horizon du
probl`eme et avons abouti sur ce qui a constitu´e
en fait le d´epart de notre recherche. En linguis-
tique, en effet, l’analogie est d´efinie par Saus-
sure, apr`es Humboldt ou Baudoin de Courtenay,
comme l’op´eration par laquelle, ´etant donn´ees
deux formes d’un mˆeme mot, et seulement une
forme d’un second mot, on cr´ee la forme man-
quante. ¿honor est `a hon¯orem ce que ¯or¯ator
est `a ¯or¯at¯orem Ànot´e ¯or¯at¯orem :¯or¯ator =
hon¯orem :honor. C’est tout simplement l`a la
d´efinition d’Aristote : ¿A est `a B ce que C est
`a D À, en posant en plus l’´egalit´e de type pour
A,B,Cet D.
Cependant, bien que l’analogie ait ´et´e men-
tionn´ee et utilis´ee, aucun moyen algorithmique
n’a, `a notre connaissance, jamais ´et´e donn´e
pour r´esoudre des analogies, peut-ˆetre parce que
l’op´eration semble si intuitive. Nous (Lepage
& Ando 96) avons r´ecemment essay´e de don-
ner une explication qui n’est h´elas pas toujours
valide, parce qu’elle s’applique aussi `a des cas
qui ne sont pas des analogies. Et ce n’est pas
non plus une explication algorithmique.
L’unique travail sur la r´esolution d’analogies
entre mots semble ˆetre celui de Copycat ((Hofs-
tadter et al. 94) et (Hoffman 95)), qui r´esoud des
´equations de la forme : abc :abbccc =ijk :x.
Mais ce programme ne semble pas utiliser
d’algorithme d´edi´e, plutˆot, suivant en cela
l’approche de l’intelligence artificielle, il utilise
une mod´elisation du domaine `a l’aide de fonc-
tions comme : pr´ec´edent dans l’alphabet,
num´ero d’ordre dans l’alphabet,etc.
2FONDATIONS `
A L’ALGORITHME
2.1 L’axe du premier terme
(Itkonen & Haukioja 97) donne un programe
en Prolog pour la r´esolution des analogies en-
tre phrases comme r´efutation de l’argument de
Chomsky, selon lequel l’analogie n’op`ererait pas
en syntaxe parce qu’elle cr´erait des phrases
agrammaticales. Que l’analogie op`ere aussi en
syntaxe avait d´ej`a ´et´e vu par Hermann Paul et
Bloomfield. L’argument de Chomsky est bien
sˆur fauss´e parce qu’il ne fait jouer l’analogie
qu’au niveau de la surface. Itkonen et Haukioja
montrent que l’analogie, contrˆol´ee par le niveau
structurale rend compte de phrases parfaite-
ment grammaticales. Ce qui nous int´eresse chez
eux, c’est le cœur de leur m´ethode, qui sera le
germe de notre algorithme :
¿La phrase D est form´ee en examinant les
phrases B et C un ´el´ement `a la fois et en
inspectant les relations de chaque ´el´ement
`a la structure de la phrase A (et aussi `a la
partie de la phrase D d´ej`a cr´ee). À
Ainsi donc, la phrase A est l’axe auquel les
phrases B et C sont compar´ees et par opposi-
tion auquel la phrase D est construite.
copieur :incopiable =faiseur :xx = infaisable
Notre m´ethode sera donc : (a) chercher les
morceaux non communs `a Aet Bd’une part
et `a Aet Cd’autre part ; puis (b) assembler ces
morceaux dans le bon ordre.
2.2 Sous-chaˆınes communes
Par compl´ementation, notre probl`eme peut ˆetre
r´esolue par la recherche des sous-s´equences
communes `a Aet B(respectivement `a Aet
C). (Wagner & Fischer 74) est une m´ethode
pour trouver les plus longues sous-chaˆınes com-
munes par le calcul d’une matrice de dis-
tance d’´edition, qui donne le nombre minimal
d’op´erations d’´edition n´ecessaires (insertion,
suppression, substitution) pour transformer une
chaˆıne en une autre.
Par exemple, les matrices suivantes donnent
les distances entre d’une part fini et infini,
et entre fini et exact, d’autre part. Ces dis-
tances sont lues dans les cases en bas `a droite.
dist(fini,infini) = 2 et dist(fini,exact) = 5
i n f i n i e x a c t
f1 2 2 3 4 5 f1 2 3 4 5
i1 2 3 2 3 4 i2 2 3 4 5
n2 1 2 3 2 3 n3 3 3 4 5
i3 2 2 2 3 2 i4 4 4 4 5
2.3 Similitude entre mots
Nous appelons similitude entre Aet Bla
longueur de leur plus longue sous-chaˆıne com-
mune. Elle est aussi ´egale `a la longueur de
Amoins le nombre de caract`eres supprim´es
ou remplac´es pour produire B. Nous appelons
ce dernier nombre pdist(A, B) car c’est une
pseudo-distance qui peut ˆetre calcul´ee exacte-
ment de la mˆeme mani`ere que les distances
d’´edition, sauf que les insertions valent 0.
sim(A, B) = |A| − pdist(A, B)
Par exemple, pdist(infini,fini) = 2, alors que
pdist(fini,infini) = 0.
f i n i
i1 0 0 0 i n f i n i
n2 1 0 0
f2 2 1 1 f1 1 0 0 0 0
i3 2 2 1 i1 1 1 0 0 0
n4 3 2 2 n2 1 1 1 0 0
i5 4 3 2 i3 2 2 1 1 0
Les caract`eres ins´er´es dans Bou Cne sont
pas d´ecompt´es pr´ecis´ement parce que ce sont
les caract`eres de Bet Cabsents de Aque nous
voulons assembler pour former la solution de
l’analogie, D.
Comme Aest l’axe de la r´esolution de
l’analogie, nous en faisons graphiquement l’axe
vertical autour duquel est effectu´e le cal-
cul des pseudo-distances. Par exemple, pour
fini :infini =exact :x,
t c a x e i n f i n i
1 1 1 1 1 f1 1 0 0 0 0
2 2 2 2 2 i1 1 1 0 0 0
3 3 3 3 3 n2 1 1 1 0 0
4 4 4 4 4 i3 2 2 1 1 0
2.4 Contrainte de recouvrement
On peut ais´ement v´erifier qu’il n’existe pas
d’analogie si au moins un caract`ere de A
n’appartient pas `a Bni `a C. R´eciproquement,
pour qu’une analogie puisse ˆetre r´esolue, il est
n´ecessaire que tout caract`ere de Aappartienne
soit `a B, soit `a C. Par cons´equent, la somme
des similitudes de Aavec Bet Cdoit ˆetre
sup´erieure ou ´egale `a sa longueur : sim(A, B) +
sim(A, C)≥ |A|, soit, de fa¸con ´equivalente,
|A| ≥ pdist(A, B) + pdist(A, C)
Lorsque la longueur de Aest strictement
sup´erieure `a la somme des pseudo-distances,
c’est que certaines sous-chaˆınes de Asont com-
munes `a toutes les chaˆınes en mˆeme temps et
dans le mˆeme ordre. Ces sous-chaˆınes doivent
donc ˆetre recopi´ees dans la solution D. On ap-
pellera com(A, B, C, D) la somme des longueurs
de ces sous-chaˆınes. Le point d´elicat est que
cette somme d´epend de la solution Den train
d’ˆetre form´ee.
En r´esum´e, pour que l’analogie A:B=
C:Dexiste, la contrainte suivante doit ˆetre
v´erifi´ee :
|A|= pdist(A, B)+pdist(A, C)+com(A, B, C, D)
3L’ALGORITHME
3.1 Calcul des matrices
Notre m´ethode repose sur le calcul de deux ma-
trices de pseudo-distances entre les trois pre-
miers termes de l’analogie. Un r´esultat dˆu `a
(Ukkonen 85) montre qu’il est suffisant de cal-
culer seulement une bande diagonale de valeurs
plus deux petites bandes suppl´ementaires de
part et d’autre dans la matrice de distance
d’´edition pour obtenir la distance exacte si cette
distance est connue pour ˆetre inf´erieure `a une
certaine valeur. Ce r´esultat s’applique aussi au
calcul des pseudo-distances et est donc utilis´e ici
pour r´eduire le calcul des matrices. La largeur
des bandes suppl´ementaires est obtenue en cher-
chant `a satisfaire la contrainte de couverture
avec la valeur de la pseudo-distance obtenue
dans la seconde matrice.
proc calcule matrices(A, B, C, pdAB , pdAC )
calculer les matrices de pseudo-distances avec
deux bandes de pdAB/2 et pdAC /2
si |A| ≥ pdist(A, B) + pdist(A, C)
composant principal
sinon
calcule matrices(A, B, C,
max(|A| − pdist(A, C), pdAB + 1),
max(|A| − pdist(A, B), pdAC + 1))
fin si
fin proc calcule matrices
3.2 Composant principal
D`es que le calcul des matrices est suffisant,
le principe de l’algorithme est de suivre les
chemins selon lesquels les plus longues sous-
chaˆınes communes sont obtenues dans les deux
matrices simultan´ement et de copier les bons
caract`eres pour former la solution. A chaque
´etape, les positions dans les deux matrices
doivent ˆetre sur la mˆeme ligne horizontale, c’est-
`a-dire dans la mˆeme position dans A, de fa¸con
`a imposer le bon ordre dans la formation de la
solution, D.
La d´etermination des chemins est faite par
comparaison entre la case courante dans la ma-
trice et ses trois cases pr´ec´edentes (horizon-
tale, verticale et diagonale), selon la techni-
que d´ecrite dans (Wagner & Fischer 74). En
cons´equence, les chemins sont suivis `a rebours,
de la fin au d´ebut. Les neuf possibilit´es (trois
directions dans deux matrices) peuvent ˆetre di-
vis´es en deux groupes : soit les directions sont
identiques, soit elles sont diff´erentes.
L’algorithme est esquiss´e ci-dessous. iA,iBet
iCsont les positions courantes dans A,Bet C.
dirAB (resp. dirAC ) est la direction le long du
chemin dans la matrice A×B(resp. A×C)
`a partir de la position courante. ¿copie Àest
la copie d’un caract`ere d’un mot en tˆete de la
solution D, suivie du d´eplacement sur le car-
act`ere pr´ec´edent dans le mot. com(A, B, C, D)
est initialis´e `a |A| − (pdist(A, B) + pdist(A, C)).
si contrainte(iA, iB, iC,com(A, B, C, D))
cas: dirAB =dirAC = diagonale
si A[iA] = B[iB] = C[iC]
decrementer com(A, B, C, D)
fin si
copie B[iB] + C[iC]A[iA]a
cas: dirAB =dirAC = horizontale
copie caractereb/ min(pdist(A[1..iA], B[1..iB]),
pdist(A[1..iA], C[1..iC]))
cas: dirAB =dirAC = verticale
d dans Aseulement
(changer de ligne horizontale)
aDans ce cas, d´eplacement dans les trois mots `a
la fois. Aussi, l’utilisation de l’arithm´etique sur les
caract`eres factorise plusieurs op´eratiions en vue de
g´en´eralisation : si les trois caract`eres courants dans A,
Bet Csont ´egaux, copier ce caract`ere, sinon copier le
caract`ere diff´erent du caract`ere courant dans A. Si les
trois caract`eres courants sont diff´erents, on a un cas
d’´echec.
bLe mot de plus faible similitude avec Aest choisi
pour la copie pour refaire son retard.
cas: dirAB 6=dirAC
si dirAB = horizontale
copie B[iB]
sinon si dirAB = verticale
deplacement dans Aet C
sinon meme chose en echangeant Bet C
fin si
fin si
3.3 Terminaison pr´ecoce en cas d’´echec
Le calcul complet des deux matrices n’est pas
n´ecessaire pour d´etecter un ´echec ´eventuel.
C’est ´evident lorsqu’un caract`ere de A
n’apparaˆıt ni dans Bni dans C. Ce cas peut
mˆeme ˆetre d´etect´e avant le calcul des matrices.
Aussi, la v´erification de la contrainte
de recouvrement `a chaque ´etape permet `a
l’algorithme de s’arrˆeter aussitˆot que des
d´eplacements non conformes sont effectu´es.
4UN EXEMPLE
Montrons comment l’analogie : fini :infini =
exact :xest r´esolue par l’algorithme.
L’algorithme v´erifie d’abord que tous les ca-
ract`eres de fini appartiennent soit `a infini soit `a
exact. Puis, un calcul minimum est effectu´e dans
les matrices, c’est-`a-dire que seule la bande dia-
gonale est calcul´ee.
t c a x e i n f i n i
. . . 1 1 f1 1 0 ...
. . 2 2 . i . 2 1 0 . .
.3 3 . . n . . 2 1 0 .
4 4 . . . i . . . 210
Comme la contrainte de recouvrement est
v´erifi´ee, le composant principal est appel´e.
Il suit les chemins indiqu´es par les valeurs
encercl´ees dans les matrices suivantes.
t c a x e i n f i n i
...°1°1f°1°1°0...
. . °2 2 . i . 2 1 °0. .
.°3 3 . . n . . 2 1 °0.
°4 4 ...i...2 1 °0
La succession de d´eplacements d´eclenche les
copies suivantes dans la solution :
1 / 9 100%