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 (ルパージュ)