AI-Assisted Master Data Management
De oplossingen voorgesteld in dit project zullen ervoor zorgen dat Vlaamse maakbedrijven meer inzichten en methodieken krijgen omtrent de kwaliteit van hun masterdata en het belang dat daaraan moet gegeven worden. Het project richt zich specifiek op kleine en middelgrote ondernemingen die over de jaren heen grote hoeveelheden masterdata hebben gecreëerd.
Masterdata zijn de niet-transactionele kerngegevens die essentieel zijn voor een organisatie met product- en materiaalinformatie en klant- en leveranciergegevens als voornaamste voorbeelden. Mede door de digitalisering nemen ook de complexiteit en de hoeveelheid te beheren masterdata-attributen toe. Dit stelt bedrijven voor de uitdaging het gebruik van masterdata beter te organiseren: nu is dit dikwijls een traag en arbeidsintensief proces waarbij vaak voor honderden velden een waarde moet worden ingegeven of waarbij data uit verschillende niet altijd onderling consistente bronnen wordt gecombineerd waardoor kwaliteitsproblemen ontstaan.
Met dit project willen we meer inzichten creëren in het belang van kwalitatieve masterdata en willen we met behulp van gratis beschikbare oplossingen een aanzet geven om foutieve masterdata automatisch op te sporen én bovendien een correctie voorstellen voorzien van een begrijpbare reden hiervoor. Dit laatste moet het vertrouwen van de gebruiker in de oplossing garanderen en kadert in de context van explainable AI waarbij AI systemen aangeven hoe ze tot een bepaalde conclusie zijn gekomen.
Meer uitgebreide info over dit project en zijn resultaten kan je vinden op http://ai-assisted-mdm.be/AI-Assisted Master Data Management is een onderzoeksproject van het onderzoekscentrum Centre for Applied Data Science.
Masterdata zijn de niet-transactionele kerngegevens die essentieel zijn voor een organisatie met product- en materiaalinformatie en klant- en leveranciergegevens als voornaamste voorbeelden. Mede door de digitalisering nemen ook de complexiteit en de hoeveelheid te beheren masterdata-attributen toe. Dit stelt bedrijven voor de uitdaging het gebruik van masterdata beter te organiseren: nu is dit dikwijls een traag en arbeidsintensief proces waarbij vaak voor honderden velden een waarde moet worden ingegeven of waarbij data uit verschillende niet altijd onderling consistente bronnen wordt gecombineerd waardoor kwaliteitsproblemen ontstaan.
Met dit project willen we meer inzichten creëren in het belang van kwalitatieve masterdata en willen we met behulp van gratis beschikbare oplossingen een aanzet geven om foutieve masterdata automatisch op te sporen én bovendien een correctie voorstellen voorzien van een begrijpbare reden hiervoor. Dit laatste moet het vertrouwen van de gebruiker in de oplossing garanderen en kadert in de context van explainable AI waarbij AI systemen aangeven hoe ze tot een bepaalde conclusie zijn gekomen.
Meer uitgebreide info over dit project en zijn resultaten kan je vinden op http://ai-assisted-mdm.be/AI-Assisted Master Data Management is een onderzoeksproject van het onderzoekscentrum Centre for Applied Data Science.
Resultaten
Binnen het project "AI-Assisted Master Data Management" is een applicatie ontwikkeld met behulp van Python die eenvoudig kan worden geïnstalleerd op zowel Windows als Linux.
De applicatie bestaat uit verschillende onderdelen die samenwerken om een dataset op te schonen, zonder dat er enige programmeerkennis vereist is. De applicatie omvat de volgende onderdelen:
- Data profiling: dit geeft inzicht in de verdeling van waarden in de verschillende kolommen. Ook kunnen potentiële verbanden (correlaties) tussen de kolommen worden waargenomen.
- Data cleaning: hier wordt gekeken naar de structuur van waarden in een enkele kolom ("structure detection"), kunnen duplicaten (vergelijkbare maar niet identieke waarden) worden opgespoord in een enkele kolom. Verder is er de mogelijkheid om verschillende standaard "data cleaning" operaties op één kolom te combineren tot een "cleaning pipeline".
- Deduplicatie: de Zingg-bibliotheek wordt gebruikt om duplicaten te detecteren op het niveau van volledige records. Duplicaten zijn records die vergelijkbaar zijn maar niet identiek en verwijzen naar dezelfde entiteit in de fysieke wereld, zoals dubbel aangemaakte producten of meerdere vermeldingen van dezelfde persoon in de contactendatabase.
- Rule Learning: in dit onderdeel van de tool worden zowel bestaande bedrijfsregels ontdekt in de data als nieuwe bedrijfsregels gegenereerd om mogelijke foutieve waarden in de dataset te identificeren.
De bedrijfsregels kunnen worden gezocht met behulp van een eigen ontwikkeld algoritme (gebaseerd op het FP-growth algoritme) en vervolgens worden de "interessante" regels getoond op basis van de C-metriek die de kwaliteit van een regel aangeeft. Als alternatief kunnen de bedrijfsregels ook worden gezocht met behulp van het Pyro-algoritme, waarvoor een bestaande implementatie wordt gebruikt.
Na het vinden van bedrijfsregels kunnen deze worden toegepast om foutieve waarden te detecteren. Om te bepalen welke regel het meest geschikt is wanneer regels elkaar tegenspreken, is een eigen algoritme ontwikkeld dat op een rationele manier de juiste regel selecteert. De gebruiker ziet in de tool welke regel is gebruikt om een suggestie te doen, samen met de oude en nieuwe waarden. De eindbeslissing om een waarde al dan niet aan te passen ligt bij de gebruiker.
Na het aanpassen van waarden biedt de tool een manier om de gevonden bedrijfsregels bij te werken op basis van de nieuwe waarden. Dit zorgt voor een iteratief proces waarmee de gebruiker de data kan blijven opschonen.
De applicatie bestaat uit verschillende onderdelen die samenwerken om een dataset op te schonen, zonder dat er enige programmeerkennis vereist is. De applicatie omvat de volgende onderdelen:
- Data profiling: dit geeft inzicht in de verdeling van waarden in de verschillende kolommen. Ook kunnen potentiële verbanden (correlaties) tussen de kolommen worden waargenomen.
- Data cleaning: hier wordt gekeken naar de structuur van waarden in een enkele kolom ("structure detection"), kunnen duplicaten (vergelijkbare maar niet identieke waarden) worden opgespoord in een enkele kolom. Verder is er de mogelijkheid om verschillende standaard "data cleaning" operaties op één kolom te combineren tot een "cleaning pipeline".
- Deduplicatie: de Zingg-bibliotheek wordt gebruikt om duplicaten te detecteren op het niveau van volledige records. Duplicaten zijn records die vergelijkbaar zijn maar niet identiek en verwijzen naar dezelfde entiteit in de fysieke wereld, zoals dubbel aangemaakte producten of meerdere vermeldingen van dezelfde persoon in de contactendatabase.
- Rule Learning: in dit onderdeel van de tool worden zowel bestaande bedrijfsregels ontdekt in de data als nieuwe bedrijfsregels gegenereerd om mogelijke foutieve waarden in de dataset te identificeren.
De bedrijfsregels kunnen worden gezocht met behulp van een eigen ontwikkeld algoritme (gebaseerd op het FP-growth algoritme) en vervolgens worden de "interessante" regels getoond op basis van de C-metriek die de kwaliteit van een regel aangeeft. Als alternatief kunnen de bedrijfsregels ook worden gezocht met behulp van het Pyro-algoritme, waarvoor een bestaande implementatie wordt gebruikt.
Na het vinden van bedrijfsregels kunnen deze worden toegepast om foutieve waarden te detecteren. Om te bepalen welke regel het meest geschikt is wanneer regels elkaar tegenspreken, is een eigen algoritme ontwikkeld dat op een rationele manier de juiste regel selecteert. De gebruiker ziet in de tool welke regel is gebruikt om een suggestie te doen, samen met de oude en nieuwe waarden. De eindbeslissing om een waarde al dan niet aan te passen ligt bij de gebruiker.
Na het aanpassen van waarden biedt de tool een manier om de gevonden bedrijfsregels bij te werken op basis van de nieuwe waarden. Dit zorgt voor een iteratief proces waarmee de gebruiker de data kan blijven opschonen.
Hogeschool Gent
01/12/2021 - 30/11/2023

