You are here

Een computer leren lezen

... Zhemin Zhu. Zhu omschrijft zijn onderzoek: 'een bed uit elkaar halen en ook weer in elkaar zetten. En dan geen onderdelen overhouden. Maar dan wiskundig.' Kortom, het was een lastige puzzel waar de informaticus zich op gestort heeft. Maar niet zonder resultaat.
Tekst: Edda Heinsman

Zhemin Zhu begon ruim vier jaar geleden aan zijn onderzoek aan de Universiteit Twente. Hij wist al vrij snel waar hij zich op wilde richten, namelijk het probleem van named entity recognition. Hoe leer je een computer wat woorden in een tekst betekenen?

Waarschijnlijkheid

Er bestaan allerlei manieren om een computer tekst te leren begrijpen. Je begint met de computer heel veel tekst aan te bieden. Die tekst moet geïndexeerd zijn, dus elk woord in de zin krijgt een aantal tags mee. Op basis hiervan kan de computer oefenen. Bied je vervolgens een nieuwe tekst aan, dan kan de computer een waarschijnlijkheidsmodel maken. Dat model zegt iets over hoe waarschijnlijk het is dat een bepaalde tag bij een los woord uit een zin in een tekst hoort. Hoe meer woorden in een zin, hoe meer tags. Elke tag is een variabele in het waarschijnlijkheidsmodel.

Dependency Grafiek uit de thesis van Zhemin Zhu

Ikea-bed

Om goed met deze waarschijnlijkheid te werken, is het slim om hem in stukjes te delen. 'Vergelijk het met het verplaatsen van een Ikea-bed', zegt Zhu. 'Dan is het ook slim om hem netjes uit elkaar te schroeven. Je wilt hem elders weer in elkaar kunnen zetten.' De waarschijnlijkheid in stukjes knippen (factorizeren), is een veelgebruikte methode. Maar er zit vaak overlap tussen de verschillende elementen waaruit het model is opgebouwd. Zhu bedacht dat deze overlap niet gewenst is. 'Vergelijk het met het bed: je hebt allerlei losse onderdelen en je zet hem weer in elkaar en een van de poten steekt uit.’

Zhu ging op zoek naar een manier om de overlap zo klein mogelijk te maken. Hij had het idee voor dit model al aan het begin van zijn onderzoek, maar vond het moeilijk uit te leggen wat hij precies van plan was. 'Onderzoek doen is één ding, maar communiceren over wat je in je hoofd hebt, is ook belangrijk. En niet mijn sterkste eigenschap', lacht Zhu. 'Ik heb heel veel gehad aan mijn begeleiders, Peter Apers en Djoerd Hiemstra, ze begrepen me echt. En ook Tom Heskes heeft me geholpen richting te geven aan mijn onderzoek door naar relevante literatuur te verwijzen.'

Overlap

Uiteindelijk lukte het met zijn nieuwe model om de waarschijnlijkheid op te knippen in kleinere delen en de Ikea-kast uit elkaar te schroeven. 'Helaas bleef er een heel klein beetje overlap bestaan. Maar het model leek in theorie te werken.' Op naar de praktijk. Zhu testte zijn model en het bleek ongeveer net zo goed te werken als voorgaande modellen, maar dan wel tien keer sneller te zijn. 'Ik ben ontzettend blij met het resultaat!', aldus Zhu. 'Maar ergens knaagt het dat er nog een heel klein beetje overlap is. Ik zou niet weten hoe dit op te lossen is, ik hoop dat anderen er frisse nieuwe ideeën over hebben en er verder aan zullen werken.

Tetris

Zhu was al jong enthousiast over computers. 'Al waren de spelletjes nog heel simpel. Ik heb zelf ooit een spelletje geprogrammeerd, een soort tetris. Echt leuk dat het werkte!' De keuze voor de studie computer science lijkt een logische, maar Zhu was ook geïnteresseerd in natuurkunde. 'Uiteindelijk wonnen de computers. Het mooie van dit vak is dat je zo snel resultaat hebt. Je vraagt je iets af, programmeert wat en hebt direct een antwoord. Bovendien is het fijn dat je bij computer science – misschien in tegenstelling tot sommige andere richtingen- zo precies moet zijn, dat past wel bij mijn manier van werken.'

Patent

Zhu was blij met zijn studiekeuze, maar zijn enthousiasme voor het onderzoek kwam pas echt op gang toen hij stage ging lopen bij het researchlab van IBM China. 'Mijn onderzoek daar, waarbij we zochten naar clusters in grote grafen, leidde tot een artikel én een patent. Ik bedacht ineens dat ik misschien toch wel aanleg voor het vak had', aldus de bescheiden onderzoeker. Hij kon terecht als onderzoeksassistent in Darmstadt en startte vervolgens zijn onderzoek in Twente.

Elsevier

Inmiddels werkt de informaticus bij Elsevier. Vanaf een kantoor op de 19e verdieping met een indrukwekkend uitzicht over het Amsterdamse westelijk havengebied, legt hij samen met zijn baas Marius Doornenbal uit wat hij bij Elsevier doet. Elsevier beschikt over een enorme hoeveelheid artikelen. Gebruikers kunnen in de archieven zoeken op zoektermen. Maar er is een probleem met scheikundige artikelen. De gebruikte notaties voor formules zijn niet gestandaardiseerd. Bovendien worden de data op allerlei manieren aangeboden, in tabellen, in grafieken. Als er nu iets opgezocht moet worden, komen daar veel mensen aan te pas. Bovendien zijn dit geschoolde chemici, dus kostbaar personeel. Er wordt nu gewerkt aan een algoritme om ook de scheikundige artikelen compleet te indexeren. Zhu gaat op zoek naar een manier om de machine de taal van de chemie te leren.

Een computer de scheikundige taal leren, dat kan de informaticus wel. Maar hoe zit het met zijn eigen talenkennis, bijvoorbeeld die van het Nederlands? 'Ik begrijp veel, maar niet alles. Nederlands spreken is een ander verhaal', lacht de onderzoeker. 'Maar hopelijk heb ik er nu iets meer tijd voor om ook dat onder de knie te krijgen.'

Zhemin Zhu (1981) haalde zijn bachelor computer science aan de universiteit Zhejiang University (China) en master aan de University of Science and Technology of China. Hij liep stage bij het researchlab van IBM China, waar voor zijn werk op het gebied van grafen een patent werd verkregen. Vervolgens werkte hij als onderzoeksassistent aan de universiteit van Darmstadt. In 2011 begon hij zijn promotieonderzoek aan de Universiteit Twente. 16 oktober 2015 promoveerde hij daar met het proefschrift  Co-occurence Rate Networks’. Zijn onderzoek werd deels gefinancierd door Commit, binnen het project TimeTrails. Inmiddels werkt Zhu op de researchafdeling van Elsevier.

PhD verdediging van Zhemin Zhu op de Universiteit Twente