Computer leert mensentaal

Case

Computer leert mensentaal

Grip op de betekenis van woorden

Piek Vossen, computationeel lexicoloog aan de Vrije Universiteit van Amsterdam, maakt computersystemen die mensentaal moeten begrijpen. ‘De computer is zo stom dat je alles expliciet moet zeggen.’

Ging de champagne open toen je hoorde dat je de premie kreeg?

‘Nee, ik moest het geheim houden tot de officiële bekendmaking. Dat ging bijna mis, want toen ik gebeld werd door de voorzitter van NWO dat ik de premie kreeg, had ik de telefoon op de speaker staan. Net voor ik het nieuws kreeg, begon me iets te dagen en kon ik de luidspreker nog op tijd uitzetten. Anders had iedereen in de kamer het gehoord. De dagen erna liep ik met een grote grijns rond. Met 2,5 miljoen kun je zoveel onderzoek doen, fantastisch!’

Waarom krijg jij die premie?

‘Lastige vraag... Ik denk dat het te maken heeft met het werk dat ik eind jaren negentig heb gedaan. Ik heb semantische netwerken ontwikkeld voor de computer, ‘wordnets’. Een wordnet is een digitaal schema van woorden en hun betekenis. Woorden kun je een beschrijving geven, een ‘concept’. Het woord ‘paard’ bijvoorbeeld heeft ‘dier om op te rijden’ of ‘schaakstuk’ als concept. Aan zo’n concept kan de computer een code hangen. Als je al die codes, beschrijvingen dus, in een schema zet, heb je een wordnet. Ze worden overal ter wereld door onderzoeksgroepen gebruikt. Ik ben voorzitter van de wereldwijde organisatie Global Wordnet Association. Er zijn nu wereldwijd zo’n vijftig wordnets, in talen van Japans tot Farsi.’

Wat kun je met zo’n wordnet?

‘De codes in een wordnet zijn niet taalgebonden, dus die kun je aan een wordnet in een andere taal koppelen. Op die manier kun je de verschillen tussen talen snel zien. In die andere taal kunnen dezelfde codes voorkomen, of juist niet. Sommige woorden blijken dan in de ene cultuur wel, en in de andere niet te bestaan. In Car Nicobarese bijvoorbeeld, een klein eilandje ten oosten van India, hebben ze geen woord voor ‘persoon’. Wel voor ‘eilander’ en ‘nieteilander’. Of dichter bij huis, in het Engels, heb je het woord ‘cut’, dat je kunt gebruiken voor hakken, knippen en snijden. In het Nederlands moet je daar drie verschillende woorden voor gebruiken. Doordat je met wordnets zulke verschillen tussen talen snel ziet, zijn die netwerken een goede basis om taalkundig onderzoek te doen. Momenteel breidt mijn onderzoeksgroep de wordnets uit. We willen niet alleen het taalsysteem in kaart brengen, maar ook onderzoeken wat er met die taal wordt verteld, met de history recorder. Dat is een systeem dat nieuwsberichten ‘leest’ en overzichtelijk weergeeft wat er gebeurd is, waar en wanneer, en wie erbij betrokken is.’

Klinkt ideaal voor de drukke mens. Hoe werkt dat?

‘Het is een computersysteem dat nieuwsberichten verzamelt, en die van vandaag aan die van gisteren koppelt, en verder terug in de tijd. Zo legt hij de geschiedenis vast. Hoe dat er precies uit gaat zien op een beeldscherm, weten we nog niet. Waarschijnlijk wordt het een tijdlijn met links naar meer informatie. Die links ontvouwen zich vervolgens als verhaallijnen. Je zou dan alle nieuwsberichten over een plaats, bijvoorbeeld Srebrenica, in een tijdlijn zien, waarop je kunt verder klikken. Bij een gebeurtenis, zoals een tsunami of een aardbeving, komen verwijzingen naar ‘gewonden’, of ‘opbouwwerkzaamheden’. Je kunt bij elk onderwerp bekijken wie wat vertelt: zeggen veel bronnen dit? Of is het er maar één? Zo krijg je een genuanceerde reconstructie van die gebeurtenis. Daaraan zie je hoe we die gebeurtenissen vertellen in het nieuws, als een geschiedenisverhaal. Niet per se hoe de geschiedenis echt verloopt, want het blijft een weergave van hetgeen journalisten schrijven. De history recorder heeft een groot voordeel ten opzichte van een zoeksysteem als Google. Als je in Google een nieuwsgebeurtenis opzoekt, krijg je een lijst van berichten. Zoek maar eens op ‘overname’ en ‘Volkswagen’, dan krijg je twee miljoen hits. De history recorder maakt er een soort verhaal van, een veel overzichtelijker ordening. De Tweede Kamer heeft interesse getoond om het systeem te gaan testen. Politici kunnen hiermee snel op de hoogte raken van ontwikkelingen in de geschiedenis. Maar het is ook interessant voor journalisten, studenten en scholieren.’

Kunnen we die history recorder binnenkort downloaden?

‘We moeten eerst een nieuwsberichtendatabase aanleggen. Althans, dat moet de computer gaan doen. Want het gaat om honderdduizenden berichten per dag, afkomstig uit vier talen, Nederlands, Engels, Spaans en Italiaans, onder meer uit de mediadatabase LexisNexis. We zijn nu bezig een programma te maken waarmee de computer kan bepalen welke gebeurtenissen belangrijk zijn. Neem de kroning van Willem-Alexander. Het programma herkent in de berichtgeving over zo’n gebeurtenis woorden als ‘geweldig’, of ‘belangrijk’, ‘mooi’. Als die erin staan, geschreven door de journalist zelf, of gezegd door iemand die hij interviewt, dan is het kennelijk een belangrijke gebeurtenis. Althans, voor die bron. Zeggen heel veel bronnen hetzelfde, dan is de gebeurtenis ook algemeen belangrijk. Dat moet het programma allemaal kunnen begrijpen. Ik denk dat we eind dit jaar een conceptversie van de history recorder online kunnen hebben. Voorlopig zitten we nu nog in een experimentele fase. We beginnen met een history recorder in vier talen. Maar aan de wordnetsystemen die daarin zitten, kunnen we ook wordnets in allerlei andere talen koppelen. Daarmee zouden we nieuws uit taalgebieden over de hele wereld kunnen halen.’

Is dat niet moeilijk voor de computer, nieuws in mensentaal lezen?

‘De history recorder zal vermoedelijk niet perfect gaan werken, er zal altijd wel een foutmarge in blijven. Een algemeen probleem is dat taal ambigu is, ofwel meerdere betekenissen heeft. Het woord ‘paard’ heeft de betekenis van een dier, maar ook van schaakstuk en gymtoestel. Dat weten wij mensen automatisch. Het komt zelden voor dat we de verkeerde betekenis van een woord in ons hoofd hebben. Maar hoe moet een computer weten welke combinatie nu de juiste is? Wordsense disambiguation noemen we dit probleem in de computerlinguïstiek. In het Dutch-SemCor-project in 2008 hebben we geprobeerd dit op te lossen voor de meestgebruikte ambigue woorden uit het Nederlands. We hebben toen handmatig in zinnen alle betekenissen van heel veel ambigue woorden ingevoerd in de computer. Daar zeiden we bij: in deze zin is ‘paard’ een gymnastiektoestel, maar in combinatie met deze woorden betekent het schaakstuk. Ik heb met de onderzoeksgroep een programma gemaakt waarmee de computer leerde die juiste betekenissen ook in andere zinnen te herkennen. Zo zagen we wat hij fout deed, en dat konden we dan aanpassen. Op die manier hebben we 47 miljoen zinnen aan betekenissen van woorden gekoppeld. Dat ging niet allemaal perfect. Maar het leverde een schat aan informatie op, want daaraan zie je hoe ingewikkeld mensentaal is. De computer is zo stom, dat je alles heel expliciet moet zeggen. En als je woorden in de computer stopt, zie je hoeveel kennis en hoeveel informatie je zelf gebruikt, waar je je niet van bewust bent. Daar valt nog een hoop in te onderzoeken. En daar hebben we nu mooi die 2,5 miljoen voor .’

Wat ben je precies van plan met dat geld?

‘Ik wil de woordnetwerken verder uitbreiden. Die worden over de hele wereld gebruikt voor taalonderzoek. Toch is geen overheid bereid om daar geld in te steken. Ik vind het belangrijk om erin te investeren, want er zijn nog beperkingen aan wordnet. Je kunt de computer zinnen leren, zoals ‘je kunt met een paard een toren slaan’, of ‘je kunt een paard haver voeren’. Maar dan weet je nog steeds niet precies wat een paard is. Dat het woord in de laatste context gerelateerd is aan ezel, bijvoorbeeld. Je kunt ook de ontwikkeling van een woord als ‘paard’ volgen in de tijd. Je hebt tegenwoordig ook Trojaanse paarden, computervirussen. Zo komen er steeds nieuwe betekenissen van woorden bij. Ik zou graag willen dat het wordnetsysteem die ook vastlegt. Het andere onderzoek dat ik wil doen, is de grens tussen visuele informatie die we hebben en ons abstracte taalgebruik bestuderen. Zoals deze koffiemok bijvoorbeeld (Vossen wijst naar een witte beker op zijn bureau), die ik als ‘koffiemok’ kan beschrijven. Maar ook abstracter, als een ‘ding’. Van het woord ‘ding’ kan ik geen tekening maken, van die mok wel. Als ik voor woorden weet waar die grens tussen abstract en concreet ligt, kan ik een computer leren hoe hij abstract taalgebruik van concrete taal kan onderscheiden. Dan kun je een programma iets laten zeggen over hoe concreet een tekst is. En over de leesbaarheid ervan. Daarmee zou je een digitale eindredacteur kunnen bouwen.’

Dat zijn best concrete plannen voor iemand met zo’n theoretisch vak.

‘Mijn onderzoek is altijd goed toepasbaar. De meeste wordnets staan ook gewoon online. Die kunnen mensen downloaden. Net als de onderzoekssoftware die mijn vakgroep en ik maken. Ik heb dan ook tien jaar bij een softwarebedrijf gewerkt. Daar heb ik praktische kennis opgedaan, ook in programmeren. Ik werkte eerst als onderzoeker bij de UvA, toen ben ik naar het bedrijfsleven overgestapt. De informaticabedrijven waar ik heb gewerkt maakten onder meer intelligente zoekmachines, waar de programmatuur van wordnet in zat. Dus ik was wel bezig met mijn vakgebied in die zoekmachines. Vanuit het bedrijf deed ik weer werk voor Europese projecten. Maar uiteindelijk ben ik toch niet zo geschikt voor het bedrijfsleven. Ik vind onderzoek veel spannender. Je kunt veel vrijer denken. Je hoeft geen klanten tevreden te stellen, en mensen te woord te staan die bellen (zet een zeurstem op): ‘Het programma doet het niet.’ Het is natuurlijk wel interessant dat je met zulke praktische zaken in aanraking komt. Ik heb er tien jaar gewerkt hoor, dus ik vond het niet vreselijk. Maar ik wilde aan andere dingen werken, grotere oplossingen zoeken. Dus toen de gelegenheid zich voordeed, heb ik de stap gemaakt. En niet voor niets. Ik vind onderzoek nog steeds erg leuk.’

Wat is er zo leuk aan woordsystemen voor computers maken?

‘Kijk, taal is een raar systeem. Zolang we praten bestaat het. Stel, wij spreken vanaf nu geen Nederlands meer, dan bestaat onze taal niet meer. Ik vind dat een fascinerend verschijnsel. Door die woorden voor de computer te vertalen, probeer ik grip te krijgen op dat taalsysteem dat eigenlijk nergens is, maar dat wel bestaat door het gebruik ervan.’

Ben je altijd een taalfreak geweest?

‘Op de middelbare school had ik eigenlijk een technische richting gekozen. Wiskunde, natuurkunde en scheikunde vond ik toen interessanter dan taal. Maar toen ik die richting gekozen had, begon ik taal ook interessant te vinden. Ik was toen 17 jaar en vond Louis Paul Boon (Vlaamse schrijver uit de vorige eeuw, red.) een fantastische woordkunstenaar. Ik ging zelf ook gedichten maken. Daardoor raakte ik meer geïnteresseerd in hoe je dat doet. Hoe kom je van een gedachte tot een woord? Daarom ging ik in eerste instantie Nederlands studeren. Toen moest ik kiezen tussen een specialisatie in literatuur, boeken bestuderen en taalwetenschap: het systeem achter woorden analyseren. Daarin kwamen alfa en bèta bij elkaar. Dat was echt iets voor mij.’

Er zit een sticker van Yoshi uit de Super Mario-game op je laptop. Ben je een gamer?

‘O nee, helemaal niet. Die sticker heb ik gekregen van mijn kinderen. Ik vond het grappig, het is net alsof het figuurtje het Apple-logo opeet. Maar ik vond computers wel altijd al leuk. Dat komt door mijn vader, die was door computers gefascineerd. Hij had in de jaren tachtig een van de eerste huiscomputertjes. Hij las van die technische tijdschriften en dan bestelde hij onderdelen, en ging er vervolgens mee spelen. Ik hielp soms mee. Nu zit ik voor mijn werk veel achter de computer. Ik bouw de programma’s voor het onderzoek zelf. Maar in mijn vrije tijd lees ik liever, en ik maak muziek. Ik speel gitaar in een band, met mijn dochter en zoon. Ik heb een tijd als saxofonist in een jazzband gezeten. Muziekmaken is een goede manier om je gedachten van alle beslommeringen af te halen. Het heeft helemaal niets te maken met taal. Nou ja, met een ander soort taal, die van de muziek.’