Archives par mot-clé : linux

Système de traduction automatique statistique (SMT)

coin-tinyÇa y est, je me suis lancé, après moult incantations, et probablement la malédiction des quatre prochaines générations de traducteurs, j’ai laissé la machine traduire. En effet, lors  de la très intéressante conférence « Machine Translation and Human Translation » de Philipp Koehn, le dimanche 20 octobre 2013, à Freiburg im Breisgau, au Trikonf 2013, ce dernier présentait le moteur de traduction automatique statistique « moses ». Malgré les difficultés à suivre cet universitaire, chercheur en traduction automatique, en raison d’une soirée conviviale et très tardive, je ne pus qu’être interpellé par deux choses. Tout d’abord le nom à consonance biblique du logiciel, essentiellement par intérêt culturel, je trouve généralement l’histoire biblique passionnante. Ensuite, la possibilité de revenir à mes premières amours, l’informatique.

Deux mois après, le nom et la théorie sous-jacente m’étaient restés en tête. Étant moins occupé, un peu de veille technologique me semblait être une idée constructive pour passer le temps. Perplexe face aux différents discours entendus de ci et de là, passant du « La traduction automatique est l’avenir, adoptez-la ou périssez » à « Cette technologie n’est que l’oeuvre du démon et fera plonger les traducteurs dans les tréfonds du Tartare où ils passeront leur temps à postéditer, pendant que leurs pieds seront dévorés par des hyènes », j’ai voulu en avoir le cœur net.

Échaudé par les offres Cloud telles que GoogleMT, Systran et MicrosoftMT, pour des raisons à la fois financières et qualitatives, mais essentiellement pour des questions de confidentialité, l’idée de faire tourner mon propre moteur a germé.  L’outil est sous Licence publique générale limitée GNU, soit d’utilisation gratuite. Avantage notoire pour un indépendant. Je me suis donc rendu sur le site de moses. Là, il m’a fallu me replonger dans la technique. La technique « hardcore », pas d’installateur, pas de menus ou d’assistants, tout en ligne de commandes, sous Linux. Après avoir parcouru le site et tâté des probabilités, pivot de cette technique statistique, je me suis dit que cette théorie était maintenant trop lointaine dans mes souvenirs de fac. Tout se trouve dans le « User Manual and Code Guide », moyen le plus simple d’installer, d’entraîner et d’exercer, puis de tester le logiciel. Je trouve donc un PC, pas trop ancien, j’installe Linux, me rend compte des difficultés à retrouver de vieux réflexes sur un système d’exploitation bien plus restrictif que Windows, et parviens à compiler correctement l’intégralité du code source de moses. Je passe ensuite à la phase de test.

Pour fonctionner, l’outil doit être alimenté en corpus bilingue dans un domaine bien défini, le plus volumineux possible. Le moteur peut alors « apprendre » à traduire de nouveaux documents. La première phase consiste à « mettre en forme » le corpus pour qu’il soit manipulable par le moteur : segmentation (tokenization), harmonisation des majuscules, limitation aux segments de moins de 80 caractères. Le moteur doit ensuite produire un « Modèle de langage probabiliste » de la langue cible à partir du corpus, modèle qui établit la probabilité d’une phrase à partir des probabilités conditionnelles d’apparition d’un mot ou d’une classe de mots (utilisé dans la reconnaissance vocale). Lors de la phase suivante, le moteur procède à l’alignement mot à mot du corpus bilingue, à l’aide de Giza++, extrait les phrases bilingues du corpus et leur affecte une probabilité de traduction puis établit des tables de réordonnancement lexical. La dernière phase est une opération de réglage, ou « tuning« , consistant à perfectionner la traduction automatique en travaillant sur un corpus supplémentaire du même sujet.

Et voilà.

Après toutes ces opérations, seulement quelques jours d’installation et plusieurs heures de calcul, je suis fin prêt. J’ouvre une fenêtre de commande et lance moses. Je tape quelques termes qui sont immédiatement affichés dans la langue cible. Jusque-là, ça va.

J’essaie une phrase simple, le résultat est médiocre. Je finis par copier un segment de la TM qui a servi à entraîner le moteur, « XXX equipment sets the standard for our industry. The XXX product line of more than 300 machines reflects our increased focus on customer success. We will remain the leader by continuing to help our customers meet their needs with durable and reliable equipment. XXX has the best distribution and product support system in any capital goods industry. »

J’obtiens : « la régénération permet à l’équipement standard , le produit industry. rendement de la machine de la benne , branches qui sur le client , XXX success. le leader de poursuivre l’ introduction et de leur position maximum , durable et XXX equipment. il est important de maintenir le système de distribution du produit ou capital RESPONSABLES industry. »

Pour conclure, comme message à mes collègues, je dirais « Don’t panic! » (phrase bien connue sur la première page du « Hitchhiker’s Guide to the Galaxy »), notre métier a encore de beaux jours. Les technologies sont loin d’être parfaites et l’intervention humaine restera encore longtemps nécessaire et tous les textes à caractère rédactionnel, marketing, publicité, littérature, ne peuvent s’appliquer à ce genre de techniques. Seules applications : certains manuels, des catalogues, des aides en ligne à dégrossir rapidement pour répondre à la croissance exponentielle des volumes à traduire.