À quoi sert Google Translate, alors ?

Pourquoi le latin Google Translate est si mauvais.

Le Google Translate pour le latin est complètement statistique. Il n’a aucun modèle de grammaire, de syntaxe ou de sens. Tout ce qu’il fait, c’est corréler des séquences de cinq mots consécutifs maximum dans des textes qui ont été traduits manuellement dans deux ou plusieurs langues.

Plus précisément, il a construit un modèle de Markov caché à partir de toutes les traductions manuelles qui lui ont été fournies. Google appelle cela le modèle de traduction automatique basé sur les phrases, ou PBMTM. En novembre 2016, Google a mis à jour Translate pour utiliser le modèle de traduction automatique neuronal amélioré pour certaines langues, qui ne fonctionne pas de cette manière – mais le latin n’en fait pas partie.

Voici comment fonctionne le PBMTM, grosso modo. Il suppose que les gens parlent en choisissant au hasard un mot après l’autre, les probabilités étant déterminées par le mot précédent prononcé. Par exemple, si vous avez dit « deux », il y a une certaine probabilité que le mot suivant soit « ou ». Si vous venez de dire « ou », il y a une certaine probabilité que le mot suivant soit « butane ». Vous pouvez calculer une estimation de ces probabilités en examinant tous les textes que vous avez introduits précédemment. Vous pouvez ensuite générer un charabia aléatoire mais juste un peu cohérent en fonction de ces probabilités :

Two

Two or

Two or butane

Two or butane gas

Two or butane gas can be attacked

Si vous utilisez une « fenêtre » contextuelle de plus de mots – disons, les trois, quatre ou cinq précédents – pour trouver le suivant, le charabia qui en résulte semblera plus susceptible d’avoir été écrit par un schizophrène que par un aphasique. Voici un exemple, avec la fenêtre contextuelle en surbrillance.

J’ai entendu parler de

J’ai entendu parler de six

J’ai entendu parler de six aujourd’hui

J’ai entendu parler de six aujourd’hui, nous

J’ai entendu parler de six aujourd’hui, nous cherchons

Notez comment chaque phrase en gras aurait pu être dans une vraie phrase : « Hier

C’est un modèle de Markov. La partie « cachée » ajoute une certaine complexité, que je reporterai à la fin de ce billet. L’idée de base est la suivante : Le PBMTM de Google Translate essaie de choisir le mot suivant le plus probable, en se basant sur des estimations de probabilité dérivées de séquences de cinq mots provenant du corpus qu’il possède de textes dans la langue d’entrée et la langue cible (pas seulement des textes réels, mais aussi de nombreuses traductions provenant de la foule).

Ce pour quoi Google Translate est le plus fiable est la traduction de documents produits par les Nations unies entre les langues qui y sont utilisées. En effet, les documents de l’ONU ont fourni une part disproportionnée des textes traduits manuellement dont Google Translate tire ses séquences de cinq mots, car les documents de l’ONU sont facilement disponibles dans de nombreuses langues différentes (car, par exemple, tous les documents officiels de l’ONU, les comptes rendus de réunion et la correspondance au siège de l’ONU sont traduits au moins en arabe, chinois, anglais, français, russe et espagnol).

Voyez ce qui se passe quand je tape ça :

À l’exception de ce qui peut être convenu dans les accords particuliers de tutelle conclus conformément aux articles 77, 79 et 81 et plaçant chaque territoire sous le régime de tutelle, et jusqu’à ce que ces accords aient été conclus, aucune disposition du présent Chapitre ne sera interprétée comme modifiant directement ou indirectement en aucune manière les droits quelconques d’aucun État ou d’aucun peuple ou les dispositions d’actes internationaux en vigueur auxquels des Membres de l’Organisation peuvent être parties.

Il me donne :

Sauf ce qui peut être convenu dans les accords spéciaux de tutelle conclus conformément aux articles 77, 79 et 81 et plaçant chaque territoire sous le régime de la tutelle, et jusqu’à ce que ces accords aient été conclus, le présent chapitre ne peut être interprété comme modifiant directement ou indirectement, de quelque manière que ce soit, les droits de tout Etat ou de tout peuple ou les dispositions d’actes internationaux en vigueur auxquels les Membres de l’Organisation peuvent être parties.

Parfait ! (Presque).

C’est l’une des raisons pour lesquelles ses traductions en latin ont tendance à être si pauvres : il dispose d’un corpus très mince de traductions humaines du latin sur lequel baser ses modèles de Markov cachés – oh, et il utilise des modèles de Markov cachés.

Donc, jusqu’à ce que les Nations unies commencent à faire leurs affaires en latin, le modèle statistique de Google Translate ne va pas faire un très bon travail. Et même dans ce cas, ne vous attendez pas à grand chose à moins de traduire du texte collé directement à partir de documents de l’ONU.

Plus de détails sur la traduction pour les curieux.

Un modèle de Markov caché ajoute des « états ». On suppose que le locuteur passe aléatoirement d’un « état » à un autre, et chaque état a son propre ensemble de probabilités pour le mot qu’il va « émettre ». Ainsi, un modèle de Markov caché est une supposition statistique sur ce que sont les états, les probabilités de transition et les probabilités d’émission les plus probables qui produiraient un ensemble donné de séquences – en supposant qu’elles soient produites de cette manière aléatoire.

Google Translate calcule donc :  » Étant donné que l’auteur dans la langue A vient de dire (jusqu’à) ces cinq mots, quel est l’état le plus probable dans lequel se trouve l’auteur ? « . OK, maintenant, à partir de l’état correspondant dans la langue B, quel est le mot le plus probable à sortir ensuite ? »

Voici une illustration de la fenêtre contextuelle à cinq mots. Si nous entrons ce qui suit :

Le pantalon, comme vous vous y attendiez, était porté.

Le pantalon était porté.

Le pantalon, comme vous vous y attendiez, est porté.

Les traductions latines (avec les traductions manuelles de retour en anglais), sont :

Anhelat quemadmodum speravimus confecta. (Il halète comme nous l’espérions accompli.)

Braccas sunt attriti. (Les pantalons ont été usés ).

Anhelat, ut spe teris. (Il halète, tout comme, par espoir, vous vous usez.)

Notez que les première et troisième phrases frôlent le non-sens non grammatical. Il n’y a pas de séquences de cinq mots dans la base de données anglaise de Google Translate qui s’alignent bien avec « pants as you expected were/are », donc c’est du flailing. Remarquez que dans la troisième phrase, au moment où il arrive à « worn », il a oublié le sens de « pants » qu’il avait choisi au début de la phrase. Ou plutôt, il n’a pas oublié, parce qu’il ne l’a jamais suivi. Il n’a suivi que les séquences de cinq mots. Il donne à la deuxième phrase une sorte de sens, mais même dans ce cas, il est encore très erroné – non seulement il donne à  » worn  » le mauvais sens (puisque, comme je l’ai dit auparavant, il ne fait aucun lien sémantique entre  » pants  » et  » worn  » qui impliquerait l’autre définition de  » to wear « ), mais il échoue entièrement à faire concorder le genre du nom et du verbe, ou à avoir le sujet dans le cas correct.

Donc, le fait que la phrase ait un sens affecte en quelque sorte le fait que la traduction signifie quelque chose, mais c’est pire que ça. Ce qui compte le plus, c’est la correspondance exacte, mot à mot, avec les textes de la base de données.

Entrez le latin dans Google Translate (avec les mots modifiés par rapport à la première phrase indiquée en gras):

Abraham vero aliam duxit uxorem nomine Cetthuram.

Quintilianus vero aliam duxit uxorem nomine Cetthuram.

Abraham vero aliam duxit uxorem nomine Iuliam.

Abraham vero canem duxit uxorem nomine Fido.

Sortie anglaise:

Et Abraham prit une autre femme, et son nom était Keturah.

Quintilien, maintenant la femme d’une autre femme, et son nom était Keturah.

Et Abraham prit une autre femme, et le nom de sa femme, une fille nommée Julia.

Et Abraham prit une femme, et l’amena à un chien du nom de Fido.

La Vulgate et la traduction ASV (ou similaire) font partie des textes sources de Google Translate, il est donc très bon pour les traduire directement – remarquez cependant ce qui se passe lorsque l’entrée est décalée d’un seul mot. N’étant plus capable de repérer la similitude, le logiciel commence à traduire des fragments de phrase plus petits au lieu de la phrase entière : par exemple, le fragment « uxorem nomine Cetthuram » est traduit dans les deux phrases ci-dessus où il apparaît comme « une autre femme, et son nom était Keturah » malgré le changement de contexte.

Cette méthode de traduction est la raison pour laquelle Google Translate fonctionne relativement bien pour les langues plus analytiques , où l’ordre strict des mots est le plus important pour le sens, mais redoutablement pour les langues plus synthétiques comme le latin, où les inflexions définissent le sens. Cela est dû au fait que dans ces langues analytiques, les mots subséquents sont plus susceptibles d’avoir un lien sémantique qui permettra de conserver le sens lorsqu’ils seront reproduits dans la langue cible.

Le modèle de traduction automatique neuronal

Le modèle de traduction automatique neuronal a dépassé les simples modèles statistiques pour la traduction, utilisant plutôt l’apprentissage automatique et les réseaux neuronaux.

Selon un billet de blog de Google sur le sujet :

À un haut niveau, le système Neural traduit des phrases entières à la fois, plutôt que de se contenter de traduire morceau par morceau. Il utilise ce contexte plus large pour l’aider à déterminer la traduction la plus pertinente, qu’il réarrange et ajuste ensuite pour qu’elle ressemble davantage à celle d’un humain parlant avec une grammaire appropriée.

Encore plus avancée est la traduction zéro-temps avec le système de traduction automatique multilingue de Google, qui peut être considérée comme traduisant les phrases d’entrée vers son propre ordinateur sémantique « interlingua », puis vers la langue de sortie. C’est ce qui permet la « traduction zéro » entre des paires de langues qu’il n’a jamais analysées auparavant. L’exemple cité dans le rapport de Google a démontré une traduction raisonnable du coréen vers le japonais après avoir été entraîné uniquement sur des paires de phrases japonais-anglais et coréen-anglais. Malheureusement, ni l’un ni l’autre de ces exemples n’est près d’arriver en latin.

Si vous voulez voir des chaînes de Markov fonctionner en anglais sur reddit, /r/SubredditSimulator est un subreddit entièrement rempli de robots de chaînes de Markov (mais pas de modèles de chaînes de Markov cachées) ensemencés par le contenu de subreddits. Les titres des messages sont créés par une longueur de chaîne de Markov (fenêtre contextuelle de mots) de deux, ce qui signifie que chaque séquence de trois mots a existé à un moment donné dans le subreddit d’où le robot tire sa source. Les commentaires sont les créés par la même méthode, sauf pour les plus longs, qui ont une longueur de chaîne de Markov de trois.

TL;DR. Il suffit de le lire. En résumé, cependant, le système de traduction de Google pour le latin n’a pas d’analyse grammaticale ou sémantique à un quelconque niveau, mais juste un modèle statistique du mot le plus susceptible d’apparaître ensuite, basé sur l’analyse du corpus d’œuvres qu’il possède à la fois dans la langue d’entrée et en latin. Cela fonctionne relativement bien pour des langues comme l’anglais, où l’ordre des mots est la chose la plus importante, mais c’est redoutable pour des langues comme le latin.

Donc, n’utilisez JAMAIS Google Translate pour le latin si vous voulez une sorte de traduction réelle.

Comme le dit l’encadré :

Google Translate a toujours tort, toujours. Ne prenez même pas la peine de vous tourner vers Google Translate avant de nous demander de l’aide pour une traduction.

Entièrement plagié de l’excellent billet de Ben Kovitz sur le Latin StackExchange, puis légèrement étendu.

Leave a Reply