We worden geregeerd door business rules

Business rules regeren feitelijk ons hele leven. We willen dat zelf vaak niet inzien. Vooral de uitzondering op een regel is erg populair. En wat te denken van bepaalde regels die in principe voor een ander gelden maar niet voor onszelf. In deze laatste categorie vallen vaak de regels voor maximumsnelheid en parkeren. Kenmerkend aan al deze ‘business rules’ is dat ze min of meer afspraken zijn om de samenleving te laten werken. In dat opzicht zijn ze nuttig en nodig. Deze regels zijn vaak een gevolg van een wet waarvan de meerderheid van de bevolking vindt dat die noodzakelijk is.

Business rules beschrijven situaties

Er zijn ook business rules die bepaalde verschijnselen beschrijven. Een eenvoudig voorbeeld is dat als je een steen eerst oppakt en vervolgens loslaat, deze steen dan valt. Dit zijn regels die voldoen aan het principe:

ALS situatie A DAN actie B ANDERS actie C

In dit soort bedrijfsregels zit een zekere vorm van onvermijdelijkheid. Het is niet mogelijk om eraan te ontkomen. Vaak gaat het hier om natuurwetten. En zoals de benaming al zegt, hier is geen ruimte voor variatie. Wordt het menselijk gedrag onderdeel van de vergelijking dan wordt het een ander verhaal. Op dat moment zijn business rules geen echte bedrijfsregels meer. Ze vormen meer een beschrijving van de meest waarschijnlijk actie.

Brood kopen

Wie een brood koopt in een supermarkt koopt waarschijnlijk ook broodbeleg. Toch is het niet zo dat iedereen die een brood koopt ook gelijktijdig dat broodbeleg koopt. Het zou best kunnen dat er nog genoeg broodbeleg in de kast thuis staat. Omgekeerd koopt een klant die pindakaas koopt ook niet altijd gelijktijdig brood. Misschien koopt deze klant helemaal geen brood maar gebruikt de pindakaas om pindasaus mee te maken.

Inschatten van de waarschijnlijkheid

Toch laten deze ‘regels’ het toe om grote hoeveelheden transacties te volgen en te controleren. Zo kun je zien in hoeverre de simpele bedrijfsregel over brood en broodbeleg klopt. Door deze simpele business rule toe te passen op een groot aantal transacties is de waarschijnlijkheid te schatten. Ook dat kan een nuttig gegeven zijn.

Lastiger wordt het als er een groot aantal gebeurtenissen (transacties) beschikbaar is maar er vooraf geen kennis is over oorzaak en gevolg. Bestaat er in dat geval wel een business rule? Of is er misschien sprake van een stelsel van samenwerkende regels? Of zit er helemaal geen bedrijfsregel achter de verschillende gebeurtenissen en is er sprake van willekeur?

De toekomst voorspellen met bedrijfsregels

Deze pagina gaat over bedrijfsregels die je gebruikt om gebeurtenissen in de toekomst te voorspellen. Dit kunnen business rules zijn die je vooraf opstelt en waarvan je de betrouwbaarheid wilt controleren. Het kunnen ook bedrijfsregels zijn die je wilt afleiden uit een groot aantal gebeurtenissen uit het verleden waarvan de uitkomst al bekend is. Om deze technieken nader te onderzoeken ga je het probleem eerst nauwkeuriger omschrijven en pas dan kijk je naar verschillende oplossingen.

Het probleem dat business rules oplost

Business rules gebruik je om een uitkomst van een bepaalde transactie of gebeurtenis te voorspellen op basis van eenvoudig te meten beginwaarden. Zoals we eerder al aangaven is het van belang te weten welke extra artikelen een klant in een supermarkt koopt wanneer hij binnenkomt om een brood te kopen. Maar er zijn andere situaties denkbaar waar deze problematiek speelt:

  • Medische diagnose stellen: op grond van de aan- en afwezigheid van bepaalde symptomen bepalen of een patiënt ziek is en aan welke ziekte deze lijdt. Het is duidelijk dat de diagnose gebroken been eenvoudig te stellen is door een röntgenfoto te maken. Bij klachten als vergeetachtigheid is er echter een breed scala van mogelijke ziektes. Bijkomend probleem in deze situatie is dat medicijnen die de ene ziekte bestrijden juist de andere bevorderen.
  • Taalanalyse: door vergelijkingen te doen van één en dezelfde tekst in verschillende talen (en soms zelfs in verschillende schriften) zijn bepaalde patronen en lettergroepen te vinden die overeenstemmen. Vanuit deze overeenstemmende groepen is dan een verdere analyse mogelijk. Feitelijk is dit de methode die de Franse taalkundige Jean François Champollion gebruikte om de Steen van Rosetta te ontcijferen. Je kan met deze methode ook het hiërogliefenschrift van het oude Egypte lezen. Wanneer echter de vergelijkende taal ontbreekt, wordt het ontcijferen veel lastiger en mogelijk zelfs onmogelijk. Toch kan je hier veel bereiken door gebruik te maken van het vaste gegeven dat in elke taal dat een boom altijd een boom is.

Twee manieren

In alle genoemde situaties is het belangrijk dat je nieuwe informatie met de juiste business rules verwerkt. Hierdoor kun je een correcte voorspelling maken. Bijvoorbeeld het voorspellen van aankoopgedrag, het stellen van een goede diagnose of een correcte vertaling. Dit betekent dat het systeem de beschikking heeft over een verzameling bedrijfsregels die een dergelijke uitkomst toelaten. Op grond van de bovenstaande voorbeelden lijken er twee manieren te zijn om aan deze regels te komen:

  • Manier 1: bestaande kennisregels vertalen naar computerregels. In deze situatie gebruik je de beschikbare informatie om de betrouwbaarheid van de opgegeven kennisregels te toetsen en vast te leggen.
  • Manier 2: de beschikbare informatie gebruik je om regels op te stellen. Gelijktijdig wil je de betrouwbaarheid van deze bedrijfsregels vastleggen.

Op welke manier je de business rules opstelt en gebruikt hangt natuurlijk af van je situatie. Zo ga je bij het stellen van een diagnose bij voorkeur gebruikmaken van bestaande medische kennis. Bepaalde combinaties symptomen maken immers bekend dat het om een bepaalde ziekte gaat. Het is dan van belang om de bestaande (medische) regels te vertalen naar regels die een computer kan gebruiken. Vervolgens bepaal je de juistheid van deze regels en hun waarschijnlijkheid.

Computerregels

Als het gaat om koopgedrag dan ligt het voor de hand te zoeken op bepaalde combinaties van producten waaruit je dan bedrijfsregels kunt afleiden. Ook hier is sprake van een omzetting naar computerregels. Je onderzoekt de juistheid van de gebruikte regels en hun nauwkeurigheid. Aan de andere kant ga je op deze manier geen onverwachte combinaties vinden omdat je daar juist niet naar zoekt.

Het wordt anders wanneer je nieuwe bedrijfsregels en hun betrouwbaarheid wilt afleiden uit een groot aantal (verschillende) gebeurtenissen. Het blijft dan wel de vraag in hoeverre de business rules algemeen genoeg gehouden kunnen worden.

De oplossingen die business rules aanreiken

Werken met bedrijfsregels

Informatie onderzoeken met bedrijfsregels betekent dat zowel de informatie als de regels aan bepaalde voorwaarden moeten voldoen. Zowel qua formulering als opbouw. Zo kent een business rule een structuur waarin een aantal voorwaarden zitten die noodzakelijk zijn voor een bepaalde uitkomst. Meer formeel genoteerd geeft dit:

ALS (waarde-1, waarde-2, … , waarde-n) DAN actie-1

Hierin vormen waarde-1, waarde-2 tot en met waarde-n een lijst met voorwaarden waaraan voldaan moet worden wil je als uitkomst actie-1 krijgen. Elke business rule en dus elke uitkomst kent zijn specifieke lijst voorwaarden. De verzameling bedrijfsregels is zodanig dat dit steeds de minimale verzameling is die de gewenste actie kan uitvoeren.

Stel dat een supermarkt voor het bepalen van het aankoopgedrag van klanten onder andere de volgende twee regels gebruikt:

ALS (brood, boter) DAN melk
ALS (brood, boter, kaas) DAN melk

Het is duidelijk dat in dit geval de tweede regel geen extra informatie oplevert maar het toepassen ervan kost wel extra tijd. Dit laatste is cruciaal bij het doorwerken van grote hoeveelheden data. Dus wordt de tweede regel in dit voorbeeld verwijderd. De situatie wordt anders met de volgende twee regels:

ALS (brood, boter) DAN chocoladehagel
ALS (brood, boter, kaas) DAN melk

Nu is er sprake van twee aparte business rules en zorgt het weghalen van de tweede regel voor duidelijk andere resultaten.

Niet alleen de bedrijfsregels voldoen aan een zekere syntaxis (manier van noteren). Ook de informatie moet op een bepaalde manier gelezen kunnen worden. In eerste instantie lijkt het alsof je hiervoor dezelfde syntaxis kan gebruiken als voor de business rule zelf. Probleem is dan wel dat het onbekend is hoeveel voorwaarden op de betreffende informatieregel voorkomen.

Neem eens aan dat van drie opeenvolgende klanten de aankopen bekend zijn:

  • Klant 1: Brood, chocoladehagel
  • Klant 2: Kaas, jam, melk
  • Klant 3: Brood, boter, kaas, melk

Zonder extra kennis van het aantal producten per klant valt deze informatie niet te gebruiken voor het opstellen of valideren van welke business rule dan ook. Het is daarom van belang dat je op een of andere manier de hoeveelheid aankopen per klant vastlegt. Veel van deze problemen kun je adequaat oplossen door slim gebruik te maken van methoden als key values en technieken zoals MapReduce.

Een ander probleem van het werken met business rules is dat continue numerieke waarden niet direct bruikbaar zijn. Neem bijvoorbeeld de waarden voor bloeddruk en lichaamstemperatuur die bij veel medische onderzoeken gemeten worden. Gebruik van de gemeten waarden is niet mogelijk wanneer je werkt met business rules. In plaats daarvan maak je een verdeling over maximaal vijf klassen:

lager dan 35 Zeer laag | 36 Laag | 37 – 38 Normaal | 38 – 40 Hoog | > 40 Zeer hoog

Door de eerste twee en de laatste twee klassen te groeperen maak je een verdeling in drie klassen mogelijk. Ook de optie waarbij alleen naar wel of geen koorts gekeken wordt kan bruikbaar zijn. Het is in dit soort gevallen wel noodzakelijk de gekozen indeling duidelijk te vermelden. Daarnaast moet deze verdeling wel verdedigbaar zijn. Zo is een verdeling waarbij de grens voor ‘koorts’ op 37 graden Celsius ligt op medische gronden niet te verdedigen.

Bestaande business rules

Werken met bestaande business rules betekent dat je gaat werken met kennis die je in een eerder stadium hebt opgebouwd. Toepassen van deze techniek gebeurt om een drietal redenen:

  1. Betrouwbaarheid testen van de bestaande regels tegen een groot aantal waarnemingen met zowel de voorwaarden als de actie.
  2. Voorspellen van acties op basis van bekende voorwaarden.
  3. De combinatie van reden 1 en reden 2.

Welke reden bepalend is hangt sterk af van de toepassing. Als het gaat om het voorspellen van het aankoopgedrag van klanten in een winkel, dan is voornamelijk reden 2 belangrijk. In dit soort situaties heb je de bedrijfsregels al in een eerder stadium bepaald. Betreft het bijvoorbeeld een medische diagnose, dan is de combinatie van beide redenen belangrijk. Niet alleen de diagnose zelf – de actie – is belangrijk maar ook de betrouwbaarheid van deze actie. De belangrijkste bewerking bij het werken met bestaande regels is het omzetten van deze beschikbare kennis in een eenduidige verzameling regels.

Hooikoorts versus allergisch astma

Om hooikoorts te onderscheiden van allergisch astma, ga je een serie regels opstellen. Let op dat de verzameling ervaringsregels hier alleen antwoord geeft op de vraag of de patiënt hooikoorts heeft of niet. Er wordt geen uitspraak gedaan over het hebben van allergisch astma. Dit kan namelijk zowel apart voorkomen als in combinatie met hooikoorts. Ook heeft één van de condities (de ‘neus’) hier twee verschillende waarden. Een situatie die relatief vaak voorkomt. Voor het hebben van hooikoorts levert deze verzameling ervaringsregels de volgende zoekregels op:

ALS (((neus = loopt) OF (neus = verstopt)) EN (niezen = ja))
DAN (hooikoorts = ja)
ALS (((neus = loopt) OF (neus = verstopt)) EN (jeuk = ja))
DAN (hooikoorts = ja)
ALS ((jeuk = ja) EN (niezen = ja))
DAN (hooikoorts = ja)

Weergave van de ervaringsregels om hooikoorts te diagnosticeren en te onderscheiden van allergisch astma.

Door de ervaringsregels anders te formuleren, ga je het aantal van negen ervaringsregels terugbrengen naar drie business rules. Uiteindelijk zijn deze drie zoekregels nog te combineren in één enkele bedrijfsregel:

ALS (((neus = loopt) OF (neus = verstopt))
EN ((niezen = ja) OF (jeuk = ja))
OF ((niezen = ja) EN (jeuk = ja)))
DAN (hooikoorts = ja)

Door alle voorwaarden op deze manier te combineren kan je het verwerken van de informatie sterk versnellen. Een eigenschap die juist belangrijk is als de hoeveelheden data groot worden.

In de praktijk kan het aantal ervaringsregels behoorlijk toenemen. Meer dan twintig is geen uitzondering. In dat geval is reductie van groot belang. Om die uit te voeren gebruik je algoritmen als LEM1, LEM2 en AQ. Bovendien kun je met reductie de interne consistentie van de ervaringsregels beter controleren. Zeker als het aantal regels toeneemt, is de kans op strijdige of zinloze regels behoorlijk groot.

Nieuwe bedrijfsregels

Wanneer er geen goede ervaringsregels zijn of je twijfelt aan de geldigheid van de regels, dan kan je slechts de informatie voor zich laten spreken. In dat geval is het zaak alle transacties (winkels) of gebeurtenissen (overige systemen) op zekere patronen te onderzoeken. Er zijn verschillende algoritmen om dit soort onderzoek uit te voeren. Voor het analyseren van transacties gebruik je bijvoorbeeld APRIORI terwijl je voor het analyseren van gebeurtenissen routines als WINEPI kunt toepassen. In het onderstaande voorbeeld lichten we de werkwijze van APRIORI nader toe. Ondanks onderlinge verschillen werken de andere algoritmen in principe op dezelfde manier.

Stel een winkel houdt de transacties van alle klanten bij. Pas na analyse van deze transacties door de data analist kan deze iets zeggen over het aankoopgedrag. Over een bepaalde periode zijn de aankopen van twaalf klanten bekend:

Klantaankopen

  1. Brood Kaas Boter Melk Afwasmiddel
  2. Brood Boter Jam Melk Chocoladehagel
  3. Brood Kaas Boter melk
  4. Brood Jam Water Melk Ontbijtkoek
  5. Ontbijtkoek Wasmiddel
  6. Boter Melk Ontbijtkoek
  7. Brood Boter Jam
  8. Brood Melk Chocoladehagel
  9. Brood Kaas Melk Afwasmiddel
  10. Brood Kaas Boter Choco
  11. Brood Pindakaas Boter Jam Kaas
  12. Brood Kaas Boter Witwasmiddel

Om bruikbare business rules te kunnen afleiden uit de aankopen van deze twaalf klanten is het allereerst nodig om een drempel in te stellen aangaande het voorkomen van een product. Stel in deze situatie zet je de drempel op vijf keer voorkomen. De volgende actie is dan per product te tellen hoe vaak klanten het kochten. Vervolgens zet je deze gegevens in afnemende volgorde in een tabel.

  • Brood 9
  • Boter 9
  • Kaas 6
  • Melk 6
  • Jam 4
  • Ontbijtkoek 3
  • Chocoladehagel 3
  • Afwasmiddel 2
  • Witwasmiddel 2
  • Pindakaas 1
  • Water 1

Alle producten die qua aantal onder de drempel vallen, neem je niet meer mee in je analyse. Waarom? Omdat anders losse, mogelijk unieke transacties een te grote invloed op het antwoord krijgen. Een ander nadeel van een groot aantal producten is dat je per product de hele verzameling moet doorzoeken op het voorkomen. Dat kan bij grote verzamelingen erg lang duren. Vervolgens worden alle mogelijke combinaties van twee producten boven de drempel gemaakt. Je kijkt dan als volgt naar het voorkomen daarvan in de informatieverzameling.

  • Brood, boter 6
  • Brood, kaas 6
  • Brood, melk 5
  • Boter, melk 4
  • Boter, kaas 3
  • Melk, kaas 3

Ook hier geldt uiteindelijk dezelfde drempel van vijf keer voorkomen. Immers, als een van de producten minder dan vijf keer voorkomt, dan geldt dat ook voor elke combinatie waarin dat product voorkomt. Op dezelfde manier is ook het voorkomen van groepen van drie producten te testen.

  • Brood, boter, kaas 5
  • Brood, boter, melk 3
  • Brood, melk, kaas 3
  • Boter, kaas, melk 2

Opnieuw, en om dezelfde reden, ga je alleen werken met de vier meest voorkomende producten. De combinatie van alle vier producten (brood, boter, kaas en melk) komt slechts twee keer voor in de originele lijst met aankopen. Ze komt daardoor ook niet boven de drempelwaarde uit. Uit het bovenstaande voorbeeld blijkt dat het afleiden van regels uit een (groot aantal) transacties een bewerkelijke klus is. Ongeacht het gebruikte algoritme moet je de gehele verzameling data verschillende keren lezen. Bij gebruik van APRIORI verdubbelt het aantal keren dat de informatie gelezen wordt bij het toevoegen van één extra term.

Big Data training

Wil je leren hoe je algoritmen zoals business rules maakt en wil je deze techniek ook leren toepassen? Dan is onze 3-daagse cursus Big Data een absolute aanrader.

naar de opleiding

De beperkingen van business rules

Toepassingen

Het gebruik van afgeleide regels om grote hoeveelheden informatie te doorzoeken is een tijdrovend proces. Ongeacht hoe geavanceerd het gebruikte algoritme ook is, het is altijd nodig verscheidene keren door de informatie te gaan. Daarnaast is zelfs bij het gebruik van bekende ervaringsregels het proces vrij gevoelig voor de startwaarden die je aan het algoritme meegeeft. Bij gebruik van ervaringsregels (ook wel supervised rule induction genoemd) bestaat altijd de kans dat de bedrijfsregels inconsistent of incompleet zijn. Dit kan niet altijd door de Business Analytics software geconstateerd worden. Controle hierop is zeker bij een groot aantal ervaringsregels daarom erg lastig. Gebruik van een niet correcte verzameling zoekregels geeft dan foutieve resultaten zonder dat dit direct zichtbaar is. Dit betekent dat bij gebruik van deze techniek de controle op het correct, compleet en consistent zijn van de gebruikte ervaringsregels van het grootste belang is.

Er kleven bezwaren aan

Gegeven de mogelijke problemen met ervaringsregels, lijkt de mogelijkheid om regels direct af te leiden uit de informatie een meer betrouwbare optie. Toch kleven ook hier de nodige bezwaren aan. Ook hier kan je het resultaat in zekere zin beïnvloeden door het kiezen van de drempelwaarde:

  • Drempel te laag: dit betekent dat je te veel zoektermen meeneemt in de analyse. Het gevolg is een groot aantal zoekregels. In het voorbeeld komen bij een drempelwaarde van drie keer ook de producten jam, ontbijtkoek en chocoladehagel erbij. Dit zorgt voor een drievoudige verdubbeling van de zoekperiode. Dit betekent dat de analyse van de informatie acht keer zo lang gaat duren. Bovendien geeft dit een zeer gedetailleerd antwoord waarbij de waarschijnlijkheid van bepaalde oplossingen erg klein wordt.
  • Drempel te hoog: dit betekent dat je maar weinig zoektermen kan gebruiken. Het systeem genereert daarom een beperkt aantal business rules. Dit betekent dat je alleen de eenvoudige, voor de hand liggende oplossingen kan vinden. Dit zijn meestal de oplossingen die met enig gezond verstand ook te vinden zijn. In het eerdergenoemde voorbeeld zou een drempelwaarde van zeven keer alleen de termen brood en boter opleveren. Hieruit kun je afleiden dat iemand die brood koopt waarschijnlijk ook boter mee naar huis neemt. Een dergelijke regel kan je ook zonder Big Data-analyse probleemloos opstellen.

Daarnaast bestaan er ook methoden om de betrouwbaarheid en geldigheid van regels te onderzoeken. Bij elke professionele toepassing van rule induction is het gebruik van deze controles noodzakelijk. Zo kun je onder andere onderzoeken of je de juiste drempelwaarde hebt gekozen.

Beslissingsboom versus afleiden van regels

Globaal gezien bestaan er overeenkomsten tussen de beslissingsboom en het afleiden van regels. Beide methoden maken gebruik van (een serie) keuzes. Toch is er belangrijk verschil tussen beide methodes. Ze kunnen daarom naast elkaar bestaan:

  • Beslissingsboom: deze deelt per selectiemoment een groep informatie steeds op in twee delen. Vervolgens ga je dit proces herhalen met elke groep totdat de beslisboom helemaal is afgelopen. Bovendien is de opbouw van het proces volledig afhankelijk van hoe de (menselijke) programmeur de boom opzet.
  • Business rules: dit zorgt voor de combinatie van verschillende keuzes die je gelijktijdig gebruiken kan, al dan niet in combinatie. Hierdoor is het mogelijk een beslissing te laten afhangen van verschillende factoren in één regel. Een ander verschil is dat de uiteindelijke regels bepaald worden door de software. Dit ongeacht de manier waarop deze tot stand zijn gekomen.

In het algemeen gebruik je de beslissingsboom wanneer de verdeling over verschillende alternatieven duidelijk vastligt. Business rules gebruik je vooral als je bestaande kennis op een verzameling informatie toepast. Of wanneer het noodzakelijk is bepaalde (verborgen) patronen uit informatie te halen. Juist dit laatste aspect maakt ‘afleiden van regels’ (rule induction) een echte dataminingtechniek. Waarom? Omdat je in dat geval de informatie laat spreken.

Ook leren werken met business rules?

Neem gerust contact met ons op voor een gesprek met één van onze specialisten in machine learning & data analytics. Zij vertellen je graag meer over de mogelijkheden.

neem contact met ons op

Plaats review

Geef je mening over dit product of deze dienst

Dit veld is verplicht!
Dit veld is verplicht! optioneel
Dit veld is verplicht! optioneel
Dit veld is verplicht! optioneel
Dit veld is verplicht!
Review verzendenHet formulier bevat fouten.

Een selectie van onze klanten

Word nu ook klant

Wil je ook klant bij ons worden? Wij helpen je maar wat graag verder met business rules (bedrijfsregels) of andere zaken waar je slimmer van wordt.

Gustaaf Vocking, Associate partner Business Rules

GUSTAAF VOCKING

Associate partner Business Rules

neem contact met mij op

Fact sheet

Organisaties geholpen
18652
Trainingen & workshops
18653
Deelnemers opgeleid
18654
Beoordeling klanten
8,9
Consultants & docenten
18655
Kantoren
3
Jaar ervaring
14