<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Data Mining &#8211; Smals Research</title>
	<atom:link href="https://www.smalsresearch.be/tag/data-mining/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.smalsresearch.be</link>
	<description></description>
	<lastBuildDate>Thu, 09 Apr 2026 12:23:31 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.smalsresearch.be/wp-content/uploads/2026/01/cropped-cropped-Smals_Research-32x32.png</url>
	<title>Data Mining &#8211; Smals Research</title>
	<link>https://www.smalsresearch.be</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Honey, I scraped the kids &#8211; over taalmodellen en privacy</title>
		<link>https://www.smalsresearch.be/honey-i-scraped-the-kids/</link>
		
		<dc:creator><![CDATA[Joachim Ganseman]]></dc:creator>
		<pubDate>Fri, 17 Jun 2022 08:34:33 +0000</pubDate>
				<category><![CDATA[[NL]]]></category>
		<category><![CDATA[Blog post]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[Artificial intelligence]]></category>
		<category><![CDATA[big data]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[data capture]]></category>
		<category><![CDATA[Data Mining]]></category>
		<category><![CDATA[Information management]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[open data]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">/?p=17396</guid>

					<description><![CDATA[De datasets die ten grondslag liggen van enorme taalmodellen zijn zonder veel poespas gescraped van het internet. Een korte zoektocht naar  persoonsgebonden gegevens hierin, brengt al snel heel wat boven water.]]></description>
										<content:encoded><![CDATA[
<p>Taalmodellen, die gebruikt worden voor applicaties zoals automatische vertaling, chatbots, en het <a href="/de-ai-als-auteur/">genereren van teksten</a>, worden steeds groter. Nadat OpenAI&#8217;s <a href="https://github.com/openai/gpt-3">GPT-3</a> nogal wat <a href="https://www.youtube.com/watch?v=_x9AwxfjxvE">furore </a>had gemaakt met haar <a href="https://github.com/elyase/awesome-gpt3">spectaculaire toepassingen</a>, volgen nu regelmatig nog grotere modellen &#8211; Google&#8217;s <a href="https://arxiv.org/abs/2101.03961">Switch</a> of het Chinese <a href="https://en.wikipedia.org/wiki/Wu_Dao">Wu Dao</a> zijn maar enkele van de voorbeelden. (Het woord &#8220;taalmodel&#8221; mag men trouwens met een korrel zout nemen &#8211; in de praktijk gaat het nog steeds om niet meer dan een &#8220;woordvolgordemodel&#8221;)</p>



<p>Enorme taalmodellen moeten worden getraind met enorme datasets. Om die te verzamelen wordt op geen bron meer of minder gekeken: <a href="https://pile.eleuther.ai/">The Pile</a>, zowat de grootste dataset van Engelstalige tekst die vandaag bestaat, tikt ongeveer 825 GB aan. De volledige Engelstalige Wikipedia maakt er deel van uit, voor 6.3 GB, oftewel 0.7% van de collectie. Andere databronnen zijn <a href="https://commoncrawl.org/">CommonCrawl</a> , <a href="https://openwebtext2.readthedocs.io/en/latest/">OpenWebText</a> , maar er worden ook tekstfragmenten gebruikt afkomstig van Github, ArXiv, PubMed, StackExchange, OpenSubtitles, zelfs het <a href="https://www.statmt.org/europarl/">Europees Parlement</a>. </p>



<p>Veel van die datasets zijn met eenvoudige <a href="https://en.wikipedia.org/wiki/Web_scraping">webscraping </a>scripts verzameld. Of dat <a href="https://www.scraperapi.com/blog/is-web-scraping-legal/">allemaal wel mag</a> volgens copyright- en privacywetgevingen allerhande, is een ingewikkelde vraag met een nog ingewikkelder antwoord en dus maakt men daar voor het gemak in eerste instantie vaak abstractie van. Kwaliteitschecks en fijnmazige filters zijn tijdrovend als je ze accuraat wil maken, en in de wedloop om het grootste taalmodel sneuvelen die dus helaas ook maar al te vaak. </p>



<p>Gegeven de enorme verscheidenheid aan bronnen, websites, tekstformatteringen en dataverzamelingsmethodes, is het zo haast onvermijdelijk geworden dat in datasets van die grootteorde toch nog <a href="https://ec.europa.eu/info/law/law-topic/data-protection/data-protection-eu_nl">persoonsgegevens </a>of <a href="https://economie.fgov.be/nl/themas/intellectuele-eigendom/intellectuele-eigendomsrechten/auteursrecht-en-naburige/auteursrechten">auteursrechtelijk</a> beschermde teksten terechtkomen &#8211; zelfs als men moeite doet om enigszins correct te handelen. Reden genoeg om zelf eens in zo&#8217;n dataset te duiken en te kijken wat we daarin terugvinden.</p>



<h1 class="wp-block-heading">OSCAR</h1>



<figure class="wp-block-image alignright size-full is-resized"><a href="/wp-content/uploads/2022/06/avatar_hub278c5e06b117b962e66239a5e135575_291648_270x270_fill_lanczos_center_3.png"><img fetchpriority="high" decoding="async" width="270" height="270" src="/wp-content/uploads/2022/06/avatar_hub278c5e06b117b962e66239a5e135575_291648_270x270_fill_lanczos_center_3.png" alt="OSCAR logo" class="wp-image-17500" style="width:135px;height:135px" srcset="https://www.smalsresearch.be/wp-content/uploads/2022/06/avatar_hub278c5e06b117b962e66239a5e135575_291648_270x270_fill_lanczos_center_3.png 270w, https://www.smalsresearch.be/wp-content/uploads/2022/06/avatar_hub278c5e06b117b962e66239a5e135575_291648_270x270_fill_lanczos_center_3-150x150.png 150w" sizes="(max-width: 270px) 100vw, 270px" /></a><figcaption class="wp-element-caption">OSCAR logo</figcaption></figure>



<p><a href="https://oscar-corpus.com/">OSCAR </a>is een meertalige dataset die regelmatig wordt gebruikt voor niet-Engelstalige taalmodellen. De Nederlandstalige subset ervan kan dienen als basis van een <a href="https://blog.ml6.eu/dutch-gpt2-autoregressive-language-modelling-on-a-budget-cff3942dd020">Nederlandstalige tekstgenerator</a>. OSCAR is op zijn beurt afgeleid van <a href="https://commoncrawl.org/">CommonCrawl</a>, een grootschalige dataset van scraped websites, waarvan de makers wel aangeven dat <a href="https://www.robotstxt.org/">robots.txt</a> en HTML <a href="https://microformats.org/wiki/Main_Page">no-follow</a> specificaties gehonoreerd werden, maar waar verder weinig meer mee gebeurd is dan gegevensopslag. OSCAR groepeert die per taal, voegt wat <a href="https://ids-pub.bsz-bw.de/frontdoor/index/index/docId/9021">extra preprocessing</a> toe, en zet de tekstfragmenten in willekeurige volgorde, om zo copyrightproblemen te vermijden. We doen hier geen uitspraak over de vraag of dat wel voldoende is voor dat doel. Een bijkomend effect daarvan is wel dat de inhoudelijke relatie tussen opeenvolgende tekstfragmenten in deze dataset dus verloren is gegaan. (De <a href="https://arxiv.org/abs/2201.06642">laatste paper</a> van de auteurs probeert daar alsnog een mouw aan te passen.)</p>



<p>We bekijken de Nederlandstalige gegevens uit de eerste versie van deze dataset uit 2019 (toegang tot <a href="https://huggingface.co/datasets/oscar-corpus/OSCAR-2109">versie 2021</a> of <a href="https://huggingface.co/datasets/oscar-corpus/OSCAR-2201">versie 2022</a> vereisen registratie of aanvraag). Deze is vrij beschikbaar in de dataset repository van Huggingface, dat ook een eerste <a href="https://huggingface.co/datasets/oscar/viewer/unshuffled_deduplicated_nl/train.">preview van de inhoud</a> voorziet. Bij Huggingface vermeldt men summier dat de dataset <a href="https://huggingface.co/datasets/oscar#personal-and-sensitive-information">persoonlijke of gevoelige informatie</a> kan bevatten, en dat de training van een AI-model op basis van deze dataset gevoelig kan zijn voor <a href="https://huggingface.co/datasets/oscar#discussion-of-biases">biases</a>, zonder dieper in te gaan op deze problematiek. De verantwoordelijkheid hiervoor wordt bij de gebruiker van de dataset gelegd.</p>



<p>De Nederlandstalige subset van OSCAR bestaat uit 126.064.721 tekstfragmenten van één tot enkele zinnen lang, die we kunnen samengevoegen tot 1 tekstbestand met een grootte van ongeveer 40GB. In wat volgt doorzoeken we deze dataset naar gegevens die als persoonlijk of gevoelig beschouwd zouden kunnen worden. Het valt aan te nemen dat die gegevens grotendeels zijn gescrapet zonder medeweten van de originele auteurs of van de websites waarop ze oorspronkelijk gepubliceerd waren. We tonen telkens een selectie van wat we zoal terugvinden ter illustratie, maar om de mogelijke privacy- en copyrightproblemen niet erger te maken dan ze al zouden kunnen zijn, maskeren we in dit artikel de gevonden gevoelige gegevens alsnog en markeren we ze rood. </p>



<h1 class="wp-block-heading">Gevoelige gegevens in OSCAR</h1>



<p>Door gewoon reguliere expressies toe te passen, die je vaak kan <a href="https://regex101.com/library">copy-pasten van het internet</a>, kunnen we al veel boven water halen.&nbsp;Om emailadressen te detecteren, gebruiken we een relatief eenvoudig patroon, waarmee we <strong>685.968 potentiële matches</strong> terugvinden (let wel dat veel algemene emailadressen, bijvoorbeeld van helpdesks of infolijnen of grote organisaties, herhaaldelijk voorkomen):</p>



<pre class="wp-block-code"><code>grep -a -e "&#91;a-zA-Z0-9._]\+@&#91;a-zA-Z]\+.&#91;a-zA-Z]\+" oscar_nl_full.txt</code></pre>



<ul>
<li><em>Ik gooide enkele nieuwe data online! Wie zin heeft kan zich inschrijven door te mailen naar <span style="color: #ff0000;">e*******s@gmail.com</span></em></li>
<li><em>Ontdek hoe je een WordPress thema vindt dat echt bij jou past! www.speciaalgeselecteerd.nl jouw gids voor WordPress thema s Door: <span style="color: #ff0000;">S******* v** N********</span> Datum: 1-1-2016 E-mail: <span style="color: #ff0000;">s********@innonet.nl</span> WordPress</em></li>
<li><em>De hoofdleiding bestaat uit <span style="color: #ff0000;">D***** V******<span style="color: #000000;">,</span> G***** G*******<span style="color: #000000;">,</span> M**** W****** <span style="color: #000000;">en</span> F***** V*** B*****<span style="color: #000000;">,</span></span> hen kan je contacteren via <span style="color: #ff0000;">0497******</span> (<span style="color: #ff0000;">D*****</span>), <span style="color: #ff0000;">0493******</span> (<span style="color: #ff0000;">G*****</span>), <span style="color: #ff0000;">0477******</span> (<span style="color: #ff0000;">M****</span>) en <span style="color: #ff0000;">0498******</span> (<span style="color: #ff0000;">F*****</span>). Een mailtje naar <span style="color: #ff0000;">i***@c*********.be</span> is ook altijd mogelijk. Zij zullen jullie graag helpen met vragen, opmerkingen of klachten.</em></li>
</ul>



<p>Veel emailadressen lijken afkomstig van contactpagina&#8217;s op websites van bedrijven, organisaties, maar je herkent ook overduidelijk verenigingen, lokale initiatieven, jeugdbewegingen, en forumgebruikers die hun persoonlijke contactgegevens achterlaten, waaronder telefoonnummers. Het volgende patroon zoekt naar cijfercombinaties die eruit zien als een Belgisch telefoonnummer, in de meest voorkomende schrijfwijzen. (Het patroon is iets te algemeen opgesteld, met als nadeel dat we er ook onderdelen van niet-telefoonnummers mee vinden.) Dat leidt alleszins al tot <strong>289.461 potentiële matches</strong>:</p>



<pre class="wp-block-code"><code>grep -a -P "(((\+|00)32&#91; ]?(?:\(0\)&#91; ]?)?)|0){1}(4(60|&#91;789]\d)\/?(\s?\d{2}\.?){2}(\s?\d{2})|(\d\/?\s?\d{3}|\d{2}\/?\s?\d{2})(\.?\s?\d{2}){2})" oscar_nl_full.txt 
</code></pre>



<ul>
<li><em>Tijdens de openingstijden kan je via de Live Chat of via de telefoon <span style="color: #ff0000;">07********</span> vragen stellen aan één van onze medewerkers.</em></li>
<li><em>[&#8230;] Heeft u vragen over onze werkwijze, prijzen of materialen dan zijn we bereikbaar op de nummers <span style="color: #ff0000;">03/***.**.**</span> en <span style="color: #ff0000;">03/***.**.**</span>. Ook kunt u een e-mail sturen naar [email protected] of het contactformulier invullen.</em></li>
<li><em>Op 22 september vertrekken we op speel-weekend naar Ronse. Wil je nog mee? Als de bliksem bellen naar <span style="color: #ff0000;">R******* 0496/**.**.**</span></em></li>
<li><em>Propere betonnen palen 8 stuks, geen beton/cement aan de onderkant van de paal- lengte 2.05m. Bieden vanaf €7/stuk. Tel <span style="color: #ff0000;">0478/******</span></em></li>
</ul>



<p>Ook hier vinden we veel contactgegevens van bedrijven, maar een aanzienlijk deel zijn ook persoonlijke telefoonnummers afkomstig van berichten die mensen postten op online marktplaatsen of zoekertjeswebsites. Bankrekeningnummers, BTW-nummers e.d. duiken ook op tussen de gevonden data. Om te blijven focussen op persoonsgerelateerde data, gaan we nog op zoek naar Twitter of Instagram handles. Deze kunnen bijvoorbeeld afkomstig zijn van conversaties op Twitter en Instagram zelf, van internetfora waar mensen erover spreken, of van de footers van webpagina&#8217;s met links naar sociale media. Afgezien van enkele bedrijven wiens naam of product met een @ begint, gaan achter de meeste gevonden handles echte, actieve mensen of organisaties schuil. We vinden zo <strong>131.364 potentiële matches</strong>:</p>



<pre class="wp-block-code"><code>grep -a -e " @&#91;a-zA-Z0-9]\+" oscar_nl_full.txt</code></pre>



<ul>
<li>Vandaag waren we op bezoek bij Leo Timmers, maker van Een huis voor Harry, het Prentenboek van het Jaar 2019! En we gingen Billy ontmoeten, de kat waar Harry op geïnspireerd is. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f60d.png" alt="😍" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Ik had dus de dag van m’n leven. <span style="color: #ff0000;">@v***********</span> #cat #books #brussels #reading #catsofbrussels #eenhuisvoorharry&nbsp;</li>
<li>[&#8230;] <span style="color: #ff0000;">R*****</span> twitterde dit naar mij en <span style="color: #ff0000;">@p********</span>, afgelopen zondagmiddag. We hadden het over de blogs die Ruud had willen schrijven die dag: drie stuks maar liefst. De blogs kwamen er inderdaad niet. Nooit meer. <span style="color: #ff0000;">R*****</span> overleed maandagavond <span style="color: #ff0000;">[datum]</span>. Ik heb een goede vriend verloren.</li>
<li>Zeg <span style="color: #ff0000;">@********</span> wat willen jullie nou in de omgangsvorm: &#8216;u&#8217; of &#8216;je&#8217;? Maak een keuze! <span style="color: #ff0000;">https://t.co/********</span></li>
<li><span style="color: #ff0000;">@********</span> En niet alleen dat. Het kenteken <span style="color: #ff0000;">*-***-**</span> staat mooi op beeld. Kijk dus uit voor deze asociale weggebruiker, mede-weggebruikers. @ <span style="color: #ff0000;">[datum]</span></li>
</ul>



<p>Er duikt duidelijk een heel palet aan persoonsgebonden informatie in deze dataset op, zoals ook nummerplaten, berichten over ziekte of overlijden, politieke voorkeuren, informatie over wanneer personen waar geweest zijn, en nog heel wat meer. Met hetzelfde gemak vinden we ook beledigingen tegen personen terug, verwensingen allerhande, racistische fragmenten, &#8230; we kunnen alleszins heel lang bezig blijven als we hierop enige grip willen krijgen in zo&#8217;n dataset.  </p>



<p>Een heel ander gevoelig onderwerp is erotische inhoud. Er zijn alvast <strong>2.459.800 matches </strong>voor woorden die beginnen met &#8220;seks&#8221; of &#8220;sex&#8221; in dit eerste deeltje van de dataset. Voorbeelden daarvan geven we terwille van de goede smaak niet mee, maar u mag de auteur op zijn woord geloven dat de meeste gevonden tekstfragmenten niet van droog-wetenschappelijke papers of schoolse seksuele opvoeding afkomstig zijn. Op een totaal van 126 miljoen zinnen, kunnen we zo schatten dat zulke inhoud ongeveer <strong>2% van het totaal</strong> uitmaakt in deze dataset.&nbsp;</p>



<h1 class="wp-block-heading">Kom ik er in voor?</h1>



<p>Dat kunnen we gemakkelijk achterhalen:</p>



<pre class="wp-block-code"><code>grep -a -e "Joachim Ganseman" oscar_nl_full.txt  </code></pre>



<ul class="wp-block-list">
<li>De 27e Internationale Olympiade Informatica vond plaats in Almaty, Kazachstan. De Belgische ploeg werd gevormd door Damien Galant (5e middelbaar), Robin Jadoul, Mattéo Couplet en Nico Ekkart (allen 6e middelbaar). Zij werden begeleid door Damien Leroy en Joachim Ganseman. [&#8230;]</li>



<li>[&#8230;] De bouwstenen voor artificiële intelligentie (AI) liggen klaar, maar ze staan op los zand. Dhr. Joachim Ganseman van Smals Research bestudeerde de zwaktes van AI. In zijn artikel op de Research-blog bespreekt hij een aantal uitdagingen voor de toekomst. </li>



<li>Joachim Ganseman wordt onderscheiden voor de ijver waarmee hij als jonge doctoraatsstudent de Belgische informatica-olympiade heeft gesticht, coördineert en communiceert in beide landshelften, met bijzondere inspanningen voor de toegankelijkheid voor alle leerlingen, ongeacht voorkennis.</li>
</ul>



<p>In 7 tekstfragmenten komt mijn volledige naam voor, voornamelijk in verband met mijn engagement bij de <a href="https://www.be-oi.be/">Belgische Informatica-olympiade</a> van 2011 tot 2018. Geen info die iets schandaligs of schaamtelijks bevat, integendeel, maar ik was niet op de hoogte. Als je ooit met naam en toenaam in de krant of op een website van een grotere organisatie hebt gestaan, lijkt de kans alleszins groot dat je naam in dat verband ook in de OSCAR dataset voorkomt. Het blijft dus erg belangrijk om in het achterhoofd te houden dat <a href="https://www.ikbeslis.be/jongeren/privacy-online/denk-na-voor-je-iets-post">dat wat eenmaal op het internet staat, er erg moeilijk terug af gaat</a>.</p>



<p>Misschien kan het een goed idee zijn om, naar analogie van <a href="https://haveibeenpwned.com/">Have I Been Pwned</a> die je waarschuwt voor paswoordlekken, een gelijkaardige dienst te hebben bij <a href="https://huggingface.co/">dataset repositories</a> waarmee gebruikers kunnen checken of hun persoonlijke informatie voorkomt in datasets? Tijd en middelen ontbreken om zoiets zelf verder uit te werken, maar we laten het hier staan als een interessante suggestie.</p>



<h1 class="wp-block-heading">En dan?</h1>



<p>We moeten nog vermelden dat de makers van de CommonCrawl en OSCAR datasets zelf niet Nederlandstalig zijn. Zij hebben dan ook niet onmiddellijk manieren ter beschikking om de verzamelde fragmenten in het Nederlands (en in de meeste van de andere 165 talen in OSCAR) op hun inhoudelijke merites te gaan beoordelen, en presenteren deze datasets &#8220;as is&#8221;. </p>



<p>Gegeven het feit dat persoonsgebonden gegevens gemakkelijk te vinden zijn op het internet voor wie  een beetje zoekt &#8211; en zeker op sociale media of op marktplaatsen waar ze gretig uitgewisseld worden &#8211; is het niet verwonderlijk dat deze gegevens ook terechtkomen in datasets verzameld via webscraping, als er een breed net wordt uitgegooid en weinig wordt gefilterd.</p>



<p>Smals Research is een technisch team zonder juristen in haar rangen; we laten uitspraken over het wettelijke kader rond webscraping, auteursrechten, en de gebruiksvoorwaarden van websites, in een internationale context, dan ook liever over aan <a href="https://www.law.kuleuven.be/citip">mensen die daar meer van kennen dan wij</a>. Het is in onze sector wel algemeen bekend dat de persoonsgegevens van EU-ingezetenen beschermd worden door de <a href="https://ec.europa.eu/info/law/law-topic/data-protection/data-protection-eu_nl">GDPR</a>. Dat houdt onder andere in dat zij de <a href="https://www.gegevensbeschermingsautoriteit.be/professioneel/avg/rechten-van-de-burgers/het-recht-van-inzage">inzage </a>en verwijdering van hun gegevens moeten kunnen vragen, en informatie moet kunnen krijgen over het gebruik ervan. Het wordt natuurlijk moeilijk om dat recht effectief uit te oefenen, als gegevens op elk moment in een externe database kunnen worden overgenomen, zonder medeweten van die persoon of zelfs van de website waarop ze gepubliceerd waren. </p>



<figure class="wp-block-image alignleft size-medium"><a href="/wp-content/uploads/2021/06/rita_bookshelfwriter_bibleapachespiderman.png"><img decoding="async" width="300" height="225" src="/wp-content/uploads/2021/06/rita_bookshelfwriter_bibleapachespiderman-300x225.png" alt="NLG systemen schrijven tekst op basis van wat ze tijdens de trainingsfase hebben gezien." class="wp-image-16313" srcset="https://www.smalsresearch.be/wp-content/uploads/2021/06/rita_bookshelfwriter_bibleapachespiderman-300x225.png 300w, https://www.smalsresearch.be/wp-content/uploads/2021/06/rita_bookshelfwriter_bibleapachespiderman-768x576.png 768w, https://www.smalsresearch.be/wp-content/uploads/2021/06/rita_bookshelfwriter_bibleapachespiderman.png 1024w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption class="wp-element-caption">Een AI-model dat tekst schrijft, doet dat op basis van wat het tijdens de trainingsfase heeft gezien. [&#8220;Bookshelf Writer&#8221;, Andreas Refsgaard, Kåre Magnus Sand Solvåg, Riccardo Cereser (c) Copenhagen Institute of Interaction and Design]</figcaption></figure>



<p>Wie van zulke datasets gebruik maakt om AI systemen te trainen, is technisch gesproken de daarin begrepen persoonsgegevens aan het verwerken, en lijkt zo alvast automatisch een verantwoordelijkheid te hebben ten aanzien van die betreffende personen. Het is daarnaast niet ondenkbaar dat een <a href="https://www.analyticsvidhya.com/blog/2021/07/data-leakage-and-its-effect-on-the-performance-of-an-ml-model/">verkeerd of slecht getraind AI-systeem</a> deze gegevens expliciet opneemt in het resulterend model, en ze aanwendt om bepaalde beslissingen te nemen, wat een <a href="https://www.microsoft.com/en-us/research/theme/fate/">risico op bias</a> met zich meebrengt. Tot slot weet je nooit of er ergens een slecht beveiligde website gescrapet werd door de dataset-maker, waardoor er misschien login-gegevens of paswoorden voorkomen in de dataset.</p>



<h1 class="wp-block-heading">Een alternatieve werkwijze</h1>



<p>De onderzoeksgroep <a href="https://www.rug.nl/research/clcg/research/cl/">Computationele Linguïstiek</a> van de Universiteit van Groningen bouwde een <a href="https://dx.doi.org/10.18653/v1/2021.findings-acl.74">eigen variant</a> van een Nederlandstalig GPT-2 model. Zij zijn natuurlijk wél Nederlandstalig, en waren ook selectiever in het kiezen van hun trainingsdata. In hun paper lezen we dat die bestaat uit de Nederlandstalige Wikipedia (2.0GB), een grote hoeveelheid E-books (6.5GB), een <a href="https://research.utwente.nl/en/publications/twnc-a-multifaceted-dutch-news-corpus">dataset van nieuwsartikels</a> die weliswaar nog van 2007 dateert (2.9GB) aangevuld met artikels van andere nieuwswebsites (2.1GB). Na het wegfilteren van duplicaten is dat goed voor een trainingsdataset van 13GB aan Nederlandstalige tekst. Gegeven deze bronnen is het aannemelijk dat hun dataset alvast correcter geschreven Nederlands bevat van een inhoudelijk hogere standaard.</p>



<p>De eigenlijke dataset vonden we na een korte zoektocht niet onmiddellijk terug, dus het is moeilijk de inhoud verder te bekijken &#8211; wie weet waar ze ergens beschikbaar zou zijn, mag het steeds laten weten. Het valt alleszins te verwachten dat de inhoud van deze dataset minder problematisch zal zijn op het vlak van persoonlijke gegevens dan OSCAR. Langs de andere kant stelt zich, met een dataset afkomstig van krantenartikels en e-books, misschien wel nog een copyrightprobleem.</p>



<p>Kieskeurig zijn qua trainingsdata heeft weliswaar een keerzijde. Een generatief taalmodel getraind op een selecte dataset is gelimiteerder qua teksten die het kan produceren. Tekstfragmenten die lijken op sociale-media-posts zullen moeilijk gegenereerd kunnen worden door een model dat niet getraind werd op data afkomstig van sociale media, en een hoge aandeel e-books leidt ook tot prozaïscher teksten. Tot slot maakt het groot aandeel van oudere nieuwsartikels ook dat het getrainde model teksten &#8220;uit die tijd&#8221; zal produceren, en relatief minder woordenschat en zinswendingen kent over recente trends, technologische uitvindingen of politieke ontwikkelingen.</p>



<h1 class="wp-block-heading">Conclusie</h1>



<p>We hebben hier slechts één Nederlandstalige dataset onder de loep genomen, maar het spreekt voor zich dat dezelfde problemen zich stellen in gelijkaardige datasets voor andere talen.</p>
<p>Het valt op dat enkele eenvoudige filters, bijvoorbeeld om emailadressen, rekeningnummers, persoonlijke profielinformatie of andere persoonsgegevens te detecteren, al een heel deel van deze problematische inhoud zouden kunnen wegfilteren. Een sluitende garantie geven dat er niets fouts meer voorkomt is haast onmogelijk in datasets van deze grootteorde, maar hier hebben we toch kunnen illustreren dat er soms wel érg weinig moeite gedaan lijkt te zijn om de datasets een beetje op te schonen. </p>
<p>Propere datasets maken, deze inhoudelijk onderzoeken en daarbij in de diepte graven, kost natuurlijk tijd en moeite &#8211; enkel om problematische stukjes weg te vijlen die in hun geheel maar een klein deeltje uitmaken van de hele dataset, wat dus waarschijnlijk ook maar een kleine impact zou hebben op het daaruit resulterende taalmodel. Het is moeilijk hard te maken dat zulk monnikenwerk zich economisch terugverdient, en garanties dat je effectief alles verwijdert zijn er evenmin.</p>
<p>Toch is het belangrijk dat er voldoende aandacht geschonken wordt aan de kwaliteit van de onderliggende datasets. Als dat niet werkbaar is vanwege hun grootte, moet je je minstens een idee vormen van de impact van mogelijke onregelmatigheden erin. Een <a href="https://www.gegevensbeschermingsautoriteit.be/professioneel/avg/effectbeoordeling-geb">data protection impact assessment</a> is net daarvoor bedoeld, en is in sommige gevallen verplicht.</p>
<p><span style="text-decoration: underline;"><strong>Het blind hergebruiken van een dataset die je zelf niet hebt samengesteld, is een slecht idee.</strong></span> Dat geldt bij uitbreiding eigenlijk ook voor het indirect gebruik ervan via een derde partij of een externe software-library. Dit is overigens een algemeen advies dat geldt voor elke toepassing van machine learning. Wie beter wil doen en ethiek wat hoger in het vaandel wil dragen, vindt goede startpunten in de paper <a href="https://arxiv.org/abs/1803.09010">Datasheets for Datasets</a> en bij initiatieven zoals <a href="https://ainowinstitute.org/">AI Now</a>.</p>



<p>______________________</p>



<p><em>Dit is een ingezonden bijdrage van Joachim Ganseman, IT consultant bij Smals Research. &nbsp;Dit artikel werd geschreven in eigen naam en neemt geen standpunt in namens Smals.</em></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Data scrambling: synthetische data in de praktijk</title>
		<link>https://www.smalsresearch.be/data-scrambling-synthetische-data-in-de-praktijk/</link>
		
		<dc:creator><![CDATA[Joachim Ganseman]]></dc:creator>
		<pubDate>Wed, 23 Mar 2022 14:00:00 +0000</pubDate>
				<category><![CDATA[[NL]]]></category>
		<category><![CDATA[Blog post]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[data center]]></category>
		<category><![CDATA[Data Integration]]></category>
		<category><![CDATA[Data Mining]]></category>
		<category><![CDATA[Information management]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[synthetic data]]></category>
		<guid isPermaLink="false">/?p=17110</guid>

					<description><![CDATA[In dit artikel kijken we naar de praktische bekommernissen als we tools voor synthetische data inzetten: wat komt een data professional die hiermee aan de slag moet zoal tegen?]]></description>
										<content:encoded><![CDATA[
<p>Oracle definieerde <em>data scrambling</em> ooit <a href="https://docs.oracle.com/cd/E11857_01/em.111/e18709/T508706T512067.htm">als volgt</a>: <em>&#8220;the process to obfuscate or remove sensitive data. This process is irreversible so that the original data cannot be derived from the scrambled data.&#8221;</em> Als zodanig hoort het zeker thuis onder de <a href="/wanneer-is-welke-privacybevorderende-technologie-nuttig/">privacybevorderende technologieën waarvan eerder spake</a>: het doel is de gegevens zo goed mogelijk af te schermen, maar ze toch (deels) bruikbaar te houden voor derden. In strikte zin is scrambling slechts een <a href="https://www.imperva.com/learn/data-security/data-masking/">vorm </a>van <a href="https://www.datamasker.com/DataMasking_WhatYouNeedToKnow.pdf">data masking</a>, maar in dit artikel hanteren we een bredere definitie en rekenen we o.a. ook shuffling en substituties ertoe. Deze technologieën worden onder andere toegepast bij banken, waar testers en ontwikkelaars wel een stacktrace moeten kunnen onderzoeken of een programma moeten testen, maar daarbij geen inzage mogen krijgen in de echte bankgegevens van klanten.</p>



<p>Als het doel is om een functioneel alternatief te voorzien voor gevoelige data, zijn tools voor de creatie van <a href="/synthetic-data/">synthetische data</a> bij uitstek geschikt. Ze kunnen immers meer dan enkel de bestaande gegevens door elkaar gooien: ze zijn gemaakt om de structuur van gegevens aan te leren, waarna je willekeurig veel nieuwe gegevens volgens dezelfde structuur kan aanmaken. In combinatie met <a href="https://faker.readthedocs.io/en/master/">generatoren</a> voor totaal fictieve gegevens, hebben we daarmee alles voorhanden om niet alleen de originele gegevens te verbergen, maar ook om te zorgen dat wat in de plaats komt, realistisch oogt. </p>



<p>Dat betekent echter niet dat het een kwestie is van een druk op de knop. Eén en ander hangt af van allerlei randvoorwaarden en aannames over de inhoud en structuur van de gegevens. Afhankelijk van de beoogde toepassing of het doel, kan het nodig zijn om extra beperkingen en filters op te leggen, of misschien net om bepaalde delen van de gegevens buiten beschouwing te laten. In dit artikel kijken we vooral naar die <strong>praktische bekommernissen</strong>: wat kom je zoal tegen als data professional die synthetische data moet aanmaken?</p>



<p></p>



<figure class="wp-block-image size-large"><a href="/wp-content/uploads/2022/03/2022-03-23_13h12_45.png"><img decoding="async" width="1024" height="447" src="/wp-content/uploads/2022/03/2022-03-23_13h12_45-1024x447.png" alt="" class="wp-image-17153" srcset="https://www.smalsresearch.be/wp-content/uploads/2022/03/2022-03-23_13h12_45-1024x447.png 1024w, https://www.smalsresearch.be/wp-content/uploads/2022/03/2022-03-23_13h12_45-300x131.png 300w, https://www.smalsresearch.be/wp-content/uploads/2022/03/2022-03-23_13h12_45-768x335.png 768w, https://www.smalsresearch.be/wp-content/uploads/2022/03/2022-03-23_13h12_45-1536x670.png 1536w, https://www.smalsresearch.be/wp-content/uploads/2022/03/2022-03-23_13h12_45.png 1648w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Synthetische data in de praktijk: uit de originele data (boven) wordt de structuur approximatief aangeleerd, het resulterende generatieve model kan daarna realistisch lijkende fictieve gegevens genereren (onder).</figcaption></figure>



<h1 class="wp-block-heading">Setup</h1>



<p>Wie een dataset wil scramblen, heeft uiteraard toegang nodig tot de originele gegevens. Het spreekt voor zich dat het uploaden van gevoelige data naar een cloud service of zelfs het gebruik van een <a href="/distributie-van-cloud-services/">Docker container voorzien door een derde partij</a>, slechts mogelijk is als er grondig is nagedacht over GDPR-compliance, eventueel een Data Protection Impact Assessments (DPIA) is opgesteld, en best ook met de DPO is overlegd. We doen zelf geen enkele uitspraak over de geschiktheid van eender welke tool vis-à-vis de GDPR-wetgeving. Voor al wat volgt gaan we ervan uit dat we werken met tabulaire, tekstuele of numerieke gegevens, die lokaal beschikbaar zijn &#8211; met andere woorden, een grote spreadsheet.</p>



<h2 class="wp-block-heading">De markt</h2>



<p>In een <a href="/synthetic-data/">vorig artikel</a> vermeldden we al enkele spelers vanuit de optiek van AI-projecten en software testing. Hier ligt onze focus meer op de privacybescherming en data science. Voor het analyseren en synthetiseren van tabulaire gegevens is er een heel sterk groeiende markt. Enkele interessante spelers zijn de volgende &#8211; en er zijn er ongetwijfeld nog veel meer:</p>



<ul class="wp-block-list">
<li><a href="https://mostly.ai/">Mostly.ai</a></li>



<li><a href="https://ydata.ai/">YData</a></li>



<li><a href="https://www.tonic.ai/">Tonic</a></li>



<li><a href="https://gretel.ai/">Gretel</a></li>



<li><a href="https://www.synthesized.io/">Synthesized.io</a></li>
</ul>



<p>Open source tools zijn er minder en zijn vaak afkomstig van projecten die op universiteiten zijn begonnen. <a href="https://www.benerator.de/">Benerator </a>vermelden we apart omdat deze al langer bestaat en ook een uitgebreid commercieel aanbod heeft. Jongere open source initiatieven zijn onder andere:</p>



<ul class="wp-block-list">
<li><a href="https://sdv.dev/">Synthetic Data Vault (SDV)</a></li>



<li><a href="https://mimesis.name/master/">Mimesis</a></li>



<li><a href="https://dmey.github.io/synthia/">Synthia</a></li>



<li><a href="https://dataresponsibly.github.io/">Data Responsibly</a>&#8216;s <a href="https://github.com/DataResponsibly/DataSynthesizer">DataSynthesizer</a></li>



<li>MITRE&#8217;s <a href="https://synthetichealth.github.io/synthea/">Synthea</a> / <a href="https://synthea.mitre.org/">SyntheticMass</a> (toegespitst op eHealth)</li>
</ul>



<p>SDV is momenteel de populairste van de open source tools, en we gebruiken deze voor al wat volgt. In onze <a href="/download/review/quick_review/QR-SDV.pdf">Quick Review</a> vind je meer uitleg over deze tool.</p>



<h2 class="wp-block-heading">Het stappenplan</h2>



<p>Het plan van aanpak om synthetische data te produceren is bij de meeste tools heel gelijkaardig. We kunnen het onderverdelen in 6 grote stappen: </p>



<ol class="wp-block-list">
<li>Upload en <strong>inlezen </strong>van de gegevens. Met name de <a href="https://nl.wikipedia.org/wiki/Tekencodering">tekst-encodering </a>kan hier wel eens voor problemen zorgen als de gegevens uit oudere bronnen afkomstig zijn. Problemen hiermee moeten opgelost worden voordat men aan de volgende stappen begint.</li>



<li><strong>Analyse </strong>en typering van de gegevens. Voor elke kolom: welke zijn de minima, maxima, de waarden die voorkomen, zijn er missende waarden, etc. Omdat de computer niet weet wat de achterliggende betekenis van de gegevens is, is het vaak nodig om in deze stap manueel correcties uit te voeren:
<ul class="wp-block-list">
<li>Niet alle getalwaarden kan je zomaar beschouwen als &#8220;hoeveelheden&#8221; die je vrij kan optellen of aftrekken. Sommige zijn categoriën, zoals <a href="https://statbel.fgov.be/sites/default/files/Over_Statbel_FR/Nomenclaturen/NACE-BEL%202008_NL.pdf">NACE codes</a> of <a href="/la-jointure-spatiale-la-cle-de-lanalytique-geographique/">postcodes</a>, andere zijn misschien onderdeel van een datum.</li>



<li>Ontbrekende gegevens zal je in sommige gevallen kunnen gelijkstellen met 0 of met een reeds aanwezige <em>default</em> categorie, maar vaak wil je ze misschien beschouwen als een klasse apart. Een ontbrekende geboortedatum wilt immers niet zeggen dat iemand geboren is in het jaar 0.</li>
</ul>
</li>



<li><strong>Transformatie </strong>van gegevens. Hierbij worden o.a. ontbrekende gegevens afgesplitst, of categorische variabelen omgezet in een <a href="https://en.wikipedia.org/wiki/One-hot">getal-encodering </a>om compacter voorgesteld te worden. Deze stap gebeurt vooral achter de schermen, maar het is vaak mogelijk om manueel configuratie-opties toe te voegen: van sommige kolommen willen we bijvoorbeeld forceren dat de waarden altijd uniek zijn, andere kolommen willen we misschien negeren.</li>



<li>Een <strong>generatief model trainen</strong>. Dit kunnen zowel <a href="https://en.wikipedia.org/wiki/Copula_(probability_theory)">&#8220;klassieke&#8221; statistische modellen</a> zijn als <a href="https://proceedings.neurips.cc/paper/2019/file/254ed7d2de3b23ab10936522dd547b78-Paper.pdf">deep-learning varianten</a>. Sommige modellen zijn enigszins in staat om diepere verbanden tussen de gegevens te reproduceren, maar dit blijft erg afhankelijk van de hoeveelheid gegevens en hun distributie. </li>



<li><strong>Genereren </strong>van nieuwe gegevens. Bij gebruik van een generatief model staat er in principe geen limiet op de hoeveelheid gegevens die aangemaakt kan worden.</li>



<li><strong>Evalueren en visualiseren</strong> van de resultaten. De meeste commerciële tools genereren een mooi eindrapport met daarin een verslag van het hele proces en enkele samenvattende grafieken die toelaten om in een oogopslag te zien of er anomalieën zijn, en of er nog andere correcties toegevoegd dienen te worden. Bij open-source tools is dat vaak beperkt tot enkele metrieken en moet je verdere gegevensanalyse zelf bijprogrammeren. </li>
</ol>



<figure class="wp-block-image size-large"><a href="/wp-content/uploads/2022/03/2022-03-23_17h13_49.png"><img loading="lazy" decoding="async" width="1024" height="426" src="/wp-content/uploads/2022/03/2022-03-23_17h13_49-1024x426.png" alt="synthetic data concept" class="wp-image-17159" srcset="https://www.smalsresearch.be/wp-content/uploads/2022/03/2022-03-23_17h13_49-1024x426.png 1024w, https://www.smalsresearch.be/wp-content/uploads/2022/03/2022-03-23_17h13_49-300x125.png 300w, https://www.smalsresearch.be/wp-content/uploads/2022/03/2022-03-23_17h13_49-768x320.png 768w, https://www.smalsresearch.be/wp-content/uploads/2022/03/2022-03-23_17h13_49.png 1117w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Het concept van synthetic data generation. Bron: Haoran Li, Li Xiong, Lifan Zhang, and Xiaoqian Jiang, &#8220;<em><a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4496798/">DPSynthesizer: Differentially Private Data Synthesizer for Privacy Preserving Data Sharing</a></em>&#8220;</figcaption></figure>



<h2 class="wp-block-heading">Gegevens</h2>



<p>Wie de tools liefst niet uittest op eigen (gevoelige) data, vindt veel <a href="https://www.kaggle.com/datasets">datasets op Kaggle</a>. Zelf maakten we voor onze testen onder andere gebruik van een variant op de <a href="https://www.kaggle.com/uciml/adult-census-income">Adult Census Income</a> dataset.</p>



<h1 class="wp-block-heading">Praktische bekommernissen</h1>



<h2 class="wp-block-heading">Telgegevens</h2>



<p>Sommige datasets bevatten tellingen. Dat kan het resultaat zijn van een COUNT() functie in de SQL-query voor data-extractie. Om dan een correcte inschatting te kunnen maken van de distributies van de andere variabelen, is het nodig om deze telling ongedaan te maken en de tabel te &#8220;unrollen&#8221;. Een nieuw gegenereerde tabel moet nadien natuurlijk terug &#8220;opgeteld&#8221; worden om terug in het originele formaat te staan. Op deze manier kan men desgewenst ook garanderen dat de resulterende tabel ook effectief hetzelfde aantal records voorstelt als in de originele database, zelfs al is er een ander aantal combinaties van variabelen. De kolom met de telvariabele wordt uiteraard niet meegenomen in het generatief model.</p>



<h2 class="wp-block-heading">Behoud van alle mogelijkheden</h2>



<p>Voor sommige toepassingen kan het nodig zijn dat een gesynthetiseerde dataset zeker ook alle mogelijke waarden bevat die voorkomen in de originele dataset &#8211; bij wijze van representativiteit voor de originele dataset. Maar met name als bepaalde waarden erg zeldzaam zijn, bestaat er een reëel risico dat ze niet genoeg doorwegen bij de training van het generatief model, waardoor ze achteraf bijna nooit gegenereerd worden. De meeste generatieve modellen laten het <a href="https://sdv.dev/SDV/user_guides/single_table/gaussian_copula.html#conditional-sampling">conditioneel samplen</a> van gegevens toe: datapunten kunnen gegenereerd worden waarvoor de waarde van een of meerdere variabelen vaststaan. De distributie van de andere waarden volgt dan een <a href="https://en.wikipedia.org/wiki/Bayes%27_theorem">conditionele distributie</a>, gegeven deze vaste waarden. Doe dat voor elke waarde die voorkomt in de originele dataset, en men kan garanderen dat elke waarde (alleszins onafhankelijk) voorkomt. Dit vraagt weliswaar wat extra programmeerwerk om gedaan te krijgen, en bovendien impliceert dit ook dat een outputdataset een bepaalde minimumgrootte zal hebben.</p>



<h2 class="wp-block-heading">Duplicaten en overlap</h2>



<p>Het genereren van nieuwe gegevens gebeurt door te <a href="https://en.wikipedia.org/wiki/Sample_(statistics)">samplen</a> uit een generatief model &#8211; te vergelijken met het trekken van een lottocombinatie. Zeker als er veel gegevens worden gesynthetiseerd, is het altijd mogelijk dat er twee keer hetzelfde tussenzit. Is dat ongewenst, dan moet een optie toegevoegd worden om duplicaten te verwijderen &#8211; en nadien opnieuw gegevens bij te genereren totdat de gewenste grootte opnieuw is bereikt. Eventueel kan men ook forceren dat gesynthetiseerde gegevens zeker niet mogen voorkomen in de originele dataset &#8211; dat de twee datasets dus volledig disjunct zijn. Dat laatste voegt echter weinig toe qua privacybescherming: zonder kennis van de originele dataset, kan men steeds bogen op een zekere <a href="https://www.vldb.org/pvldb/vol10/p481-bindschaedler.pdf">plausible deniability</a> dat een synthetisch record identiek zou zijn aan een record uit de echte dataset.</p>



<h2 class="wp-block-heading">Trainingstijd</h2>



<p>Zeker bij grote datasets met veel variabelen, en bij gebruik van deep learning tools kan het een lange tijd in beslag nemen om een generatief model te trainen. Dat maakt het moeilijk om iteratief te werk te gaan bij het verfijnen van de opties. Het kan nuttig zijn om tijdens de ontwikkeling, de dataset ten grondslag van de training te beperken tot enkele duizenden willekeurig geselecteerde records. Daarbij mogen we al wat hierboven al werd vermeld natuurlijk niet uit het oog verliezen &#8211; bijvoorbeeld, ook hier kan het nuttig zijn om een extra optie te hebben die garandeert dat een selectie uit de trainingset nog steeds minstens 1 datapunt bevat voor elke waarde van elke variabele.</p>



<h2 class="wp-block-heading">Afhankelijke kolommen</h2>



<p>Een kolom die volledig (lineair) afhankelijk is van een of meerdere andere kolommen, moeten we verwijderen en achteraf terug herberekenen. Dat is typisch het geval bij wiskundige afhankelijkheden: een kolom die een som is van twee andere kolommen, of een percentage van een andere kolom voorstelt. We kunnen best niet hopen dat een generatief model dat verband zelf aanleert. Het is veel zekerder om zulke afhankelijke kolommen gewoon te verwijderen uit de dataset, en nadat een nieuwe dataset is gegenereerd, deze kolommen terug te berekenen op basis van de gesynthetiseerde data en dan pas toe te voegen.</p>



<h2 class="wp-block-heading">Constraints</h2>



<p>Iemands geboortedatum valt altijd vroeger dan iemands sterfdatum. Dat is logisch, maar als men voor een fictief persoon een nieuwe geboortedatum en sterfdatum genereert uit het generatief model dat werd getraind op de distributies van alle geboorte- en sterfdata in een dataset, dan kan het voorvallen dat deze logische beperking niet altijd gerespecteerd blijft. Het kunnen opleggen van <em>constraints</em> &#8211; de ene variabele is altijd groter of kleiner dan een andere, of altijd positief of negatief, etc. &#8211; is een belangrijke feature. Eenvoudige beperkingen, zoals zonet aangehaald, zijn eventueel nog eenvoudig te implementeren door &#8220;rejection sampling&#8221;: voldoet een gesynthetiseerd record niet aan alle constraints, wordt het gedeleted en wordt een nieuw gegenereerd, totdat alle records voldoen. Worden de constraints ingewikkelder of strikter, dan kan het nodig zijn om zelf de nodige filters te programmeren, of om een post-processing stap te definiëren waarin correcties uitgevoerd kunnen worden. </p>



<h2 class="wp-block-heading">Kolommen bevriezen</h2>



<p>Willen we een dataset scramblen met een kolom <em>geslacht</em> en een kolom <em>woonplaats</em>, dan is het eigenlijk voldoende om enkel de kolom met woonplaatsen door elkaar te husselen om een goed gemengde dataset te bekomen. Het geslacht is daar onafhankelijk van, en kunnen we even goed negeren. Het bevriezen van kolommen, in feite gewoon het verwijderen voor de verwerking en terug eraan plakken na het einde, kan zo een grote tijdswinst opleveren. Het is weeral een kolom minder waarvan de distributie aangeleerd moet worden. </p>
<p>Kolommen bevriezen, impliceert weliswaar een voorwaarde: ofwel dat de gesynthetiseerde dataset even lang moet zijn als de originele zodat de dimensies overeenkomen, ofwel dat de gegevens in de bevroren kolom(men) helemaal willekeurig verdeeld zijn, dus op geen enkele manier gesorteerd of gegroepeerd, zodat de bevroren kolom(men) zonder effect op de gegevensdistributie kunnen verkort of verlengd worden. Dat laatste kan echter moeilijk te bewijzen zijn.</p>
<p>Maar zeker als het de bedoeling is dat een gesynthetiseerde dataset even groot is als de originele, wat toch vaak voorkomt, is het een enorm grote tijdswinst als van een dataset met 60 kolommen, er slechts 6 moeten gesynthetiseerd worden om een voldoende gescramblede dataset te krijgen. Bovendien zal een generatief model met minder kolommen meestal ook accurater getraind kunnen worden, dus is het resultaat waarschijnlijk zelfs kwalitatief beter. Eventueel kan de synthetische dataset achteraf nog eens geshuffled worden om enige overgebleven structurele gelijkenis met de originele dataset te verbergen. </p>



<h2 class="wp-block-heading">Rapportering en grafieken</h2>



<p>De gescramblede dataset moet nog vergeleken worden met het origineel, om te verifiëren dat de procedure wel goed verlopen is en of er bepaalde parameters beter aangepast zouden kunnen worden. Het visualiseren van datasets is een uitdaging op zich, waarbij rekening moet worden gehouden met het type van variabele en de waarden die ze kan aannemen. Boxplots zijn vaak een goede keuze voor continue variabelen, en staafdiagrammen voor categorische variabelen. Daarbij moet aandacht worden besteed aan de assen, die overeen moeten komen om in een oogopslag te kunnen vergelijken. Het kan nodig zijn hier en daar extra te groeperen of aggregeren om grafieken van complexe categorische variabelen overzichtelijk te houden. Voor de verbanden tussen twee variabelen kan men verschillende vormen van bivariate plots, heatmaps en correlatiematrices benutten. Werkt men in Python dan zijn <a href="https://matplotlib.org/">matplotlib </a>en <a href="https://seaborn.pydata.org/tutorial.html">seaborn</a> nuttige grafische libraries. </p>



<figure class="wp-block-image size-large"><a href="/wp-content/uploads/2022/03/2022-03-23_13h13_51.png"><img loading="lazy" decoding="async" width="1024" height="684" src="/wp-content/uploads/2022/03/2022-03-23_13h13_51-1024x684.png" alt="" class="wp-image-17156" srcset="https://www.smalsresearch.be/wp-content/uploads/2022/03/2022-03-23_13h13_51-1024x684.png 1024w, https://www.smalsresearch.be/wp-content/uploads/2022/03/2022-03-23_13h13_51-300x200.png 300w, https://www.smalsresearch.be/wp-content/uploads/2022/03/2022-03-23_13h13_51-768x513.png 768w, https://www.smalsresearch.be/wp-content/uploads/2022/03/2022-03-23_13h13_51.png 1355w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Drie generatieve modellen uit de <a href="https://sdv.dev/">SDV library</a> toegepast op de <a href="https://www.kaggle.com/uciml/adult-census-income">Adult Census Income</a> dataset: een statistisch model (links), deep learning model (rechts), en combinatie van de twee (midden). Enkele variabelen worden geplot als staafdiagrammen, met de distributies van originele data in blauw en synthetische data in oranje. De distributies van individuele variabelen worden approximatief benaderd maar hier en daar zijn er nog merkbare verschillen: er is mogelijk nog ruimte voor verdere optimalisatie door het finetunen van enkele parameters.</figcaption></figure>



<h1 class="wp-block-heading">Conclusie</h1>



<p>Met synthetische data generatoren hebben we een krachtige tool in handen om data scrambling te kunnen doen. We kunnen er bovendien meer mee dan enkel de gegevens door elkaar haspelen: desgewenst interpoleren ze ook tussen minimum- en maximumwaarden, of tussen datums, en zo kunnen ze ook fictieve gegevens genereren volgens dezelfde structuur als de originele dataset. Het aanmaken van een echt goede synthetische dataset vergt vaak een iteratieve aanpak, om het achterliggend generatief model te finetunen. </p>



<p>We merken in de praktijk dat er heel wat <strong>extra checks en balances</strong> komen kijken bij het werken met echte datasets. Het is zelden zo dat een generatief model gegenereerd uit een willekeurige dataset met default parameters, vanaf de eerste keer optimaal is. Met name erg ongelijke distributies zorgen voor problemen in het leerproces en voor statistische instabiliteit in het resulterende generatief model. Bij wijze van voorbeeld: als een dataset slechts 1 persoon bevat met een zeldzame ziekte, en het is toevallig een 43-jarige Limburger, dan riskeren we dat het systeem leert dat alle personen met deze ziekte per definitie 43-jarige Limburgers moeten zijn. Bovendien merken we dat we de beste resultaten bekomen als een dataset weinig variabelen heeft, en voor elke waarde van elke variabele veel datapunten (rijen, samples). Dit alles maakt dat we de beste resultaten vaak bekomen door zoveel mogelijk kolommen te bevriezen, en het aantal te scramblen kolommen te beperken tot het minimum noodzakelijke om het doel van scrambling te bereiken. Die oefening kan voor elke dataset anders zijn. </p>



<p>Een vraag die regelmatig terugkomt is: kunnen we <strong>dezelfde analytics</strong> op de dusdanig gescramblede / gesynthetiseerde dataset loslaten en leidt dat dan tot dezelfde conclusies? Het antwoord is: het hangt ervan af hoe diep je wilt gaan. De structuur van de gegevens wordt in het generatief model immers approximatief aangeleerd. Daarbij merken we: </p>



<ul class="wp-block-list">
<li>De statistieken en verdeling van individuele variabelen (minimum, maximum, gemiddelde etc.) blijven meestal <strong>relatief goed </strong>behouden,</li>



<li>De verbanden tussen twee variabelen (correlatie etc.) blijven <strong>matig </strong>behouden, en hoe gelijkmatiger en stabieler deze variabelen zijn verdeeld hoe beter dat dat lukt,</li>



<li>De verbanden tussen meerdere variabelen (regressies etc.) blijven <strong>relatief slecht</strong> behouden of gaan verloren.</li>
</ul>



<p>Voor complexe analyses zijn scrambled of synthetische data dus zeker <strong>geen drop-in replacement</strong> voor de echte data. Ze zijn wel erg nuttig voor het testen of ontwikkelen van data processing scripts of analyse-pipelines, omdat we wel een goed beeld hebben van welke waarden er allemaal voorkomen en in welk bereik deze vallen. </p>



<p>We hebben nog heel wat andere potentiële struikelblokken die we in de praktijk kunnen tegenkomen niet besproken. Er kunnen afhankelijkheden bestaan tussen rijen &#8211; bijvoorbeeld, een tabel die verschillende records bevat per persoon. Er kunnen ook verbanden zijn in de tijd &#8211; bijvoorbeeld datasets die bestaan uit opeenvolgende kwartalen, of datasets waarin de datums die voorkomen alleen maar werkdagen zijn en nooit weekenddagen, wat maakt dat je niet zomaar eender welke datum kan synthetiseren. Een dataset kan ook bestaan uit meerdere tabellen die met elkaar verbonden zijn. Zulke complexere problemen zijn mogelijk nog voer voor een vervolg-artikel later dit jaar.</p>



<p>______________________</p>



<p><em>Dit is een ingezonden bijdrage van Joachim Ganseman, IT consultant bij Smals Research. &nbsp;Dit artikel werd geschreven in eigen naam en neemt geen standpunt in namens Smals.</em></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Governance volgens Mattheus</title>
		<link>https://www.smalsresearch.be/governance-volgens-mattheus/</link>
					<comments>https://www.smalsresearch.be/governance-volgens-mattheus/#comments</comments>
		
		<dc:creator><![CDATA[Joachim Ganseman]]></dc:creator>
		<pubDate>Tue, 14 Dec 2021 07:00:00 +0000</pubDate>
				<category><![CDATA[[NL]]]></category>
		<category><![CDATA[Blog post]]></category>
		<category><![CDATA[Artificial intelligence]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[big data]]></category>
		<category><![CDATA[BPM]]></category>
		<category><![CDATA[data governance]]></category>
		<category><![CDATA[Data Mining]]></category>
		<category><![CDATA[egov]]></category>
		<category><![CDATA[governance]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[social]]></category>
		<category><![CDATA[standards]]></category>
		<guid isPermaLink="false">/?p=16627</guid>

					<description><![CDATA[Automatisering, zelfs digitalisering, is niet zomaar vrijblijvend, en al zeker niet bij overheden. Governance, vrij vertaald als deugdelijk bestuur, is een vaag begrip, maar het belang ervan illustreren we in dit artikel aan de hand van enkele voorbeelden.]]></description>
										<content:encoded><![CDATA[
<p>Wie zich interesseert in bestuurskunde, is ongetwijfeld vertrouwd met het <a href="https://nl.wikipedia.org/wiki/Mattheuseffect">Mattheus-effect</a>. Het stelt dat de voordelen van systemen zoals sociale zekerheid onevenredig toestromen naar de hogere (midden)klasse, die ze eigenlijk het minst nodig heeft. Het treedt bijvoorbeeld op wanneer je, om een voordeel toegekend te krijgen (premie, subsidie, uitkering, belastingaftrek,&#8230;), eerst en vooral moet weten dat het voordeel bestaat, en daarna eerst tijd en moeite moet kunnen steken in een foutloze aanvraag bij de juiste dienst. Het effect is goed gedocumenteerd en wordt <a href="https://www.uantwerpen.be/nl/onderzoeksgroep/csb/">al decennia bestudeerd</a>.</p>



<p>Automatisering is een belangrijk wapen om het Mattheus-effect tegen te gaan. Het <a href="https://www.ksz-bcss.fgov.be/nl/project/geharmoniseerde-sociale-statuten-gss">automatisch toekennen van bepaalde voordelen</a> aan de hand van objectieve criteria zorgt idealiter voor een gelijke behandeling van alle burgers ongeacht stand en rang. Daarnaast zorgt automatisering ook voor tijdswinst, minder papier, en lagere kosten op lange termijn. <a href="https://www.smals.be/nl/content/activiteitenverslag-2020">Veel projecten waar Smals bij betrokken is, dragen daar aanzienlijk toe bij</a>: ze besparen de overheid, burgers en bedrijven jaarlijks miljarden euro&#8217;s, om niet te zeggen tonnen papier, inkt en postzegels.</p>



<p>We schreven al uitvoerig over de talloze <a href="https://www.fast.ai/2019/01/29/five-scary-things/">randvoorwaarden </a>die opduiken als men Artificiële Intelligentie correct wil inzetten (<a href="/enkele-valkuilen-in-ai/">[1]</a>, <a href="/ai-en-desinformatie/">[2]</a>, <a href="/5-vragen-om-te-stellen-voor-de-start-van-een-ai-project/">[3]</a>, <a href="/lintelligence-artificielle-dans-le-secteur-public/">[4]</a>, <a href="/lethique-dans-lintelligence-artificielle/">[5]</a>, <a href="/ia-lethique-en-pratique/">[6]</a>), maar ook een gewone procesautomatisering, zelfs digitalisering, is niet zomaar vrijblijvend, en al zeker niet bij overheden. <a href="https://law.stanford.edu/2021/11/05/ai-and-the-corrosive-effect-of-using-carless-definition/">Automatisering is niet gelijk aan artificiële intelligentie</a>, maar men geeft nog steeds een deel van de controle uit handen aan een machine. Naast winsten in snelheid en kostprijs, kan dat ook <a href="https://www.youtube.com/watch?v=zUQgthIs7pM">allerlei beperkingen</a> introduceren. Door de schaalvergroting loopt het, als het fout loopt, ook ineens heel erg fout. Reden genoeg om reeds vanaf de planningsfase nauwgezet aandacht te besteden aan de bredere effecten van een automatiseringsproject.</p>



<div class="wp-block-media-text alignwide is-stacked-on-mobile" style="grid-template-columns:35% auto"><figure class="wp-block-media-text__media"><img loading="lazy" decoding="async" width="240" height="300" src="/wp-content/uploads/2021/12/ASM_AR17_Corporate-Governance_2-240x300.jpg" alt="" class="wp-image-16754 size-medium" srcset="https://www.smalsresearch.be/wp-content/uploads/2021/12/ASM_AR17_Corporate-Governance_2-240x300.jpg 240w, https://www.smalsresearch.be/wp-content/uploads/2021/12/ASM_AR17_Corporate-Governance_2.jpg 327w" sizes="auto, (max-width: 240px) 100vw, 240px" /></figure><div class="wp-block-media-text__content">
<p>Wil een geautomatiseerd proces goed werken, dan is het belangrijk dat het actief en &#8220;als een goede huisvader&#8221; wordt beheerd. Permanente monitoring is nodig zodat problemen snel gedetecteerd en opgelost kunnen worden. Manueel ingrijpen moet mogelijk blijven, het moet duidelijk zijn wie waarvoor verantwoordelijk is, en alles moet mee evoluer<span data-mce-type="bookmark" id="mce_1_start" data-mce-style="overflow:hidden;line-height:0px" style="overflow:hidden;line-height:0px"><span data-mce-type="bookmark" id="mce_1_start" data-mce-style="overflow:hidden;line-height:0px" style="overflow:hidden;line-height:0px">en wanneer nodig. In het Engels wordt dat al eens aangeduid met (corporate) &#8220;<a href="https://nl.wikipedia.org/wiki/Governance">governance</a>&#8220;, vrij vertaald &#8220;deugdelijk bestuur&#8221;. Het is een vaag begrip, maar in dit artikel hoop ik het belang ervan te kunnen illustreren aan de hand van enkele spraakmakende voorbeelden uit het buitenland.</span></span></p>



<p class="has-small-font-size">(<em>afbeelding: &#8220;corporate governance&#8221;, (c) Asmi-corporatereporting.com, 2017, Licensed CC BY-SA 4.0 <a href="https://creativecommons.org/licenses/by-sa/4.0">https://creativecommons.org/licenses/by-sa/4.0</a>, via Wikimedia Commons)</em></p>


</div></div>



<p></p>



<h2 class="wp-block-heading">Wat kan er zoal misgaan?</h2>



<h3 class="wp-block-heading">Frankrijk</h3>



<p>De Franse <em>Caisse des Allocations Familiale (CAF)</em> nam in 2021 een nieuw systeem in gebruik voor de berekening van huisvestingstoelagen. <a href="https://www.mediapart.fr/journal/france/190621/la-reforme-des-apl-vire-au-cauchemar-pour-les-allocataires-et-ses-agents/prolonger">Helaas was het systeem niet volledig compatibel</a> met een ander systeem voor de registratie van sommige arbeidsprestaties, nodig om de hoogte van die uitkering te bepalen. Als gevolg kregen <a href="https://demarchesadministratives.fr/actualites/caf-les-allocataires-exasperes-apres-des-bugs-en-serie">minstens 120.000 mensen een foutieve schuldvordering</a> in de bus, automatisch aangemaakt, voor zogezegd teveel ontvangen uitkeringen. De toevloed aan reacties, en alle correcties die vaak manueel aangebracht moesten worden, zorgden voor <a href="https://www.ouest-france.fr/societe/logement/pagaille-dans-les-aides-au-logement-la-caf-explique-d-ou-viennent-les-bugs-00345f00-bed9-11eb-a219-8f747c6d3d1b">veel extra werklast</a> bij de dienst die al met veel vertragingen te kampen had, wat op zijn beurt aanleiding gaf tot <a href="https://www.dossierfamilial.com/actualites/social-sante/reforme-des-apl-retards-de-versements-pourquoi-ca-grince-a-la-caf-893503">stakingen</a>. Negen maanden later <a href="https://www.ouest-france.fr/societe/logement/pagaille-dans-les-aides-au-logement-la-caf-explique-d-ou-viennent-les-bugs-00345f00-bed9-11eb-a219-8f747c6d3d1b">wachtten nog steeds 32.000 mensen op de correctie</a> van hun dossier.</p>



<h3 class="wp-block-heading">Verenigd Koninkrijk</h3>



<p>Het Verenigd Koninkrijk heeft geen rijksregister zoals België. Mensen moeten hun identiteit <a href="https://www.gov.uk/government/publications/introducing-govuk-verify/introducing-govuk-verify">op een andere manier bewijzen</a>: met een rijbewijs, bankrekening, telefooncontract of een internationaal paspoort. Dat zorgt al voor een eerste probleem, omdat net de meest kwetsbaren die het meeste belang hebben bij die diensten, <a href="https://publications.parliament.uk/pa/cm201719/cmselect/cmpubacc/1748/1748.pdf">door hun kleinere administratieve/digitale voetafdruk niet geauthenticeerd</a> geraken. Daarnaast is <a href="https://www.bbc.com/news/uk-48887753">identiteitsfraude</a> een groot probleem.</p>



<p><a href="https://www.gov.uk/universal-credit">Universal Credit</a> is een geautomatiseerd sociaal vangnet voor de laagste inkomens, dat bestaat uit de fusie van 6 aparte uitkeringen. Hun doel om de zaken te vereenvoudigen hebben ze echter ook doorgetrokken in de berekeningswijze: die neemt enkel het inkomen van een vorige maand in rekening. Dat zorgt voor grote <a href="https://www.hrw.org/report/2020/09/29/automated-hardship/how-tech-driven-overhaul-uks-social-security-system-worsens">problemen bij mensen die onregelmatig betaald krijgen</a>, of wanneer loon plots vervroegd uitbetaald wordt omwille van feestdagen: zij hebben in sommige maanden plots een hoger inkomen, in andere maanden geen, en krijgen daardoor heel erg fluctuerende uitkeringen. Het perverse effect daarvan is dat <a href="https://barrowcadbury.org.uk/wp-content/uploads/2023/11/CPAG-Rough-justice-2018.pdf">twee mensen met dezelfde job, gezinssamenstelling en jaarinkomen, toch verschillende uitkeringen kunnen krijgen</a>, enkel en alleen omdat hun salaris op een ander moment wordt uitbetaald.</p>



<div class="wp-block-media-text alignwide is-stacked-on-mobile" style="grid-template-columns:33% auto"><figure class="wp-block-media-text__media"><img loading="lazy" decoding="async" width="300" height="76" src="/wp-content/uploads/2021/12/640px-Universal_Credit.svg_-300x76.png" alt="" class="wp-image-16757 size-medium" srcset="https://www.smalsresearch.be/wp-content/uploads/2021/12/640px-Universal_Credit.svg_-300x76.png 300w, https://www.smalsresearch.be/wp-content/uploads/2021/12/640px-Universal_Credit.svg_.png 640w" sizes="auto, (max-width: 300px) 100vw, 300px" /></figure><div class="wp-block-media-text__content">
<p>Een <a href="https://www.theguardian.com/uk-news/2019/jan/11/four-single-mothers-win-high-court-benefits-battle-against-dwp-universal-credit">rechtszaak</a> daar<span data-mce-type="bookmark" id="mce_1_start" data-mce-style="overflow:hidden;line-height:0px" style="overflow:hidden;line-height:0px">over werd door de Bri<span data-mce-type="bookmark" id="mce_1_start" data-mce-style="overflow:hidden;line-height:0px" style="overflow:hidden;line-height:0px">tse overheid verloren. Het maken van de opgedragen aanpassingen zal de <a href="https://www.theguardian.com/society/2020/jul/10/cost-of-rolling-out-universal-credit-rises-by-14bn-say-auditors">kost van het geplaagde systeem</a>, nu reeds lopend in de miljarden pond, alleen nog maar verder doen toenemen. Let wel dat het probleem hier niet zozeer bij de automatisering ligt, wel bij het ontwerp: de regering had expliciet besloten tot deze berekeningswijze, omdat ze gemakkelijker en efficiënter te implementeren was.</span></span></p>



<p class="has-small-font-size"><em>(afbeelding: Wordmark for Universal Credit, (c) UK Government, licensed under the&nbsp;<a href="https://nationalarchives.gov.uk/doc/open-government-licence/version/1/">Open Government Licence version 1.0</a>&nbsp;(OGL v1.0).</em><span data-mce-type="bookmark" id="mce_1_start" data-mce-style="overflow:hidden;line-height:0px" style="overflow:hidden;line-height:0px"></span></p>
</div></div>



<h3 class="wp-block-heading">Australië</h3>



<p>In Australië deed de <a href="https://theconversation.com/robodebt-was-a-fiasco-with-a-cost-we-have-yet-to-fully-appreciate-150169">RoboDebt </a>affaire veel stof opwaaien. Frauduleus betaalde uitkeringen terugvorderen deden ze al langer, maar in 2015 maakten ze een cruciale verandering: het verifiëren van een &#8220;match&#8221; tussen de databanken sociale zekerheid (DHS) en financiën (ATO), werd geautomatiseerd. Dat nam effectief een stap van menselijke controle in de ketting weg. Het hoofddoel was om elke &#8220;match&#8221; op te volgen, daar waar ze vroeger slechts de meest flagrante inbreuken konden najagen omwille van het manuele werk. Dat leidde in het eerste jaar al tot een 40 keer hoger volume.</p>



<p>Helaas was niet elke &#8220;match&#8221; ook terecht. De uitkeringen werden immers in perioden van 14 dagen toegekend, terwijl de belastingdienst gegevens had per fiscaal jaar. Bij gebrek aan inkomstengegevens per 14 dagen werd een gemiddelde van het jaarinkomen toegepast, maar net zoals in het voorbeeld van UK, leidde dat tot ongewenste neveneffecten, en moesten burgers plots schulden gaan terugbetalen die ze nooit gemaakt hadden. In 2019 werd het systeem door de rechtbank onwettelijk verklaard, en in 2021 moest de overheid een <a href="https://en.wikipedia.org/wiki/Robodebt_scheme">schikking ter waarde van $1.8 miljard Australische dollar</a> treffen met de bijna 500.000 gedupeerden. Ook hier lag de fout bij de wetgever, die niet voldoende had nagedacht over de aannames en mogelijke neveneffecten bij het opstellen van de berekeningswijze van het systeem.</p>



<h3 class="wp-block-heading">USA</h3>



<p>In de Verenigde Staten doken problemen op bij de automatisering van <a href="https://interrai.org/">RAI</a>. Dit <em>Resident Assessment Instrument</em> is een lange vragenlijst voor zwaar zorgbehoevenden. Aan de hand van het resultaat wordt o.a. berekend op hoeveel thuiszorg iemand een beroep mag doen. Ook in België wordt een variant ervan gebruikt die <a href="https://www.belrai-kennisportaal.be/over-belrai">BelRAI</a> heet. Het automatiseren daarvan moet heel omzichtig gebeuren. Als bijvoorbeeld de vraag of iemand voetproblemen heeft beantwoord wordt met &#8220;nee&#8221;, kan dat zijn omdat die gezond is, maar even goed omdat die geamputeerde voeten heeft &#8211; en die laatste behoeft uiteraard meer zorg.  </p>



<p>In Arkansas liep het <a href="https://www.theverge.com/2018/3/21/17144260/healthcare-medicaid-algorithm-arkansas-cerebral-palsy">fout bij onderaannemers die een verkeerde versie van de vragenlijst hadden gebruikt</a>, en daarnaast bepaalde ziektebeelden, zoals hersenverlamming, niet correct hadden verwerkt. Pas tijdens de rechtszaak werd duidelijk waar de fouten precies lagen, o.a. doordat de rechter verplichtte om de resultaten eens manueel na te rekenen. Het systeem bleek dermate complex, en de code werd zodanig afgeschermd, dat ook de bevoegde ambtenaren niet in staat waren geweest om de fout te ontdekken. Zo was het voor eindgebruikers nooit duidelijk waarom de evaluatie tot een bepaald resultaat leidde, wat het op zijn beurt erg moeilijk maakte een evaluatie aan te vechten of te overreden. Het gebruik van RAI op zich werd door de rechtbank wel als wettig beschouwd.</p>



<h3 class="wp-block-heading">India</h3>



<div class="wp-block-media-text alignwide is-stacked-on-mobile" style="grid-template-columns:33% auto"><figure class="wp-block-media-text__media"><img loading="lazy" decoding="async" width="400" height="244" src="/wp-content/uploads/2021/12/A_sample_of_Aadhaar_card.jpg" alt="" class="wp-image-16759 size-full" srcset="https://www.smalsresearch.be/wp-content/uploads/2021/12/A_sample_of_Aadhaar_card.jpg 400w, https://www.smalsresearch.be/wp-content/uploads/2021/12/A_sample_of_Aadhaar_card-300x183.jpg 300w" sizes="auto, (max-width: 400px) 100vw, 400px" /></figure><div class="wp-block-media-text__content">
<p>India heeft hetzelfde probleem als het Verenigd Koninkrijk, nl. dat het lange tijd geen eengemaakt burgerregister had en dat andere systemen (rijbewijzen, stembiljetten, geboorteaktes) onderling incompatibel zijn. Het bijhouden van gegevens op kaartjes en papieren is er ook geen sinecure voor de armeren en ongeletterden onder hun bevolking. In een ambitieus programma om iedere Indiër een sociaal identiteitsnummer te geven (zoals onze vroegere <a href="https://nl.wikipedia.org/wiki/SIS-kaart">SIS-kaart</a>), startte India het <a href="https://en.wikipedia.org/wiki/Aadhaar">Aadhaar</a> project, dat ook biometrische authenticatie op basis van de vingerafdruk omvat. </p>



<p class="has-small-font-size"><em>(afbeelding: <a href="https://commons.wikimedia.org/wiki/File:A_sample_of_Aadhaar_card.jpg">&#8220;A sample of Aadhaar card&#8221;</a>, by <a href="https://commons.wikimedia.org/wiki/User:PageImp">Pagelmp</a>, licensed under the&nbsp;<a href="https://en.wikipedia.org/wiki/en:Creative_Commons">Creative Commons</a>&nbsp;<a href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Attribution-Share Alike 4.0 International</a>&nbsp;license. Source Wikimedia Commons.)</em></p>
</div></div>



<p>De praktijk blijkt echter weerbarstiger. Er zijn technologische vereisten om het te kunnen toepassen: een vingerafdruklezer en een stabiele internetverbinding. Bovendien zijn de vingerafdrukken niet altijd meer herkenbaar bij wie een leven lang handenarbeid heeft verricht. Ook fouten bij de manuele data-entry, wat tijd en geld kost om te laten corrigeren, zorgen voor problemen. Er <a href="https://scroll.in/topic/38792/identity-project">duiken dan ook veel rapporten op</a> van grote aantallen kwetsbaren die de toegang tot sociale diensten, onderwijs, vergunningen, kindergeld of voedselrantsoenen wordt ontzegd omdat ze <a href="https://scroll.in/article/868836/aadhaar-in-the-worlds-biggest-biometric-id-experiment-many-have-fallen-through-the-gaps">door de mazen van het Aadhaar-systeem</a> vallen.</p>



<h3 class="wp-block-heading">Nederland</h3>



<p>In Nederland viel de regering over de <a href="https://www.vrt.be/vrtnws/nl/2021/10/21/toeslagenaffaire-nederland-1-115-kinderen-weggehaald-bij-gedupe/">toeslagenaffaire</a>. Vele duizenden gezinnen kwamen in grote problemen door onterechte beschuldigingen van subsidiefraude. De affaire is complex, maar aan de basis ligt de opsporingsdienst voor belastingfraude die zich danig heeft vergaloppeerd. Het probleem lag hier o.a. bij een <a href="https://www.trouw.nl/politiek/hoe-de-belastingdienst-lage-inkomens-profileerde-in-de-jacht-op-fraude~bbb66add/?utm_source=link&amp;utm_medium=app&amp;utm_campaign=shared%20content&amp;utm_content=free">gebrekkige training en validatie van een machine-learning model</a>, dat een risicoclassificatie moest geven aan dossiers en daarbij zonder veel nadenken steunde op parameters zoals nationaliteit, die erg gevoelig zijn voor discriminatie. Daarnaast was de inhoud van verschillende onderliggende databanken, o.a. de <a href="https://nl.wikipedia.org/wiki/Fraude_Signalerings_Voorziening">Fraude Signalerings Voorziening</a>, onoordeelkundig verzameld: <a href="https://www.taxence.nl/nieuws/onderzoek-pwc-fsv-lijst-bracht-duizenden-burgers-in-problemen/">een telefoontje naar de belastingdienst kon voldoende</a> zijn om erin opgenomen te zijn als potentieel fraudeur. De opsporingsdienst vertrouwde echter quasi blindelings op de gegevens en risicoscores, en gebruikte ze als rechtvaardiging om drastisch te werk te gaan bij terugvorderingen, weigeringen van afbetalingsplannen, enz. Daarbij ontbrak het aan een richtinggevend kader van bovenaf, interne monitoring of audit, en mogelijkheden tot aantekenen van beroep. De databank werd op basis van <a href="https://www.belastingdienst.nl/wps/wcm/connect/nl/contact/content/het-systeem-fraude-signalering-voorziening-fsv">inbreuken op de privacywetgeving</a> stopgezet en de belastingdienst kreeg <a href="https://tweakers.net/nieuws/190452/belastingdienst-krijgt-2-komma-75-miljoen-euro-avg-boete-voor-rol-in-toeslagenaffaire.html">een stevige boete</a>. </p>



<h2 class="wp-block-heading">Conclusie</h2>



<p>De bovenstaande verhalen hebben meestal 1 ding gemeen: alles gaat goed totdat op een bepaald moment ergens een bocht teveel wordt afgesneden zonder dat er tijdig wordt ingegrepen. Dat moet ons niet tegenhouden om te automatiseren, want er zijn ook duidelijke voordelen: voor de overheid qua <a href="/rpa-betaalbot-bij-hvw/">schaalbaarheid</a>, voor de burger o.a. door <a href="https://financien.belgium.be/nl/particulieren/belastingaangifte/aangifte/voorstel-van-vereenvoudigde-aangifte">vermindering van administratie</a>. Met dit artikel willen we vooral aandacht vestigen op de noodzaak om daarbij voldoende te investeren in planning en opvolging, om een goede grip te houden. Dat omvat ook een <a href="https://www.cs.princeton.edu/~arvindn/talks/MIT-STS-AI-snakeoil.pdf">realistische blik</a>, aandacht voor <em><a href="https://www.interaction-design.org/literature/topics/ux-design">user experience</a></em> en duidelijke adoptie van <a href="https://oecd.ai/en/dashboards/ai-principles">waarden en principes</a> (transparantie, <em>accountability</em>, &#8230;). </p>



<p>Het grote verschil tussen een ambtenaar in persoon en een geautomatiseerd systeem, is dat <a href="https://ali-alkhatib.com/papers/chi/street-level_algorithms/street-level_algorithms.pdf">een ambtenaar aanpassingen kan maken en verfijningen kan toebrengen nog <em>voordat </em>een beslissing genomen wordt, terwijl een algoritme enkel maar gecorrigeerd kan worden <em>nadat </em>het al een beslissing heeft gemaakt</a>. Dat laatste veroorzaakt frustratie en een nood aan ingrijpen achteraf. Er is een risico dat bepaalde doelgroepen onevenredig het slachtoffer zijn van zulke fouten. Ook kan bij de gebruikers van geautomatiseerde systemen, een zekere verblinding, laksheid, of neiging tot het afschuiven van verantwoordelijkheid ontstaan: &#8220;de computer zegt het dus het zal wel zo zijn&#8221;. Er moeten dus toegankelijke procedures zijn om beroep aan te tekenen tegen een beslissing en correcties moeten eenvoudig doorgevoerd kunnen worden.</p>



<p>Daarnaast blijft het altijd mogelijk dat programmeurs de regels onvolledig of foutief inbrengen in een programma, of dat ze andere interpretaties en aannames hanteren dan de regelgevers. Er is dus nood aan een zekere <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=1012360">waakzaamheid, transparantie en inspraak</a> in het hele implementatieproces, zeg maar &#8220;<a href="https://en.wikipedia.org/wiki/Project_governance">project governance</a>&#8220;. Ook de uitvoerende ambtenaren moeten blijven begrijpen wat er gebeurt en waarom. Daarbij hoort ook een goede methode om feedback te verwerken die vanop de werkvloer aangebracht wordt. </p>



<p>Er bestaat vooralsnog geen vaste manier om <em>compliance </em>of <em>governance </em>ontegensprekelijk te garanderen. Het zijn nog steeds vage begrippen, en ook nogal wat wetgeving blijft vaag: zo staat het woord &#8220;redelijk&#8221; maar liefst 38 keer in de <a href="https://eur-lex.europa.eu/legal-content/NL/TXT/?uri=CELEX:32016R0679">GDPR</a>, en het woord &#8220;passend&#8221; zelfs 125 keer, zonder verdere specificatie van wat we daar nu concreet onder moeten verstaan. In de VS worden basisregels voor bedrijfsbeheer opgelegd door de <a href="https://en.wikipedia.org/wiki/Sarbanes%E2%80%93Oxley_Act">Sarbanes-Oxley Act</a>. In België bestaan er de <a href="https://www.corporategovernancecommittee.be/nl">Code Lippens</a> voor beursgenoteerde, en <a href="https://www.codebuysse.com/nl/default.aspx">Code Buysse</a> voor niet-beursgenoteerde ondernemingen. Ondertussen wordt in Europa verder gewerkt aan o.a. een <a href="https://www.consilium.europa.eu/en/press/press-releases/2021/11/30/promoting-data-sharing-presidency-reaches-deal-with-parliament-on-data-governance-act/">Data Governance Act</a> om een kader te scheppen voor verantwoord (her)gebruik van gegevens. </p>



<p><a href="https://docs.microsoft.com/en-us/compliance/regulatory/offering-home">Deze en andere regulatorische raamwerken</a> zijn misschien niet perfect sluitend. Ze adopteren, eventueel <a href="https://www.iso.org/certification.html">certifiëren</a>, en regelmatig eraan toetsen, zorgt op korte termijn wel voor extra <em>overhead</em> en kosten, maar het legt de lat ook hoger en kan zo op lange termijn veel zorgen voorkomen. Het is ook meestal goede reclame. Uit alle aangehaalde voorbeelden blijkt natuurlijk ook dat daarvoor de nodige wil moet bestaan bij, en middelen ter beschikking gesteld moeten worden door, de bevoegde beleidsmakers.</p>



<p>______________________</p>



<p><em>Dit is een ingezonden bijdrage van Joachim Ganseman, IT consultant bij Smals Research. &nbsp;Dit artikel werd geschreven in eigen naam en neemt geen standpunt in namens Smals.</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.smalsresearch.be/governance-volgens-mattheus/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Regels afleiden uit gestructureerde gegevens</title>
		<link>https://www.smalsresearch.be/regels-afleiden-uit-gestructureerde-gegevens/</link>
		
		<dc:creator><![CDATA[Tom Ameloot]]></dc:creator>
		<pubDate>Tue, 18 Apr 2017 06:47:35 +0000</pubDate>
				<category><![CDATA[[NL]]]></category>
		<category><![CDATA[Blog post]]></category>
		<category><![CDATA[Data Mining]]></category>
		<category><![CDATA[egov]]></category>
		<category><![CDATA[rules]]></category>
		<guid isPermaLink="false">/?p=10675</guid>

					<description><![CDATA[Tegenwoordig lezen we veel nieuws over doorbraken in artificiële intelligentie (AI), zoals zelfrijdende auto’s, spraakherkenning, automatische vertalingen, enz. Deze ontwikkelingen zouden een overheid kunnen motiveren om AI te bestuderen. Tegenwoordig overheerst nog de pragmatische invalshoek, waarbij we een specifieke AI-oplossing moeten uitkiezen voor elk individueel probleem. Men zou bijvoorbeeld inzichten kunnen afleiden uit gegevens van [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Tegenwoordig lezen we veel nieuws over doorbraken in artificiële intelligentie (AI), zoals zelfrijdende auto’s, spraakherkenning, automatische vertalingen, enz. Deze ontwikkelingen zouden een overheid kunnen motiveren om AI te bestuderen. Tegenwoordig overheerst nog de pragmatische invalshoek, waarbij we een specifieke AI-oplossing moeten uitkiezen voor elk individueel probleem.</p>
<p>Men zou bijvoorbeeld inzichten kunnen afleiden uit gegevens van overheden. Het is nuttig om dit proces uit te voeren op een computer want we zouden liever niet manueel grote hoeveelheden gegevens lezen om de interessante patronen en verbanden af te leiden. Bovendien valt een inzicht misschien pas op als de gegevens worden gelezen in de goede volgorde, bijvoorbeeld door een aantal stukjes informatie te lezen vlak na elkaar die allemaal eenzelfde interessante patroon bevatten. Men weet typisch niet op voorhand welke patronen aanwezig zijn, dus kan men de gegevens niet sorteren om de patronen er manueel uit te halen. Het vinden van patronen laten we daarom best door een computer gebeuren, die vele mogelijkheden kan overwegen.</p>
<p><img decoding="async" style="float: left; padding-right: 10px;" src="/wp-content/uploads/2017/04/splash-rules.png" alt="" width="25%" />In deze blog bespreken we een algemeen idee gebaseerd op principes uit Data Mining. We bespreken concreet het principe van regels. Een regel van de vorm A → B drukt de voorspelling uit dat patroon B voorkomt als patroon A wordt waargenomen. We lezen de regel dus als volgt: &#8220;als A dan B&#8221;. Dergelijke voorspellingen kunnen gebruikt worden om suggesties te doen, om anomalieën te detecteren, en om automatisch beslissingen te nemen.</p>
<p>We vertrekken vanuit de observatie dat veel gegevens van een overheid in gestructureerde vorm worden opgeslagen. Voorbeelden van dergelijke gegevens zijn:</p>
<ul style="list-style-type: disc;">
<li>de data waarop de identiteitskaart van een persoon is uitgegeven,</li>
<li>de voorgaande en huidige domicilieadressen van elke burger,</li>
<li>de hoeveelheid belasting die elke burger heeft betaald per jaar,</li>
<li>de bijdragen aan de sociale zekerheid die elke werkgever heeft betaald per kwartaal.</li>
</ul>
<p>Gestructureerde gegevens staan in contrast met vrije tekst, afbeeldingen, video’s, geluid, enz.</p>
<h1>Patronen en regels</h1>
<p>In het vervolg nemen we voor de eenvoud aan dat elke gestructureerde gegevensbron conceptueel bestaat uit een verzameling van entiteiten, zoals mensen, gebouwen, bedrijven, enz. We bekijken elke entiteit als een verzameling van attributen, waarbij elk attribuut een key-value paar is.</p>
<p>We definiëren een patroon als een combinatie van constraints op individuele attributen. De “support” van een patroon X is het aantal voorkomens (of de relatieve frequentie) van X over alle entiteiten heen. Ter illustratie beschouwen we de volgende tabel:</p>
<table style="background-color: aliceblue; width: 80%;">
<tbody>
<tr>
<td width="113"><strong>Persoon_id</strong></td>
<td width="86"><strong>Leeftijd</strong></td>
<td width="156"><strong>Straat</strong></td>
<td width="142"><strong>Gebied_code</strong></td>
<td width="170"><strong>Taal</strong></td>
</tr>
<tr>
<td width="113">1</td>
<td width="86">30</td>
<td width="156">Straat A</td>
<td width="142">3000</td>
<td width="170">Nederlands</td>
</tr>
<tr>
<td width="113">2</td>
<td width="86">40</td>
<td width="156">Straat B</td>
<td width="142">3000</td>
<td width="170">Frans</td>
</tr>
<tr>
<td width="113">3</td>
<td width="86">50</td>
<td width="156">Straat B</td>
<td width="142">3000</td>
<td width="170">Frans</td>
</tr>
<tr>
<td width="113">4</td>
<td width="86">60</td>
<td width="156">Straat C</td>
<td width="142">5000</td>
<td width="170">Frans</td>
</tr>
</tbody>
</table>
<p>Elke rij stelt een entiteit voor, in dit geval een persoon. Voorbeelden van patronen zijn:</p>
<ul>
<li>Straat = “Straat A”;</li>
<li>Leeftijd &gt; 35;</li>
<li>Leeftijd &gt; 35 en Gebied_code = 3000.</li>
</ul>
<p>De support van deze patronen zijn, respectievelijk: 1 rij, 3 rijen, en 2 rijen.</p>
<p>Als we vanuit de gestructureerde gegevens zouden kunnen leren welke patronen vaak samengaan, kunnen we het ene patroon voorspellen na de observatie van een ander patroon. In het bijzonder zouden we regels kunnen leren van de vorm A → B, waar A en B patronen zijn. Deze regel zegt dat als we patroon A zien dat we dan patroon B verwachten. Bij elke regel hoort een betrouwbaarheidsscore, gedefinieerd als volgt:</p>
<blockquote><p>De betrouwbaarheid van A → B is de support van het gecombineerde patroon A + B gedeeld door de support van patroon A.</p></blockquote>
<p>Merk op dat het gecombineerde patroon A + B typisch strenger is dan patroon A, en daardoor enkel kan aanwezig zijn in de entiteiten die reeds voldoen aan patroon A. Daardoor is de support van A + B kleiner of gelijk aan de support van A. Intuïtief bekeken, drukt de betrouwbaarheid uit hoe zeker we zijn om patroon B te voorspellen als we patroon A waarnemen.</p>
<p>In het bovenstaande voorbeeld, zouden we de volgende regels kunnen afleiden uit de gegevens:</p>
<ul>
<li>Met 2/2 betrouwbaarheid (100%), als Straat= “Straat B” en Gebied_code = 3000 dan (→) Taal = “Frans”;</li>
<li>Met 2/3 betrouwbaarheid (66%), als Gebied_code = 3000 dan (→) Taal = “Frans”.</li>
</ul>
<p>Met regels zouden we de volgende toepassingen kunnen uitwerken:</p>
<ul>
<li>Men kan waarden voor een attribuut suggereren op basis van andere attributen. Dit zou men decision support kunnen noemen.</li>
<li>Wanneer een entiteit wordt aangemaakt (of gewijzigd), kan men controleren dat bepaalde verwachtingen rond de attributen voldaan zijn. Anders gezegd: men kan verwachtingen gebruiken als beperkingen. Schendingen van verwachtingen kunnen gemeld worden als anomalieën.</li>
</ul>
<p><center><br />
<a href="/wp-content/uploads/2017/04/rule-process2.png" target="_blank"><img decoding="async" src="/wp-content/uploads/2017/04/rule-process2.png" alt="" width="80%" /></a><br />
</center></p>
<p>Beide mechanismen zijn gebaseerd op voorspellingen, zoals we hieronder zullen toelichten. Met kennis van de regel A → B kunnen we suggereren dat patroon B kan toegepast worden nadat patroon A wordt waargenomen. Als een beheerder verantwoordelijk blijft voor de uiteindelijke beslissing, dan bekijken we regels enkel als een suggestie-mechanisme. In de context van anomalie-detectie kunnen we een melding sturen naar de beheerder wanneer een voorspelling wordt geschonden bij een entiteit. Ter illustratie:</p>
<ul>
<li>Stel dat de bovenstaande voorbeeld-gegevens van personen uit een enquête zouden komen, en dat mensen soms vergeten hun taal in te vullen. In dat geval zouden we kunnen overwegen om een suggestie-mechanisme aan te bieden dat de taal afleidt uit de straat en de gebiedscode. Natuurlijk hangt het af van de toepassing of de voorgestelde waarden aanvaardbare plaatsvervangers zijn, of dat meer echte gegevens moeten verzameld worden.</li>
<li>Als een voorbeeld van anomalie-detectie, stel dat we proberen om de volgende entiteit toe te voegen aan de tabel: Staat= “Straat B”, Gebied_code = “3000”, en Taal = “Nederlands”. De eerste regel hierboven zou dan geschonden zijn. Als de betrouwbaarheid van een geschonden regel hoog is, zoals hier (100%), dan zou het nuttig kunnen zijn om de anomalie te melden aan een beheerder. Afhankelijk van de toepassing, zou anomalie-detectie kunnen helpen bij het vinden van administratieve fouten of problemen met entiteiten.</li>
</ul>
<p>Als een regel voldoende wordt vertrouwd, en de patronen erin voldoende concreet zijn, dan kan de regel ook automatisch worden uitgevoerd om gegevens aan te vullen of te veranderen. Daarom zouden regels een manier kunnen zijn om automatisering te bekomen.</p>
<h1>Toepasbaarheid</h1>
<p>Men zou regels kunnen leren uit verschillende vormen van gestructureerde gegevens zoals:</p>
<ol>
<li>Standaard tabellen zoals in het bovenstaande voorbeeld.</li>
<li>XML of JSON gegevens wanneer de diepte van deze structureren op voorhand begrensd is.</li>
<li>Doorlopende “streams” waar gestructureerde formaten worden gebruikt om individuele boodschappen voor te stellen. Het leren van regels over streams kan real-time aanvulling van gegevens of anomalie-detectie mogelijk maken.</li>
</ol>
<h1>Nuttige eigenschappen</h1>
<p>We bespreken enkele nuttige eigenschappen van het automatisch afleiden van regels:</p>
<table style="background-color: aliceblue; width: 95%;">
<tbody>
<tr>
<td width="252"><strong>Eigenschap</strong></td>
<td width="669"><strong>Uitleg</strong></td>
</tr>
<tr>
<td width="252">Geen bijkomende training gegevens nodig</td>
<td width="669">Regels kunnen afgeleid worden uit bestaande gestructureerde bronnen omdat we op zoek gaan naar patronen die daar ingebed zitten en de verbanden tussen die patronen. Het leerproces kan daarom op de achtergrond gebeuren, zonder expliciete feedback te hoeven vragen aan beheerders.</td>
</tr>
<tr>
<td width="252">Documentatie-vorming</td>
<td width="669">Regels kunnen bepaalde beslissingen motiveren. Immers, als een beslissing gebaseerd is op een regel met hoge betrouwbaarheid, dan kunnen we voorgaande entiteiten bekijken waarop die regel van toepassing was. (Dat zijn de entiteiten die de betrouwbaarheidsscore hebben bepaald.) Het is hierbij niet altijd nodig dat de regel op zichzelf leesbaar is, want deze zou heel lang kunnen zijn. De regel dient eerder als een middel om verbanden te leggen tussen entiteiten.</td>
</tr>
<tr>
<td width="252">Aanpasbaarheid</td>
<td width="669">Individuele regels kunnen uitgeschakeld worden indien de voorspellingen zinloos zijn. De betrouwbaarheidsscores zouden ook frequent moeten herrekend worden, om de laatste veranderingen te volgen in de gegevens. Gebruikers kunnen numerieke grenzen aanpassen om te zeggen vanaf welke betrouwbaarheidsscore een regel mag gebruikt worden.</td>
</tr>
<tr>
<td width="252">Onafhankelijkheid van tools</td>
<td width="669">Regels zijn zelf in principe objectieve gegevens. Vanuit dat oogpunt zouden regels die gevonden zijn door de ene tool combineerbaar moeten zijn met regels die worden gevonden door een andere tool. Anders geformuleerd: het belangrijkste is welke regels worden gevonden en niet welke techniek daarvoor werd gebruikt. In principe mogen experts ook nog manueel regels toevoegen (en automatisch de betrouwbaarheid daarvan laten berekenen.)</td>
</tr>
</tbody>
</table>
<h1>Aanvullende opmerkingen</h1>
<h3>Verwante onderzoeksgebieden</h3>
<p>We geven enkele wetenschappelijke onderzoeksgebieden verwant aan het thema in deze blog (Engelstalige terminologie):</p>
<ul>
<li>association rule mining,</li>
<li>inductive logic programming,</li>
<li>knowledge representation and reasoning.</li>
</ul>
<h3>Slim gokken</h3>
<p><img decoding="async" style="float: left; padding-right: 10px;" title="https://openclipart.org/detail/224998/simple-dice" src="/wp-content/uploads/2017/04/dice-981x1024.png" alt="" width="10%" /><br />
In het algemeen zijn er teveel mogelijke patronen en regels om systematisch op te sommen of op te slaan. Maar men kan patronen en regels proberen slim te gokken. Het is in principe ook mogelijk om variaties van bestaande regels te verkennen, ten einde</p>
<ul>
<li>meer algemene regels te vinden;</li>
<li>of om regels met lage betrouwbaarheid om te vormen naar regels met hogere betrouwbaarheid, bijvoorbeeld door een meer specifiek patroon te gebruiken in de preconditie.</li>
</ul>
<h3>Trade-off: betrouwbaarheid en support</h3>
<p>Er zit een trade-off tussen betrouwbaarheid en support. Regels gebaseerd op gedetailleerde patronen zouden heel betrouwbaar kunnen zijn, maar helaas met een te kleine support om statistisch significant te zijn. Een kleine support duidt immers op zeldzaamheid van het patroon. Daarom zou men aandacht kunnen besteden aan representaties van patronen die zorgen voor een grotere support. Hulpmiddelen daarvoor zijn:</p>
<ul>
<li>beperkingen op getal-attributen kan men weergeven met intervallen (en niet met concrete waarden);</li>
<li>gebruik maken van de NOT operator (“niet”), om te zeggen dat een attribuut niet een bepaalde waarde heeft;</li>
<li>gebruik maken van de OR-operator om meerdere specifieke patronen te bundelen.</li>
</ul>
<p>Bijvoorbeeld, door te zeggen NOT Straat = “Straat Z”, laten we toe dat het straat-attribuut zeer veel waarden kan aannemen, zolang het maar niet “Straat Z” is, zoals: “Straat A”, “Straat B”, “Straat C”, en tal van andere mogelijke waarden. De support van het patroon NOT Straat = “Straat Z” kan daarom heel hoog zijn in een concrete tabel.</p>
<p>We geven nu een voorbeeld van het gebruik van de OR-operator. Beschouw het volgende patroon, waarbij we voor de leesbaarheid telkens een komma schrijven om “and” voor te stellen:</p>
<p>P= (a OR b), (u OR v), (x OR y).</p>
<p>Patroon P vervangt de volgende verzameling van specifieke patronen waarin enkel de  AND-operator wordt gebruikt (ook weer vervangen door komma):</p>
<ul>
<li>a, u, x</li>
<li>a, u, y</li>
<li>a, v, x,</li>
<li>a, v, y,</li>
<li>b, u, x,</li>
<li>b, u, y</li>
<li>b, v, x,</li>
<li>b, v, y.</li>
</ul>
<p>De support van P kan veel hoger zijn dan de support van de individuele AND-patronen. Dit voorbeeld illustreert bovendien dat een representatie met een geneste OR-operator efficiënter kan zijn voor de opslag van de patronen en regels.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>&#8220;Datamining zorgt voor ongelijke behandeling en reduceert controleurs tot aapjes&#8221;: een reactie</title>
		<link>https://www.smalsresearch.be/datamining-zorgt-voor-ongelijke-behandeling-en-reduceert-controleurs-tot-aapjes-een-reactie/</link>
		
		<dc:creator><![CDATA[Dries Van Dromme]]></dc:creator>
		<pubDate>Thu, 12 Mar 2015 09:51:30 +0000</pubDate>
				<category><![CDATA[Blog post]]></category>
		<category><![CDATA[big data]]></category>
		<category><![CDATA[Data Mining]]></category>
		<category><![CDATA[egov]]></category>
		<category><![CDATA[Information management]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[Risk Management]]></category>
		<guid isPermaLink="false">/?p=8238</guid>

					<description><![CDATA[Een artikel in DeMorgen kopt: &#8220;Slimme software herleidt belastingcontroleurs &#8216;tot aapjes'&#8221;, en daaronder: &#8220;Digitale selectie zorgt voor ongelijke behandeling belastingplichtigen&#8221;. We begrijpen uit het artikel dat Financiën zich voor haar controles nu voor 80% baseert op risicoprofielen die door datamining naar voren worden geschoven, en dat dit tot grote frustratie leidt bij inspecteurs en controleurs. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a title="Slimme software herleidt belastingcontroleurs &#039;tot aapjes&#039;" href="https://www.demorgen.be/economie/slimme-software-herleidt-belastingcontroleurs-tot-aapjes-a2247854/" target="_blank">Een artikel in DeMorgen</a> kopt: &#8220;Slimme software herleidt belastingcontroleurs &#8216;tot aapjes'&#8221;, en daaronder: &#8220;Digitale selectie zorgt voor ongelijke behandeling belastingplichtigen&#8221;. We begrijpen uit het artikel dat Financiën zich voor haar controles nu voor 80% baseert op risicoprofielen die door datamining naar voren worden geschoven, en dat dit tot grote frustratie leidt bij inspecteurs en controleurs. Een bekend probleem, waar een en ander over te vertellen valt. Een poging.</p>
<p><a href="/wp-content/uploads/2015/03/risk.jpg"><img loading="lazy" decoding="async" class="alignleft wp-image-8254" src="/wp-content/uploads/2015/03/risk-300x300.jpg" alt="RISK in Magnifying glass on blue background" width="220" height="220" srcset="https://www.smalsresearch.be/wp-content/uploads/2015/03/risk-300x300.jpg 300w, https://www.smalsresearch.be/wp-content/uploads/2015/03/risk-768x768.jpg 768w, https://www.smalsresearch.be/wp-content/uploads/2015/03/risk-1536x1536.jpg 1536w, https://www.smalsresearch.be/wp-content/uploads/2015/03/risk-2048x2048.jpg 2048w, https://www.smalsresearch.be/wp-content/uploads/2015/03/risk-150x150.jpg 150w, https://www.smalsresearch.be/wp-content/uploads/2015/03/risk-1024x1024.jpg 1024w" sizes="auto, (max-width: 220px) 100vw, 220px" /></a>Aan de ene kant laten computerprogramma&#8217;s, meer bepaald datamining-algoritmes, toe om te leren uit vaststellingen gemaakt in het verleden, en kunnen zij op wetenschappelijk verantwoorde wijze aanleiding geven tot proactieve risicobepaling. De gebruikers dienen wel te beseffen dat het gaat om risico&#8217;s, en geen bewijzen. Controle ten gronde, of zelfs ter plaatse, is nodig. Maar datamining kan dus duidelijk bijdragen tot het efficiënter en doelgerichter werken van de overheid.<br />
Bovendien kan automatisatie inderdaad willekeur en voorkeursbehandeling tegengaan, als daar sprake van zou zijn. Zo stelt ook de fiscus, volgens het artikel: &#8220;Sinds enkele jaren gebruikt de fiscus een computersysteem om te bepalen wie een controleur op bezoek krijgt. Op die manier wil de overheid willekeur en voorkeursbehandelingen vermijden.&#8221;<br />
De tegenstanders, vaak inspecteurs en controleurs zèlf (maar lang niet allemaal), kunnen argumenteren dat de digitale selectie op basis van risicoprofielen <strong>net voor een ongelijke behandeling</strong> zorgt. Moeten we daar dan uit besluiten dat gelijke behandeling alleen kan mits controledoelen volledig <em>random</em> geselecteerd worden?</p>
<p>Een moderne overheid, die met minder middelen meer resultaat wil, zal niet iedereen kunnen controleren. Het is ook niet haalbaar, dat iedereen om de zoveel jaar gecontroleerd zou worden. Met het huidig effectief, zouden er immers teveel jaren tussen liggen. Maar controles ten gronde zijn nodig, omdat op basis van aangiftes en andere beschikbare digitale gegevens alleen, de juistheid en <strong>waarheid</strong> van aangegeven data niet kan bepaald worden (cfr. BOYDENS I., &#8220;Strategic Issues Relating to Data Quality for E-government: Learning from an Approach Adopted in Belgium&#8221;. In ASSAR S., BOUGHZALA I. et BOYDENS I., éds., &#8220;Practical Studies in E-Government&nbsp;: Best Practices from Around the World&#8221;, New York, Springer, 2011, p. 116 e.v.).</p>
<p>Gegeven dat selectie dus nodig is &#8211; is ieder selectieprincipe, dat niet volledig random (en dus blind) is, dan ongelijk en oneerlijk?</p>
<p><a href="/wp-content/uploads/2015/03/yin-yang-ID-10043360.jpg"><img loading="lazy" decoding="async" class=" alignright wp-image-8249" title="Image courtesy of digitalart at FreeDigitalPhotos.net" src="/wp-content/uploads/2015/03/yin-yang-ID-10043360-300x300.jpg" alt="yin yang ID-10043360" width="178" height="178" srcset="https://www.smalsresearch.be/wp-content/uploads/2015/03/yin-yang-ID-10043360-300x300.jpg 300w, https://www.smalsresearch.be/wp-content/uploads/2015/03/yin-yang-ID-10043360-150x150.jpg 150w, https://www.smalsresearch.be/wp-content/uploads/2015/03/yin-yang-ID-10043360.jpg 400w" sizes="auto, (max-width: 178px) 100vw, 178px" /></a></p>
<p><strong>Ongelijk misschien wel, maar is dat oneerlijk? </strong></p>
<p>Belastingplichtigen (individuen èn organisaties) <strong>gedragen</strong> zich <strong>niet gelijk</strong> &#8211; misschien is een daarop gerichte, wetenschappelijk verantwoorde (ongelijke, zo u wil) selectie dan wel <strong>eerlijk</strong>? Zolang de behandeling en afhandeling van de gecontroleerde op gelijke (en eerbare) wijze gebeurt, kan men toch stellen dat de overheid naar de geest een gelijke behandeling nastreeft &#8211; laat staan naar de letter.</p>
<p>In mijn ervaring als dataminer blijken de beste predictieve modellen steeds diegene die zich uitdrukken (dankzij bloed, zweet en tranen in doorgedreven business-analyse) in termen van <strong>gedrag</strong> (van een systeem, en waarom ook niet van een individu of organisatie). En dus niet alleen in termen van statische variabelen. Dit is een aspect dat ik als <strong>best practice</strong> wel zou willen meegeven aan iedereen die te maken heeft met selectie, en hopelijk gelijke en eerlijke behandeling nastreeft.</p>
<p>Tegelijk moet bij dit alles een <strong>dubbele caveat</strong> geformuleerd worden.<br />
Ten eerste moet men ervoor zorgen dat de, overigens onbetwistbaar noodzakelijke, inspecteurs en controleurs niet tot &#8220;aapjes&#8221; of papegaaien gereduceerd worden, en dat hun <strong>terreinervaring blijvend gevaloriseerd</strong> wordt. Zowel <strong>bij de ontwikkeling van datamining</strong>-gedreven systemen als de evolutie ervan, en de ontwikkeling van <strong>feedback</strong>-systemen die vaststellingen en resultaten registeren. Telkens opnieuw blijkt dit cruciaal voor succes.<br />
Ten tweede, en dit sluit naadloos aan bij de terreinervaring van zulke inspecteurs en controleurs (en waarom niet, ook die van andere betrokken partijen), moet men steeds, naast datamining- en andere geautomatiseerde risicogedreven criteria, <strong>tegelijk andere</strong> selecties toelaten. Enerzijds <strong>random</strong>, om minstens de mogelijkheid te verzekeren dat iedereen aan de beurt kan komen &#8211; ook degene die onder de reeds geïnstalleerde radars doorglippen. Anderzijds kan de <strong>voeling met het terrein</strong> van onschatbare waarde zijn om snel genoeg, doelgerichte controleacties uit te voeren. Mits duidelijke afspraken en geregistreerde motivatie voor zulke keuzes, moet dit kunnen.</p>
<p><a href="/wp-content/uploads/2015/03/Pareto2.png"><img loading="lazy" decoding="async" class="alignleft wp-image-8252" src="/wp-content/uploads/2015/03/Pareto2-300x300.png" alt="Pareto2" width="195" height="195" srcset="https://www.smalsresearch.be/wp-content/uploads/2015/03/Pareto2-300x300.png 300w, https://www.smalsresearch.be/wp-content/uploads/2015/03/Pareto2-150x150.png 150w, https://www.smalsresearch.be/wp-content/uploads/2015/03/Pareto2.png 329w" sizes="auto, (max-width: 195px) 100vw, 195px" /></a>Verder wil ik nog inpikken op <strong>de 80/20 (%) verdeling</strong> voor de controles. Zoals gezegd in het artikel worden op dit moment 80% van de controles automatisch geselecteerd op basis van datamining. Of dit een goede verdeling is, hangt af van wat men zou kunnen noemen de <strong>dekkingsgraad</strong> van de geïmplementeerde predictieve modellen en risicoprofielen t.o.v. de zich in de werkelijkheid voordoende fenomenen en scenario&#8217;s. De datamining-modellen worden gevoed met voorbeelden van een <strong>welbepaald type probleem of doel</strong>. Indien uit de vaststellingen in het kader van de 80% op datamining geïnspireerde controles blijkt dat men steeds dezelfde, beperkte set van resultaten boekt, terwijl men vroeger (of nu, in het kader van de 20% anderszins geïnspireerde controles) meer verschillende &#8211; laat staan, belangrijkere &#8211; vaststellingen en rechtzettingen optekende, dan lijdt men er duidelijk aan teveel in dezelfde vijver te vissen, en is de 80/20 regel hier aan herziening toe. Of het dan 50/50 moet zijn? Men doet er goed aan te luisteren naar het terrein, het te proberen, en vervolgens rigoureus de resultaten te registreren en te vergelijken. Meten is weten.<br />
Opletten trouwens: de ene controle is de andere niet. Met inbegrip van de afhandeling van onderzoeken tot en met het resultaat, zijn er zwaardere dossiers en lichtere. Niets zegt dus dat de totale effort van inspecteurs en controleurs per dossier diezelfde 80/20-verdeling zal volgen. En voor de 20% anders gekozen controles, moet er ook voldoende tijd zijn om de selectie op een degelijke manier te doen.</p>
<p><strong>Besluit</strong><br />
Het is mijn stelling dat analytisch gedreven werken, het aansturen van kernprocessen op basis van data en gekwantificeerde risico&#8217;s, niet fundamenteel verkeerd, ongelijk, of oneerlijk is. Meer nog, een moderne overheid moet zich in de huidige budgettaire omstandigheden verplicht zien om efficiënt en doelgericht te werken, en de hiertoe beschikbare, wetenschappelijk verantwoorde middelen in te zetten. Echter zonder blind te worden voor de beperkingen daarvan. Er is een gulden middenweg tussen automatisatie en voeling met het terrein.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Working Predictive Analytics (1): lessons learned</title>
		<link>https://www.smalsresearch.be/putting-predictive-analytics-to-work-lessons-learned/</link>
		
		<dc:creator><![CDATA[Dries Van Dromme]]></dc:creator>
		<pubDate>Mon, 05 Mar 2012 12:06:01 +0000</pubDate>
				<category><![CDATA[Blog post]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[business intelligence]]></category>
		<category><![CDATA[Data Integration]]></category>
		<category><![CDATA[Data Mining]]></category>
		<category><![CDATA[Information management]]></category>
		<category><![CDATA[Predictive Analytics]]></category>
		<guid isPermaLink="false">/?p=4012</guid>

					<description><![CDATA[We hadden het al gelezen:  het potentieel is enorm, maar (zoals met zovele zaken) de kous is niet af met het kopen van software. Er komt heel wat bij kijken om Predictive Analytics succesvol, met ROI, in te zetten. Dat wisten we dus al &#8211; maar wat nu we een tijdje verder zijn, de eerste [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>We hadden het al gelezen:  het potentieel is enorm, maar (zoals met zovele zaken) de kous is niet af met het kopen van software. Er komt heel wat bij kijken om Predictive Analytics <em><strong>succesvol</strong></em>, met ROI, in te zetten.</p>
<p>Dat wisten we dus al &#8211; maar wat nu we een tijdje verder zijn, de eerste successen geboekt zijn? <strong>Enkele lessen</strong> kunnen getrokken worden, nu we dit aan den lijve hebben kunnen ondervinden. We geven ze hier al kort mee; elk van deze deelaspecten kan het onderwerp vormen van aparte blogs, waarin we er telkens wat meer aan besteden &#8230;</p>
<ul>
<li>men heeft specifieke skills nodig (business analyse, data mining, &#8230;) die verder gaan dan deze die nodig zijn voor Data Integration en Statistics;</li>
<li>men moet rekening houden met evolutie in de modellen, onderliggend aan analytics, en dient dus een model management te voorzien;</li>
<li>men moet een goed idee hebben van hoe (en met welk personeel) men zal afhandelen (workflow, case management, business processen, &#8230;) wat men met analytics detecteert;</li>
<li>afhankelijk van de behoeften van de business (bv. (near) real-time detectie), is er misschien nood aan specifieke implementatie-architectuur (bv. Complex-event Processing, of moderne BI-architecturen, Data Virtualisatie) bij de koppeling van analytics aan de productiesystemen. Klassieke DWH-gebaseerde architecturen kunnen immers tekort schieten! Veel hangt ook af van de aanwezige Enterprise Architectuur.</li>
</ul>
<p>Zeker en vast &#8220;to be continued&#8221;, dus &#8230; blijf ons volgen!</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
