Vad är Google Translate bra för då?

Varför Google Translate för latin är så dåligt.

Google Translate för latin är helt statistiskt. Den har ingen modell för grammatik, syntax eller betydelse. Allt den gör är att korrelera sekvenser av upp till fem på varandra följande ord i texter som har översatts manuellt till två eller flera språk.

Mer precist har den byggt upp en dold Markov-modell från alla manuella översättningar som har matats in i den. Google kallar detta för Phrase-Based Machine Translation Model, eller PBMTM. I november 2016 uppdaterade Google Translate för att använda den förbättrade neurala maskinöversättningsmodellen för vissa språk, som inte fungerar på detta sätt – men latin är inte en av dem.

Här är hur PBMTM fungerar, i grova drag. Den utgår från att människor talar genom att slumpmässigt välja det ena ordet efter det andra, där sannolikheterna bestäms av det tidigare uttalade ordet. Om du till exempel säger ”två” finns det en viss sannolikhet för att nästa ord kommer att vara ”eller”. Om du just sa ”eller” finns det en viss sannolikhet för att nästa ord kommer att vara ”butan”. Du kan beräkna en uppskattning av dessa sannolikheter genom att titta på alla de texter som du matade in tidigare. Du kan sedan generera slumpmässigt men bara en aning sammanhängande rappakalja enligt dessa sannolikheter:

Två

Två eller

Två eller butan

Två eller butangas

Två eller butangas kan attackeras

Om du använder ett kontextuellt ”fönster” med fler ord – säg, de föregående tre, fyra eller fem – för att hitta nästa ord, kommer det resulterande rappakalja att se ut som om det är mer troligt att det har skrivits av en schizofren än av en afasiker. Här är ett exempel, med det kontextuella fönstret markerat:

Jag har hört talas om

Jag har hört talas om sex

Jag har hört talas om sex i dag

Jag har hört talas om sex i dag, vi

Jag har hört talas om sex i dag, vi söker

Bemärk hur varje fetmarkerad fras skulle ha kunnat stå i en riktig mening: ”Igår

Det är en Markov-modell. Den ”dolda” delen tillför en viss komplexitet, som jag skjuter upp till slutet av det här inlägget. Den grundläggande idén är följande: Google Translate’s PBMTM försöker välja det mest sannolika nästa ord, baserat på uppskattningar av sannolikheten som härrör från sekvenser av fem ord från den korpus som Google Translate har av texter på ingångs- och målspråket (inte bara verkliga texter, utan även många crowd-sourced översättningar).

Vad Google Translate är mest pålitligt för är att översätta dokument som produceras av Förenta Nationerna mellan de språk som används där. Detta beror på att FN-dokument har stått för en oproportionerligt stor andel av de manuellt översatta texter som Google Translate hämtar sina femordsekvenser från, eftersom FN-dokument är lättillgängliga på många olika språk (eftersom t.ex. alla officiella FN-dokument, mötesprotokoll och korrespondens vid FN:s högkvarter översätts till åtminstone arabiska, kinesiska, engelska, franska, ryska och spanska).

Vittna om vad som händer när jag skriver in detta:

À 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, ingen bestämmelse i detta kapitel får tolkas som att den direkt eller indirekt på något sätt ändrar de särskilda rättigheterna i någon stat eller något folk eller bestämmelserna i internationella rättsakter som är i kraft och i vilka organisationens medlemmar kan vara parter.

Det ger mig:

Med undantag för vad som kan avtalas i de särskilda förmyndaravtal som ingås i enlighet med artiklarna 77, 79 och 81 och som placerar varje territorium under förvaltarskapssystemet, och till dess att sådana avtal har slutits, får detta kapitel inte tolkas så att det direkt eller indirekt på något sätt ändrar en stats eller ett folks rättigheter eller bestämmelserna i gällande internationella rättsakter i vilka medlemmar av organisationen kan vara parter.

Perfekt! (Nästan).

Detta är en av anledningarna till att dess latinska översättningar tenderar att vara så dåliga: det har en mycket tunn korpus av mänskligt framställda översättningar av latin att basera sina dolda Markov-modeller på – och det använder dolda Markov-modeller.

Så, tills Förenta nationerna börjar göra sina affärer på latin, kommer Google Translate’s statistiska modell inte att göra ett särskilt bra jobb. Och även då ska du inte förvänta dig mycket om du inte översätter text som klistras in direkt från FN-dokument.

För den nyfikne finns ytterligare information om översättning.

En dold Markov-modell lägger till ”stater”. Talaren antas övergå slumpmässigt från ett ”tillstånd” till ett annat, och varje tillstånd har sin egen uppsättning sannolikheter för vilket ord som kommer att ”sändas ut”. En dold Markov-modell är alltså en statistisk gissning om vilka de mest sannolika tillstånden, övergångssannolikheterna och emissionssannolikheterna är som skulle producera en viss uppsättning sekvenser – förutsatt att de produceras på detta slumpmässiga sätt.

Google Translate beräknar därför: ”Givet att författaren på språk A just sagt (upp till) dessa fem ord, vilket är det mest sannolika tillståndet som författaren befinner sig i? OK, nu, från motsvarande tillstånd i språk B, vilket är det mest sannolika ordet att ge ut härnäst?”

Här är en illustration av det kontextuella fönstret med fem ord. Om vi skriver in följande:

Byxor, som du förväntade dig, bars.

Byxor bars.

Byxor, som du förväntade dig, bärs.

De latinska översättningarna (med manuella översättningar tillbaka till engelska), är:

Anhelat quemadmodum speravimus confecta. (Han är pustande precis som vi hoppades uppnått.)

Braccas sunt attriti. (Byxorna har slitits bort ).

Anhelat, ut spe teris. (Han är flämtande, precis som du förhoppningsvis slits ut.)

Bemärk att den första och tredje meningen gränsar till ogrammatiskt nonsens. Det finns inga sekvenser med fem ord i Google Translates engelska databas som stämmer väl överens med ”pants as you expected were/are”, så det är flaxigt. Lägg märke till att i den tredje meningen hade den glömt vilken betydelse av ”byxor” den valde i början av meningen när den kom till ”slitna”. Eller snarare, den hade inte glömt, eftersom den aldrig spårade den. Den har bara spårat sekvenser av fem ord. Den ger den andra meningen någon sorts mening, men även då är den fortfarande mycket felaktig – inte bara ger den ”slitna” fel betydelse (eftersom den som sagt inte gör några semantiska kopplingar mellan ”byxor” och ”slitna” som skulle innebära den andra definitionen av ”att ha på sig”), utan den misslyckas helt och hållet med att få genus på substantivet och verbet att stämma överens, eller med att ha subjektet i rätt kasus.

Om meningen är meningsfull eller inte påverkar alltså på sätt och vis huruvida översättningen betyder något, men det är värre än så. Det som spelar störst roll är exakt, ord för ord, matchning med texter i databasen.

Inmatning av latin i Google Translate (med ändrade ord från den första meningen som visas i fetstil):

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.

English output:

Och Abraham tog en annan hustru, och hennes namn var Ketura.

Quintilian, nu hustru till en annan hustru, och hennes namn var Ketura.

Och Abraham tog en annan hustru, och hans hustru hette en dotter som hette Julia.

Och Abraham tog en hustru, och förde honom till en hund med namnet Fido.

Vulgata och ASV-översättningen (eller liknande) är bland Google Translates källtexter, så den är mycket bra på att direkt översätta dem – lägg dock märke till vad som händer när inmatningen avviker med så lite som ett ord. Eftersom programvaran inte längre kan upptäcka likheten börjar den översätta mindre meningsfragment i stället för hela meningen: till exempel översätts fragmentet ”uxorem nomine Cetthuram” i båda ovanstående meningar där det förekommer som ”en annan hustru, och hennes namn var Ketura” trots att kontexten har ändrats.

Denna översättningsmetod är anledningen till att Google Translate fungerar relativt bra för mer analytiska språk , där strikt ordföljd är det viktigaste för innebörden, men fruktansvärt dåligt för de mer syntetiska språken som latin, där böjningar definierar innebörden. Detta beror på att i sådana analytiska språk är det mer sannolikt att efterföljande ord har en semantisk koppling som gör det möjligt att behålla betydelsen när de återges på målspråket.

Den neurala maskinöversättningsmodellen

Den neurala maskinöversättningsmodellen har gått bortom enkla statistiska modeller för översättning och använder i stället maskininlärning och neurala nätverk.

Enligt ett blogginlägg från Google om ämnet:

På en hög nivå översätter det neurala systemet hela meningar åt gången, snarare än bara bit för bit. Det använder detta bredare sammanhang för att hjälpa det att räkna ut den mest relevanta översättningen, som det sedan ordnar om och justerar för att bli mer likt en människa som talar med korrekt grammatik.

Ett ännu mer avancerat system är Googles Zero-Shot Translation med Googles flerspråkiga maskinöversättningssystem, som kan ses som att det översätter inmatningsfraserna till sin egen semantiska dator ”interlingua”, och sedan till utdataspråket. Det är detta som möjliggör ”zero-shot translation” mellan språkpar som den aldrig tidigare har analyserat. Det exempel som nämns i Googles rapport visade på en rimlig översättning mellan koreanska och japanska efter att endast ha tränats på meningspar från japanska till engelska och från koreanska till engelska. Tyvärr ser inget av detta ut att komma till latin inom en snar framtid.

Om du vill se Markovkedjor som fungerar på engelska på reddit, är /r/SubredditSimulator en subreddit helt fylld av Markovkedjebotar (men inte dolda Markovkedjemodeller) som är seedade av innehållet i subreddits. Inläggstitlarna där skapas av en Markovkedjelängd (kontextuellt ”fönster” av ord) på två, vilket innebär att varje sekvens av tre ord har funnits någon gång i den subreddit från vilken roboten hämtade sin källa. Kommentarerna skapas på samma sätt, med undantag för de längre kommentarerna som har en Markov-kedjelängd på tre.

TL;DR. Läs det bara. Sammanfattningsvis kan man dock konstatera att Googles översättningssystem för latin inte har någon grammatisk eller semantisk analys på någon nivå, utan bara en statistisk modell av det mest sannolika ordet som kommer att dyka upp härnäst, baserat på en analys av den korpus av verk man har på både ingångsspråket och latin. Detta fungerar relativt bra för språk som engelska, där ordföljden är det viktigaste, men är fruktansvärt dåligt för språk som latin.

Så använd ALDRIG Google Translate för latin om du vill ha någon form av faktisk översättning.

Som det står i sidofältet:

Google Translate har alltid fel, alltid. Bry dig inte ens om att vända dig till Google Translate innan du ber oss om hjälp med en översättning.

Enligt plagiat från Ben Kovitz utmärkta inlägg på Latin StackExchange, och sedan något utökat.

Leave a Reply