Naar de content

Supercomputers voor een beter taalbegrip

Een close-up van neuronen op een donkere achtergrond.
Een close-up van neuronen op een donkere achtergrond.
Flickr, UCI Research via CC BY-NC 2.0

Al meer dan vijftig jaar zijn taalkundigen en computerdeskundigen bezig om de computer menselijke taal te laten begrijpen. De supercomputer Watson en een vertaalprogramma als Google Translate gooien hoge ogen. Maar ook deze systemen zijn niet volmaakt en geven soms komische antwoorden of vertalingen. Het laat zien hoe moeilijk het is om de computer taal bij te brengen.

Lekker weertje hè, zegt je buurman. Niet dat hij zit te wachten op een uitgebreide analyse van het weer, maar hij wil gewoon een gesprekje aanknopen. Het menselijk vermogen om een veelheid aan woordbetekenissen te onderscheiden, is opgebouwd aan de hand van levenslange ervaring. Aan de hand van de context, zinsbouw en logica, maar ook gemeenschappelijke aannames, voelen we haarfijn aan wat onze gesprekspartner ons te vertellen heeft. Zonder dat we er nu zo bij stil staan, gebruiken we dus een heleboel opgedane kennis om een simpel gesprekje te voeren.

Wandelend woordenboek

In het verleden hebben wetenschappers geprobeerd al dit soort kennis te coderen en in te voeren in de computer. Tot nu toe zonder succes. Er zijn ook pogingen gedaan om computers te trainen in taalbegrip aan de hand van woordenboekbetekenissen. Maar ook deze methode stuitte op problemen. Ga maar na wat er zou gebeuren als een kind een taal zou moeten leren enkel en alleen op basis van een woordenboek. Een woordenboekbetekenis is immers gemaakt door een kleine groep mensen, en alleen begrijpelijk als je hun aannames deelt. Bovendien kunnen twee woordenboeken ook nog eens heel verschillende betekenissen aandragen voor één woord. En dan hebben we het nog niet eens over de grammaticale kennis die nodig is om een taal te leren.

Woordrelaties

Computerlinguïsten hebben daarom een methode bedacht waarbij computers die woordbetekenissen zelf genereren. Katrin Erk is professor in de taalkunde aan de Universiteit van Texas. In plaats van het coderen van menselijke logica of het ontcijferen van woordenboeken, voerde ze grote tekstcorpora in in de computer.

Aan de hand van die teksten liet ze de computer de relaties tussen al die woorden vastleggen in semantische webben. Op deze manier werden verschillende woordbetekenissen gevisualiseerd als punten in de ruimte. “Je hoeft niet aan te geven hoeveel betekenissen een woord heeft,” licht Erk toe op de website van haar universiteit, “In plaats daarvan zeggen we: het woordgebruik in zin A staat dichtbij het woordgebruik in zin B, maar ver van het gebruik in zin C.”

Supercomputers

Maar voordat de computer dit soort netwerken kan reconstrueren, heeft hij een grote hoeveelheid talige input nodig. Het gaat dan minimaal om een tekstverzameling van 100 miljoen woorden. Nog beter is een corpus van een paar biljoen woorden. Alleen hoe kun je een computer zoveel informatie toestoppen? Gewone computers kunnen zoveel data niet verwerken, daarvoor heb je supercomputers nodig. Erk en haar team maken gebruik van dit soort supercomputers en speciale Hadoop-software. Deze software is geschikt voor tekstanalyse en datamining, het zoeken naar verbanden in ongestructureerde data. In plaats van een paar weken heeft Hadoop maar enkele uren nodig om een grote hoeveelheid data te structureren.

Taal in de hersenen

Wat doet het systeem precies? “We tellen bijvoorbeeld hoe vaak een woord voorkomt in de nabijheid van andere woorden.” De bestudering van woorden in relatie tot elkaar, komt volgens de professor dicht bij psychologische noties van hoe de hersenen taal verwerken.

Woorden hebben geen dichtgetimmerde definities, maar hun betekenis overlapt met die van andere woorden. Vaak heeft een woord ook meerdere betekenissen. De betekenis kan enorm verschillen per context. Denk maar aan homoniemen als vorst en bank.

Parafrase

Maar hoe kunnen we woordbetekenissen beschrijven zonder gebruik te maken van een woordenboek? Een manier is om woorden uit te leggen in andere woorden. Dit noem je parafraseren. De computer kan aangeven wat een goede parafrase is en wat een slechte. Taaltechnologie maakt dankbaar gebruik van dit soort parafrases. Dat gebeurt al bij allerlei zoek- en vraag/antwoordsystemen op het web.

Maar ook andere gebruikersdoeleinden zijn mogelijk. Erk: “Stel, je wilt een lijst samenstellen van ziektes, hun oorzaken, symptomen en behandelingen op basis van miljoenen pagina’s medische informatie op het web. Medici gebruiken allemaal andere bewoordingen als ze het hebben over ziektes, dus is het handig om te weten welke formuleringen hetzelfde betekenen.” De vraag blijft bestaan of computers ooit taalbegrip zullen ontwikkelen op het niveau van mensen. Met de parafrase-benadering van Erk en haar collega’s wordt het in ieder geval een stukje realistischer.

Bron:

University of Texas at Austin: When will my computer understand me?