Content translation/Machine Translation/MT Clients/fr

Les services de traduction automatique sont accessibles à l'aide de modules clients dans la traduction de contenu. Nous avons des clients Apertium et Yandex déjà en dur dans le code. Il est possible d'ajouter n'importe quel nombre de ces clients de service MT et de les mapper sur des paires de langues. Cette documentation explique l'architecture du client Machine.



Contraintes techniques
Un nouveau client MT peut être un système de traduction automatique hébergé localement ou un système de traduction automatique à distance accessible via une API. Les services basés sur l'API sont recommandés car cela permet de l'isoler en tant que service. Si le client est sous licence gratuite et mieux conçu pour les distributions Linux, nous pouvons envisager de l'héberger dans le cluster Wikimedia. Par exemple, Apertium est hébergé dans wmflabs. D'autre part, Yandex n'est pas hébergé par Wikimedia. Apertium et Yandex sont tous deux accessibles à l'aide des API Web.



API de traduction
Une API de traduction automatique prend la langue source, la langue cible, le contenu source et produit le contenu traduit. L'API doit être publiquement documentée ainsi que les codes d'erreur.
 * Si l'API n'est pas publique, elle peut accepter un jeton d'authentification, la plupart du temps une clé.
 * Le format de sortie peut être JSON par commodité.
 * L'API doit accepter POST.
 * L'API ne doit exiger aucune information permettant d'identifier l'utilisateur, telle que le nom d'utilisateur. CXServer ne le fournit pas au client MT.
 * L'API doit être capable d'accepter un nombre raisonnable de requêtes par minute.
 * L'API doit accepter une quantité raisonnable de contenu par demande.
 * Il est recommandé d'avoir un tableau de bord pour analyser l'utilisation de l'API, y compris les demandes par jour/semaine/mois et le nombre de caractères traduits par jour/semaine/mois



Règles de performance
La traduction de contenu est toujours une fonctionnalité bêta, disponible uniquement pour les utilisateurs connectés aboonés. Ainsi, le modèle d'utilisation actuel peut ne pas être la bonne évaluation pour l'avenir. De plus, lorsque nous étendrons la traduction automatique à plus de langues, il y aura plus d'utilisateurs et de demandes. En fonction de notre utilisation actuelle, quelques lignes de base sont données ci-dessous. Notez que ce ne sera jamais l'évaluation finale. Les API doivent être conçues pour accepter plus que cela.


 * Au moins 10,000 requêtes par jour
 * Au moins 10 millions de caractères par jour
 * Au moins 5,000 caractères par requête



Format d'entrée
The content to translate from CX is HTML formatted. Translating HTML while preserving markup is challenging, but some MT Engines are capable of that (example: Yandex). Apertium does not handle HTML markup. Depending on the capability, CX can send plain text version or HTML of the content.



Qualité de la traduction
We evaluate the quality of MT by requesting feedback from Wikipedia contributors from the language in context. CX uses MT as an intial translation template and encourage translators to improve it. Because of that unless the quality is quite bad as per the feedback we get, we can use it.



Développer un nouveau module de client MT
La meilleure façon d'apprendre cela est de se référer à un module client existant comme Yandex ou Apertium. Les modules client sont présents dans le dossier lib/mt de cxserver. Appelons notre client comme Client TA BabelFish. Créez un fichier nommé BabelFish.js dans le dossier lib/mt. If your BabelFish service is not capable of translating HTML by retaining all markup in appropriate position in translation, instead of, you will have to write   method in the above code. Refer Apertium.js for such an example. Yandex.js is an example for MT client that is capable of handling both html and text content.

You need to add an entry in lib/mt/index.js for your new client.

To map a language pair to use this client, create a config file in config folder. You may refer exiting configuration files for examples. Then enable this MT engine in the cxserver config.yaml. Here also follow the existing entries for examples.

Restart the cxserver and test your client. You may want to read some unit tests existing for Apertium to write your own tests.



Clients de traduction automatique
The following are machine translation clients that support Content Translation in different languages:
 *  (langues prises en charge)
 * OpusMT (languages supportés)
 *  (langues prises en charge)
 *  (langues prises en charge)
 *  (langues prises en charge)
 *  (langues prises en charge)
 * Elia (initialement connu comme Matxin) (langues prises en charge)
 * NLLB-200 (initialement connu comme Flores) (langues prises en charge)