Waar is Google Translate dan wel goed voor?

Waarom is Latijn Google Translate zo slecht.

Google Translate voor Latijn is volledig statistisch. Het heeft geen model van grammatica, syntaxis, of betekenis. Het enige wat het doet is opeenvolgingen van maximaal vijf opeenvolgende woorden correleren in teksten die handmatig zijn vertaald in twee of meer talen.

Meer precies, het heeft een verborgen Markov-model opgebouwd uit alle handmatige vertalingen die aan het programma zijn toegevoerd. Google noemt dit het Phrase-Based Machine Translation Model, of PBMTM. In november 2016 heeft Google Translate bijgewerkt om het verbeterde Neural Machine Translation Model te gebruiken voor sommige talen, die niet op deze manier werken – maar Latijn is niet onder hen.

Hier is hoe het PBMTM werkt, ruwweg. Het gaat ervan uit dat mensen spreken door willekeurig het ene woord na het andere te kiezen, waarbij de waarschijnlijkheid wordt bepaald door het vorige gesproken woord. Bijvoorbeeld, als u “twee” zei, is er een bepaalde waarschijnlijkheid dat het volgende woord “of” zal zijn. Als je net “of” hebt gezegd, is er een bepaalde kans dat het volgende woord “butaan” zal zijn. U kunt een schatting van deze waarschijnlijkheden berekenen door te kijken naar al die teksten die u eerder hebt ingevoerd. Je kunt dan willekeurig maar enigszins samenhangend gebrabbel genereren volgens deze waarschijnlijkheden:

Twee

Twee of

Twee of butaangas

Twee of butaangas kan worden aangevallen

Als je een contextueel ‘venster’ van meer woorden gebruikt – zeg, de vorige drie, vier of vijf – om het volgende woord te vinden, zal het resulterende gebrabbel er eerder uitzien alsof het is geschreven door een schizofreen dan door een afasicus. Hier is een voorbeeld, met het contextuele venster gemarkeerd.

I heard about

I heard about six

I heard about six today

I heard about six today, we

I heard about six today, we seek

Merk op hoe elke vetgedrukte zin in een echte zin had kunnen staan: “Gisteren

Dat is een Markov model. Het “verborgen” deel voegt wat complexiteit toe, die ik zal uitstellen tot het einde van dit bericht. Het basisidee is: Google Translate’s PBMTM probeert het meest waarschijnlijke volgende woord te kiezen, gebaseerd op schattingen van waarschijnlijkheid afgeleid van vijf-woord sequenties uit het corpus dat het bezit van teksten in de invoer- en doeltaal (niet alleen werkelijke teksten, maar ook veel crowd-sourced vertalingen).

Waar Google Translate het meest betrouwbaar voor is, is het vertalen van documenten geproduceerd door de Verenigde Naties tussen de talen die daar in gebruik zijn. Dit komt omdat VN-documenten hebben een onevenredig groot deel van de handmatig vertaalde teksten waaruit Google Translate trekt zijn vijf-woord sequenties, zoals VN-documenten zijn gemakkelijk beschikbaar in veel verschillende talen (zoals, bijvoorbeeld, alle officiële documenten van de Verenigde Naties, vergadering records en correspondentie op het hoofdkantoor van de VN is vertaald in ten minste Arabisch, Chinees, Engels, Frans, Russisch, en Spaans).

Zie wat er gebeurt als ik dit intyp:

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

Het geeft me:

Behoudens hetgeen kan worden overeengekomen in de overeenkomsten inzake bijzondere voogdij die overeenkomstig de artikelen 77, 79 en 81 worden gesloten en waarbij elk gebied onder het stelsel van voogdij wordt geplaatst, en totdat dergelijke overeenkomsten zijn gesloten, mag dit hoofdstuk niet worden uitgelegd als een directe of indirecte wijziging van de rechten van een staat of volk of van de bepalingen van vigerende internationale instrumenten waarbij de leden van de Organisatie partij kunnen zijn.

Perfect! (Bijna).

Dit is een van de redenen waarom de Latijnse vertalingen van Google Translate zo slecht zijn: het heeft een zeer dun corpus van menselijke vertalingen van het Latijn om zijn verborgen Markov-modellen op te baseren-oh, en het gebruikt verborgen Markov-modellen.

Dus totdat de Verenigde Naties hun werk in het Latijn gaan doen, zal het statistische model van Google Translate niet erg goed werk leveren. En zelfs dan, verwacht niet veel, tenzij je het vertalen van tekst geplakt rechtstreeks uit VN-documenten.

Verder details over vertaling voor de nieuwsgierigen.

Een verborgen Markov model voegt “staten”. De spreker wordt verondersteld willekeurig over te gaan van de ene “toestand” naar de andere, en elke toestand heeft zijn eigen reeks waarschijnlijkheden voor welk woord het zal “uitzenden”. Aldus is een verborgen Markov model een statistische gok over wat de meest waarschijnlijke toestanden, overgangswaarschijnlijkheden, en emissiewaarschijnlijkheden zijn die een gegeven reeks reeksen zouden voortbrengen – aannemende dat zij op deze willekeurige wijze worden voortgebracht.

Google Translate berekent daarom: “Gegeven dat de auteur in taal A zojuist (tot) deze vijf woorden heeft gezegd, wat is de meest waarschijnlijke toestand waarin de auteur zich bevindt? OK, nu, van de overeenkomstige toestand in taal B, wat is het meest waarschijnlijke woord om uit te voeren volgende?”

Hier is een illustratie van de vijf-woord contextuele venster. Als we het volgende invoeren:

Broek, zoals u verwachtte, werd gedragen.

Broek, zoals u verwachtte, wordt gedragen.

De Latijnse vertalingen (met handmatige vertalingen terug naar het Engels), zijn:

Anhelat quemadmodum speravimus confecta. (Hij hijgt zoals wij hoopten dat hij volbracht was.)

Braccas sunt attriti. (De broek is versleten).

Anhelat, ut spe teris. (Hij hijgt, zoals, naar ik hoop, jij verslijt.)

Merk op dat de eerste en derde zin grenzen aan ongrammaticale onzin. Er zijn geen vijf-woord reeksen in de Engelse database van Google Translate die goed passen bij “pants as you expected were/are,” dus het is flailing. Merk op dat in de derde zin, tegen de tijd dat het bij “gedragen” kwam, het was vergeten welke betekenis van “broek” het koos aan het begin van de zin. Of liever, het was het niet vergeten, omdat het het nooit heeft bijgehouden. Het heeft alleen sequenties van vijf woorden bijgehouden. Het geeft de tweede zin een soort betekenis, maar zelfs dan is het nog erg fout – niet alleen geeft het “gedragen” de verkeerde betekenis (omdat, zoals ik al eerder zei, het geen semantisch verband legt tussen “broek” en “gedragen” dat de andere definitie van “dragen” zou impliceren), maar het slaagt er ook niet in om het geslacht van het zelfstandig naamwoord en het werkwoord overeen te laten komen, of om het onderwerp in de juiste naamval te plaatsen.

Dus, of de zin zin zinvol is, beïnvloedt min of meer of de vertaling iets betekent, maar het is erger dan dat. Het belangrijkste is de exacte woord-voor-woord overeenkomst met teksten in de database.

Invoeren van Latijn in Google Translate (met de woorden uit de eerste vetgedrukte zin veranderd):

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.

Engels uitgang:

En Abraham nam een andere vrouw, en haar naam was Keturah.

En Abraham nam een andere vrouw, en haar naam was Keturah.

En Abraham nam een andere vrouw, en de naam van zijn vrouw, een dochter genaamd Julia.

En Abraham nam een vrouw, en bracht hem tot een hond met de naam van Fido.

De Vulgaat en de ASV-vertaling (of gelijksoortig) behoren tot de bronteksten van Google Translate, dus het is erg goed in het direct vertalen daarvan – merk echter op wat er gebeurt als de invoer slechts één woord afwijkt. Niet langer in staat om de gelijkenis te herkennen, begint de software kleinere zinsfragmenten te vertalen in plaats van de hele zin: bijvoorbeeld het fragment “uxorem nomine Cetthuram” wordt vertaald in beide bovenstaande zinnen waar het verschijnt als “een andere vrouw, en haar naam was Keturah” ondanks de verandering van context.

Deze manier van vertalen is de reden waarom Google Translate relatief goed werkt voor meer analytische talen, waar een strikte woordvolgorde het belangrijkst is voor de betekenis, maar vreselijk goed voor de meer synthetische talen, zoals het Latijn, waar verbuigingen de betekenis bepalen. Dit komt omdat in dergelijke analytische talen, opeenvolgende woorden hebben meer kans op een semantische link die zal toestaan behoud van betekenis wanneer gereproduceerd in de doeltaal.

Het Neurale Model van de Machinevertaling

Het Neurale Model van de Machinevertaling heeft zich voorbij eenvoudige statistische modellen voor vertaling bewogen, gebruikend in plaats daarvan machinaal leren en neurale netwerken.

Volgens een blogpost van Google over het onderwerp:

Op een hoog niveau, vertaalt het Neurale systeem gehele zinnen tegelijkertijd, eerder dan enkel stuk voor stuk. Het gebruikt deze bredere context om het te helpen de meest relevante vertaling te achterhalen, die het dan herschikt en aanpast om meer als een mens te zijn die met juiste grammatica spreekt.

Even geavanceerder is de Zero-Shot Vertaling van Google met het Meertalige Automatische Vertaalsysteem van Google, waarvan kan worden gedacht aan het vertalen van de inputzinnen naar zijn eigen semantische computer “interlingua”, en dan naar de outputtaal. Dit is wat de “zero-shot vertaling” mogelijk maakt tussen taalparen die het ooit eerder heeft geanalyseerd. Het voorbeeld dat in het Google-rapport wordt aangehaald, toonde aan dat er een redelijke Koreaans-Japanse vertaling mogelijk was, nadat het alleen ooit was getraind op Japans-Engels en Koreaans-Engels zinnenparen. Helaas lijkt geen van beide op korte termijn naar het Latijn te komen.

Als je Markov-ketens in het Engels wilt zien werken op Reddit, /r/SubredditSimulator is een subreddit die volledig gevuld is met Markov-ketens-bots (maar geen verborgen Markov-ketens-modellen), gezaaid door de inhoud van subreddits. De titels van de posts daar worden gecreëerd door een Markov chain lengte (contextueel ‘venster’ van woorden) van twee, wat betekent dat elke opeenvolging van drie woorden op een bepaald moment bestond in de subreddit waaruit de bot zijn bron haalde. De commentaren zijn volgens dezelfde methode gemaakt, behalve de langere, die een Markov chain lengte van drie hebben.

TL;DR. Lees het gewoon. Samenvattend: Google’s vertaalsysteem voor Latijn heeft geen grammaticale of semantische analyse op enig niveau, maar slechts een statistisch model van het meest waarschijnlijke woord dat als volgende zal verschijnen, gebaseerd op analyse van het corpus van werken dat het heeft in zowel de invoertaal als het Latijn. Dit werkt relatief goed voor talen als het Engels, waar de woordvolgorde het belangrijkst is, maar is vreselijk voor talen als het Latijn.

Gebruik dus NOOIT Google Translate voor Latijn als je een echte vertaling wilt.

Zoals de zijbalk zegt:

Google Translate is altijd fout, altijd. Doe zelfs geen moeite om Google Translate te gebruiken voordat je ons om hulp vraagt voor een vertaling.

Volledig geplagieerd van Ben Kovitz’s uitstekende post op de Latin StackExchange, en dan licht uitgebreid.

Leave a Reply