Deze website maakt gebruik van cookies. Voor meer informatie over de cookies waarvan deze website gebruik maakt klik hier.
Door verder op deze website te surfen geeft u de toestemming aan Minoc Data Services om cookies te gebruiken. verder gaan Created with Sketch.

5 juni 2019

Door Bram Lodewijks

Google Translate onder de loep: hoe werkt een vertaalmachine?

De kans dat je ooit al eens Google Translate (of een andere vertaalmachine) hebt gebruikt, is redelijk groot. Wat er op de achtergrond gebeurt bij het vertalen van jouw tekst, lees je hier.

Losse woordjes, volzinnen, volledige papers, je kan ze allemaal in een vertaalmachine gooien en met een enkele druk op de knop krijg je een vertaling te zien. Die vertaling is hoogstwaarschijnlijk niet helemaal correct, maar machinevertaling is intussen gevorderd genoeg om een min of meer begrijpelijke vertaling te laten zien. Waar we niet bij stilstaan, zijn de processen die achter de schermen plaatsvinden om die vertaling te maken. Als jij dus ook altijd al hebt willen weten hoe Google Translate (of andere vertaalmachines) een vertaling tevoorschijn toveren, zit je hier goed.

Soorten machinevertaling: RBMT, SMT, NMT

Om te beginnen, vertaalt niet elke vertaalmachine op dezelfde manier. Er zijn namelijk drie grote groepen van machinevertaling. Elke soort heeft op taalkundig vlak zijn voor- en nadelen en de kans dat verschillende vertaalmachines je tekst op een andere manier zullen vertalen, is daarom ook enorm groot.

Rule-Based Machine Translation (RBMT) is een eerste soort machinevertaling en ook de makkelijkste om uit te leggen. Zoals de naam al zegt, is dit type gebaseerd op taalkundige regels. De vertaalmachine heeft hierbij toegang tot een enorme database aan grammaticale en andere taalkundige regels om de ingevoerde tekst te analyseren. Binnen de RBMT zijn er bovendien nog drie verschillende takken, maar daarop gaan we hier niet verder in. We benoemen wel de basisprincipes van RBMT.

Om een vertaalmachine met RBMT te laten vertalen, hebben we minstens het volgende nodig: een woordenboek van de brontaal waarin elk woord gelinkt is aan een woord in de doeltaal, de taalkundige regels voor zinsstructuren in de brontaal en de doeltaal. Hoe uitgebreider de informatie in het woordenboek en over de taalkundige regels is, hoe beter de machinevertaling. Bij het invoeren van een zin in de doeltaal gaat de vertaalmachine eerst de grammaticale structuur analyseren, vervolgens de woorden vertalen op basis van de info in de woordenboeken en daarna die woorden in de grammaticale structuur van de doeltaal gieten. Er gaan echter ook wat dingen mis omdat woordenboeken vaak geen één-op-éénvertaling hebben voor bepaalde woorden of omdat de grammaticale structuur fout geanalyseerd wordt. Ook idiomatische zaken zoals uitdrukkingen en spreektaal worden hier meestal foutief vertaald

RBMT maakt vertalingen op basis van informatie uit woordenboeken, regels over de grammatica en taalstructuren.

Vervolgens is er ook Statistical Machine Translation (SMT). Deze vorm van machinevertaling werkt totaal anders dan RBMT hierboven. Hierbij wordt er helemaal geen gebruik gemaakt van woordenboeken of grammaticale regels. Je vraagt je misschien af hoe een vertaalmachine zonder die zaken een vertaling kan maken, het antwoord is een leuke vertaalterm genaamd “het corpus” (of meerdere corpora). Een corpus is een enorme verzameling van teksten, meestal over een bepaald onderwerp. Bij SMT worden er twee corpora gebruikt, eentje voor de brontaal en eentje voor de doeltaal. Die twee verzamelingen van teksten zijn aan elkaar gelinkt. Dit houdt, makkelijk gezegd, in dat er voor elke zin in de ene taal een zin is gekoppeld in de andere taal. Op basis van de vergelijking van die twee corpora “leert” de vertaalmachine hoe de twee talen in elkaar zitten ten opzichte van elkaar en die informatie past hij toe op andere teksten om ze te vertalen. Het nadeel hier is dat er enorme hoeveelheden tekst nodig zijn om te verwerken in de corpora en dat sommige talen te sterk verschillen, waardoor de vertaalmachine foute vertalingen begint te maken. Die fouten zijn bovendien moeilijk te traceren door de enorme omvang van de corpora. Hybride machinevertaling (HMT) is daarnaast geen afzonderlijke vorm van machinevertaling, maar een combinatie van de andere soorten (voornamelijk RBMT en SMT).

De derde grote groep van machinevertaling is tevens de meest recente en heet Neurale machinevertaling (NMT). Sinds ongeveer 2013 is deze vorm van machinevertaling sterk aan het opkomen en daar is een reden voor. NMT maakt namelijk gebruik van neurale netwerken en deep learning om vertalingen te kunnen maken. Bij het maken van de vertaalmachine worden er structuren gebruikt die gebaseerd zijn op de werking van het menselijk brein. Het doel hiervan is dat de vertaalmachine zichzelf leert vertalen in tegenstelling tot bij RBMT en SMT waar onderzoekers de vertaalmachine alles aanleerden. Je kan dit deels vergelijken met SMT waarbij de vertaalmachine werkt op basis van corpora. Het verschil hier is dat NMT minder gegevens nodig heeft, aangezien het zichzelf leert hoe het moet vertalen met slechts een fractie van de informatie. Het nadeel hier is dat de ontwikkeling van de modellen voor deep learning enorm duur is, maar het bijkomende voordeel is dat de vertalingen met NMT accurater zijn dan bij de andere vormen van machinevertaling.

Google Neural Machine Translation (GNMT)

Dat brengt ons ten slotte naar onze goede vriend Google Translate. Als je sinds midden 2017 plots het gevoel had dat Google Translate plots beter vertaalde van Engels naar Nederlands (of andersom), dan komt dat door het ontstaan van Google Neural Machine Translation (GNMT). Google heeft namelijk een eigen neuraal vertaalnetwerk ontworpen voor bepaalde taalparen in Google Translate. Voorheen werd er in Google Translate SMT gebruikt, wat tevens verklaart waarom sommige vertalingen verre van juist waren. De reden voor de slechte resultaten met SMT bij Google Translate lag niet alleen bij de aard van SMT. Bij vertalingen tussen twee talen waarvan geen van de twee Engels was, werd namelijk vertaald via een omweg. Google Translate vertaalde namelijk eerst de brontaal naar het Engels en vervolgens vertaalde het die Engelse vertaling naar de doeltaal. Bij een vertaling van Nederlands naar Frans, werd dan eerst de Nederlandse tekst naar het Engels vertaald, waarna die Engelse tekst naar het Frans vertaald werd. Die extra tussenstop zorgt logischerwijs voor heel wat fouten.

Het GNMT gaat op termijn ook zorgen voor zogenaamde Zero-Shot Translations. Dit zijn vertaling die rechtstreeks tussen twee talen gemaakt worden, bijvoorbeeld van het Frans naar het Nederlands, zonder dat er eerst een Engelse vertaling als tussenstap wordt gemaakt. Door de deep learning in het GNMT zal die optie er uiteindelijk ook komen, maar momenteel ondersteunt Google Translate alleen Zero-Shot Translations van/naar het Engels. Als je nu dus een vertaling van het Frans naar het Nederlands wil maken, dan gebeurt dit nog steeds via een tussenstap met een Engelse vertaling.

Perfect zal een machinevertaling waarschijnlijk nooit zijn, althans niet voor elke taal. Zelfs (G)NMT heeft problemen met idiomatische zaken zoals uitdrukkingen, waarvan de betekenis afhangt van de context. Een machinevertaling moet je dus altijd zien als een kladversie van het definitieve product waar jijzelf nog enkele aanpassingen aanbrengt.