Pentru ce este bun Google Translate, atunci?

De ce Google Translate pentru latină este atât de rău.

Google Translate pentru latină este complet statistic. Nu are niciun model de gramatică, sintaxă sau sens. Tot ceea ce face este să coreleze secvențe de până la cinci cuvinte consecutive în texte care au fost traduse manual în două sau mai multe limbi.

Mai precis, a construit un model Markov ascuns din toate traducerile manuale care i-au fost introduse. Google numește acest model Phrase-Based Machine Translation Model, sau PBMTM. În noiembrie 2016, Google a actualizat Google Translate pentru a utiliza modelul îmbunătățit Neural Machine Translation Model pentru unele limbi, care nu funcționează astfel – dar latina nu se numără printre ele.

Iată cum funcționează PBMTM, în linii mari. Presupune că oamenii vorbesc alegând la întâmplare un cuvânt după altul, cu probabilități determinate de cuvântul anterior rostit. De exemplu, dacă ați spus „doi”, există o anumită probabilitate ca următorul cuvânt să fie „sau”. Dacă tocmai ați spus „sau”, există o anumită probabilitate ca următorul cuvânt să fie „butan”. Puteți calcula o estimare a acestor probabilități uitându-vă la toate acele texte pe care le-ați alimentat mai devreme. Apoi, puteți genera un limbaj aleatoriu, dar ușor coerent, în funcție de aceste probabilități:

Două

Două sau

Două sau butan

Două sau gaz butan

Două sau gaz butan poate fi atacat

Dacă folosiți o „fereastră” contextuală de mai multe cuvinte – să zicem, precedentele trei, patru sau cinci – pentru a-l găsi pe următorul, bolboroseala rezultată va părea mai probabil să fi fost scrisă de un schizofrenic decât de un afazic. Iată un exemplu, cu fereastra contextuală evidențiată.

Am auzit despre

Am auzit despre șase

Am auzit despre șase astăzi

Am auzit despre șase astăzi, noi

Am auzit despre șase astăzi, noi căutăm

Observați cum fiecare frază boldată ar fi putut fi într-o propoziție reală: „Ieri

Este un model Markov. Partea „ascunsă” adaugă o anumită complexitate, pe care o voi amâna până la finalul acestei postări. Ideea de bază este următoarea: PBMTM al Google Translate încearcă să aleagă următorul cuvânt cel mai probabil, pe baza estimărilor de probabilitate derivate din secvențe de cinci cuvinte din corpus-ul pe care îl deține de texte în limba de intrare și în limba de destinație (nu doar texte reale, ci și multe traduceri din mulțime).

Ceea pentru care Google Translate este cel mai fiabil este traducerea documentelor produse de Organizația Națiunilor Unite între limbile folosite acolo. Acest lucru se datorează faptului că documentele ONU au furnizat o parte disproporționat de mare din textele traduse manual din care Google Translate își extrage secvențele de cinci cuvinte, deoarece documentele ONU sunt disponibile cu ușurință în multe limbi diferite (deoarece, de exemplu, toate documentele oficiale ale Națiunilor Unite, înregistrările reuniunilor și corespondența de la sediul ONU sunt traduse cel puțin în arabă, chineză, engleză, franceză, rusă și spaniolă).

Vezi ce se întâmplă când tastez acest lucru:

À 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, nici o dispoziție din prezentul capitol nu va fi interpretată ca modificând direct sau indirect, în nici un fel, drepturile legitime ale niciunui stat sau ale niciunui popor sau dispozițiile actelor internaționale în vigoare la care membrii Organizației pot fi părți.

Îmi dă:

Cu excepția celor convenite în acordurile speciale de tutelă încheiate în conformitate cu articolele 77, 79 și 81 și care plasează fiecare teritoriu sub sistemul de tutelă, și până la încheierea acestor acorduri, prezentul capitol nu va fi interpretat ca modificând în vreun fel, direct sau indirect, drepturile vreunui stat sau ale vreunui popor sau dispozițiile actelor internaționale în vigoare la care membrii Organizației pot fi părți.

Perfect! (Aproape).

Acesta este unul dintre motivele pentru care traducerile sale în latină tind să fie atât de slabe: are un corpus foarte subțire de traduceri din latină făcute de oameni pe care să își bazeze modelele Markov ascunse – oh, și folosește modele Markov ascunse.

Deci, până când Organizația Națiunilor Unite nu începe să își facă afacerile în latină, modelul statistic al lui Google Translate nu va face o treabă foarte bună. Și chiar și atunci, nu vă așteptați la mare lucru, cu excepția cazului în care traduceți text lipit direct din documentele ONU.

Mai multe detalii despre traducere pentru curioși.

Un model Markov ascuns adaugă „stări”. Se presupune că vorbitorul trece aleatoriu de la o „stare” la alta, iar fiecare stare are propriul set de probabilități pentru ce cuvânt va „emite”. Astfel, un model Markov ascuns este o presupunere statistică despre care sunt cele mai probabile stări, probabilități de tranziție și probabilități de emisie care ar produce un anumit set de secvențe – presupunând că acestea au fost produse în acest mod aleatoriu.

Google Translate calculează așadar: „Având în vedere că autorul din limba A tocmai a spus (până la) aceste cinci cuvinte, care este cea mai probabilă stare în care se află autorul? OK, acum, pornind de la starea corespunzătoare în limba B, care este cel mai probabil cuvântul cel mai probabil să iasă în continuare?”

Iată o ilustrare a ferestrei contextuale cu cinci cuvinte. Dacă introducem următoarele:

Pants, as you expected, were worn.

Pants were worn.

Pants, as you expected, are worn.

Traducerea latină (cu traducerea manuală înapoi în engleză), este:

Anhelat quemadmodum speravimus confecta. (El gâfâie exact așa cum am sperat că s-a realizat.)

Braccas sunt attriti. (Pantalonii au fost uzați ).

Anhelat, ut spe teris. (El gâfâie, așa cum, prin speranță, tu te-ai uzat.)

Rețineți că prima și a treia propoziție sunt la limita absurdului gramatical. Nu există nicio secvență de cinci cuvinte în baza de date în limba engleză a Google Translate care să se alinieze bine cu „pants as you expected were/are”, așa că se fâlfâie. Observați că în a treia propoziție, în momentul în care a ajuns la „worn”, a uitat ce sens al lui „pants” a ales la începutul propoziției. Sau, mai degrabă, nu a uitat, pentru că nu l-a urmărit niciodată. A urmărit doar secvențele de cinci cuvinte. Îi dă celei de-a doua propoziții un fel de sens, dar chiar și așa, este încă foarte greșit – nu numai că îi dă lui „purtat” sensul greșit (deoarece, așa cum am spus mai devreme, nu face nicio legătură semantică între „pantaloni” și „purtat” care să implice cealaltă definiție a lui „a purta”), dar nu reușește în totalitate să aibă genul substantivului și al verbului în acord, sau să aibă subiectul în cazul corect.

Deci, dacă propoziția are sens afectează oarecum dacă traducerea înseamnă ceva, dar este mai rău decât atât. Ceea ce contează cel mai mult este potrivirea exactă, cuvânt cu cuvânt, cu textele din baza de date.

Introducerea limbii latine în Google Translate (cu cuvintele schimbate față de prima propoziție afișate în bold):

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.

Ediție în limba engleză:

Și Avraam și-a luat o altă soție și numele ei a fost Cetura.

Quintilian, acum soția altei soții, și numele ei era Keturah.

Și Avraam și-a luat o altă soție, și numele soției sale, o fiică cu numele Iulia.

Și Avraam și-a luat o soție, și i-a adus un câine cu numele Fido.

Vulgata și traducerea ASV (sau altele similare) se numără printre textele sursă ale Google Translate, așa că este foarte bun la traducerea directă a acestora – observați, totuși, ce se întâmplă atunci când intrarea este greșită cu doar un singur cuvânt. Nemaifiind capabil să detecteze similitudinea, software-ul începe să traducă fragmente mai mici de propoziție în loc de întreaga propoziție: de exemplu, fragmentul „uxorem nomine Cetthuram” este tradus în ambele propoziții de mai sus în care apare ca „o altă soție, iar numele ei era Cetura”, în ciuda schimbării contextului.

Această metodă de traducere este motivul pentru care Google Translate funcționează relativ bine pentru limbile mai analitice , unde ordinea strictă a cuvintelor este cea mai importantă pentru semnificație, dar îngrozitor pentru limbile mai sintetice, cum ar fi latina, unde inflexiunile definesc sensul. Acest lucru se datorează faptului că în astfel de limbi analitice, cuvintele ulterioare au mai multe șanse de a avea o legătură semantică care să permită păstrarea sensului atunci când sunt reproduse în limba țintă.

Modelul de traducere automată neuronală

Modelul de traducere automată neuronală a depășit simplele modele statistice pentru traducere, folosind în schimb învățarea automată și rețelele neuronale.

Conform unei postări pe blogul Google pe această temă:

La un nivel înalt, sistemul neural traduce propoziții întregi la un moment dat, mai degrabă decât doar bucată cu bucată. Folosește acest context mai larg pentru a-l ajuta să-și dea seama care este cea mai relevantă traducere, pe care apoi o rearanjează și o ajustează pentru a fi mai asemănătoare cu cea a unui om care vorbește cu o gramatică adecvată.

Chiar și mai avansată este traducerea Zero-Shot Translation cu sistemul de traducere automată multilingvă al Google, care poate fi considerată ca traducând frazele de intrare în propria sa „interlingua” semantică computerizată, iar apoi în limba de ieșire. Aceasta este ceea ce permite „traducerea zero-shot” între perechile de limbi pe care le-a analizat vreodată înainte. Exemplul citat în raportul Google a demonstrat o traducere rezonabilă între coreeană și japoneză după ce a fost antrenat doar pe perechi de propoziții japoneză-engleză și coreeană-engleză. Din păcate, niciunul dintre acestea nu pare să ajungă prea curând în latină.

Dacă doriți să vedeți lanțurile Markov funcționând în limba engleză pe reddit, /r/SubredditSimulator este un subreddit umplut în întregime cu roboți cu lanțuri Markov (dar nu cu modele de lanțuri Markov ascunse) alimentați de conținutul subredditurilor. Titlurile postărilor de acolo sunt create de o lungime a lanțului Markov (o „fereastră” contextuală de cuvinte) de două, ceea ce înseamnă că fiecare secvență de trei cuvinte a existat la un moment dat în subredditul din care robotul și-a luat sursa. Comentariile sunt create prin aceeași metodă, cu excepția celor mai lungi, care au o lungime a lanțului Markov de trei.

TL;DR. Doar citiți-l. Pe scurt, totuși, sistemul de traducere al Google pentru latină nu are analiză gramaticală sau semantică la niciun nivel, ci doar un model statistic al celui mai probabil cuvânt care va apărea în continuare, bazat pe analiza corpusului de lucrări pe care îl are atât în limba de intrare, cât și în latină. Acest lucru funcționează relativ bine pentru limbi precum engleza, unde ordinea cuvintelor este cel mai important lucru, dar este îngrozitor pentru limbi precum latina.

Așa că nu folosiți NICIODATĂ Google Translate pentru latină dacă vreți vreun fel de traducere reală.

Așa cum spune bara laterală:

Google Translate este întotdeauna greșit, întotdeauna. Nici măcar nu vă deranjați să apelați la Google Translate înainte de a ne cere ajutorul pentru o traducere.

Întregul plagiat din excelenta postare a lui Ben Kovitz de pe Latin StackExchange, și apoi ușor extinsă.

Leave a Reply