A cosa serve Google Translate, allora?

Perché Google Translate per il latino è così cattivo.

Google Translate per il latino è completamente statistico. Non ha alcun modello di grammatica, sintassi o significato. Tutto ciò che fa è correlare sequenze di fino a cinque parole consecutive in testi che sono stati tradotti manualmente in due o più lingue.

Più precisamente, ha costruito un modello di Markov nascosto da tutte le traduzioni manuali che gli sono state fornite. Google chiama questo il Phrase-Based Machine Translation Model, o PBMTM. Nel novembre 2016, Google ha aggiornato Translate per utilizzare il modello di traduzione automatica neurale migliorato per alcune lingue, che non funziona in questo modo – ma il latino non è tra questi.

Ecco come funziona il PBMTM, grosso modo. Suppone che le persone parlino scegliendo casualmente una parola dopo l’altra, con le probabilità determinate dalla parola precedente pronunciata. Per esempio, se avete detto “due”, c’è una certa probabilità che la parola successiva sia “o”. Se avete appena detto “o”, c’è una certa probabilità che la parola successiva sia “butano”. Puoi calcolare una stima di queste probabilità guardando tutti quei testi che hai inserito prima. Potete poi generare dei gibberish casuali, ma solo leggermente coerenti, in base a queste probabilità:

Due

Due o

Due o butano

Due o gas butano

Due o gas butano possono essere attaccati

Se usate una ‘finestra’ contestuale di più parole – diciamo, le tre, quattro o cinque precedenti – per trovare quella successiva, il balbettio risultante sembrerà più probabile che sia stato scritto da uno schizofrenico che da un afasico. Ecco un esempio, con la finestra contestuale evidenziata.

Ho sentito parlare di

Ho sentito parlare di sei

Ho sentito parlare di sei oggi

Ho sentito parlare di sei oggi, noi

Ho sentito parlare di sei oggi, cerchiamo

Notare come ogni frase in grassetto avrebbe potuto essere in una frase reale: “Ieri

Questo è un modello di Markov. La parte “nascosta” aggiunge una certa complessità, che rimanderò alla fine di questo post. L’idea di base è: Il PBMTM di Google Translate cerca di scegliere la parola successiva più probabile, sulla base di stime di probabilità derivate da sequenze di cinque parole dal corpus che possiede di testi nella lingua di input e di destinazione (non solo testi reali, ma anche molte traduzioni crowd-sourced).

Quello per cui Google Translate è più affidabile è la traduzione di documenti prodotti dalle Nazioni Unite tra le lingue in uso lì. Questo perché i documenti delle Nazioni Unite hanno fornito una quota sproporzionatamente grande dei testi tradotti manualmente da cui Google Translate trae le sue sequenze di cinque parole, in quanto i documenti delle Nazioni Unite sono facilmente disponibili in molte lingue diverse (come, ad esempio, tutti i documenti ufficiali delle Nazioni Unite, i verbali delle riunioni e la corrispondenza presso la sede delle Nazioni Unite sono tradotti almeno in arabo, cinese, inglese, francese, russo e spagnolo).

Assistete a cosa succede quando digito questo:

À 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.

Mi dà:

Salvo quanto può essere convenuto negli accordi speciali di tutela conclusi conformemente agli articoli 77, 79 e 81 e che pongono ogni territorio sotto il regime di amministrazione fiduciaria, e finché tali accordi non siano stati conclusi, il presente capitolo non può essere interpretato in modo da modificare direttamente o indirettamente in alcun modo i diritti di qualsiasi Stato o di qualsiasi popolo o le disposizioni degli strumenti internazionali in vigore di cui i membri dell’Organizzazione possono essere parti.

Perfetto! (Quasi).

Questa è una delle ragioni per cui le sue traduzioni in latino tendono ad essere così povere: ha un corpus molto sottile di traduzioni umane in latino su cui basare i suoi modelli di Markov nascosti – e sta usando modelli di Markov nascosti.

Quindi, finché le Nazioni Unite non inizieranno a fare i loro affari in latino, il modello statistico di Google Translate non farà un lavoro molto buono. E anche allora, non aspettatevi molto, a meno che non stiate traducendo testo incollato direttamente dai documenti delle Nazioni Unite.

Altri dettagli sulla traduzione per i curiosi.

Un modello di Markov nascosto aggiunge “stati”. Si suppone che l’oratore passi casualmente da uno “stato” all’altro, e ogni stato ha il suo insieme di probabilità per quale parola “emetterà”. Quindi un modello di Markov nascosto è un’ipotesi statistica su quali siano gli stati più probabili, le probabilità di transizione e le probabilità di emissione che produrrebbero un dato insieme di sequenze, supponendo che siano prodotte in questo modo casuale.

Google Translate calcola quindi: “Dato che l’autore nella lingua A ha appena detto (fino a) queste cinque parole, qual è lo stato più probabile in cui si trova l’autore? OK, ora, dallo stato corrispondente nella lingua B, qual è la parola più probabile da emettere dopo?”

Ecco un’illustrazione della finestra contestuale di cinque parole. Se inseriamo quanto segue:

Pants, as you expected, were worn.

Pants were worn.

Pants, as you expected, are worn.

Le traduzioni latine (con traduzioni manuali in inglese), sono:

Anhelat quemadmodum speravimus confecta. (Sta ansimando proprio come speravamo si fosse realizzato.)

Braccas sunt attriti. (I pantaloni si sono consumati).

Anhelat, ut spe teris. (Sta ansimando, così come, per speranza, si sta consumando.)

Nota che la prima e la terza frase rasentano il non senso sgrammaticato. Non ci sono sequenze di cinque parole nel database inglese di Google Translate che si allineano bene con “pants as you expected were/are”, quindi sta fioccando. Notate che nella terza frase, quando è arrivato a “worn”, aveva dimenticato quale senso di “pants” aveva scelto all’inizio della frase. O meglio, non l’ha dimenticato, perché non l’ha mai tracciato. Ha tracciato solo sequenze di cinque parole. Dà alla seconda frase una sorta di significato, ma anche così, è ancora molto sbagliato – non solo dà a “indossato” il significato sbagliato (dato che, come ho detto prima, non fa alcun collegamento semantico tra “pantaloni” e “indossato” che implicherebbe l’altra definizione di “indossare”), ma non riesce del tutto a far concordare il genere del sostantivo e del verbo, o ad avere il soggetto nel caso corretto.

Quindi, se la frase ha senso influenza in qualche modo il significato della traduzione, ma è peggio di così. Ciò che conta di più è la corrispondenza esatta, parola per parola, con i testi nel database.

Inserendo il latino in Google Translate (con le parole cambiate dalla prima frase mostrata in grassetto):

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.

Uscita inglese:

E Abramo prese un’altra moglie, e il suo nome era Keturah.

Quintiliano, ora moglie di un’altra moglie, e il suo nome era Keturah.

E Abramo prese un’altra moglie, e il nome della moglie, una figlia di nome Julia.

E Abramo prese una moglie, e lo portò a un cane di nome Fido.

La Vulgata e la traduzione ASV (o simili) sono tra i testi di partenza di Google Translate, quindi è molto bravo a tradurli direttamente – notate, però, cosa succede quando l’input è sbagliato anche solo di una parola. Non essendo più in grado di individuare la somiglianza, il software inizia a tradurre frammenti di frase più piccoli invece che l’intera frase: per esempio il frammento “uxorem nomine Cetthuram” viene tradotto in entrambe le frasi precedenti dove appare come “un’altra moglie, e il suo nome era Keturah” nonostante il cambiamento di contesto.

Questo metodo di traduzione è il motivo per cui Google Translate funziona relativamente bene per le lingue più analitiche, dove il rigido ordine delle parole è il più importante per il significato, ma terribilmente per le lingue più sintetiche come il latino, dove le inflessioni definiscono il significato. Questo perché in tali lingue analitiche, le parole successive hanno più probabilità di avere un legame semantico che permetterà il mantenimento del significato quando riprodotto nella lingua di destinazione.

Il modello di traduzione automatica neurale

Il modello di traduzione automatica neurale è andato oltre i semplici modelli statistici per la traduzione, utilizzando invece l’apprendimento automatico e le reti neurali.

Secondo un post del blog di Google sull’argomento:

A un alto livello, il sistema neurale traduce intere frasi alla volta, piuttosto che solo pezzo per pezzo. Usa questo contesto più ampio per aiutarlo a capire la traduzione più pertinente, che poi riorganizza e regola per essere più simile a un umano che parla con una grammatica appropriata.

Ancora più avanzata è la traduzione Zero-Shot di Google con il sistema di traduzione automatica multilingue di Google, che può essere pensato come la traduzione delle frasi di input nella sua ‘interlingua’ semantica del computer, e poi nella lingua di uscita. Questo è ciò che permette la ‘traduzione a colpo zero’ tra coppie di lingue che non ha mai analizzato prima. L’esempio citato nel rapporto di Google ha dimostrato una ragionevole traduzione coreano-giapponese essendo stato addestrato solo su coppie di frasi giapponese-inglese e coreano-inglese. Sfortunatamente, nessuno di questi sembra arrivare presto in latino.

Se volete vedere le catene di Markov funzionare in inglese su reddit, /r/SubredditSimulator è un subreddit interamente pieno di bot di catene di Markov (ma non di modelli nascosti di catene di Markov) seminato dai contenuti dei subreddit. I titoli dei post sono creati da una lunghezza della catena di Markov (una “finestra” contestuale di parole) di due, il che significa che ogni sequenza di tre parole è esistita ad un certo punto nel subreddit da cui il bot ha preso la sua fonte. I commenti sono creati con lo stesso metodo, ad eccezione di quelli più lunghi, che hanno una lunghezza della catena di Markov di tre.

TL;DR. Basta leggere. In sintesi, però, il sistema di traduzione di Google per il latino non ha un’analisi grammaticale o semantica a nessun livello, ma solo un modello statistico della parola più probabile che apparirà dopo, basato sull’analisi del corpus di opere che ha sia nella lingua di input che in latino. Questo funziona relativamente bene per lingue come l’inglese, dove l’ordine delle parole è la cosa più importante, ma è terribile per lingue come il latino.

Quindi, non usate MAI Google Translate per il latino se volete una qualsiasi traduzione effettiva.

Come dice la barra laterale:

Google Translate è sempre sbagliato, sempre. Non preoccupatevi nemmeno di rivolgervi a Google Translate prima di chiedere aiuto a noi per una traduzione.

Esattamente plagiato dall’eccellente post di Ben Kovitz sul Latin StackExchange, e poi leggermente esteso.

Leave a Reply