Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare...

36
Bachelorscriptie Informatica Radboud Universiteit Automatisering van een selectieproces Auteur: S.J.W. Borgers (Steffan) s4856023 [email protected] Inhoudelijk begeleider: dr. ir. E. Herder (Eelco) [email protected] Stagebegeleider: ing. T. Droste (Tom) [email protected] Tweede lezer: Prof. dr. ir. D. Hiemstra (Djoerd) [email protected] 17 Januari 2020

Transcript of Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare...

Page 1: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

BachelorscriptieInformatica

Radboud Universiteit

Automatisering van eenselectieproces

Auteur:S.J.W. Borgers (Steffan)[email protected]

Inhoudelijk begeleider:dr. ir. E. Herder (Eelco)[email protected]

Stagebegeleider:ing. T. Droste (Tom)[email protected]

Tweede lezer:Prof. dr. ir. D. Hiemstra

(Djoerd)[email protected]

17 Januari 2020

Page 2: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

Samenvatting

Steeds meer processen in het dagelijks leven worden geautomatiseerd. Metde komst van Artificiele Intelligentie, en in het bijzonder Machinaal Leren,wordt het automatiseren van deze processen een stuk gemakkelijker. Indeze scriptie worden de opties bekeken waarmee een selectieproces geau-tomatiseerd kan worden, worden de knelpunten die automatische verwerk-ing van persoonsgegevens hebben met de Algemene Verordening Gegevens-bescherming toegelicht en tot slot wordt de theorie toegepast op een usecase van Secret View.

Page 3: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

Inhoud

1 Inleiding 31.1 Vraagstelling . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2 Opbouw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Voorkennis 52.1 Handmatige beslissingen . . . . . . . . . . . . . . . . . . . . . 52.2 Hulpmiddelen bij het maken van keuzes . . . . . . . . . . . . 6

2.2.1 Decision support systems . . . . . . . . . . . . . . . . 62.2.2 Recruiting . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3 Volledig automatische beslissingen . . . . . . . . . . . . . . . 82.3.1 Supervised Learning . . . . . . . . . . . . . . . . . . . 82.3.2 Unsupervised Learning . . . . . . . . . . . . . . . . . . 82.3.3 Reinforcement Learning . . . . . . . . . . . . . . . . . 8

2.4 Algemene Verordening Gegevensbescherming . . . . . . . . . 9

3 Onderzoek 103.1 Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.1.1 Support Vector Machines . . . . . . . . . . . . . . . . 103.1.2 Decision Tree Learning . . . . . . . . . . . . . . . . . . 12

3.2 Decision Support System . . . . . . . . . . . . . . . . . . . . 133.2.1 Rule-Based Decision Support System . . . . . . . . . . 13

3.3 AVG met automatische verwerking van persoonsgegevens . . 14

4 Use Case Secret View 164.1 Selecticriteria . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.2 Onderverdelen van de populatie . . . . . . . . . . . . . . . . . 184.3 Berekeningsmogelijkheden . . . . . . . . . . . . . . . . . . . . 194.4 Regeltypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.5 Hoe zorg je voor voldoende differentiatie? . . . . . . . . . . . 204.6 Promotie van sub-optimaal naar optimaal . . . . . . . . . . . 21

4.6.1 Bonusregels toevoegen . . . . . . . . . . . . . . . . . . 214.6.2 Procentuele bonus op interval . . . . . . . . . . . . . . 214.6.3 Bestaande multipliers aanpassen . . . . . . . . . . . . 22

1

Page 4: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

4.6.4 Conclusie . . . . . . . . . . . . . . . . . . . . . . . . . 224.7 Schets van het algoritme . . . . . . . . . . . . . . . . . . . . . 23

4.7.1 IRule . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.7.2 ApplicableRule . . . . . . . . . . . . . . . . . . . . . . 244.7.3 RuleResult . . . . . . . . . . . . . . . . . . . . . . . . 24

4.8 Implementatie van het algoritme . . . . . . . . . . . . . . . . 244.8.1 Swagger (Swashbuckle Package) . . . . . . . . . . . . . 244.8.2 PDf Export (iText7 Package) . . . . . . . . . . . . . . 254.8.3 Testen (xUnit Package) . . . . . . . . . . . . . . . . . 254.8.4 Repository Pattern . . . . . . . . . . . . . . . . . . . . 25

5 Conclusie 26

A Appendix 31A.1 Selectiecriteria . . . . . . . . . . . . . . . . . . . . . . . . . . 31A.2 Procentuele intervalbonus . . . . . . . . . . . . . . . . . . . . 33

2

Page 5: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

Hoofdstuk 1

Inleiding

In het dagelijks leven worden veel keuzes gemaakt, zowel bewust als onbe-wust. Een groot deel van deze keuzes maken wij mensen zelf. Wie nodig jeals werkgever uit op een sollicitatiegesprek? In welke programmeertaal gaanwe het nieuwe platform bouwen? Welke serie ga ik beginnen met kijken?Met de komst van Artificiele Intelligentie wordt het maken deze van keuzessteeds eenvoudiger. Zo is het een stuk makkelijker geworden om een filmte kiezen die je leuk vindt, omdat Netflix op basis van je kijkgedrag titelsaanbeveelt die jouw interesses matchen. [8]Ook al maken deze hulpmiddelen je keuze wel een stuk makkelijker, ze ne-men het keuzeproces niet volledig over. Er zijn echter toepassingen waarbijautomatische keuzeprocessen wel gewenst zijn. In dit paper worden de mo-gelijkheden onderzocht om een selectieproces, waarbij uit een groep kandi-daten de meest geschikte kandidaat gekozen moet worden, te automatiseren.Daarnaast wordt de meest geschikte oplossing toegepast op een use case bin-nen Secret View.[12]Bij de use case van Secret View moet een Mysteryshopper selectieprocesgeoptimaliseerd worden. De mysteryshopping opdrachten die Secret Viewuitvoert zijn zeer divers en de requirements van de opdrachtgevers wisselencontinu. Een zelflerend algoritme zal hierbij mogelijk niet de ideale oploss-ing zijn.

3

Page 6: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

1.1 Vraagstelling

Om dit onderzoek uit te kunnen voeren is de volgende onderzoeksvraagopgesteld:

Hoe kan een selectieproces door middel van een algoritmegeautomatiseerd worden?

Bij de onderzoeksvraag zijn de volgende sub-vragen opgesteld:

• Welke algoritme opties zijn er?

• Hoe beınvloedt de Algemene Verordening Gegevensbescherming (AVG)geautomatiseerde selectieprocessen?

• Welke selectiecriteria zijn er?

• Welke berekeningsmogelijkheid is het meest geschikt?

• Hoe zorg je voor gedetailleerde differentiatie binnen het algoritme?

1.2 Opbouw

Hoofdstuk 2 geeft achtergrondinformatie over beslissingsmethodieken en deAVG, in Hoofdstuk 3 worden alle algoritme opties onderzocht, en wordtgekeken naar de invloed van de AVG. In Hoofdstuk 4 wordt de use case vanSecret View toegelicht, worden de opties afgewogen en wordt er een voor-beeldimplementatie geschetst. Tot slot worden in Hoofdstuk 5 conclusiesgetrokken uit de eerdere hoofdstukken en worden voorstellen gedaan voortoekomstig onderzoek.

4

Page 7: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

Hoofdstuk 2

Voorkennis

2.1 Handmatige beslissingen

Het doel van dit onderzoek is om te kijken naar hoe een computer onderste-unend kan zijn in het maken van de optimale beslissingen. Om er voor te zor-gen dat de computer de juiste beslissing kan nemen, is het belangrijk om tekijken naar hoe wij mensen beslissingen nemen. In de klassieke besluitvorm-ing kan op verschillende manieren tot een besluit worden gekomen:[24]

• unaniem (iedereen staat achter het besluit, terwijl niet per se iedereenhet er van harte mee eens is)

• consensus (iedereen is het eens met het voorstel en overtuigd door deargumenten; een ideale situatie dus)

• vetorecht (een persoon kan het meerderheidsbesluit verbieden)

• democratisch (dit is een meerderheidsbesluit; minimaal de helft pluseen is voor. Nadelig is dat dus ook altijd een deel van de groep tegenis)

• delegerend (overdragen van beslissingsbevoegdheid)

• autocratisch (een individu of kleine groep neemt het besluit)

In het ideale geval wordt er op basis van consensus besloten. Dat wilzeggen dat er een kandidaat duidelijk het meest geschikt is, en dan zaldeze ook gekozen worden. In veel gevallen zal het lastig zijn om een perfectgeschikte kandidaat te vinden, dus dan zal er gekozen moeten worden tussende kandidaten die net niet helemaal geschikt zijn. Er moet tenslotte wel eenbesluit worden genomen. Dit besluit zal dan een unaniem besluit zijn.Wij mensen nemen veel beslissingen op basis van intuıtie. Het is heel lastigom een computer te trainen om op intuıtie een keuze te maken. Het isdaarom een stuk logischer om een beslissingsmodel te gebruiken wat preciestegenover het intuıtieve model staat: het rationele beslissingsmodel.[23]

5

Page 8: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

Definitie: rationeel model - Van te voren criteria vaststellen waaraanhet besluit of de oplossing moet voldoen. Daarna zo veel mogelijk optiesof oplossingen genereren en deze toetsen aan de vastgestelde criteria. Deoplossing die op de criteria het beste scoort, is het beste besluit.

Nu kan het voorkomen dat er geen besluit kan worden genomen aan dehand van het rationele model. Dan kan het ’begrenst rationeel model’ deuitkomst zijn.

Definitie: begrenst rationeel model - Niet alle mogelijkheden bekijken,maar een beperkt aantal opties beoordelen aan de hand van een beperktaantal criteria. Niet per se de beste oplossing kiezen, maar de oplossing die’satisficing’ (satisfying en sufficing, dus voldoende) is.

2.2 Hulpmiddelen bij het maken van keuzes

In de vorige paragraaf werd beschreven hoe handmatige beslissingen wordengenomen. Als tussenstap naar het volledig automatisch beslissen, zijn erook systemen die als hulpmiddel dienen bij het maken van keuzes.

2.2.1 Decision support systems

Een van de technieken die op dit moment al gebruikt wordt om te helpenbij het maken van keuzes in het bedrijfsleven is een decision support system(beslissingsondersteunend systeem). Deze decision support systems wordenbijvoorbeeld gebruikt om de omzet van een bedrijf voor het komende jaarte voorspellen. Dit is niet een simpele berekening die met de hand zou kun-nen worden gedaan, maar een berekening waarbij een groot aantal factorenin acht worden genomen. Met behulp van deze berekening kan een betergeınformeerde beslissing worden genomen, in een hoger tempo. Door eenanalyse te doen op verkoopcijfers, kan een voorspelling worden gedaan opde verkopen van het komende jaar. Een voorbeeld van een decision supportsystem is een rule-based decision support system. Een rule-based systemevalueert een set vooraf gedefinieerde regels. Op basis van de uitkomstenvan deze regels wordt uiteindelijk een conclusie getrokken.

Definitie: decision support system – een geautomatiseerd systeem datgegevens verzamelt, analyseert, en deze synthetiseert om uitgebreide in-formatierapporten te produceren, om hiermee bedrijfs- en organisatorischebesluitvormingsactiviteiten te ondersteunen [19]

6

Page 9: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

2.2.2 Recruiting

Naast het voorspellen van jaarcijfers om de bedrijfsstrategie te bepalen, wor-den er ook op andere plekken in het bedrijfsleven hulpmiddelen gebruikt omhet keuzeproces te vereenvoudigen. Een van de eerste keuzes waar je tege-naan loopt in het bedrijfsleven is het werven van personeel. Voorheen wasrecruiten vrij eenvoudig. Je nodigt mensen uit voor een gesprek en hooptdat de kandidaat geschikt is. Tegenwoordig wordt door recruiters steedsmeer gebruik gemaakt van hulpmiddelen, waardoor zij de beste kandidatenvoor een gesprek uit kunnen nodigen. Het voornaamste hulpmiddel watgebruikt wordt is publieke data. Het beste voorbeeld hiervan is LinkedIn.Om een beeld te krijgen van iemand en van wat diegene in het verledenaan opleiding/werk heeft gedaan, is LinkedIn een veelgekozen platform. Ineen onderzoek van Masters In Human Resources [18] kwam naar voren dat89% van de recruiters ooit een positie gevuld heeft door gebruik te makenvan LinkedIn. Deze vorm van recruiten noemen we data-driven recruiting(data-gestuurd werven).

Definitie: Data-driven recruiting: tastbare feiten en statistieken gebruikenom de beslissing om iemand aan te nemen te ondersteunen. [1]

Naast het verbeteren van de kwaliteit van de sollicitanten die worden uitgen-odigd, is data-driven recruiting ook een stuk efficienter en kan het ookkostenbesparend zijn.Vaak wordt door bedrijven al data verzameld voordat een persoon uberhauptgesolliciteerd heeft op een functie. Iemand kan bijvoorbeeld vragen stellenover een vacature, of kan zich aanmelden voor een nieuwsbrief. Het verza-melen van deze data mag onder bepaalde voorwaarden. In 2.4 zal hier dieperop in worden gegaan.

7

Page 10: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

2.3 Volledig automatische beslissingen

Als laatste stap in het spectrum van beslissingen is de volledig automatischebeslissing. Als er wordt gekeken naar volledig automatisch beslissen, danspeelt machine learning een grote rol.

Definitie: machine learning – toepassing van artificiele intelligentie waarbijsystemen de mogelijkheid hebben te leren van ervaring, zonder daar expli-ciet voor geprogrammeerd te zijn.

Machine learning algoritmen kunnen globaal onderverdeeld worden in 3 cat-egorieen: supervised learning, unsupervised learning en reinforcement learn-ing. [22]

2.3.1 Supervised Learning

Supervised machine learning algoritmen krijgen voorbeelden voorgeschoteldvan invoer en bijbehorende uitvoer. Het algoritme leert op basis van dezevoorbeelden hoe de invoer en uitvoer in relatie staan tot elkaar. Na hettrainen kan het algoritme zelfstandig voor nieuwe invoer de jusite uitvoerproduceren. Een veelgebruikte probleemvorm is classificatie, waarbij in-voer opgedeeld moet worden in groepen. Voorbeelden hiervan zijn k-nearestneighbor [21], decision tree learning en support vector machine.In hoofdstuk 3 zullen deze algoritmen nog aandachtiger behandeld worden.

2.3.2 Unsupervised Learning

Een unsupervised machine learning algoritme staat recht tegenover het su-pervised machine learning algoritme. Unsupervised wil zeggen dat het algo-ritme niet getraind is, en dat de data die het algoritme als input ontvangtniet direct onder te verdelen valt in categorieen. Het algoritme sorteertde dataset bijvoorbeeld op vergelijkbare eigenschappen van de datapunten.Voorbeelden hiervan zijn principal component analysis [2] en cluster analysis[9].

2.3.3 Reinforcement Learning

Een Reinforcement machine learning algoritme leert op basis van feedbackvan de buitenwereld. Vaak wordt er gebruik gemaakt van een systeem vanbeloningen en straffen. Is een voorspelling goed gemaakt, dan wordt hijbeloond(en vice versa). Op basis van deze feedback traint het algoritmezichzelf.

8

Page 11: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

2.4 Algemene Verordening Gegevensbescherming

Zoals bij 2.2.2 al kort werd benoemd, worden er bij veel selectieprocessenpersoonsgegevens verzameld. Om de mensen meer privacy rechten te gevenis op 25 mei 2018 de AVG [17] in de hele EU in werking getreden. Indeze verordening staan de belangrijkste regels voor de omgang met per-soonsgegevens vastgelegd. Als bij het maken van automatische beslissin-gen persoonsgegevens worden verwerkt, zijn er een aantal regels waar degegevensverwerker zich aan moet houden.

Allereerst moet aan een van de volgende 6 grondslagen worden voldaan,voordat er uberhaupt verwerking van persoonsgegevens toegestaan is:

• U heeft toestemming van de persoon om wie het gaat.

• Het is noodzakelijk om gegevens te verwerken om een overeenkomstuit te voeren

• Het is noodzakelijk om gegevens te verwerken omdat u dit wettelijkverplicht bent.

• Het is noodzakelijk om gegevens te verwerken om vitale belangen tebeschermen.

• Het is noodzakelijk om gegevens te verwerken om een taak van alge-meen belang of openbaar gezag uit te oefenen.

• Het is noodzakelijk om gegevens te verwerken om uw gerechtvaardigdebelang te behartigen.

Daarnaast zijn er een aantal rechten die de persoon waarvan gegevensworden verwerkt heeft: [16]

• Recht om in te zien

• Recht om te wijzigen

• Recht om vergeten te worden

• Recht om gegevens over te dragen

• Recht op informatie

In 3.3 zal dieper in worden gegaan op de regelgeving van de AVG.

9

Page 12: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

Hoofdstuk 3

Onderzoek

In het vorige hoofdstuk is een globaal beeld geschetst van de verschillendeuithoeken van de besluitvorming: van het handmatig selecteren, tot hetvolledig automatisch selecteren. Het doel van dit onderzoek is om te kijkennaar de mogelijkheden voor een algoritme dat een selectieproces (deels) au-tomatiseert. In het bijzonder wordt er gekeken naar een selectieproces waar-bij uit een set personen de meest geschikte persoon gekozen moet worden.Een van de veelgebruikte opties is een machine learning algoritme. Nu isMachine Learning een ontzettend breed begrip, dus zal er specifieker naarbepaalde opties gekeken moeten worden.

3.1 Machine Learning

3.1.1 Support Vector Machines

Een support vector machine (SVM) is een voorbeeld van supervised learn-ing algoritme. Het algoritme maakt onderscheid tussen twee categorieen.In dit geval wordt dus onderscheid gemaakt tussen een geschikt persoon eneen ongeschikt persoon. Gegeven een set trainingsvoorbeelden (waarbij devoorbeelden in een van twee categorieen vallen) wordt door het algoritmeeen model gebouwd dat voor nieuwe data een indeling kan doen in de juistecategorie, ook wel classificatie.Het doel van de SVM is om een vlak te vinden (hyperplane) waarin duidelijkonderscheid gemaakt kan worden tussen de verschillende categorieen. Alsdit gelukt is, dan kan voor toekomstige data een voorspelling worden gedaanvoor de categorie waarin deze persoon hoort.In Figuur 3.1a zijn de 2 soorten personen weergegeven als vierkant (geschikt)

10

Page 13: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

(a) Hyperplane opties(b) Optimale hyperplane

Figuur 3.1: SVM Hyperplane voorbeelden [7]

en cirkel (ongeschikt). De groene lijnen zijn mogelijke vlakken die gekozenkunnen worden om de personen te scheiden. Om de kleinste foutgevoe-ligheid te hebben, willen we een lijn kiezen die de 2 soorten personen hetbeste scheidt. Hoe dichter de punten bij de hyperplane liggen, hoe groter dekans op een verkeerde classificatie. De hyperplane in Figuur 3.1b is daaromhet ideaalst. Hierbij is de foutgevoeligheid het kleinst (maximum marginhet grootst). In dit voorbeeld wordt geclassificeerd op twee eigenschappenx1 en x2. Er kan ook op meer eigenschappen worden geclassificeerd. Bijclassificatie op 3 eigenschappen zal de hyperplane niet door en lijn gevormdworden vormen, maar door een 2 dimensionaal vlak, zoals in Figuur 3.2.

Figuur 3.2: SVM hyperplane met meerdere eigenschappen [7]

11

Page 14: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

3.1.2 Decision Tree Learning

Naast het feit dat een beslisboom een hulpmiddel kan zijn in een keuzeproces(semi-automatische beslissingen), zijn er ook technieken om beslisbomenautomatisch te genereren en te evalueren. In de meeste gevallen wordt eendecision tree learning algoritme in twee stappen uitgevoerd. De eerste stap isde inductiestap. Hier wordt de boom gebouwd op basis van de keuzecriteria.De tweede stap is een optimalisatiestap, ook wel pruning genoemd. Hetnadeel van beslisbomen is dat ze vrij groot en complex kunnen worden. Omte trachten dit enigszins te voorkomen wordt deze tweede stap uitgevoerd.Hierbij worden onnodige delen van de boom weggehaald (die minder relevantzijn), waardoor de boom kleiner en overzichtelijker kan worden.Het opbouwen van de beslisboom gaat globaal als volgt:

1. Een trainingsdataset is vereist (decision tree learning is een voorbeeldvan supervised machine learning). In deze trainingsdataset moeten dekeuzecriteria naar voren komen, samen met de gewenste output. (ditkan een score of een keuze zijn).

2. Kies de beste criteria om op te splitsen. Dit wordt de bovenste knoopin de boom.

3. Splits de data op basis van deze criteria.

4. Herhaal dit splitsen totdat er geen data meer is om op te splitsen.

Voor het bepalen van de beste criteria om op te splitsen in stap 2 wordtgekeken naar het criteria de laagste ‘cost’. Je wil zo min mogelijk splitten,om de boom zo efficient mogelijk te houden. Vaak wordt gebruik gemaaktvan de Gini Index Functie:

E =∑

(pk ∗ (1 − pk))

Waarbij E de ‘cost’ en pk de verhouding van training instanties vanklasse k in een bepaalde voorspelde knoop is.

Het splitsen in stap 3. en 4. gaat door tot er een bepaald minimum isbereikt. Je kan soms oneindig lang splitsen, maar daar wordt de boomalleen maar complexer door. Daarom wordt er een minimum ingesteld vanhet aantal instanties dat in de onderste knopen (leaf nodes) van de boommoet zitten. Het bepalen van dit minimum aantal is vrij lastig. Vaak wordter voor zekerheid gekozen (en dus een laag aantal) met als resultaat dat deboom erg groot wordt. Het optimalisatieproces (pruning) controleert of datveel van deze splitsingen wel nodig zijn, en verwijdert ze zodra ze irrelevantblijken te zijn.

12

Page 15: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

Het opbouwen van deze boom gaat automatisch. Er zijn verschillende al-goritmen als het gaat om opbouwen van een boom: ID3, C4.5, C5.0 enCART. Het algoritme wat eerder is beschreven is het ID3-algoritme. [20]In de praktijk is dit ook het algoritme wat het meest gebruikt wordt. Ditalgoritme is in 1986 ontwikkeld door Ross Quinlan. In 2009 hebben ChenJin, Luo De-lin en Mu Fen-xiang [11] een verbeterde versie van het ID3 al-goritme gepubliceerd waarbij een van de tekortkomingen van ID3 aan hetlicht wordt gebracht: ID3 splitst de knopen op basis van het attribuut wathet vaakst voorkomt. Echter hoeft dit niet altijd het optimale attribuut tezijn.

3.2 Decision Support System

3.2.1 Rule-Based Decision Support System

Naast machine learning opties zijn er ook semi-automatische beslissingsmo-gelijkheden zoals een decision support system, in het bijzonder een rule-based decision support system. Een mooi voorbeeld van een rule-baseddecision support system is het systeem ontwikkeld door Meltem YıldırımImamoglu en Deniz Cetinkaya [13]. Zij hebben een systeem ontwikkeld datvoor een nieuw te beginnen project de meest geschikte programmeertaalaanbeveelt.

Figuur 3.3: Rule based decision support system, flow van het algoritme [13]

13

Page 16: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

Aan het begin van het project definieert de gebruiker van het systeemaan de hand van het projectplan de parameters (User Parameters). Dezeparameters zijn projectspecifieke variabelen zoals het doel, projectduur ,het al dan niet open source zijn, en het budget. In ‘Programming Lan-guages Knowledge Base’ staan naast alle eigenschappen en attributen voorde verschillende programmeertalen ook informatie over de programmeertalen(zoals categorie en jaar van publicatie). Level 1 Rules en Level 2 Rules be-vatten een set conditionele regels die gebruikt worden om nuttige conclusieste trekken uit de User Paramaters, gebruik makend van de Knowledge Base.De parameters hebben allemaal een aparte weging. De totaalscore voor eenprogrammeertaal wordt berekend door alle regels apart te nemen. Uitein-delijk worden alleen de talen met de hoogste score weergegeven.

3.3 AVG met automatische verwerking van per-soonsgegevens

Zoals eerder kort beschreven, zijn er wat knelpunten wat betreft regelgev-ing en automatische verwerking van persoonsgegevens. De komst van deAVG heeft het voor de gegevensverwerker een stuk lastiger gemaakt. Eenvan de grondbeginselen van de AVG is dat data behoorlijk, rechtmatig entransparant verwerkt wordt. [15]Het verwerken van persoonsgegevens wordt in de AVG gedefinieerd als:

’een bewerking of een geheel van bewerkingen met betrekking totpersoonsgegevens of een geheel van persoonsgegevens, al dan nietuitgevoerd via geautomatiseerde procedes, zoals het verzamelen,vastleggen, ordenen, structureren, opslaan, bijwerken of wijzi-gen, opvragen, raadplegen, gebruiken, verstrekken door middelvan doorzending, verspreiden of op andere wijze ter beschikkingstellen, aligneren of combineren, afschermen, wissen of vernieti-gen van gegevens’ (Art 4, lid 2)

Als subcategorie van verwerken heb je profileren:

‘elke vorm van geautomatiseerde verwerking van persoonsgegevenswaarbij aan de hand van persoonsgegevens bepaalde persoonlijkeaspecten van een natuurlijke persoon worden geevalueerd, metname met de bedoeling zijn beroepsprestaties, economische sit-uatie, gezondheid, persoonlijke voorkeuren, interesses, betrouw-baarheid, gedrag, locatie of verplaatsingen te analyseren of tevoorspellen’ (Art 4, lid 4)

14

Page 17: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

Van profileren is dus sprake als er een geautomatiseerde vorm van gegevensver-werking plaatsvindt. De lastige vraag resteert: Wanneer is er sprake vanvolledig geautomatiseerde gegevensverwerking? Is er alleen sprake van eenvolledig automatische beslissing als er in het gehele beslissingsproces geenmenselijke interventie is geweest? In veel gevallen zal een mens de criteriaopstellen waaraan voldaan moeten worden, of zal iemand de uitkomst vanhet model bekijken en aan de hand daarvan een beslissing maken, zonderhier al te veel bij na te denken. Is deze interventie dan voldoende?

Dimitra Kamarinou, Christopher Millard, and Jatinder Singh [4] zijn vanmening dat de interventie van een mens substantieel moet zijn, en daadw-erkelijk iets moet toevoegen in het beslissingsproces, voordat artikel 22 vande AVG (Geautomatiseerde individuele besluitvorming, waaronder profiler-ing) niet meer van toepassing is. Er wordt dus niet alleen een vinkje gezetonder een keuze, maar een mens moet daadwerkelijk kritisch gekeken hebbennaar de keuze van de machine.

Behalve dat er een menselijke interventie plaats moet vinden, heeft de be-trokkene ook recht op inzage in de gebruikte logica. Zo kan je voor eenbeslisboom een uitleg formuleren waarom een keuze tot stand is gekomen(wordt lastiger naarmate de grootte toeneemt), maar dit wordt een heel stuklastiger wanneer je bijvoorbeeld een neuraal netwerk gebruikt, dat als eensoort ‘black-box’ opereert. De AVG schrijft hierover:

‘Naast de in lid 1 bedoelde informatie verstrekt de verwerk-ingsverantwoordelijke de betrokkene bij de verkrijging van depersoonsgegevens de volgende aanvullende informatie om een be-hoorlijke en transparante verwerking te waarborgen:

(f) het bestaan van geautomatiseerde besluitvorming, met in-begrip van de in artikel 22, leden 1 en 4, bedoelde profilering,en, ten minste in die gevallen, nuttige informatie over de on-derliggende logica, alsmede het belang en de verwachte gevol-gen van die verwerking voor de betrokkene.’ (Art 13, lid 2) []

Nu is het lastig om te zeggen wat precies met ‘nuttige informatie over deonderliggende logica’ bedoeld wordt. Het simpelweg vrijgeven van de codevan een algoritme heeft voor mensen met weinig technische kennis ampernut. Lee Bygrave [3] argumenteert dat de logica goed gedocumenteerd moetworden, en dat de documentatie beschikbaar moet zijn om raad te plegen.Daarnaast moet uit de documentatie op zijn minst blijken welke gegeven-scategorieen toegepast worden en wat voor rol deze categorieen spelen in debeslissing die wordt genomen.

15

Page 18: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

Hoofdstuk 4

Use Case Secret View

Met de kennis van de vorige hoofdstukken, ga ik een toepassing bedenkenvoor Secret View uit Arnhem. Secret View is een bedrijf dat onderzoek doetin de Retail sector, met als primaire doel het verbeteren van klantbeleving.De voornaamste manier waarop dit gebeurt is door het inzetten van mys-tery shoppers. Een mystery shopper is een persoon die zich in een winkelvoordoet als normale klant, in die winkel een case afwerkt (bijvoorbeeld eenspecifiek broodje bestellen in de AH to go) en na zijn bezoek verslag doetvan zijn/haar bevindingen. Secret View heeft zelf een tool ontwikkeld waardeze resultaten worden verwerkt en overzichtelijk weergegeven worden voorde opdrachtgevers. Secret View heeft een eigen community van mysteryshoppers die zich op hun platform inschrijven om uiteindelijk een van dediverse opdrachten uit te voeren.Het selectieproces wat geoptimaliseerd moet worden: Zodra een mysteryshop opdracht op het platform van Secret View online wordt gezet, kun-nen de mystery shoppers die onderdeel zijn van de community zich in gaanschrijven op de opdracht. Als er op een gegeven moment verschillende aan-meldingen binnen zijn gekomen, gaat een van de projectmanagers voor iedervan deze ingeschreven mystery shoppers kijken of ze geschikt zijn voor de op-dracht. Uiteindelijk wordt de meest geschikte mystery shopper uitgenodigdom de opdracht uit te voeren. Elke opdracht kan tenslotte maar door eenpersoon uitgevoerd worden. De controle of een mystery shoppers geschiktzijn voor de opdracht en het kiezen wie uiteindelijk het meest geschikt is, iseen tijdrovende taak.

Het selectieproces van Secret View is een mooi voorbeeld om de theorievan de voorafgaande hoofdstukken op toe te passen. De eerste vraag die hi-erbij gesteld moet worden: kan het proces volledig geautomatiseerd worden,of zal het algoritme een ondersteunende rol gaan geven in het selectieproces?Eerst wordt er gekeken naar de volledig automatische opties.

16

Page 19: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

De eerste optie is een support vector machine (SVM). Een SVM is eenmooi voorbeeld van een supervised learning algoritme, waarmee we kun-nen classificeren tussen een geschikte en een ongeschikte mystery shop-per. Aangezien Secret View al een aantal jaar bestaat, en er duizendenopdrachten in het verleden zijn uitgevoerd, zou er een goed trainingsdatasetbeschikbaar moeten zijn. Helaas is dit niet het geval. De keuzes die in hetverleden door Secret View zijn gemaakt, zijn niet altijd optimaal geweest.Uit tijdsoverweging is bijvoorbeeld vaak voor een bekende mystery shoppergekozen, terwijl deze niet perse de optimale mystery shopper was. Daaromzal het trainen met deze data tot suboptimale keuzes leiden. Met DecisionTree Learning zitten we met hetzelfde probleem. Ook bij het genereren vanDecision trees met ID3 is een geschikte trainingsdataset vereist.

Stel dat er wel een geschikte dataset beschikbaar is. Is een SVM of De-cision Tree learning dan wel geschikt? De mysteryshoppping cases van Se-cret View zijn zeer divers, en de requirements per case wijzigen geregeld.Een getrainde SVM kan na een wijziging in requirements ineens onbruik-baar worden en het opnieuw trainen van de SVM kost ontzettend veel tijd;de nieuwe trainingsdataset moet tenslotte nog gegenereerd worden. Het al-goritme moet na het wijzigen van de requirements direct weer beschikbaarzijn voor gebruik. Naast dat er geen geschikte trainingsdataset beschik-baar is, brengt een volledig automatisch beslissingssysteem ook een hoopknelpunten met betrekking tot regelgeving met zich mee. De AVG verbiedtvolledig geautomatiseerde verwerking van persoonsgegevens. Er zijn echterwel oplossingen waarop de regelgeving van de AVG niet van toepassing is.

Een semi-automatische oplossing zoals een decision support system is eenoplossing waarbij de regelgeving van de AVG niet van toepassing is. Bijdecision support systems zal de definitieve keuze alsnog door een mens wor-den gemaakt, maar wordt deze keuze ondersteund en vereenvoudigd doorhet algoritme. In het bijzonder kan een rule-based decision support systemin deze use case de geschikte uitkomst bieden. In een rule-based systemworden regels toegepast op de kandidaten, om uiteindelijk tot een score tekomen. Door deze scores te vergelijken kan uiteindelijk de meest geschiktekandidaat gekozen worden.Een rule-based decision support system is te vergelijken met een beslisboom(zonder machine learning). In de basis werkt een beslisboom ook op regels.Het grote verschil tussen decision trees en een rule-based system in dezetoepassing is dat de regels die op de mystery shoppers toegepast wordenniet alleen ja/nee regels zijn, maar ook regels met veel meer opties. Alsgevolg daarvan zal de beslisboom die opgesteld wordt op basis van dezeregels ontzettend groot en inefficient worden. Daarom is een rule-based de-cision support system voor deze use case het meest geschikt.

17

Page 20: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

Een rule-based system genereert een score op basis van in hoeverre aanbepaalde vooraf opgestelde criteria voldaan wordt. Deze score kan daarnagebruikt worden om de gewenste keuze te maken. Dit systeem kan op ver-schillende manieren worden opgebouwd. Zo zijn er verschillende manierenom tot een score te komen, er kan wel/geen onderscheid gemaakt wordentussen de weging van bepaalde regels. Alle gemaakte keuzes worden in dithoofdstuk toegelicht.

4.1 Selecticriteria

Om uiteindelijk een set van regels samen te kunnen stellen waarop het algo-ritme gaat selecteren, is het van belang om te weten op welke manier er nugeselecteerd wordt. Door middel van interviews met het projectmanagementben ik er achter gekomen hoe het selectieproces op dit moment in elkaar ziten welke afwegingen gemaakt worden. In deze gesprekken heb ik een aantalvoorbeeldcases voorgelegd en gevraagd welke mystery shopper in hun ogenhet meest geschikt is voor die opdracht. Er moest hardop gedacht wordenen elke keuze die gemaakt werd moesten ze verantwoorden. Waarom is eenbepaalde mystery shopper beter dan een andere? En waarom zou je graagdeze persoon de opdracht uit laten voeren?Zie A.1 voor de volledige lijst van criteria.

4.2 Onderverdelen van de populatie

Wat ook uit de gesprekken naar voren kwam is dat de mystery shoppersdie zich ingeschreven hebben op een opdracht globaal in te delen zijn in 3groepen. De opdeling is gebaseerd op de mate van geschiktheid voor deopdracht.

• Geschikte mystery shoppersDeze mystery shoppers voldoen aan alle vooraf opgestelde eisen, enkunnen direct geselecteerd worden voor de opdracht.

• Semi geschikte mystery shoppersDeze groep mystery shoppers voldoet niet volledig aan de gesteldeeisen. Als er geen andere mystery shoppers gevonden worden, dan kandeze wel op pad gestuurd worden. Een sub-optimale oplossing.

• Ongeschikte Mmstery shoppersDeze groep voldoet niet aan de basiseisen en worden eigenlijk directgeweigerd. Stel dat een vrouw gevraagd is voor een bepaalde opdracht,dan worden alle mannen geweigerd (en vice versa).

18

Page 21: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

4.3 Berekeningsmogelijkheden

Nu we een globaal beeld hebben van welke selectiecriteria er zijn, kan erworden gekeken naar hoe we per mystery shopper een score gaan berekenen.Het algoritme van SV zal vergelijkbaar gaan werken als het voorbeeld vanMeltem Yıldırım Imamoglu en Deniz Cetinkaya [13].Als input parameters worden de eisen voor deze opdracht ingevoerd. Welkeleeftijd is gewenst? Hoe veel ervaring is gewenst? In de Knowledge Baseworden alle aangemelde mystery shoppers gestopt. Vervolgens worden deregels uitgevoerd en worden de hoogste scores weergegeven. De voornaamstekeuze hierbij is: worden regels los van elkaar bekeken, of kunnen er groepjesvan regels gemaakt worden?In het in 3.2.1 genoemde voorbeeld werden alle parameters los van elkaarberekend, maar de regels waar bij Secret View op geselecteerd wordt kunnenin categorieen worden ingedeeld. Bijvoorbeeld een categorie voor betrouw-baarheid, een categorie voor ervaring, of een categorie voor beschikbaarheid.Het is daarom handig om dit ook in het algoritme te implementeren.Deze categorieen kunnen vervolgens allemaal apart een sub score krijgen.Dit kan een gemiddelde zijn van de individuele scores, of een gemiddeldemet aparte regel wegingen. Uiteindelijk kan dan met deze sub scores eeneindtotaal worden berekend:

Figuur 4.1: Voorbeeldberekening met subscores

Het kan gewenst zijn om een regel een zwaardere weging mee te geven.Zo kan een regel belangrijker zijn dan een ander. Voor deze regels is dan demogelijkheid om een weging te kiezen van 2, ten opzichte van de weging 1die de normale regels krijgen. Logischerwijs telt deze regel dan dubbel zozwaar mee.

19

Page 22: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

4.4 Regeltypes

Niet elke regel is hetzelfde. Zo is de regel die controleert of je aan het gewen-ste geslacht voldoet anders dan de regel die controleert of je in een bepaaldegewenste leeftijdscategorie valt. Zo hoeft een persoon die 1 dag te oud isniet perse buiten de boot te vallen.

• Binaire regel: Je voldoet aan een eis, of je voldoet niet.

• Min/Max regel: Val je in een bepaalde range, of niet? Hoe verderbuiten de gewenste range, hoe lagere score.Hier zijn een aantal variaties op. Zo kan het zijn dat je een hardeuitsluiting hebt als je buiten de range valt, of juist niet.

• Relatieve regel: Er wordt gekeken hoe je scoort ten opzichte van deandere aanmeldingen, en je krijgt een score in verhouding tot je positiein de lijst.

• Custom regel: Er zijn ook regels die niet uit te drukken in een van debovenste regels. Een regel die bijvoorbeeld op basis van een cognitiveengine een gevoel uitleest en daar een score aan geeft.

4.5 Hoe zorg je voor voldoende differentiatie?

Het is belangrijk om voldoende differentiatie in het algoritme aan te bren-gen. Mystery shoppers die op het eerste oog zeer vergelijkbaar lijken, kun-nen toch enorm verschillen. Maar hoe zorgen we er voor dat deze verschillenook uiteindelijk in de eindscore naar boven komen? De oplossing voor ditvraagstuk is vrij eenvoudig. Hoe meer regels er op een bepaald onderwerpworden toegepast, hoe meer differentiatie er mogelijk is. Een mooi voor-beeld:

Stel je hebt een opdracht van SPAR en er zijn twee aanmeldingen. Per-soon 1 heeft twee SPAR bezoeken gedaan, en drie AH to Go. Persoon 2heeft drie SPAR bezoeken gedaan, en twee AH to Go. Als er naar Totaalaantal bezoeken wordt gekeken, dan zijn ze beide gelijk (vijf bezoeken). Omer voor te zorgen dat er wel verschillen zichtbaar zijn tussen de twee perso-nen moet je in plaats van een criteria gebruiken, drie criteria gebruiken:

• Hoe veel bezoeken heeft persoon totaal uitgevoerd?

• Hoe veel bezoeken heeft persoon in deze branche uitgevoerd?

• Hoe veel bezoeken van deze opdrachtgever heeft persoon uitgevoerd?

20

Page 23: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

Als deze drie criteria gebruikt worden, dan zal er in eindscore wel een verschilzichtbaar zijn tussen de twee personen, omdat op het laatste criteria Persoon2 net iets beter scoort. Dit verschil zou bij het gebruiken van een criterianiet zichtbaar zijn. Zoals dit bij aantal uitgevoerde opdrachten gebeurt, kandit ook voor ander criteria gedaan worden.

4.6 Promotie van sub-optimaal naar optimaal

In het ideale geval zal er in de set mystery shoppers altijd een geschiktemystery shopper te vinden zijn. Deze mystery shopper zal dan geselecteerdworden. Echter blijkt uit de praktijk dat vaak toch een minder geschiktemystery shopper (een sub-optimale) op pad gestuurd moet worden, omdatde opdracht toch uitgevoerd moet worden. Maar hoe kan je uit de suboptimale groep mystery shoppers een geschikte kandidaat kiezen? Hoe langmoet er gewacht worden op een potentieel betere mystery shopper, voordateen sub optimale mystery shopper op pad gestuurd wordt? Hier zijn eenaantal mogelijkheden voor.

4.6.1 Bonusregels toevoegen

Een van de mogelijkheden is om een set van regels te hebben die toegevoegdkan worden om bonussen op te leveren. Deze regels zullen dus echt alsbonus tellen, en dus zullen de wegingen niet meegenomen worden in hetbereken van het gemiddelde. Door deze bonus regels toe te voegen kunnende scores van de mystery shoppers misschien net over de drempel geholpenworden. Een voorbeeld van een bonus regel kan zijn: Hoe vaak ben je deafgelopen tijd op het platform geweest? Of hoe veel opdrachten waarvoorje je aangemeld hebt krijg je daadwerkelijk toegewezen?

4.6.2 Procentuele bonus op interval

Een andere optie is om op bepaalde momenten een procentuele bonus toe tepassen op (een aantal) regels of een bepaalde categorie. Zo kan een mysteryshopper die zich op maandag aanmeldt met een score van 60, na 3 dageneen hogere score hebben dan een mystery shopper die zich op woensdagaanmeldt met een score van 65. En dat terwijl de eerste mystery shopperop het moment van aanmelden een lagere score had.Een voorbeeldberekening is te vinden in A.2.

21

Page 24: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

4.6.3 Bestaande multipliers aanpassen

Ook kunnen we de bestaande multipliers aanpassen om zo de scores omhoogte krijgen. Bij een aantal opdrachten zal bijvoorbeeld ervaring belangrijkzijn. Door de multipliers aan te passen van (een aantal) criteria, kan hetzijn dat de mystery shopper toch net over de drempel getrokken wordt.

4.6.4 Conclusie

De bonusregel lijkt voor de promotie van sub-optimaal naar optimaal nietheel geschikt. Als er bonus regels te definieren zijn, kunnen deze betermeegenomen worden in de oorspronkelijke set van regels. Hiermee kunnenwe zorgen voor meer differentiatie.Dit zou wel een optie zijn zodra er gamification toegepast wordt (Zie hoofd-stuk 5).Een van de business rules van Secret View is dat we maximaal 5 dagen kun-nen wachten op een geschikte mystery shopper, voordat we een sub optimaleaanmelding moeten accepteren. Een oplossing waarbij tijd een rol speelt isdus vrij handig.Het nadeel van de ’Bestaande multipliers aanpassen’ is dat we niet kunnengaranderen dat een mystery shopper optimaal wordt. Door multipliers aante passen kijk je op een net iets andere manier naar de mystery shopper.Dit kan een goede oplossing zijn om iemand net over de drempel te helpen,maar biedt geen garantie. De ideale oplossing is dus een ’procentuele bonusop interval’ op de sub-scores toepassen. Dit valt ook goed te combinerenmet het tijdsaspect wat we hebben.Elke 12 uur wordt er een procentuele bonus toegepast op een aantal (ofalle) regels. Deze procentuele bonus kan incrementeel zijn, of sequentieel.Stel dat we 10% bonus op een regel toepassen, dan zal na 10 intervallen se-quentieel 100∗1.110 = 259% (dus 159% bonus) vergeleken met incrementeel100+(10∗10) = 200% (dus 100% bonus). Mijn stagebegeleider heeft gekozenom een incrementele bonus te gebruiken, omdat het eenvoudig moet blijvenvoor het projectmanagement.

22

Page 25: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

4.7 Schets van het algoritme

Met onderstaande Sequence diagram is de globale flow van het algoritmeweergegeven.

23

Page 26: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

In het sequence diagram van de vorige pagina wordt gebruik gemaakt vaneen aantal classes en interfaces.

4.7.1 IRule

De IRule interface wordt geimplementeerd door alle regels. Elke regel moeteen Initialize hebben, en een Calculate. Dit zijn de 2 functies die in de 2eloop aangeroepen worden.

4.7.2 ApplicableRule

ApplicableRule is een DataModel. Met een ApplicableRule wordt een regelbedoeld die op een bepaalde opdracht van toepassing is. Op basis vaneen lijst van ApplicableRules kan het algoritme draaien. Met een Appli-cableRule kan ook een groepering van regels gemaakt worden. Dit wordtgedaan door de property ‘ApplicableRuleId’ in te stellen, voor de regels diesamen gegroepeerd moeten worden.

4.7.3 RuleResult

RuleResult is ook een DataModel. In een RuleResult wordt het resultaatvan het uitvoeren van een bepaalde regel opgeslagen (Of het resultaat vaneen groepering van regels). Hierin staat naast de score ook de weging ende eventuele procentuele bonus die gebruikt wordt van promotie van sub-optimaal naar optimaal.

4.8 Implementatie van het algoritme

De back-end van het platform van Secret View is voornamelijk gebouwd inASP .NET Core (C#), dus het was vanzelfsprekend dat ik mijn algoritmeook in C# zou maken. Er zijn een aantal packages die gebruikt zijn omhet bouwen van het algoritme makkelijker te maken, en om het algoritme tetesten.

4.8.1 Swagger (Swashbuckle Package)

In dit project heb ik gebruik gemaakt van Swagger. [5] Swagger is eenhandige tool waarmee er automatisch een visualisatie wordt gemaakt vande API. Hierdoor is het heel gemakkelijk om te testen. Ik heb dit vooralgebruikt om mijn controllers aan te roepen (en dus database uitwisselingendoen).

24

Page 27: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

4.8.2 PDf Export (iText7 Package)

Aangezien het proces niet volledig automatisch mag en kan zijn, moet deberekening van het algoritme inzichtelijk zijn. Elke keer dat het algoritmeuitgevoerd wordt genereert hij een PDF met de resultaten. Per gebruikerworden de gegevens en de scores per regel weergegeven, zodat de beredener-ing inzichtelijk is. De iText package [10] maakt het gemakkelijk om de pdfexport te genereren.

4.8.3 Testen (xUnit Package)

Voor het unit testen heb ik gebruik gemaakt van xUnit [6]. xUnit is eenopen source tool om unit testing te doen op het .NET Framework.

4.8.4 Repository Pattern

Op aanraden van mijn stagebegeleider heb ik gebruik gemaakt van het repos-itory pattern. Een repository bevat de logica om te communiceren met eendatabron. Het voordeel van een repository maken is dat je de logica bijde controller weghaalt. De Controller heeft geen weet van de logica die ge-bruikt wordt, alleen dat hij bepaalde queries uit kan voeren. De controllermaakt gebruik van het contract IRepository. Door de logica weg te halenuit de controller wordt het makkelijker om de code te onderhouden. (Loosecoupling)

25

Page 28: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

Hoofdstuk 5

Conclusie

Om een handmatig selectieproces te optimaliseren en het (semi) automatischte maken, zijn er verschillende technieken die een uitkomst kunnen bieden.Een support vector machine algoritme en een decision tree learning algoritmezijn uitermate geschikt om classificatie te autoamtiseren. Echter vereisendeze algoritmen wel een geschikte trainigsdataset, omdat het voorbeeldenvan supervised machine learning algoritmen zijn. Artikel 22 van de AVG[15] voorkomt volledige automatische verwerking van persoonsgegevens. Alseen Support Vector Machine Algoritme of een Decision Tree Learning algo-ritme gebruikt wordt om een selectieproces te optimaliseren, dan zal rekeninggehouden moeten worden met de limitaties die de AVG brengt.Bij de use case van Secret View is het gelukt om een semi-automatischeoplossing te realiseren, door gebruik te maken van een rule-based decisionsupport system. Omdat dit decision support system een hulpmiddel is bijhet keuzeproces, valt het algoritme niet onder de regelgeving van artikel 22van de AVG, en kan het dus zonder problemen gebruikt worden.

In toekomstig onderzoek kan gekeken worden hoe een Support VectorMachine of een Decision Tree Learning algoritme concreet toegepast kanworden om een selectieproces te automatiseren. Gezien de tekortkomingenbij Secret View is hier in dit onderzoek geen ruimte voor geweest.Daarnaast kan dieper gekeken worden naar de invloed van de AVG, en on-derzocht worden of er onder bepaalde voorwaarden aan de regelgeving vande AVG kan worden ontkomen, om zo toch een volledig automatisch algo-ritme in de praktijk in te kunnen zetten.Ook kan onderzoek gedaan worden naar de Usability van de voorgesteldeimplementatie uit Hoofdstuk 4. De implementatie is nog niet uitvoerig inde praktijk getest. Hier kan bijvoorbeeld gebruik gemaakt worden van deSystem Usability Scale (SUS) [14]Ook kan gamification worden toegevoegd aan de implementatie, om voormeer differentiatie te zorgen.

26

Page 29: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

Erkenning

Ik wil Tom Droste bedanken voor de intensieve begeleiding tijdens mijnstageperiode bij Secret View, en Eelco Herder voor de kritische blik en ideeendie hij bracht om tot dit onderzoek te komen.

Page 30: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

Bibliografie

[1] Nikoletta Bika. Data driven recruiting. https://resources.

workable.com/stories-and-insights/data-driven-recruiting-

101. Bezocht op: 8-1-2020.

[2] Matt Brems. Introduction to k-nearest neighbors. https:

//towardsdatascience.com/a-one-stop-shop-for-principal-

component-analysis-5582fb7e0a9c. Bezocht op: 16-1-2020.

[3] Lee Bygrave. Minding the machine: art 15 of the ec data protectiondirective and automated profiling. http://classic.austlii.edu.au/au/journals/PrivLawPRpr/2000/40.html#fn36. Bezocht op: 16-1-2020.

[4] Christopher Millard Dimitra Kamarinou and Jatinder Singh. ‘machinelearning with personal data’, legal studies research paper 247/2016(queen mary university of london, school of law, 7 november 2016).https://ssrn.com/abstract=2865811, 2016.

[5] domaindrivendev. Swashbuckle package. https://www.nuget.org/

packages/Swashbuckle/. Bezocht op: 8-1-2020.

[6] dotnetfoundation. xunit package. https://www.nuget.org/packages/xunit/. Bezocht op: 8-1-2020.

[7] Rohith Gandhi. Support vector machine — introduction to ma-chine learning algorithms. https://towardsdatascience.com/

support-vector-machine-introduction-to-machine-learning-

algorithms-934a444fca47. Bezocht op: 8-1-2020.

[8] Carlos A. Gomez-Uribe and Neil Hunt. The netflix recommender sys-tem: Algorithms, business value, and innovation. ACM Trans. Manage.Inf. Syst., 6(4), December 2016.

[9] Maarten Grootendorst. Cluster analysis: Create, visualize andinterpret customer segments. https://towardsdatascience.com/

cluster-analysis-create-visualize-and-interpret-customer-

segments-474e55d00ebb. Bezocht op: 16-1-2020.

1

Page 31: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

[10] iText. itext7 package. https://www.nuget.org/packages/itext7/.Bezocht op: 8-1-2020.

[11] C. Jin, Luo De-lin, and Mu Fen-xiang. An improved id3 decision treealgorithm. 2009 4th International Conference on Computer Science andEducation, pages 127–130, 2009.

[12] Niek Koning. Secret view. https://secretview.io/nl. Bezocht op:16-1-2020.

[13] M. Y. Imamoglu and D. Cetinkaya. A rule based decision support sys-tem for programming language selection. In 2017 2nd InternationalConference on Knowledge Engineering and Applications (ICKEA),pages 71–75, Oct 2017.

[14] U.S. Department of Health and Human Services. System usabil-ity scale (sus). https://www.usability.gov/how-to-and-tools/

methods/system-usability-scale.html. Bezocht op: 16-1-2020.

[15] Autoriteit Persoonsgegevens. Algemene verordening gegevens-bescherming. https://autoriteitpersoonsgegevens.nl/

sites/default/files/atoms/files/verordening_2016_-_679_

definitief.pdf. Bezocht op: 8-1-2020.

[16] Autoriteit Persoonsgegevens. De avg in een notendop.https://autoriteitpersoonsgegevens.nl/sites/default/files/

atoms/files/notendop_avg.pdf. Bezocht op: 8-1-2020.

[17] Autoriteit Persoonsgegevens. Mag u persoonsgegevens verwerken?https://autoriteitpersoonsgegevens.nl/nl/onderwerpen/

algemene-informatie-avg/mag-u-persoonsgegevens-verwerken.Bezocht op: 8-1-2020.

[18] Undercover Recruiter. How linkedin is transforming the worldof recruitment. https://theundercoverrecruiter.com/linkedin-

recruitment/. Bezocht op: 8-1-2020.

[19] Troy Segal. Decision support system - dss. https://www.

investopedia.com/terms/d/decision-support-system.asp. Be-zocht op: 8-1-2020.

[20] George Seif. A guide to decision trees for machine learning and datascience. https://towardsdatascience.com/a-guide-to-decision-

trees-for-machine-learning-and-data-science-fe2607241956.Bezocht op: 8-1-2020.

[21] Tavish Srivastava. Introduction to k-nearest neighbors.https://www.analyticsvidhya.com/blog/2018/03/introduction-

k-neighbours-algorithm-clustering/. Bezocht op: 16-1-2020.

2

Page 32: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

[22] Expert System Team. What is machine learning? a definition. https://expertsystem.com/machine-learning-definition/. Bezocht op:8-1-2020.

[23] Francis Uzonwanne. Rational Model of Decision Making, pages 1–6. 012016.

[24] Suzanne van Stratum. Management cursus - besluiten nemen.https://www.leren.nl/cursus/management/besluiten-nemen/

knoop-doorhakken.html. Bezocht op: 8-1-2020.

3

Page 33: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

Appendix A

Appendix

A.1 Selectiecriteria

Uit de gesprekken is gebleken dat de projectmanagers op de volgende crite-ria selecteren. Per opdrachtgever kan verschillen hoe belangrijk een bepaaldcriteria is, en voor sommige opdrachtgevers zijn niet alle criteria relevant:

• LeeftijdBij een aantal opdrachten is de leeftijd van de mystery shopper cruci-aal. Bij een SPAR alcoholcontrole moet er perse iemand tussen 18-21gekozen worden (heel misschien 22 nog), maar bij een opdracht vanRituals waarbij 30+ gewenst is, zou iemand van 28 ook prima gestuurdkunnen worden indien aan de andere criteria voldaan wordt.

• MotivatieMotivatie speelt bij veel projectmanagers een grote rol. Dit is een vande eerste dingen waar naar gekeken wordt. Hoe uitgebreider de moti-vatie, hoe beter. Dit is echter een subjectieve beoordeling, waar metde implementatie voorlopig geen rekening mee gehouden kan worden.

• UitvoerdatumVeel opdrachte n zijn gebonden aan een bepaalde periode. Zodra eenmystery shopper eerder in de periode kan gaan, krijgt deze vaak devoorkeur. Maar, zodra er 2 aanmeldingen zijn, persoon 1 scoort een6 op zijn vragenlijsten en wil op woensdag gaan, en persoon 2 scoorteen 9 op zijn vragenlijsten en wil donderdag een week later gaan, dankrijgt persoon 2 toch de voorkeur.

• Vragenlijst scoresScores die behaald zijn in het verleden spelen voor bepaalde opdrachtenook een grote rol. Ace & Tate is een lastige opdracht, en ook langevragenlijst. Als iemand op een simpele opdracht (Bijvoorbeeld eenkiosk) lage cijfers scoort, dan zal deze minder snel gekozen worden

31

Page 34: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

dan een persoon die een 9 of 10 scoorde.Andersom is wel het geval, als iemand op Ace & Tate een 9 scoort,dan zal deze een vergelijkbaar resultaat leveren voor een makkelijkereopdracht.Op dit moment wordt de vragenlijst beoordeeld met 1 cijfer. In detoekomst zal dit cijfer opgesplitst gaan worden. Daarom heb ik dePMs gevraagd waarin ze dit cijfer zouden willen opsplitsen:

- Spelling

- Snelheid van inleveren

- Inhoud (objectieve antwoorden, en niet alleen de vraag herhalen)

- Complete plaatje (opdracht uitvoering)

- Moeilijkheidsgraad (Kiosk t.o.v. Ace & Tate)

• Afstand van mystery shopper tot opdrachtDe voorkeur wordt gegeven aan een mystery shopper die dichterbijwoont, tegen een mystery shopper die verder weg woont. Mocht eriets misgaan waardoor een mystery shopper niet meer kan gaan op degeplande dag, dan zal hij eerder geneigd zijn om een dag later alsnogte gaan als de locatie maar 2km is, dan wanneer hij 40km weg is.

• BetrouwbaarheidBetrouwbaarheid van een mystery shopper speelt een grote rol. VeelPMs hechten er waarde aan als de mystery shopper zij/haar afsprakennakomt. Betrouwbaarheid bestaat voor hun voornamelijk uit:

- Persoonlijk contact: Snel reageren op belletjes, appjes, e-mails. . .

- Aantal terugbetaalverzoeken / aantal annuleringen

- Snelheid van invullen vragenlijst

- Bezoekfrequentie

• ErvaringErvaring is ook erg belangrijk. Voor bepaalde opdrachtgevers wil jeecht een ervaren mystery shopper hebt, terwijl je voor simpele op-drachten de nieuwe mystery shoppers juist een kans wil geven.Ervaring wordt vooral gemeten door het aantal succesvol uitgevoerdeopdrachten, en het aantal uitgevoerde opdrachten van een bepaaldeopdrachtgever.

• Kwaliteit

- Inhoud vragenlijsten

- Aantal keer op feedback gezet

32

Page 35: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

A.2 Procentuele intervalbonus

Stel 3 mystery shoppers zijn aangemeld, en zijn alle 3 niet geschikt. Wegaan als threshold een score van 70 aanhouden. Stel dat we op de categoriebetrouwbaarheid elke 12 uur een procentuele bonus van 10% gaan toepassen.

Mystery Shopper 1 Tijdstip 0 Tijdstip 1 Tijdstip 2 Tijdstip 3

Betrouwbaarheid 70 77 84,7 93,17

Ervaring 54 54 54 54

Totaal Score 62 65,5 69,35 73,59

Mystery Shopper 2 Tijdstip 0 Tijdstip 1 Tijdstip 2 Tijdstip 3

Betrouwbaarheid 55 60,5 66,55 73,21

Ervaring 71 71 71 71

Totaal Score 63 65,75 68,78 72,1

Mystery Shopper 3 Tijdstip 0 Tijdstip 1 Tijdstip 2 Tijdstip 3

Betrouwbaarheid 50 55 60,5 66,55

Ervaring 78 78 78 78

Totaal Score 64 66,5 69,25 72,28

Na 36 uur heeft mystery shopper 1 de hoogste score , terwijl op mo-ment 0 mystery shopper 3 nog de hoogste score had. Mystery shopper 1zal uiteindelijk gekozen worden. Het kan ook voorkomen dat een mysteryshopper zich later aanmeldt. Stel we hebben op het begin 1 aanmelding. Na12 uur meldt een 2e mystery shopper zich aan, en pas na 1 dag meldt zicheen 3e mystery shopper zich aan.

33

Page 36: Automatisering van een selectieproces · 2020-01-30 · De nitie: Data-driven recruiting: tastbare feiten en statistieken gebruiken om de beslissing om iemand aan te nemen te ondersteunen.

Mystery Shopper 1 Tijdstip 0 Tijdstip 1 Tijdstip 2 Tijdstip 3

Betrouwbaarheid 70 77 84,7 93,17

Ervaring 54 54 54 54

Totaal Score 62 65,5 69,35 73,59

Mystery Shopper 2 Tijdstip 0 Tijdstip 1 Tijdstip 2 Tijdstip 3

Betrouwbaarheid 61 67,1 73,81

Ervaring 71 71 71

Totaal Score 66 69,05 72,41

Mystery Shopper 2 Tijdstip 0 Tijdstip 1 Tijdstip 2 Tijdstip 3

Betrouwbaarheid 69 75,9

Ervaring 70 70

Totaal Score 69,5 72,95

Mystery shopper 1 had de laagste score tijdens zijn aanmelding, vergelekenmet aanmelding 2 en 3. Maar omdat Mystery shoppers 2 en 3 zich later aanhebben gemeld, komt Mystery Shopper 1 alsnog als met de hoogste scoreuit het algoritme.

34