Google Translate wordt onbegrijpelijker (en beter)

Door Marc van Oostendorp

Processed with Snapseed.
-What do these options mean? Que signifient les options?

Het is al een tijdje geleden dat Google Translate in het nieuws was, maar deze week kwam Google weer met een fascinerend bericht.

Een paar jaar geleden hoorde je regelmatig over deze online-vertaalmachine: steeds weer werden nieuwe talen toegevoegd aan het systeem, en je kreeg ook het gevoel dat vertalingen inderdaad steeds beter werden. Maar op zeker moment stagneerde het: er kwamen nauwelijks talen bij, en de kwaliteit van de vertalingen tussen bestaande taalparen werd ook niet meer verhoogd.

Was dit het dan?

Moduletje

Deze week kwam het bedrijf met een blogpost en een wetenschappelijk artikel waarin het een nieuwe doorbraak aankondigde: een geheel nieuwe manier van vertalen, die Neural Machine Translation genoemd wordt en die gebruik maakt van technieken die de laatste jaren populair zijn geworden in de wereld van de kunstmatige intelligentie. De computer die een tijdje geleden de wereldkampioen Go versloeg  (wat tot voor kort ondenkbaar is, want Go is de ingewikkeldste van alle bordspelen) maakt ook gebruik van dergelijke techieken.

De term neural in de nieuwe naam komt natuurlijk voort uit een metafoor. Zoals de meest ingewikkelde gedachten in ons hoofd uiteindelijk volgens sommige neurowetenschappers voortkomen uit patronen van heel veel kleine cellen, neuronen, die een eenvoudig signaaltje sturen naar andere neuronen als ze zelf een eenvoudig signaaltje krijgen, zo kun je een computerprogramma maken die bestaat uit honderdduizenden heel kleine heel simpele moduletjes die niet veel meer doen dan even oplichten als ze voldoende worden aangestuurd door andere moduletjes; en met dat oplichten weer andere moduletjes doen oplichten.

Spelletjes Go

Gaandeweg groeien dan de verbindingen: als je neuron A aanraakt, begint neuron B ook al op te lichten, omdat A en B in het verleden meestal samenwerkten en de verbinding tussen die twee daardoor is gegroeid.

Op die wijze leert de computer dus patronen herkennen. Je geeft het een positie in het Go-spel die het nooit eerder heeft gezien, maar het herkent wel dat de linkerbenedenhoek er uit zag als ooit in spelletje X, en de rechterbovenhoek overeenkomsten vertoont met spelletjes Y en Z, en kan uit die combinatie zijn conclusies trekken

Belangrijk hierbij is dat de computer min of meer zichzelf leert wat de patronen zijn. De computerprogrammeur maakt al die kleine computerneuronen en hun verbindingen, maar zonder veel verwachtingen en voert het dan duizenden (tienduizenden, honderdduizenden) eerder spelletjes Go, of Chinese en Engelse zinnen, op basis waarvan het programma ‘getraind’ wordt.

Instructies

Dit staat tegenover traditionele computerprogramma’s die vooral instructies uitvoeren: als je dit Chinese woord ziet, vervang je het door dat Engelse woord. De oude Google Translate werkt min of meer op die manier. De instructies zijn heel algemeen, en gebruiken een heleboel door de computer ter plekke uitgevoerde statistiek (als ik dit Engelse woord zie, is dat Chinese woord de meest waarschijnlijke vertaling),

Neurale netwerken zijn als techniek allang bekend, maar voor ingewikkelde problemen als het spelen van Go of het vertalen van teksten konden ze nog niet worden ingezet. Je hebt er gigantische netwerken voor nodig die je met héél veel gegevens moet voeden om ze een beetje te trainen en dan werken ze vervolgens ook nog eens langzamer dan traditionele programma’s die een lijst met instructies afwerken.

Maar kennelijk zijn er op dat vlak de afgelopen jaren de nodige barrières geslecht. Misschien zijn de computers sneller of de algoritmes om zo’n neuraal netwerk te bouwen efficiënter.

Demonstratie

In hun artikel leggen de taalingenieurs van Google uit dat ze ook nog wel wat technieken hebben bedacht waarop de netwerken beter met taal kunnen omgaan. Een probleem met alle op statistiek gebaseerde software is: wat doe je met woorden die maar heel zelden voorkomen en dus als het ware onder de statistische radar vallen? Google hakt zo’n woord (zeg, treitervlogger) voortaan op in stukjes (zeg, treiter en vlogger), die ieder vaker voorkomen en die het wél herkent, om dan te proberen in de andere taal ook weer de juiste manier te vinden om die begrippen aan elkaar te verbinden.

De auteurs zijn zelf ervan overtuigd dat deze nieuwe techniek een verbetering van 60% geeft op de resultaten van de nieuwe Google. Ik kan het helaas niet controleren, want het systeem werkt vooralsnog alleen voor vertalingen tussen het Chinees en het Engels en die eerste taal beheers ik niet. Wel vond ik elders op internet deze demonstratie van de universiteit van Montréal die werkt tussen het Engels en het Frans, en die werkt behoorlijk goed, zij het een beetje langzaam en alleen voor bepaalde gebieden van het leven (de internationale politiek).

Hulpmiddel

Er is ook reden om een beetje verontrust te zijn over dit succes. Een van de doelen van de computertaalkunde is altijd geweest: begrijpen hoe menselijke taal werkt. Door het na te bouwen, zou je beter inzicht krijgen in de manier waarop de mens het doet.

Maar dat doel moet je met dit soort toepassingen eigenlijk verlaten: de computer leert het systeem zichzelf en legt op basis daarvan dus een netwerk van verbindingen aan tussen alle interne ‘neuronen’, dat wel werkt maar zo groots en ingewikkeld is dat we het net zo min begrijpen als onze eigen hersens. We hebben dan dadelijk een veel beter hulpmiddel – maar we snappen er nog steeds niks van.