Fork me on GitHub

FAQ

Généralités

Pourquoi la traduction automatique neuronale (NMT) ?

Nous nous intéressons à la traduction automatique neuronale pour plusieurs raisons.

1) Les résultats prouvent que NMT produit des traductions automatiques qui sont significativement préférées par des humains à d'autres sorties de traduction automatique. Ceci a conduit plusieurs sociétés de basculer vers systèmes de traduction basés sur le NMT.

2) Les méthodes semblables (souvent appelées seq2seq) sont également efficaces pour beaucoup d'autres applications de traitement e la langue telles que le dialogue, l'association d'une étiquette à une image, ou le résumé automatique. Une communication récente de HarvardNLP décrivant certaines de ces avances est disponible ici.

3) Le NMT a été employé comme application représentative du succès récent de l'intelligence artificielle basée sur l'apprentissage profond. Par exemple un récent article-couverture du NYT s'est concentré sur le système NMT de Google.

Où puis-je aller me renseigner sur le NMT ?

Nous recommandons de commencer par le tutoriel sur le NMT à ACL'16 produit par des chercheurs à Stanford et à NYU. Le tutoriel inclut également une bibliographie détaillée décrivant le travail dans le domaine.

De quoi ai-je besoin pour entrainer un modèle NMT ?

Vous avez besoin juste de deux fichiers : un fichier source et un dossier cible. Chacun avec une phrase par ligne et les mots séparés par des espaces. Ces fichiers peuvent venir des corpus standard de traduction gratuitement mis à disposition par exemple par WMT, ou ce peut être toutes autres sources sur lesquelles vous voulez vous entrainer.

Installation / Configuration

De quel type d'ordinateur est-je besoin pour faire des entraînements ?

En théorie vous pouvez faire des entrainements sur n'importe quelle machine ; dans la pratique sauf pour des ensembles de données très petits, vous aurez besoin d'un GPU avec support de CUDA si vous voulez que vos entrainements se terminent dans un laps de temps raisonnable. Pour des modèles de taille moyenne vous aurez besoin de au moins de 4GB ; pour les modèles normaux à l'état de l'art, 8-12GB est recommandé.

Comment savoir si la version actuelle d'OpenNMT fonctionne ?

Nous exécutons un essai quotidien d'intégration du système sur EC2 pour vérifier qu'il fonctionne correctement. Les logs du système sont publiquement disponibles dans le dépôt integration test.

Modèles

Comment puis-je répliquer les résultats complets de la traduction NMT ?

Nous avons signalé un tutoriel complet pour entrainer un système de traduction allemand-anglais sur des données standard.

Y a-t-il des modèles déjà entraînés que je peux essayer ?

Il y a plusieurs différents modèles déjà entraînés disponibles à la page Modèles.

D'où puis-je obtenir des données pour l'entraînement de modèles de traduction de X-à-X ?

Consultez le projet OPUS. C'est une collection libre de droits de corpus parallèles. Après avoir retiré les balises XML, vous devriez pouvoir employer les fichiers directement dans OpenNMT.

Je suis intéressé par d'autres problèmes de type 'seq2seq' tels que le résumé automatique, le dialogue, ou la génération d'arbre. OpenNMT peut-il fonctionner pour cela ?

Oui. OpenNMT est un système générique seq2seq avec modèle d'attention. Il y a une petite partie du code qui est spécifique à la traduction, et devrait ainsi être efficace pour plusieurs de ces applications.

Pour le cas du résumé automatique, OpenNMT s'est avéré plus efficace que les systèmes neuronaux comme NAMAS, et sera activement maintenu. Voyez la page Modèles pour un système de résumé automatique déjà entrainé sur l'ensemble de données de Gigaword.

Je suis intéressé par les variantes de seq2seq telles que la génération d'image-à-séquence. OpenNMT peut-il fonctionner pour cela ?

Partiellement. OpenNMT peut être étendu avec des réseaux neuronaux supplémentaires de Torch, et un peu du codage. Comme exemple, nous avons implémenté un système relativement polyvalent im2text, avec un peu de code supplémentaire. Utilisez-le à votre guise comme modèle pour étendre OpenNMT.

Fonctionalités supplémentaires

Le serveur de démo OpenNMT est-il disponible ?

Malheureusement nous ne pouvons pas rendre open-source le serveur de démonstration. Cependant vous pouvez lancer OpenNMT en mode serveur et nous développons une interface Web. Les contributions sont les bienvenues.

Contributions

Est-ce que je peux contribuer en envoyant un "pull request" ?

Cela serait génial. Lisez juste le fichier STYLE.md avant que de soumettre.

Où les développeurs échangent-ils ?

Nous sommes normalement dans notre canal Gitter. Soyez les bienvenus si vous voulez discuter. Nous accueillons tout le monde chaleureusement.

La fonctionalité X rendrait OpenNMT encore meilleur !

Ce n'est pas vraiment une question, mais nous aimerions ajouter cette fonctionalité ! La manière la plus rapide de l'intégrer dans OpenNMT est de nous envoyer un "pull request" sur GitHub. Forkez juste le dépôt, faites les modification, et cliquez "envoyer un pull request".

Mais je ne sais pas coder…

Ok pas de problème, nous pouvons vous aider à l'implémenter. Allez sur notre forum et ajoutez une demande de fonctionalité (feature request). Nous nous en occuperons dès que possible.