Traducteur Lexical

La problématique

Vous êtes des accros du Web, pas vrai ? et vous passez aussi pas mal de temps sur des sites en langue étrangère. Pour l'anglais, je suppose que ça passe, mais tout le monde ne parle pas espagnol, allemand, arabe, chinois, japonais, eskimo, ourdou, finnois, etc.

Il serait donc assez urgent, afin de donner à cette planète la carrure qu'elle mérite, de donner à chacun la possibilité de traduire ce qu'il lit ou écrit de n'importe quelle langue vers n'importe quelle langue.

Je ne vais pas vous faire le tableau de toutes les tentatives qui ont été faites en ce sens (et que je connais bien, pour les avoir étudiées de près). Je dirai seulement que j'ai songé à une nouvelle façon de poser, et donc de résoudre, le problème.

Pour l'instant, nous chercherons juste à traduire les MOTS de n'importe quelle langue vers n'importe quelle autre. Car je ne vous propose rien de moins que ça : un Traducteur Lexical Universel, et avec toutes les nuances de sens possibles et imaginables, en plus.

J'explique en quelques lignes

Supposons qu'on ait à faire les traductions des mots qu'entre deux langues. Mettons FRANCAIS vers ANGLAIS ou ANGLAIS vers FRANCAIS.

On voit tout de suite où est le problème : les lexiques de chaque langue ne se correspondent pas mot à mot. Je mets de côté le problème des mots composés comme "pomme de terre", prenons des mots simples. Il peut arriver trois cas.

  1. il y a exactement un mot français pour un mot anglais. Pas de problème, on les met l'un en face de l'autre. Par exemple "serendipity" va exactement avec "sérendipité". Ok, parfait, mais c'est très rare.
  2. il y a plusieurs mots pour un seul. Bon, ça veut dire que pour la traduction, on a le choix. A la rigueur on en tire un au hasard et on n'en parle plus.
  3. il y a un seul mot pour plusieurs. Et là on est très embêté parce qu'on ne sait pas lequel est le bon.

A titre d'exemple, je dis au système que je veux la traduction du verbe "voler" en anglais. Comment est-ce qu'il devine si ça veut dire "voler comme un oiseau" ou "voler comme un voleur" ?

Notez d'ailleurs que même s'il devine que ça veut dire "voler comme un voleur", il faut encore qu'il devine si c'est "voler en dérobant à l'arrachée" (auquel cas le traduction est to rob) ou bien "voler comme le ferait un comptable véreux" (auquel cas la traduction est to steal).

Et songez encore que moi, l'utilisateur francophone, je suis censé ne pas avoir la moindre idée de la nécessité de toutes ces nuances ! Je ne parle pas anglais ! Evidemment, puisque si je parlais anglais, et si j'avais déjà une idée des nuances importantes pour trouver la bonne traduction, hé bien... je n'aurais pas besoin du logiciel du tout !

Donc, résultat des courses : il faut trouver un moyen d'indiquer à la machine le sens d'un mot, mais avec toutes les nuances qu'il peut avoir... Et même avec encore plus de nuances que ce que pourront jamais concevoir tous les dictionnaires de l'univers, car un jour on trouvera peut-être une langue où "voler" n'est pas le même verbe suivant que c'est un oiseau ou un avion... auquel cas, le logiciel, lui, doit pouvoir continuer à fonctionner aussi bien, comme si de rien n'était !

La solution

Elle est simple comme bonjour. Elle consiste à indiquer à l'aide d'autres mots toutes les nuances que vous jugez nécessaires. Par exemple: voler(avion), ou voler(palombe,pigeon), ou voler(brigand,argousin,pigeon), ou voler(bonneteau,Paris), etc. Il n'y a pas de limite au degré de nuances possible, c'est vous qui décidez tout ce que vous avez à dire.

Par conséquent, ce qui est traduit, c'est le mot que vous donnez, avec exactement la nuance que vous avez en tête.

Vous tapez le mot "voler" dans la case du formulaire qui demande le mot à traduire. A côté, dans des cases facultatives, vous mettez autant de mots "indicateurs" que vous voulez. Ensuite, roule ma poule, grâce à un algorithme particulier et une structure de données particulière, le logiciel trouve la traduction la plus adaptée en temps linéaire.

L'algo

Hum ! Secret défense... Mais il est basé sur une idée absolument nouvelle, elle-même issue d'une approche métaphysique différente (en gros, un renversement du rapport entre tout et partie). La structure de données nouvelle s'appelle Rhizome d'Ordre Un. Elle a ceci d'intéressant que :

  1. elle est sale. Autrement dit, elle ne présuppose aucune ontologie particulière et s'adapte à toutes. En fait, je pense qu'elle est tellement puissante qu'elle permettrait de résoudre ce qui est, selon moi, le problème numéro un du Web Sémantique.
  2. elle est additive. Autrement dit, si X personnes composent chacune un petit bout de rhizome, il suffit de faire la somme des X bouts pour obtenir un nouveau rhizome tout aussi opérationnel que chaque petit bout. Cela autorise un travail collectif facile.
  3. elle est hétérogène. Des données de tous types sont dedans, sans homogénéité top-down. En particulier, cette propriété autorise d'enregistrer dans le code autant de langues différentes qu'on veut.

Résultat

Traduction quasi instantanée de n'importe quel mot de n'importe quelle langue vers n'importe quelle autre avec autant de nuance qu'on veut, pour peu bien sûr que les données afférentes soient dans la base.

Ce qui est déjà là

  1. Le concept : je l'ai exposé ici.
  2. Les usagers : évidemment; sans même mentionner les nombreux wikistes qui veulent faire du multilingue
  3. Le prototype : tourne sur mon ordinateur portable, et retournera sur Blue Moon dès que ce dernier aura un nouvel hébergeur...

Ce qui manque pour l'instant

  1. Des supporters : des fans, des pom-pom girls ? Non, mais plus sérieusement, des gens qui disent ouvertement que ça vaudrait le coup, quitte à se montrer sceptique au début comme c'est bien naturel.
  2. Du capital : il faut passer du prototype à des premiers produits opérationnels. Cela demande une grosse machine pour stocker toutes les data.
  3. De la main d'oeuvre : qui veut entrer du lexique ?

Comment faire du blé avec tout ça

Bien, soyons capitalistes cinq minutes. Après tout, ça ne serait pas si mal si mes idées me fournissaient de quoi manger. Je vais donc expliquer ici comment je compte me faire des sous, mais là où ça devient intéressant, c'est que vous pouvez peut-être vous en faire aussi :

De deux manières :

  1. par l'actionnariat, pas la peine de faire un dessin, c'est classique.
  2. de manière beaucoup plus subtile, par le produit lui-même. Je rappelle que les rhizomes sont hétérogènes, sales et additifs. Cela veut dire que, pour que le lexique fonctionne, il suffit que chacun... puisse ajouter les mots qu'il veut, tout comme chacun peut ajouter des pages sur un wiki...

Là, il faut quand même que je donne une petite explication.

Le rhizome enregistre trois sortes de relations entre mots :

  1. le mot A est synonyme du mot B
  2. le mot A est incompatible avec le mot B
  3. le mot A "a quelquechose à voir" avec le mot B

Pour le "a quelquechose à voir", je ne sais pas si tu connais Ziliz, qui crée ce genre de liens collectivement. Bien sûr, il manque les traductions. -François Parmentier

Vous concevez facilement qu'on peut enrichir le rhizome rien qu'en entrant une info de l'un de ces trois types. Et à chaque fois qu'un utilisateur enrichit le rhizome avec une info d'un de ces types, le rhizome devient plus puissant, donc gagne en valeur !

Maintenant, imaginez la chose suivante : pour entrer une nouvelle info dans le rhizome, il faut payer un centime d'euro. L'info est nominale : le rhizome retient le nom de la personne qui l'a tapée. Cette somme modique dissuade les petits malins qui voudraient profiter de la gratuité pour entrer des bêtises et saboter le rhizome (du moins, les petits malins qui ne sont pas milliardaires).

Ensuite, chaque fois que quelqu'un demande une traduction au logiciel, il paie un dixième de centime d'euro. Sur ce dixième, X pour cents vont dans ma poche (héhé), mais le reste est distribué intégralement à toutes les personnes qui ont contribué... au calcul de la traduction du mot demandé !

Par exemple, quelqu'un demande la traduction de "nieto" (espagnol) en français. Il dit "abuelo" pour aider la nuance. Le programme comprend alors que "nieto" veut dire "petit-fils" et non pas "neveu". Il donne la bonne réponse après avoir débité son dixième de centime d'euro. Comme la bonne réponse a été trouvée en utilisant l'info X1 due à l'utilisateur Toto, et les infos X2 et X3 dues à l'utilisateur Titi, ces deux personnes Toto et Titi touchent respectivement une et deux parts sur ce dixième d'euro...

Résultat : les gens sont invités à contribuer à la mémoire collective du rhizome, puisque chaque fois que quelqu'un trouve une bonne traduction grâce à eux, ils gagnent de l'argent. De plus, ils sont même invités à contribuer efficacement à cette mémoire collective, car l'algorithme de recoupement est très fin, et sait utiliser très efficacement les nuances les plus pertinentes.

Enfin, accessoirement, cela me permet de fumer des havanes. {blague à part, cela pose un problème sérieux...}

Contacts par e-mail ici -- ((esc))

Je me suis déjà dit que mon Réseau De Concepts pouvait servir à une traduction. Il suffirait qu'un contexte soit activé pour (en particulier deux mots proches dans la même phrase) pour activer de préférence la traduction appropriée (si on veut une traduction, il "suffit" de créer des liens étiquetés par "trad-lang1-lang2" par exemple entre un ou plusieurs mots de la langue 1 et le mot correspondant de la langue 2). La difficulté étant effectivement la construction de cette connaissance. Mais je suis persuadé que si tu as la connaissance, je pourrais m'en servir. --François Parmentier

Dernière modification le vendredi 15 avril 2005 20:10:41

Éditer HistoriqueDeLaPage Diff  InfosSurLaPage