AI-Assisted MDM foto website

AI-Assisted MDM.

A

AI-Assisted MDM.

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.

Binnen het project “AI-Assisted Master Data Management” werd m.b.v. Python een applicatie gebouwd die gemakkelijk geïnstalleerd kan worden op zowel Windows als Linux.
De applicatie bestaat uit verschillende onderdelen die het samen mogelijk maken om een dataset op te schonen, waarbij er geen enkele kennis van programmeren nodig is. De applicatie bestaat uit de volgende onderdelen:
- Data profiling: hierbij krijgt men inzicht in de verdeling van de waarden in de verschillende kolommen. Men kan ook zien wat de eventuele verbanden (correlaties) zijn tussen de verschillende kolommen.
- Data cleaning: hierbij wordt er gekeken naar de structuur van de waarden in één enkele kolom (“structure detection”), kunnen duplicaten (gelijkaardige maar niet noodzakelijk identieke waarden) ontdekt worden in één enkele kolom. Tenslotte is er ook de mogelijkheid om verschillende standaard “data cleaning” operaties op één kolom te combineren tot een “cleaning pipeline”.
- Deduplication: hierbij wordt gebruikgemaakt van de Zingg bibliotheek om duplicaten te detecteren, maar dit keer op het niveau van volledige records. Duplicaten zijn records die gelijkaardig zijn maar niet noodzakelijk gelijk en die verwijzen naar dezelfde entiteit in de fysieke wereld. Typische voorbeelden zijn dubbel aangemaakte producten of dezelfde persoon die meerdere malen in de database van contacten zit.
- Rule Learning: in dit onderdeel van de tool worden enerzijds businessregels ontdekt die aanwezig zijn in de data, en anderzijds worden de gevonden businessregels gebruikt om aan te duiden waar in de dataset mogelijks foutieve waarden aanwezig zijn.
De businessregels kunnen gezocht worden aan de hand van een eigen ontwikkeld algoritme (gebaseerd op het FP-growth algoritme) waarna de “interessante” regels worden getoond op basis van de C-metriek, die de kwaliteit van een regel aangeeft. Als alternatief kunnen de businessregels ook worden gezocht door het Pyro algoritme, waarvan we een bestaande implementatie gebruiken.
Nadat de businessregels werden gevonden kunnen deze gebruikt worden om foutieve waarden op te sporen. Omdat verschillende businessregels elkaar kunnen “tegenspreken”, i.e. ze kunnen een verschillende waarde voorstellen werd er een eigen algoritme ontwikkeld dat op een rationele manier beslist welke regel het “meest juist” is. De gebruiker ziet in de tool de regel die gebruikt werd om de suggestie te doen, alsook de oude en nieuwe waarde. De gebruiker van de tool heeft finaal de eindbeslissing in handen om een waarde al dan niet aan te passen.
Nadat er waarden werden aangepast voorziet de tool in een manier om de gevonden businessregels aan te passen op basis van de nieuwe waarden. Op die manier ontstaat een iteratief proces dat de gebruiker toelaat om de data op te schonen.

Meer info

AI-Assisted Master Data Management

The solutions proposed in this project will provide Flemish manufacturing companies with more insights and methodologies on the quality of their master data and the importance that should be given to it. The project focuses specifically on small and medium-sized enterprises that have created large amounts of master data over the years.
Master data is the non-transactional core data that is essential for an organization, with product and material information and customer and supplier data as the main examples. Partly due to digitalization, the complexity and quantity of master data attributes to be managed are also increasing. This poses the challenge for companies to better organize the use of master data: currently, this is often a slow and labor-intensive process in which a value often has to be entered for hundreds of fields or in which data from different, not always mutually consistent, sources are combined, which creates quality problems. With this project we want to create more insights into the importance of quality master data and we want to give an impetus to automatically detect erroneous master data with the help of freely available solutions and also propose a correction, provided with an understandable reason for this. The latter should guarantee user confidence in the solution and is part of the context of explainable AI where AI systems indicate how they came to a certain conclusion.

Within the "AI-Assisted Master Data Management" project, Python was used to build an application that can be easily installed on both Windows and Linux.
The application consists of several components that together make it possible to clean up a dataset, without any programming knowledge. The application consists of the following parts:
- Data profiling: this gives insight into the distribution of values in the different columns. One can also see the possible relationships (correlations) between the different columns.
- Data cleaning: this involves looking at the structure of the values in a single column ("structure detection"), duplicates (similar but not necessarily identical values) can be discovered in a single column. Finally, it is also possible of combining several standard "data cleaning" operations on a single column into a "cleaning pipeline".
- Deduplication: deduplication uses the Zingg library to detect duplicates at the level of entire records. Duplicates are records that are similar but not necessarily the same and that refer to the same entity in the physical world. Typical examples are duplicate created products or the same person being in the database of contacts multiple times.
- Rule Learning: in this part of the tool, on the one hand, business rules are discovered that are present in the data, and on the other hand, the found business rules are used to indicate where in the dataset potentially erroneous values are present.
The business rules can be searched using a proprietary developed algorithm (based on the FP-growth algorithm) after which the "interesting" rules are displayed based on the C-metric, which indicates the quality of a rule. Alternatively, the business rules can also be searched by the Pyro algorithm, of which we use an existing implementation.
After the business rules are found, they can be used to detect erroneous values. Since different business rules can "contradict" each other, i.e. they can represent a different value, a proprietary algorithm was developed that rationally decides which rule is the "most correct" one. In the tool the user sees the rule used to make the suggestion, as well as the old and new value. The user of the tool has final control over the decision whether or not to adjust a value.
After values have been modified, the tool provides a way to modify the found business rules based on the new values. In this way, an iterative process is created that allows the user to clean up the data.

More info

AI-Assisted Master Data Management is een onderzoeksproject van het onderzoekscentrum Centre for Applied Data Science.

Projectcoördinator HOGENT

Stijn Lievens, Johan Decorte

Looptijd

01/12/2021 - 30/11/2023

Financier

VLAIO (voormalig IWT)

Programma financier

TETRA_Hogescholen AI