Zinsontleden nodig om antwoord te geven

Een computerprogramma in Groningen kan negen op de tien zinnen nu goed ontleden. Neerlandici lukt het nauwelijks beter. Het is het begin van een computer die vragen beantwoordt.

Niet alleen supercomputer Watson kan quizvragen beantwoorden. De Groningse computer Alpino doet het ook – een beetje. „Vragen met hoe of waarom zijn voorlopig nog een probleem”, zegt hoogleraar taaltechnologie Gertjan van Noord van de Rijksuniversiteit Groningen. „De gewone quizvragen als ‘Hoeveel inwoners heeft Barcelona?’ en ‘Wat is de hoofdstad van Nigeria?’ lukken wel.”

Van Noord is de initiatiefnemer van het computerprogramma Alpino, dat Nederlandse zinnen taalkundig ontleedt – ook Watson heeft zo’n module voor zinsontleden. Van Noord werkt al meer dan tien jaar aan Alpino. Deze winter bereikte het programma een accuratesse van 90 procent. Een heel goede score, vindt de hoogleraar. Vooral als je bedenkt dat een computer de zinnen die hij ontleedt, niet begrijpt. Ter vergelijking: taalkundigen halen 94 procent, geen 100 (zie kader).

Van Noord legt uit hoe Alpino werkt, aan de hand van de zin ‘Kees drinkt koffie.’ „Het programma kijkt eerst naar de woordsoorten. In dit geval is dat heel gemakkelijk. ‘Kees’ kan alleen een eigennaam zijn, ‘drinkt’ is altijd een werkwoord in de persoonsvorm, en ‘koffie’ is een zelfstandig naamwoord. Dan zijn er in theorie twee mogelijkheden: koffie is lijdend voorwerp, of Kees is lijdend voorwerp. De computer gaat vervolgens na wat het meest waarschijnlijke is. Daar wordt een statistisch model voor gebruikt.”

Het model vertelt de computer dat een lijdend voorwerp in het Nederlands meestal rechts van het werkwoord staat. Dus koffie is hier waarschijnlijk het lijdend voorwerp. Dan zal Kees wel het onderwerp zijn. Klaar.

Maar als je nou de zin ‘Koffie drinkt Kees niet’ neemt? Daar kan het programma alleen de juiste keuze maken als het weet dat koffie een veel voorkomend lijdend voorwerp is bij drinken. Van Noord: „Dat heeft het systeem inmiddels ook geleerd. We hebben de computer op gegeven moment een enorme hoeveelheid Nederlandse zinnen, uit kranten en zo, laten ontleden. Dat hij daarbij af en toe fouten maakt is niet zo erg. Meestal maakt hij de goede keuzes. Door de bank genomen komt hij veel zinnen tegen waarin koffie gedronken wordt. En dat onthoudt hij. Hij weet nu dat drinken en koffie een plausibele combinatie is. Het leuke daaraan is dat hij dat zelf geleerd heeft. We hebben hem als het ware drie maanden lang aangezet, al die tijd zinnen laten analyseren en daarna weet hij dat soort dingen.”

Maar het gaat nog niet altijd helemaal goed. Er zijn altijd vreemde zinnen die mensen automatisch goed interpreteren. Een voorbeeld dat Van Noord laatst tegenkwam was ‘De paus kreeg 400 daklozen te eten.’ In de analyse van de computer kreeg de paus die daklozen letterlijk op zijn bordje: de daklozen waren lijdend voorwerp van eten geworden. Maar ze zijn in werkelijkheid het lijdend voorwerp van ‘kreeg’.

Gaat het in ‘Kees drinkt koffie’ maar om twee mogelijkheden waar de computer uit moet kiezen, bij langere zinnen stijgt het aantal mogelijkheden exponentieel. Bij iedere nieuwe keuzemogelijkheid die zich in een zin voordoet, neemt het totaal aantal mogelijkheden met een factor 2 toe – zoals in de parabel van de graankorrels en het schaakbord. Voor een zin van 20 woorden kunnen er miljoenen mogelijkheden zijn.

„Dat zijn enorme aantallen. Dus hebben we wat shortcuts ingebouwd. We gebruiken een zoekmechanisme dat steeds de meest veelbelovende analyses combineert. Dat werkt heel goed.” Het programma betrekt daarin allerlei zelf vergaarde statistische informatie: in welke volgorde staan de woordsoorten meestal, welke woorden komen vaak in combinatie met elkaar voor, maar bijvoorbeeld ook het gegeven dat ‘kan’ bijna altijd een werkwoord is, en maar heel zelden een zelfstandig naamwoord. „Er zijn heel veel van dat soort voorkeuren. Op dit moment heeft het model er zo’n vierduizend. En dan is er ook nog een model dat het statistisch belang van elk van die voorkeuren tegen elkaar afweegt.”

Wat is het nut van dit alles? Van Noord: „Als je informatie uit grote hoeveelheden tekst wilt halen, kom je veel verder als je niet alleen op woorden, maar ook op syntactische structuren kunt zoeken.”

„Aan de Vrije Universiteit in Amsterdam,” zegt Van Noord, „wordt ons programma nu gebruikt bij het maken van trendanalyses in de Nederlandse politiek. Ze gaan dan in grote tekstbestanden, zoals verzamelde krantenberichten, na wat politici zeggen over bepaalde onderwerpen. Met dit programma kunnen ze zoeken naar alle keren dat een bepaalde politicus het onderwerp is van ‘bekritiseren’. Of juist het lijdend voorwerp daarvan.”