You are here

Wasserette voor dirty data

... Laurens Rietveld. Op 9 maart promoveert hij op het onderwerp 'gekoppelde data'. Wat heeft hij ontdekt?
Tekst: Edda Heinsman

Het web bestaat zo'n vijfentwintig jaar en staat vol met interessante informatie. Maar de inhoud is ongestructureerd. Hoe vindt een computerprogramma zijn weg in de brij waar het web uit bestaat? Het woord waar het in Rietvelds onderzoek om draait is linked data, gekoppelde data. 'Het idee van gekoppelde data is dat je hetzelfde patroon als het web gebruikt, maar dat dingen niet beschreven worden in natuurlijke tekst, maar in triples. Een soort structuur om kennis in te formaliseren', legt hij uit. 'Dankzij deze structuur kunnen computers dingen vinden en dingen afleiden. Als je bijvoorbeeld de triples geeft 'ik woon in Amsterdam' zijn 'ik', 'woon in' en 'Amsterdam' elk een link. Als je vervolgens ook de triples geeft: 'Amsterdam is de hoofdstad van Nederland', kan de computer zelf afleiden dat ik in Nederland woon.'

Corner cases

Na zijn studie kunstmatige intelligentie ging Rietveld eerst een half jaar reizen. Vervolgens werkte hij een jaar als software engineer, iets wat hij tijdens zijn studie ook al deed. 'Dat was goed om aan mijn programmeerskills te werken. Op de universiteit werk je aan een proof of concept, je hoeft alleen aan te tonen dat je idee werkt, maar in een bedrijf moet dat wat je oplevert écht functioneren in de praktijk. Ook voor de vreemde gevallen, de corner cases, als mensen bijvoorbeeld in een online vragenlijst iets geks invullen. Bovendien moet het niet makkelijk te hacken zijn.'

Minstens even slim

Toch miste Rietveld de echte uitdaging en ging hij graag in op de uitnodiging om promotieonderzoek te doen. 'Ik ging er niet in met het idee dat ik professor wil worden, maar het is een heel goede manier om je te ontwikkelen. Je hebt de vrijheid om zelf te kiezen wat je wilt doen, dat is fantastisch. Bovendien word je omringd door mensen die minstens even slim zijn als jij, dat is ook wel een verschil met het bedrijfsleven', lacht Rietveld.

Dat ene feitje

Dankzij gekoppelde data wordt data op een voor machines overzichtelijke manier gestructureerd. Maar met een goed leesbaar netwerk van triples ben je er nog niet. Het is voor een computer lastig om dat ene feitje uit een set van een miljoen te halen. 'Je wil niet het hele bestand pakken, alleen om het feitje te weten dat ik in Amsterdam woon. Een manier om dit te doen is met een SPARQL triple-store. Het is een soort database waarin alle informatie staat en waaraan je vragen kunt stellen. Bijvoorbeeld in welk land woont Laurens? Dan hoef je niet die hele gigabyte te downloaden, maar krijg je het antwoord.' Zo'n database klinkt handig, maar brengt ook problemen met zich mee. Zo is de taal waarmee je de dataset vragen stelt heel complex. Bovendien is het hosten van een SPARQL triple-store duur. Rietveld ging op zoek naar oplossingen.

Kleinere dataset

Twee manieren om de zoektocht in de database makkelijker en dus goedkoper te maken: de dataset verkleinen of de zoekopdracht minder ingewikkeld maken. Rietveld richtte zich eerst op het kleiner maken van de dataset. 'Er bestaan logs van gebruikers van de dataset, dus het is bekend wat voor zoekvragen men er op afvuurt. Hoe maak je de set zo klein mogelijk, en krijgen gebruikers nog wel antwoord op hun vragen? Alleen kijken naar wat er in het verleden gevraagd werd, is dan niet genoeg, als iemand een nieuwe query, een nieuwe zoekopdracht zou bedenken, zou hij geen antwoord krijgen.'

'Ik wilde een oplossing vinden in de structuur van de dataset; op basis van het netwerk voorspellen wat mensen willen weten. Mijn promotor was skeptisch, hij kon zich niet voorstellen dat er een relatie bestaat tussen de structuur en de gevraagde feiten. Maar dat bleek wel het geval; er is een soort predictive quality. Maar het is heel erg afhankelijk van de datasets. De dataset kleiner maken kan, inclusief vragen die nog niet gesteld zijn maar waar je van verwacht dat ze gesteld kunnen worden. Alleen is het van te voren lastig voorspellen welke manier van verkleinen voor jou het beste werkt.'

Complexiteit verlagen

Een andere manier om de zoektocht in een database makkelijker te maken, is de vraag te versimpelen. 'Stel je wil een paper schrijven voor een conferentie die lekker dicht bij het strand ligt. Als je google vraagt 'geef me alle conferenties die op maximaal 100 meter van het strand liggen', komt er waarschijnlijk niets uit. SPARQL kan deze vraag wel beantwoorden, maar dat is duur om te hosten. Door de complexiteit te verminderen, zorg je dat er alleen vragen mogelijk zijn als: geef me alle conferenties, geef me alle stranden, en dan kun je zelf vergelijken wat de afstand is. Dit verlagen van de complexiteit van je zoekopdrachten is mogelijk met een technologie die je linked data fragments noemt. De kosten om zoiets te hosten liggen een stuk lager. '

Datawasserette

De dataset verkleinen en zoekopdrachten versimpelen is dus mogelijk. Maar waar vind je de datasets eigenlijk? Er bestond geen goede zoekmachine voor linked data. Bovendien zitten datasets vaak vol kleine foutjes. Dus ontwikkelde Rietveld samen met Wouter Beek een datawasserette om 'dirty data' op te schonen: de LOD-Laundromat. Met een soort crawling techniek zoekt hij de datasets, downloadt ze, pakt alles uit, maakt alles schoon en publiceert de opgeschoonde dataset in een vast formaat. Inmiddels zitten er 38 biljoen feiten in de lod-laundromat, van geografische tot politieke data. En door de methode van de versimpelde zoekopdrachten, de linked data fragments, te gebruiken, blijft het ook betaalbaar om te hosten.

Rietvelds wasmachine blijkt een nieuwe push te geven aan linked-data-onderzoek. 'Het is een enorme aanwinst. Normaal schreef je een paper op basis van een aantal datasets, en iedereen gebruikte dezelfde sets. Nu beschikken we ineens over 600 duizend datasets! Het stelt onderzoekers in staat om algoritmes beter te onderzoeken, te evalueren en te begrijpen.'

Hobby-project

Aan het begin van Rietvelds promotietraject wist hij nog niets van SPARQL. 'Ik ging er wat mee werken om het me eigen te maken. Het schrijven van een goede query is nog best ingewikkeld. Je maakt makkelijk een fout. Er bestond geen tool om een goede zoekopdracht te schrijven. Dus maakte ik in mijn vrije tijd een editor: Yasgui (yet another sparql gui).' Oorspronkelijk had deze tool weinig met Rietvelds onderzoek te maken. Maar inmiddels is de tool populair bij andere gekoppelde data-onderzoekers en is het voor Rietveld een bron van wetenschappelijke data. 'Ongeveer 60 procent van de gebruikers geeft mij toestemming hun zoekopdrachten te loggen en zo data te verzamelen. Zo heb ik mijn hobbyproject toch kunnen integreren in mijn onderzoek. Aan het begin denk je dat je met losse projecten bezig bent; mooi om te zien hoe het uiteindelijk toch allemaal in je proefschrift samenkomt.'

Luxe positie

Wat hij na zijn promotie gaat doen, weet Rietveld nog niet. 'Ik heb al een paar interessante sollicitatiegesprekken gehad, dus het bedrijfsleven is een optie. Voordeel daar is dat je ideeën echt gebruikt worden, het blijft niet bij een proof of concept, zoals op de universiteit vaak het geval is. Maar ik heb binnenkort ook een gesprek voor een interessante postdoc positie. Onderzoek doen trekt me omdat je dan veel vrijheid hebt. Nadeel is de focus op publiceren, programmeren heeft mijn voorkeur.' Universiteit of bedrijfsleven, Rietveld houdt alle opties open. 'Een eigen bedrijf zie ik ook wel zitten. Zolang ik maar kan blijven programmeren, dat vind ik het leukste. Ik besef dat ik me in een luxe positie bevind, maar dat is het voordeel van informatica, je kunt er alle kanten mee op.'

Laurens Rietveld (1982) behaalde zijn master kunstmatige intelligentie aan de VU in augustus 2010. Hij werkte een jaar als software engineer bij GfK Daphne. Op 9 maart 2016 promoveert hij aan de VU met het proefschrift Publishing and consuming linked data. Zijn onderzoek werd deels gefinancierd door Commit, binnen het project Data2Semantics.