La version 0.28.0 du système de traduction automatique OpenNMT (Open Neural Machine Translation) a été publiée, utilisant des méthodes d'apprentissage automatique. Pour construire le réseau de neurones, le projet s'appuie sur les capacités de la bibliothèque d'apprentissage automatique TensorFlow. Le code des modules développés par OpenNMT est écrit en Python et distribué sous licence MIT. Des modèles prêts à l'emploi sont disponibles pour les langues anglaise, allemande et catalane, tandis que pour les autres langues, il est possible de créer soi-même un modèle à partir de l'ensemble de données du projet OPUS (pour entraîner le système, deux fichiers sont fournis — un contenant des phrases dans la langue source et un autre avec des traductions de qualité de ces phrases dans la langue cible).
Le projet est développé en collaboration avec la société SYSTRAN, spécialisée dans la création d'outils de traduction automatique, et un groupe de chercheurs de Harvard qui élabore des modèles de langue humaine pour les systèmes d'apprentissage automatique. L'interface utilisateur est simplifiée au maximum et ne nécessite que l'indication d'un fichier d'entrée contenant le texte et d'un fichier pour enregistrer le résultat de la traduction. Le système d'extensions permet d'implémenter des fonctionnalités supplémentaires basées sur OpenNMT, comme l'auto-référencement, la classification de textes et la génération de sous-titres.
L'utilisation de TensorFlow permet d'exploiter les capacités des GPU (pour accélérer le processus d'apprentissage du réseau de neurones). Pour simplifier la distribution du produit, le projet développe également une version autonome du traducteur en C++ — CTranslate2, qui utilise des modèles pré-entraînés sans dépendances supplémentaires.
La nouvelle version ajoute le paramètre initial_learning_rate et implémente plusieurs nouveaux arguments (mha_bias et output_layer_bias) pour configurer le générateur de modèles Transformer. Par ailleurs, on note la correction de plusieurs bogues.
Source : opennet.ru
