Data scientists bloeien op met domeinkennis

Data scientists in een nieuwe omgeving
Als data scientists en oprichters van Bluetick stortten we ons een jaar geleden in een compleet onbekende markt. We zagen een kans om het vinden van vergelijkbare rechterlijke uitspraken extreem te versnellen, met gebruik van de juiste technieken. Na het toepassen van een aantal slimme technieken hadden we binnen een aantal weken een werkend prototype gebouwd. Enthousiast en vol vertrouwen presenteerden we dit prototype aan een aantal bevriende advocaten. De reacties waren gemengd: men zag de potentie van de “Bluetick manier van zoeken”, maar de resultaten lieten te wensen over.
Achteraf gezien is dit resultaat goed te verklaren: we hadden in het vormgeven van ons zoekalgoritme totaal geen rekening gehouden met de domeinkennis van onze doelgroep. In dit artikel leg ik uit waarom een data scientist het zich niet kan veroorloven om op een eiland te leven en zich af te schermen van de buitenwereld. Een goede data scientist begrijpt de business waarin hij opereert en is in staat om deze kennis te verwerken in het systeem dat hij ontwikkelt.
Data opschonen is een secuur klusje
Zoals het woord al suggereert, heeft een data scientist data nodig om te kunnen werken. Het liefst zo veel mogelijk, zodat complexe patronen en verbanden kunnen worden herkend. Een voorbeeld van zo’n complex probleem is Named Entity Recognition, waar hier meer over te lezen is. Data komt voor in allerlei vormen, zoals video, foto, tekst en geluid. In het voorbeeld van rechterlijke uitspraken is de dataset een collectie van zo’n 500.000 uitspraken met tekst. In deze uitspraken staan in totaal zo’n 2 miljard woorden.
Vervolgens neem je als data scientist een aantal stappen om de data “op te schonen”. In andere woorden: we willen werken met de meest relevante stukken tekst, zodat het algoritme de juiste verbanden legt. Praktisch gezien betekent dit dat de data goed leesbaar moet worden gemaakt voor de computer. Voorbeelden van stappen die worden gebruikt om de data op te schonen zijn stemming (het reduceren van woorden tot de stam, zodat verschillende vervoegingen van een woord een vergelijkbare betekenis wordt toegekend), en het maken van n-grams (een computer leren dat sommige woorden bij elkaar horen, zoals “billijke vergoeding”). Bij het opschonen van de data is domeinkennis relevant. In het juridisch domein is de manier waarop je omgaat met leestekens essentieel: deze kun je niet zomaar verwijderen uit de tekst. “Art. 8:3 BW” krijgt bijvoorbeeld een volledig andere betekenis wanneer je de leestekens verwijdert: “Art 83 BW”.
Obstakels bij het maken van een model zijn onvermijdelijk
Zodra de data verzameld en opgeschoond is kan een data scientist beginnen met het maken van een slim model. In ons geval was het doel duidelijk: het model moet vergelijkbare uitspraken kunnen terugvinden aan de hand van de tekst die in zo’n uitspraak staat. Het maken van een eerste model is eenvoudig: je onderzoekt welke algoritmes bestaan om dit doel te behalen (zie bijvoorbeeld dit overzicht), en je past het algoritme toe op de door jou samengestelde dataset. In theorie kun je op deze manier een waardevol model maken, die de “vergelijkbaarheid” (similarity) tussen documenten berekent.
Onafhankelijk van de toepassing van een algoritme, loop je in de praktijk tegen obstakels aan. Met deze obstakels doel ik op uitzonderingen en domein-specifieke kennis, die niet expliciet naar voren komt in de inhoud van een dataset. Terugkerend naar ons voorbeeld: een rechterlijke uitspraak is opgedeeld in verschillende alinea’s. Het document begint met een opsomming van de partijen en een uitleg over de procesverloop. Daarna volgt een lijst met overwegingen, welke uiteindelijk leiden tot een conclusie en een beslissing van de rechter. Daarbij komt dat niet ieder document op deze manier gestructureerd is, maar dit mede afhankelijk is van de instantie die een uitspraak doet (Hoge Raad en Raad van State) en het jaartal waarin deze uitspraak is gedaan. Voeg daaraan toe dat een uitspraak van de Hoge Raad een eerdere uitspraak van een Rechtbank kan ‘overrulen’, dat sommige uitspraken totaal betekenisloos zijn (81 RO’tjes), en dat de belangrijkste overwegingen van een rechter terugkomen in de beoordeling van de uitspraak – en je wordt geconfronteerd met de kennis in het hoofd van de domeinexpert.
Een feedback loop is nodig om echte waarde toe te voegen
Het verwerken van dit type domeinkennis in een algoritme is haalbaar, maar daar is een goede samenwerking voor nodig tussen de data scientist en de domeinexpert. Kennis die voor een domeinexpert triviaal is, moet een algoritme eerst gezien hebben voordat hij dit kan laten meewegen. Ik pleit daarom voor een feedback-loop, waarin de gebruiker van een systeem een resultaat kan waardering op bruikbaarheid, en zo expliciet zijn kennis deelt die het algoritme zo hard nodig heeft. Op deze manier blijven wij -nu en in de toekomst- ons zoekalgoritme doorontwikkelen. We blijven samenwerken met en leren van onze domeinexperts: de advocaat.
In mijn vorige artikel sloot ik af met de boodschap dat algoritmes het werk van advocaten niet gaan overnemen. Vandaag trek ik deze boodschap door: een algoritme heeft een advocaat nodig om echte waarde te kunnen leveren.