UN ALGORITHME DE RESOLUTION D

publicité
UN ALGORITHME DE RESOLUTION
D’ANALOGIES ENTRE MOTS
(version française de (Lepage 98))
Yves Lepage
ATR-Laboratoires d’Interprétation et Télécommunications
Hikari-dai 2-2 Seika-tyō, Soraku-gun, Kyōto 619-0288, Japon
[email protected]
INTRODUCTION
Nous adoptons, pour introduire l’algorithme qui
fait l’objet de cet article, une démarche inverse au développement historique de la notion d’analogie (voir (Hoffman 95)). Cela s’avère
nécessaire car une certaine mécompréhension
lui attribue souvent un sens trop large et plus
psychologique. Le contenu de cet article étant
d’ordre algorithmique, nous ne pouvions non
plus passer sous silence les travaux sur l’analogie
en informatique, c’est-à-dire en intelligence artificielle.
1
TRAVAUX SUR L’ANALOGIE
Cet article ne se voulant pas un rappel approfondi, nous renvoyons par exemple à (Hoffman 95) pour un tour d’horizon plus complet.
1.1 Métaphores, ou analogies implicites
Commençons par les travaux en psychologie
et en intelligence artificielle. (Gentner 83) fait
référence comme tentative de modélisation possible des analogies du genre ¿ un atome est
comme le système solaire À, pour l’intelligence
artificielle. Dans ce genre d’analogies, deux domaines sont mis en correspondance, d’où une
modélisation nécessaire des domaines.
f
soleil → noyau
f
planète → électron
De plus, des propriétés (representées par des
propositions logiques, des formules, etc.) sont
transférées d’un domaine à l’autre, et leur nombre détermine en quelque sorte la qualité de
l’analogie.
f
attrac(soleil, → attrac(noyau,
planète)
électron)
f
plus lourd(soleil, → plus lourd(noyau,
planète)
électron)
Cependant, appeler analogies, comme Gentner le fait, des phrases du genre ¿ un A est
comme un B À, est fort critiquable. D’autres,
comme (Steinhart 94) préfèrent appeler de telles
phrases des métaphores1 dont la validité repose sur des phrases du genre : ¿ A est à B
ce que C est à D À, phrases auxquelles le
nom d’analogie 2 est réservé. En d’autres termes, certaines métaphores reposent sur des
analogies3 . Par exemple, la métaphore : ¿ un
atome est comme le système solaire À repose
sur l’analogie : ¿ un électron est au noyau ce
qu’une planète est au soleil À.
Dans son ensemble, la réponse de la communauté de l’intelligence artificielle au problème de
l’analogie est complexe, car ses membres se sont
précipités en premier sur des problèmes difficiles. Pour eux, dans une analogie ou métaphore
(Hall 89) :
• deux domaines différents interviennent ;
• pour chacun de ces deux domaines, il faut
une base de connaissance ;
• la mise en correspondance des objets
et le transfert des propriétés sont deux
opérations de natures distinctes ;
• la qualité des analogies doit être évaluée en
fonction du poids (nombre, valeur de vérité,
etc.) des propriétés transférées.
1
Si ce qui caractérise de telles phrases, c’est que des
propriétés sont transférées, alors, étymologiquement, ce
sont bien des métaphores : du grec pherein: porter et
meta-: entre, parmi, avec, après. ¿ Métaphore À signifie
transport, transfert.
2
Du grec logos, -logia: rapport, proportion, raison, discours et ana-: de haut en bas, de nouveau.
¿ Analogie À veut dire : mêmes proportions, rapports
égaux.
3
Ce sont là les définitions d’Aristote dans la Poétique.
Nous devons réduire de façon sérieuse tout cet
attirail, et viser à énoncer un problème plus simple (dont la résolution ne le sera pas forcément).
Faisons-le en simplifiant les types de données, et
par conséquent les caractéristiques du problème.
1.2
Multiplicité ou unicité de domaines
Pour ce qui est du traitement automatique des
langues, il y a quantité de travaux sur la prononciation de l’anglais par analogie, certains de
ces travaux s’intéressant même à reproduire le
comportement humain (voir (Damper & Eastmond 96)). Un résumé de la tâche est donné
dans (Pirelli & Federici 94) :
f
Par opposition aux approches de l’intelligence
artificielle, les analogies au niveau morphologique jouent dans un seul domaine, celui
des mots. Par conséquent, le nombre de relations entre les termes de l’analogie diminue de
trois (f , g et h) à deux (f et g). De plus, comme
les quatre termes intervenant dans une analogie
sont du même domaine, les ensembles sources et
buts de f et g sont identiques. f et g sont donc
de même type. Enfin, les analogies au niveau
morphologique peuvent être considérées comme
des équations indépendantes de quelque connaissance que ce soit sur la langue des mots.
Cela élimine le recours à des bases de connaissances ou à des dictionnaires.
vane → /vejn/
↓g
↓h
f
sane →
x = /sejn/
De même qu’en intelligence artificielle, deux
domaines distincts apparaissent (graphémique
et phonémique). Par conséquent, les fonctions f ,
g et h sont de types différents parce que leurs ensembles sources et buts sont de types différents.
Encore une fois, de même qu’en intelligence
artificielle, de tels systèmes utilisent des bases
de données de formes écrites ou phonétiques. A
propos de son propre modèle, (Yvon 94) note
que :
Le [. . . ] modèle repose de façon cruciale sur l’existence de nombreuses relations paradigmatiques existant dans la
base lexicale. À
¿
Les relations paradigmatiques étant des relations dans lesquelles quatre mots interviennent,
ce sont en fait des analogies au niveau morphologique4 : “réaction est à réacteur, ce que
faction est à facteur”.
f
réacteur → réaction
↓g
↓g
f
facteur → faction
4
Alors que le problème de la transcription graphèmephonème n’est absolument pas universelle, celui de
l’analogie au niveau morphologique l’est certainement
même pour des langues comme le chinois, où des mots
de plus de deux caractères peuvent être obtenus par
analogie : 科学 (la science) : 科学家 (un scientifique) =
政治 (la politique) : 政治家 (un homme politique).
f
réacteur → réaction
↓g
↓g
f
facteur → x?
1.3
Unicité ou multiplicité des
modifications
La résolution des analogies au niveau morphologique reste difficile parce que plusieurs modifications simultanées peuvent être nécessaires
dans la transformation d’un mot en un autre
(par exemple faiseur → défaire requiert le remplacement du suffixe -eur par -re et l’insertion
du préfixe dé-). Ce problème n’a toujours pas
été résolu de façon satisfaisante. Par exemple,
(Yvon 94) n’autorise qu’une seule modification
à la fois, plusieurs modifications étant obtenues
par l’application successive de telles analogies
morphologiques, d’où le nom de modèle en
cascades. Cependant, il y a des langues pour
lesquelles les modifications simultanées sont
nécessaires, comme les langues sémitiques.
(Nagao 84) se limite aussi à ¿ une seule
modification à la fois À pour une méthode
de traduction automatique, appelée traduction par analogie, dans laquelle la traduction
d’une phrase source est l’adaptation de traductions de phrases similaires extraites d’une base
de données. La difficulté de traiter plusieurs
modifications à la fois est palliée, lors de
la création de la base, par la fourniture de
phrases ne différant entre elles que par un seul
changement. Bien que la réponse de (Sadler
& Vendelmans 90) soit plus satisfaisante, avec
l’utilisation d’une algèbre sur les arbres (addition et soustraction de sous-arbres), l’usage de
base de connaissances et la multiplicité des domaines refont malheureusement surface.
Notre but est un véritable solveur d’analogie,
c’est-à-dire un algorithme qui, étant donnés
trois mots, délivre un mot, analogue aux
données d’entrée. Pour cela, il faut être capable :
(1) d’appliquer plusieurs modifications à la fois
(2) sur une unique structure de données (3) sans
aucun dictionnaire ni connaissances externes.
1.4
Analogies entre mots
Nous avons fini notre tour d’horizon du
problème et avons abouti sur ce qui a constitué
en fait le départ de notre recherche. En linguistique, en effet, l’analogie est définie par Saussure, après Humboldt ou Baudoin de Courtenay,
comme l’opération par laquelle, étant données
deux formes d’un même mot, et seulement une
forme d’un second mot, on crée la forme manquante. ¿ honor est à honōrem ce que ōrātor
est à ōrātōrem À noté
ōrātōrem : ōrātor =
honōrem : honor. C’est tout simplement là la
définition d’Aristote : ¿ A est à B ce que C est
à D À, en posant en plus l’égalité de type pour
A, B, C et D.
Cependant, bien que l’analogie ait été mentionnée et utilisée, aucun moyen algorithmique
n’a, à notre connaissance, jamais été donné
pour résoudre des analogies, peut-être parce que
l’opération semble si intuitive. Nous (Lepage
& Ando 96) avons récemment essayé de donner une explication qui n’est hélas pas toujours
valide, parce qu’elle s’applique aussi à des cas
qui ne sont pas des analogies. Et ce n’est pas
non plus une explication algorithmique.
L’unique travail sur la résolution d’analogies
entre mots semble être celui de Copycat ((Hofstadter et al. 94) et (Hoffman 95)), qui résoud des
équations de la forme : abc : abbccc = ijk : x.
Mais ce programme ne semble pas utiliser
d’algorithme dédié, plutôt, suivant en cela
l’approche de l’intelligence artificielle, il utilise
une modélisation du domaine à l’aide de fonctions comme : précédent dans l’alphabet,
numéro d’ordre dans l’alphabet, etc.
2
2.1
Chomsky, selon lequel l’analogie n’opèrerait pas
en syntaxe parce qu’elle créérait des phrases
agrammaticales. Que l’analogie opère aussi en
syntaxe avait déjà été vu par Hermann Paul et
Bloomfield. L’argument de Chomsky est bien
sûr faussé parce qu’il ne fait jouer l’analogie
qu’au niveau de la surface. Itkonen et Haukioja
montrent que l’analogie, contrôlée par le niveau
structurale rend compte de phrases parfaitement grammaticales. Ce qui nous intéresse chez
eux, c’est le cœur de leur méthode, qui sera le
germe de notre algorithme :
La phrase D est formée en examinant les
phrases B et C un élément à la fois et en
inspectant les relations de chaque élément
à la structure de la phrase A (et aussi à la
partie de la phrase D déjà créée). À
¿
Ainsi donc, la phrase A est l’axe auquel les
phrases B et C sont comparées et par opposition auquel la phrase D est construite.
copieur : incopiable = faiseur : x ⇒ x = infaisable
Notre méthode sera donc : (a) chercher les
morceaux non communs à A et B d’une part
et à A et C d’autre part ; puis (b) assembler ces
morceaux dans le bon ordre.
2.2 Sous-chaı̂nes communes
Par complémentation, notre problème peut être
résolue par la recherche des sous-séquences
communes à A et B (respectivement à A et
C). (Wagner & Fischer 74) est une méthode
pour trouver les plus longues sous-chaı̂nes communes par le calcul d’une matrice de distance d’édition, qui donne le nombre minimal
d’opérations d’édition nécessaires (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 distances sont lues dans les cases en bas à droite.
dist(fini, infini) = 2 et dist(fini, exact) = 5
i
n
f
i
n
i
1
1
2
3
2
2
1
2
2
3
2
2
3
2
3
2
4
3
2
3
5
4
3
2
e
x
a
c
t
1
2
3
4
2
2
3
4
3
3
3
4
4
4
4
4
5
5
5
5
FONDATIONS À L’ALGORITHME
L’axe du premier terme
(Itkonen & Haukioja 97) donne un programe
en Prolog pour la résolution des analogies entre phrases comme réfutation de l’argument de
f
i
n
i
f
i
n
i
2.3 Similitude entre mots
Nous appelons similitude entre A et B la
longueur de leur plus longue sous-chaı̂ne commune. Elle est aussi égale à la longueur de
A moins le nombre de caractères supprimés
ou remplacés pour produire B. Nous appelons
ce dernier nombre pdist(A, B) car c’est une
pseudo-distance qui peut être calculée exactement de la même manière que les distances
d’édition, 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.
i
n
f
i
n
i
f
i
n
i
1
2
2
3
4
5
0
1
2
2
3
4
0
0
1
2
2
3
0
0
1
1
2
2
|A| = pdist(A, B)+pdist(A, C)+com(A, B, C, D)
3
f
i
n
i
i
n
f
i
n
i
1
1
2
3
1
1
1
2
0
1
1
2
0
0
1
1
0
0
0
1
0
0
0
0
Les caractères insérés dans B ou C ne sont
pas décomptés précisément parce que ce sont
les caractères de B et C absents de A que nous
voulons assembler pour former la solution de
l’analogie, D.
Comme A est l’axe de la résolution de
l’analogie, nous en faisons graphiquement l’axe
vertical autour duquel est effectué le calcul des pseudo-distances. Par exemple, pour
fini : infini = exact : x,
t
Lorsque la longueur de A est strictement
supérieure à la somme des pseudo-distances,
c’est que certaines sous-chaı̂nes de A sont communes à toutes les chaı̂nes en même temps et
dans le même ordre. Ces sous-chaı̂nes doivent
donc être recopiées dans la solution D. On appellera com(A, B, C, D) la somme des longueurs
de ces sous-chaı̂nes. Le point délicat est que
cette somme dépend de la solution D en train
d’être formée.
En résumé, pour que l’analogie
A:B =
C : D existe, la contrainte suivante doit être
vérifiée :
c
a
x
e
i
n f
i
n
i
1 1
2 2
3 3
4 4
1
2
3
4
1
2
3
4
1 f
2 i
3 n
4 i
1
1
2
3
1
1
1
2
0
0
1
1
0
0
0
1
0
0
0
0
0
1
1
2
2.4 Contrainte de recouvrement
On peut aisément vérifier qu’il n’existe pas
d’analogie si au moins un caractère de A
n’appartient pas à B ni à C. Réciproquement,
pour qu’une analogie puisse être résolue, il est
nécessaire que tout caractère de A appartienne
soit à B, soit à C. Par conséquent, la somme
des similitudes de A avec B et C doit être
supérieure ou égale à sa longueur : sim(A, B) +
sim(A, C) ≥ |A|, soit, de façon équivalente,
|A| ≥ pdist(A, B) + pdist(A, C)
L’ALGORITHME
3.1 Calcul des matrices
Notre méthode repose sur le calcul de deux matrices de pseudo-distances entre les trois premiers termes de l’analogie. Un résultat dû à
(Ukkonen 85) montre qu’il est suffisant de calculer seulement une bande diagonale de valeurs
plus deux petites bandes supplémentaires de
part et d’autre dans la matrice de distance
d’édition pour obtenir la distance exacte si cette
distance est connue pour être inférieure à une
certaine valeur. Ce résultat s’applique aussi au
calcul des pseudo-distances et est donc utilisé ici
pour réduire le calcul des matrices. La largeur
des bandes supplémentaires est obtenue en cherchant à 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ès que le calcul des matrices est suffisant,
le principe de l’algorithme est de suivre les
chemins selon lesquels les plus longues souschaı̂nes communes sont obtenues dans les deux
matrices simultanément et de copier les bons
caractères pour former la solution. A chaque
étape, les positions dans les deux matrices
doivent être sur la même ligne horizontale, c’està-dire dans la même position dans A, de façon
à imposer le bon ordre dans la formation de la
solution, D.
La détermination des chemins est faite par
comparaison entre la case courante dans la matrice et ses trois cases précédentes (horizontale, verticale et diagonale), selon la technique décrite dans (Wagner & Fischer 74). En
conséquence, les chemins sont suivis à rebours,
de la fin au début. Les neuf possibilités (trois
directions dans deux matrices) peuvent être divisés en deux groupes : soit les directions sont
identiques, soit elles sont différentes.
L’algorithme est esquissé ci-dessous. iA , iB et
iC sont les positions courantes dans A, B et C.
dirAB (resp. dirAC ) est la direction le long du
chemin dans la matrice A × B (resp. A × C)
à partir de la position courante. ¿ copie À est
la copie d’un caractère d’un mot en tête de la
solution D, suivie du déplacement sur le caractère précédent dans le mot. com(A, B, C, D)
est initialisé à |A| − (pdist(A, B) + pdist(A, C)).
cas: dirAB 6= dirAC
si dirAB = horizontale
copie B[iB ]
sinon si dirAB = verticale
deplacement dans A et C
sinon meme chose en echangeant B et C
fin si
fin si
3.3
Terminaison précoce en cas d’échec
Le calcul complet des deux matrices n’est pas
nécessaire pour détecter un échec éventuel.
C’est évident lorsqu’un caractère de A
n’apparaı̂t ni dans B ni dans C. Ce cas peut
même être détecté avant le calcul des matrices.
Aussi, la vérification de la contrainte
de recouvrement à chaque étape permet à
l’algorithme de s’arrêter aussitôt que des
déplacements non conformes sont effectués.
4
UN EXEMPLE
Montrons comment l’analogie : fini : infini =
exact : x est résolue par l’algorithme.
L’algorithme vérifie d’abord que tous les caractères de fini appartiennent soit à infini soit à
exact. Puis, un calcul minimum est effectué dans
les matrices, c’est-à-dire que seule la bande diagonale est calculée.
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)
t c a x e
i n f i n i
fin si
a
copie B[iB ] + C[iC ] − A[iA ]
. . . 1 1 f 1 1 0 . . .
cas: dirAB = dirAC = horizontale
. . 2 2 . i . 2 1 0 . .
copie caractereb / min(pdist(A[1..iA ], B[1..iB ]), . 3 3 . . n . . 2 1 0 .
pdist(A[1..iA ], C[1..iC ]))
4 4 . . . i . . . 2 1 0
cas: dirAB = dirAC = verticale
d dans A seulement
Comme la contrainte de recouvrement est
(changer de ligne horizontale)
vérifiée, le composant principal est appelé.
Il suit les chemins indiqués par les valeurs
a
encerclées dans les matrices suivantes.
Dans ce cas, déplacement dans les trois mots à
la fois. Aussi, l’utilisation de l’arithmétique sur les
caractères factorise plusieurs opératiions en vue de
généralisation : si les trois caractères courants dans A,
B et C sont égaux, copier ce caractère, sinon copier le
caractère différent du caractère courant dans A. Si les
trois caractères courants sont différents, on a un cas
d’échec.
b
Le mot de plus faible similitude avec A est choisi
pour la copie pour refaire son retard.
t
c
a
x
e
.
.
. °
1 °
1
.
. °
2
2
.
. °
3
3
.
.
°
4
4
.
.
.
i
n
f
f °
1 °
1 °
0
i .
2 1
n .
.
2
i .
.
.
i
n
.
.
°
0
.
1 °
0
2 1
i
.
.
.
°
0
La succession de déplacements déclenche les
copies suivantes dans la solution :
dirAB
diagonal
diagonal
diagonal
diagonal
horizontal
horizontal
horizontal
5
dirAC
diagonal
diagonal
diagonal
diagonal
horizontal
diagonal
diagonal
copy
t
c
a
x
e
n
i
PROPRIÉTÉS ET COUVERTURE
5.1
Cas triviaux, miroirs
Les cas triviaux d’analogie sont, bien sûr,
résolus par cet algorithme. Il en va ainsi de :
A:A = A:x
⇒ x = A ou
A:A =
C:x
⇒ x = C. Aussi, par construction,
A : B = C : x et A : C = B : x rendent bien
la même solution.
Par construction aussi, le miroir ne pose pas
de problème. Si on note par A le miroir du mot
A, alors, A : B = C : D ⇔ A : B = C : D .
5.2
Préfixes, suffixes, infixation
simultanée
Dans l’annexe A on trouvera un certain nombre
d’analogies des plus simples aux plus complexes,
toutes résolues par l’algorithme et qui illustrent
les possibilités de l’algorithme.
5.3
Répétition et permutation
L’algorithme ne rend cependant pas compte
des répétitions. Or, cela serait nécessaire si
nous voulions décrire, par exemple, la formation du pluriel marqué en indonésien5 :
orang : orang-orang = burung : x
⇒ x =
burung-burung . Dans ce cas, l’algorithme rend
x = orang-burung, parce que préférence est
donné à la transformation des suffixes. Cependant, l’algorithme pourrait être facilement modifié pour s’appliquer de manière répétitive de
façon à rendre la solution désirée6 .
Les permutations non plus ne sont pas
couvertes par cette algorithme. Par exemple
(q avec a et u) en proto-sémitique dans :
yaqtilu : yuqtilu = qatal : qutal.
5
orang (être humain) singulier, orang-orang pluriel,
burung (oiseau).
6
Aussi, il est facile d’appliquer l’algorithme comme un
transducteur afin qu’il modifie, par analogie, les parties
d’une chaı̂ne entrée.
5.4
Indépendance vis-à-vis de la langue
et dépendance vis-à-vis du code
Parce que l’algorithme présenté ne calcule qu’au
niveau des symboles, il peut s’appliquer à
n’importe quelle langue. Il est donc indépendant
de la langue. C’est heureux, car l’analogie entre mots semble bien dériver d’une faculté psychologique sans doute universelle (Gentner 83),
(Itkonen 94). Les exemples de l’annexe A illustraient déjà l’indépendance de l’algorithme
vis-à-vis de la langue.
A contrario, les symboles déterminent la
granularité des analogies possiblement résolues.
Par conséquent, une commutation non reflétée
dans le codage ne sera pas découverte par
l’algorithme. On peut illustrer ce point par
un exemple en japonais avec trois systèmes
de codage différents : le système normal (kanjis
et kanas), la transcription anglo-saxonne (Hepburn) et la transcription latine officielle recommandée (kunrei).
kanjis-kanas: 待つ : 待ちます = 働く : x
Hepburn: matsu : machimasu = hataraku : x
kunrei: matu : matimasu = hataraku : x
x = hatarakimasu
L’algorithme ne résoud pas les deux premières
analogies (solutions: 働きます, hatarakimasu)
parce qu’il ne voit pas les analogies élémentaires
つ : ち = く : き et tsu : chi = ku : ki, qui sont
en deça des symboles utilisés7 .
De façon plus générale, l’interaction de
l’analogie avec le codage semble à la base d’un
principe usuel de raisonnement :
f(A) : f(B) = f(C) : x
C : f −1 (x)
⇔
A:B ≡
Seule la première analogie est à considérer au
niveau des symboles, et, en tant que telle, peut
être résolue par notre algorithme, f étant une
fonction de codage qui admet une fonction inverse. Un exemple remarquable de ce principe
est la résolution d’une analogie à la Copycat :
abc : abd = ijk : x
⇒ x = ijl
L’utilisation du code ASCII, qui rend compte
de la succession dans l’alphabet permet à
l’algorithme de rendre :
7
On peut imaginer d’étendre l’algorithme en
le paramétrant par de telles relations analogiques
élémentaires.
011000010110001001100011
=
:
011000010110001001100100
011010010110101001101011
:x
⇒ x = 011010010110101001101100 = ijl
De cette manière, même des analogies de type
géométrique peuvent être résolues, à condition
de fournir la représentation adéquate.
Une représentation adéquate, sans répétition,
serait :
obj(gros)& obj(petit)⊂obj(gros) obj(gros)&
:x
=
:
obj=carré
obj=cercle &obj=cercle
L’algorithme rend :
x=
obj(petit)⊂obj(gros)
&obj=carré
En d’autres termes, le codage semble être la
clé de nombre d’analogies. Plus généralement,
nous approuvons (Itkonen & Haukioja 97)
lorsqu’ils proposent de voir en l’analogie une
opération par rapport à laquelle les systèmes
symboliques devraient aussi être évalués. Mais
pour cela, bien sûr, on a d’abord besoin d’un
solveur automatique d’analogie.
CONCLUSION
Nous avons présenté un algorithme qui résoud
des analogies entre mots, c’est-à-dire qui, étant
donnés trois mots, crée un quatrième mot
lorsque c’est possible. Cet algorithme repose sur
le calcul de pseudo-distances entre chaı̂nes. La
vérification d’une contrainte, pertinente pour
l’analogie permet de limiter les calculs et permet
aussi la détection précoce éventuelle d’échecs.
Cet algorithme s’applique à nombre de cas,
dans nombre de langues. En particulier, il
permet l’infixation simultanée, une propriété
nécessaire si l’on veut rendre compte de la morphologie des langues sémitiques.
L’algorithme est indépendant de la langue
mais pas indépendant du codage utilisé. C’est
un essai pour savoir jusqu’où l’on peut aller
en morphologie par le seul calcul sur les symboles, sans aucun savoir supplémentaire. Nous
pensons que beaucoup dans le domaine des
analogies usuelles est en fait une question
de représentation symbolique, c’est-à-dire une
question de codage utilisé pour représenter
le problème sous une forme directement exploitable, et sans plus, par un algorithme purement symbolique come le nôtre.
A
LISTE D’EXEMPLES
Les exemples suivants montrent des analogies
résolues par l’algorithme proposé. Ils illustrent
ses possibilités sur des exemples linguistiques
réels.
A.1
Insertion ou suppression de
préfixes ou de suffixes
latin: oratorem : orator = honorem : x
x = honor
français: répression : répressionnaire = réaction : x
x = réactionnaire
malais: tinggal : ketinggalan = duduk : x
x = kedudukan
chinois: 科学 : 科学家 = 政治 : x
x = 政治家
A.2 Echange de préfixes ou de suffixes
anglais: wolf : wolves = leaf : x
x = leaves
malais: kawan : mengawani = keliling : x
x = mengelilingi
malais: keras : mengeraskan = kena : x
x = mengenakan
polonais: wyszedÃleś : wyszÃlaś = poszedÃleś : x
x = poszÃlaś
A.3 Infixation et changement vocalique
japonais: 乗る : 乗せる = 寄る : x
x = 寄せる
allemand: lang : längste = scharf : x
x = schärfste
allemand: fliehen : er floh = schließen : x
x = er schloß
polonais: zgubiony : zgubieni = zmartwiony : x
x = zmartwieni
accadien: ukaššad : uktanaššad = ušakšad : x
x = uštanakšad
A.4 Infixations simultanées
proto-sémitique: yasriqu : sariq = yanqimu : x
x = naqim
arabe: huzila : huzāl = .sudi‘a : x
x = .sudā‘
arabe: arsala : mursilun = aslama : x
x = muslimun
References
Robert I. Damper & John E.G. Eastman
Pronouncing Text by Analogy
Proceedings of COLING-96, Copenhagen,
August 1996, pp. 268–269.
Dedre Gentner
Structure Mapping: A Theoretical Model for
Analogy
Cognitive Science, 1983, vol. 7, no 2, pp. 155–
170.
Rogers P. Hall
Computational Approaches to Analogical
Reasoning: A Comparative Analysis
Artificial Intelligence, Vol. 39, No. 1, May
1989, pp. 39-120.
Douglas Hofstadter and the Fluid Analogies
Research Group
Fluid Concepts and Creative Analogies
Basic Books, New-York, 1994.
Robert R. Hoffman
Monster Analogies
AI Magazine, Fall 1995, vol. 11, pp 11-35.
Esa Itkonen
Iconicity, analogy, and universal grammar
Journal of Pragmatics, 1994, vol. 22, pp. 3753.
Esa Itkonen & Jussi Haukioja
A rehabilitation of analogy in syntax (and
elsewhere)
in András Kertész (ed.) Metalinguistik im
Wandel: die kognitive Wende in Wissenschaftstheorie und Linguistik Frankfurt
a/M, Peter Lang, 1997, pp. 131-177.
Yves Lepage & Ando Shin-Ichi
Saussurian analogy: a theoretical account and
its application
Proceedings of COLING-96, Copenhagen,
August 1996, vol .2, pp. 717–722.
Yves Lepage
Solving Analogies on Words: an Algorithm
Proceedings of COLING-ACL’98, vol I,
Montréal, August 1998, pp. 728–735.
Nagao Makoto
A Framework of a Mechanical Translation between Japanese and English by Analogy Principle
in Artificial & Human Intelligence, Alick
Elithorn and Ranan Banerji eds., Elsevier Science Publishers, NATO 1984.
Vito Pirelli & Stefano Federici
“Derivational” paradigms in morphonology
Proceedings of COLING-94, Kyoto, August
1994, Vol. I, pp 234–240.
Victor Sadler & Ronald Vendelmans
Pilot implementation of a bilingual knowledge bank
Proceedings of COLING-90, Helsinki, 1990,
vol 3, pp. 449–451.
Eric Steinhart
Analogical Truth Conditions for Metaphors
Metaphor and Symbolic Activity, 1994, 9(3),
pp 161–178.
Esko Ukkonen
Algorithms for Approximate String Matching
Information and Control, 64, 1985, pp. 100118.
Robert A. Wagner and Michael J. Fischer
The String-to-String Correction Problem
Journal for the Association of Computing
Machinery, Vol. 21, No. 1, January 1974, pp.
168-173.
François Yvon
Paradigmatic Cascades: a Linguistically
Sound Model of Pronunciation by Analogy
Proceedings of ACL-EACL-97, Madrid, 1994,
pp 428–435.
UN ALGORITHME POUR LA
RÉSOLUTION DES ANALOGIES
ENTRE MOTS
Yves LEPAGE
ALGORYTM DO ROZSTRZYGANIA
ANALOGII POMIEDZY
SÃLOWAMI
,
Résumé
Streszczenie
Un rappel de travaux précédents sur l’analogie
en psychologie, en intelligence artificielle et en
traitement automatique des langues précède la
présentation d’un algorithme de résolution, au
niveau morphologique, d’analogies entre mots.
Cet algorithme crée un quatrième mot à partir
de trois mots donnés, quand c’est possible. Par
exemple, étant donnés fable, fabuleux et miracle, l’algorithme crée bien miraculeux. Des cas
bien plus difficiles sont correctement résolus par
l’algorithme, en particulier, les cas d’infixation
multiple, nécessaires pour rendre compte de la
morphologie des langues sémitiques. Nous donnons les caractéristiques de l’algorithme et mentionnons quelques applications possibles.
Po opisaniu poprzednich prac nad zagadnieniem analogii w ramach psychologii, sztucznej inteligencji oraz lingwistyki komputerowej, pokazujemy algorytm do rozwiazania
,
analogii pomiedzy
sÃlowami na poziomie morfo,
logicznym. Algorytm ten tworzy, kiedy jest to
możliwe, czwarty termin na podstawie trzech
innych terminów. Na przykÃlad, jeżeli podamy
śpiewać, śpiewaczka i dziaÃlać, algorytm sÃlusznie
stworzy dziaÃlaczka. Algorytm ten rozwiazuje
,
bardziej skomplikowane problemy analogii, jak
w przypadku morfologii jezyków
semitycznych,
,
gdzie w środku sÃlów może pojawić sie, kilka
przyrostków jednocześnie. Opisujemy algorytm
i jego możliwe zastosowania.
EIN ALGORITHMUS ZUR LÖSUNG
VON WORT-ANALOGIEN
Yves LEPAGE
単語の類推関係解決手法
Zusammenfassung
概要
Nach einer Beschreibung früherer Werke
über Analogie im Rahmen von Psychologie, künstlicher Intelligenz und maschineller
Sprachverarbeitung, wird ein Algorithmus zur
Lösung von Wort-Analogien auf morphologischer Ebene vorgeschlagen. Dieser Algorithmus
erzeugt, wenn möglich, ein viertes Wort aus drei
gegebenen Wörtern. Zum Beispiel, aussähest
wird aus nehmen, ausnähmest und sehen
abgeleitet. Auch komplexere Fälle werden
korrekt behandelt, selbst in der Morphologie semitischer Sprachen, in denen parallele
Infixung vorkommt. Der Algorithmus wird
beschrieben und mögliche Anwendungen
werden aufgezeigt.
心理学、人工知能、計算言語学において類推の問
題を取り扱った先行研究が、単語の類推を解くア
ルゴリズムの基礎となっている。単語に関する類
推とは、ある三語、例えば「食べる」
「食べない」
「決める」が与えられたときに第四の単語「決め
ない」を出力することである。類推はより複雑な
関係、例えばセム語族の処理に必要な複数の接中
辞の挿入や置換も取り扱うことが可能である。本
論文では、アルゴリズムの計算的な特徴を述べる
と共に、いくつかの適用例について言及する。
Yves LEPAGE
Yves LEPAGE (ルパージュ)
Téléchargement