SyLex

Outil de consultation multilingue des textes fédéraux

TIM/ETI (ex-ISSCO), Gilbert ROBERT, Maghi KING
V4.0 - 1999-2002





I Introduction

Au sein de la confédération helvétique, tous les textes officiels sont disponibles dans les trois langues nationales, l'italien, le français et l'allemand, ce qui nécessite non seulement d'importants travaux de traduction mais aussi des outils d'aide ŕ la traduction. Dans ce cadre, le souci majeur pour les traducteurs est la cohérence des traductions faites: il est, par exemple, important que le même terme dans un contexte identique soit toujours traduit de la même façon. Le projet Sylex a pour but la création d'un outil qui permettra l'affichage multilingue de mots, de phrases ou de sous phrases, avec leur contexte dans des textes déjŕ traduits. Cet outil doit permettre aux traducteurs de rechercher des exemples de traductions ainsi qu'aux réviseurs de vérifier la traduction d'un mot, d'une phrase ou d'une tournure de phrase dans son contexte. Il se distingue des concordanciers multilingues intégrés aux logiciels du type "poste de travail de traducteur" par ses possibilités de recherche, plus sophistiquées en termes de requêtes possibles et plus pointues, en termes de résultats obtenus, puisque basées sur les techniques linguistiques plutôt que sur les techniques statistiques de "correspondance approximative".

L'équipe de Genčve, avec l'aide de Suissetra mais aussi dans le cadre de certains projets européens, notamment le projet Multext (4čme PC), et de projets francophones, notamment le projet ARC, a effectué beaucoup de recherche dans ce domaine ces derničres années. Le projet Multext concernait l'exploitation de grands ensembles de textes multilingues sous forme électronique, la définition et l'élaboration de logiciels d'alignement et d'étiquetage ainsi que le traitement automatique de la morphologie. Le projet ARC concerne principalement les logiciels d'alignement.

Le but de ce prototype est de montrer l'utilité de ce nouveau concept pour les outils d'aide ŕ la traduction et les possibilités que peuvent offrir les techniques linguistiques dans le domaine de la recherche d'information.

En outre, l'équipe a développé des techniques informatiques qui permettent

Ces techniques ont été adaptées pour permettre d'enrichir les textes ŕ indexer et d'augmenter ainsi la puissance du moteur de recherche.

Ainsi, nous avons défini pour le projet SyLex des fonctionnalités basées sur la convivialité d'une interface et sur les techniques linguistiques ŕ la pointe de la recherche précédemment citées:

II Les bases de SyLex

Dans le prototype, nous avons appliqué un traitement en deux étapes: la segmentation (reconnaissance et identification les unités élémentaires du texte) et l'analyse morphologique (découpage des mots en morphčmes ). Ainsi, dans le contexte multilingue des documents officiels, les requêtes peuvent être faites par mots clés dans les trois langues, avec la possibilité de choisir parmi un des modes de recherche suivants:

Exemple: la requête admin aura pour solution toutes les phrases contenant le mot administrateur, administratif, administration, administré, et administrer, ainsi que les formes morphologiques de tous ces mots.

Exemple: la requête administré aura pour solution toutes les phrases contenant une des formes du verbe administrer, mais les phrases contenant le mot administratif ne correspondront pas.

Exemple: la requête oux aura pour solution toutes les phrases contenant des mots terminant en oux, comme cailloux, hiboux ou bijoux.

III- Exposé des solutions techniques

III.1 L'interface utilisateur

Dans SyLex, l' interface écrit en Java* permet de taper des requêtes simples ou complexes dans les trois langues nationales suisses. Mais pour des raisons de compatibilité et de simplicité nous avons aussi redéfini une nouvelle version de l'interface qui utilise des "frames" (séparation de l'interface du navigateur en plusieurs sous parties) et les "forms" (éléments standard HTML pour créer des interfaces et des formulaires) qui ne nécessite pas de charger un interpréteur et les librairies du langage Java.

L'interface Java se présente comme une applet* qui se charge ŕ travers le réseau Internet pour s'exécuter dans le navigateur. Dans un espace graphique particulier il est possible de formuler de maničre intuitive des requêtes de type logique. L'affichage des solutions se fait toujours dans une page HTML du navigateur.

L'application nécessite le "Java Plugin 1.2" pour son exécution. Ce "plugin" permet de remplacer la machine virtuelle Java du navigateur par la derničre version actuelle de référence. Lors du premier accčs ŕ l'application, le plugin sera automatiquement chargé. Merci de patienter pendant le temps de chargement.

Pendant la phase de définition, nous avons profité de l'existence d'un logiciel que nous avons développé il y a plusieurs années pour faire quelques expérimentations au niveau de l'interface pour Internet. Ce logiciel, BCP, n'offre qu'une gamme trčs limitée des fonctionnalités prévues pour SyLex, et les ressources linguistiques sont trčs limitées, mais il a permis d'expérimenter différents interfaces. Nous ne voulons pas rendre public ce travail, mais les membres de Suissetra ont été invités, en septembre, ŕ visiter l'adresse suivante et ŕ nous communiquer leurs commentaires:

http://www.issco.unige.ch/staff/robert/bcp/bcp.html*

III.2 Les fonctionnalités de SyLex: requêtes complexes.

Les requêtes prévues pour SyLex peuvent être complexes et suivent les rčgles suivantes:



Dans le cas d'une recherche par traitement morphologique, chaque mot de la requęte est traité dynamiquement par le module de mmorph (Morphologie, ISSCO, Mmorph [4]), qui a été spécialement adapté pour ce projet. Nous aurons ainsi la forme de base de chaque mot de la requęte qui sera la clé de recherche dans les index morphologiques.

L'affichage des solutions se fera séquentiellement. La premičre étape indique la liste des titres solutions et la seconde étape permet d'énumérer les uns aprčs les autres les textes ou les parties de textes qui sont pertinents. Ceci est rendu possible grâce ŕ des techniques qui utilisent les cookies* pour associer ŕ chaque utilisateur la liste des solutions ŕ sa requête et grâce au langage de script Javascript* qui définit une action particuličre aux boutons (article précédent, article suivant) intégrés aux pages HTML. (Ce concept est repris des fonctionnalités des moteurs de recherche bien connus comme Yahoo ou AltaVista.)

Les techniques modernes d'alignement (Align, ISSCO) permettent de mettre en correspondance, aprčs la segmentation et un traitement préalable basé sur les statistiques, les paragraphes et les phrases de deux textes parallčles mais écrits dans des langues différentes. Il est possible de choisir entre les deux modes d'affichage suivants: soit l'affichage intégral des phrases qui correspondent ŕ la requête, soit l'affichage d'une fenêtre autour des mots pertinents (comme dans l'interface de BCP).

III.3 Le traitement des données

Cette nouvelle approche de la recherche documentaire telle que nous l'avons définie, demande un traitement des données trčs pointu, qui fait appel ŕ beaucoup de puissance informatique et beaucoup de place libre sur les disques durs.

Ce traitement se décompose en quatre étapes, qui sont dans l'ordre chronologique:

Segmentation et Morphologie

Les outils de segmentation et de morphologie sont basés sur des techniques utilisant des rčgles linguistiques bien précises. Ces rčgles doivent être codées par un linguiste expérimenté dans chacune des trois langues nationales. Par contre, la désambiguïsation syntaxique et l'alignement sont basés sur des techniques stochastiques. Dans ce cas, le systčme apprend automatiquement en parcourant les textes et l'intervention du linguiste se limite ŕ l'évaluation et ŕ l'amélioration de ce systčme.

Nous avons consacré trois mois de développement intensif au début de l'année au programme de désambiguïsation (multext tagger, (c) ISSCO 1996), pour avoir aujourd'hui un outil trčs utilisé (Tatoo[2]).

Cette partie du traitement des données a été automatisé. Pour cela il faut donner un texte dans le format HTML (HyperText Markup Language) ou dans le format TEXTE et le programme retourne un fichier dans lequel les informations:

Exemple:

<SENT ID="19">
<POS NAME="mais\CONJ-COORD" ID="331">Mais</POS> <POS NAME="le\DET-SG" ID="332">l' </POS> <POS NAME="=\ADJ-SG" ID="333">essentiel</POS> <POS NAME="=\PREP" ID="334">de </POS> <POS NAME="leur\DET-PL" ID="335">leurs</POS> <POS NAME="activité\NOUN-PL" ID="336"> activités</POS> <POS NAME="=\PRON" ID="337">se</POS> <POS NAME="dérouler!dérouler\VERB-SG" ID="338">déroule</POS> <POS NAME="=\PREP" ID="339">dans</POS> <POS NAME="=\DET-SG" ID="340">un</POS> <POS NAME="=\NOUN-SG" ID="341">espace</POS> <POS NAME="=!=\ADJ-SG" ID="342">économique </POS> <POS NAME="restreindre\VERB-SG" ID="343">restreint</POS> <POS NAME=".\AAAA" ID="344">.</POS>
</SENT>
<SENT ID="20">
<POS NAME="le\DET-PL" ID="345">Les</POS> <POS NAME="banque\NOUN-PL" ID="346">banques </POS> <POS NAME="cantonal\ADJ-PL" ID="347">cantonales</POS> <POS NAME="conserver\VERB-PL" ID="348">conservent</POS> <POS NAME="=\ADV" ID="349"> aujourd'hui</POS> <POS NAME="=\DET-SG" ID="350">leur</POS> <POS NAME="=\NOUN-SG" ID="351">raison</POS> <POS NAME="de\PREP" ID="352">d'</POS> <POS NAME="=\NOUN-SG" ID="353">ętre</POS> <POS NAME="de\PREP" ID="354">du</POS> <POS NAME="=\NOUN-SG" ID="355">point_de_vue</POS> <POS NAME="=\PREP" ID="356">de </POS> <POS NAME="le\DET-SG" ID="357">l'</POS> <POS NAME="=\NOUN-SG" ID=" 358">économie</POS> <POS NAME="=\CONJ-COORD" ID="359">et</POS> <POS NAME="=\PREP" ID="360">de</POS> <POS NAME="le\DET-SG" ID="361">la</POS> <POS NAME="=\NOUN-SG" ID="362">concurrence</POS> <POS NAME=";\AAAA" ID="363">;</POS> <POS NAME="il\PRON" ID="364">elles</POS> <POS NAME="fournir!fournir\VERB-PL" ID="365"> fournissent</POS> <POS NAME="=\DET-SG" ID="366">un</POS> <POS NAME="=\NOUN-SG" ID="367">contrepoids</POS> <POS NAME="ŕ\PREP" ID="368">aux </POS> <POS NAME="grande\PR-NOUN" ID="369">grandes</POS> <POS NAME="banque\NOUN-PL" ID="371">banques</POS> <POS NAME=".\AAAA" ID="372">.</POS>
</SENT>

Si l'on traite un fichier HTML, le programme sépare les balises spécifiques ŕ ce langage et les sauve dans un autre fichier. Par la suite, une fois que le traitement informatique a été acompli sur le texte séparé de son marquage, le fichier est reconstruit pour donner ŕ nouveau un texte dans le format HTML enrichi comme le montre l'exemple précédent.

L'alignement

L'alignement des phrases de deux textes écrits dans des langues différentes permet de donner avec une grande précision les contextes dans lesquels un mot est utilisé. On peut ainsi afficher la phrase en français qui contient, par exemple, le mot paysan et la (les) phrase(s) en italien qui y correspondent (remarque: ŕ une phrase écrite dans une langue particuličre peuvent correspondre une, deux, voire trois phrases dans une autre langue).

III.4 La base de données.

Nous utilisons une base de données standard du domaine public MySql . MySQL est un vrai serveur de base de données SQL multi-utilisateur et multi-processus. SQL (Structured Query Language) est le langage standardisé le plus répendu dans le monde. Il est disponible sur les plate-formes Unix et Windows.

V Conclusion

A travers ces nouvelles spécifications, le projet SyLex s'inscrit dans une nouvelle voie de la recherche documentaire. L'ensemble des nouvelles fonctionnalités qui sont définies - utilisation du nouveau langage de programmation Java, possibilité de choisir les catégories syntaxiques des mots qui forment la requête, désambiguïsation syntaxique et alignement des phrases - met ŕ disposition de l'utilisateur un logiciel basé sur des technologies de pointe.



Glossaire

HTML: HyperText Markup Language, langage qui permet d'écrire des pages pour le WEB.
Forms : Fonction de HTML qui permet d'écrire des formulaires et d'envoyer des requêtes au serveur WWW.
Cookie: Petit identificateur stocké dans le navigateur de l'utilisateur.
Java : marque déposée par Sun MicroSystems. Les programmes Java opčrent ŕ travers Internet et font abstraction de la plate-forme. (JDK 1.1.6)
JavaScript: Ce langage est une marque déposée par Sun MicroSystems. Il fonctionne largement comme une extension du langage standard d'Internet HTML.
Applet: Les applets sont des programmes Java exécutables que l'on peut charger ŕ travers Internet



Liste des Références


[1] Administration Fédérale: "http://www.admin.ch"
[2] TaToo: "http://www.issco.unige.ch/staff/robert/tatoo/index.html"
[3] Berkeley DB: "http://abyssinian.sleepycat.com/db/"
[4] Mmorph: "http://www.issco.unige.ch/projects/MULTEXT.html"
[5] BCP: "http://www.issco.unige.ch/staff/robert/bcp/bcp.html"
[6] Auteurs: Gilbert Robert, Margaret King.