.png)
Met de opkomst van Artificial Intelligence is het belang van datakwaliteit alleen maar toegenomen. De meeste AI wordt immers getraind en gefinetuned op basis van heel veel data. Garbage in = garbage out. Maar het geldt net zo goed voor de data die door AI in productie gebruikt wordt, zoals de interne documenten van een organisatie of de data uit databases. Slechte kwaliteit levert slechte antwoorden. En hoewel het datagedreven werken al minstens 20 jaar oud is, erkennen vrijwel al onze klanten dat ze hier nog wat werk aan de winkel hebben. En vragen of we een oplossing hebben. Ons antwoord: de semantische laag.
Hoe stel je datakwaliteit vast?
Het begrip datakwaliteit wordt heel makkelijk en veel gebruikt. Toch is het in de praktijk niet zo simpel als je het gaat toepassen. Wanneer is de datakwaliteit slecht, en wanneer is de kwaliteit wel goed genoeg? De internationale standaard voor datakwaliteit (ISO25012/24) beschrijft 15 invalshoeken om datakwaliteit vast te stellen, waaronder nauwkeurigheid, compleetheid, actualiteit, consistentie, precisie en herleidbaarheid. Die standaard is ooit opgezet voor de gestructureerde data uit databases, spreadsheets, berichten etc. Maar AI verwerkt ook vooral ongestructureerde data uit documenten, teksten of audiobestanden. En daarvan wil je óók kunnen bepalen wat de kwaliteit is. Hoe doe je dat? Een van de meest uitdagende aspecten hierbij is de betekenis (semantiek) van de data. Daarover zo meer.
De praktijk
Eerst even naar de praktijk die iedere organisatie al kent. De gestructureerde data is in talloze databases opgeslagen. In data warehouses, data lakes en data fabrics wordt met veel inspanning deze data verzameld, gerelateerd en wordt de kwaliteit opgewerkt. Dit is een jarenlang en doorlopend traject, omdat je continu aanloopt tegen verschillen. Bepaalde velden in databases zijn creatief gevuld door gebruikers. Een veld heeft op enig moment in de tijd een andere betekenis gekregen. Systemen gebruiken eenzelfde veld maar verstaan er in de praktijk iets anders onder. Of een voorbeeld dat iedereen herkent: in het Verkoopsysteem is een ‘klant’ iemand die wellicht iets kan gaan kopen, in het Ordersysteem is een ‘klant’ iemand die al iets heeft gekocht, terwijl in de Boekhouding diezelfde persoon als ‘debiteur’ wordt aangeduid. Kortom, er wordt een grote inspanning verricht om de data uit alle systemen in samenhang te kunnen gebruiken. Ingewikkelde tabellen met talloze foreign keys, rules en koppeltabellen zijn het resultaat. Je zou je AI idealiter rechtstreeks op deze systemen willen aansluiten, maar iedereen voelt aan dat dat niet zomaar goed gaat.
Back tot basics
Al vanaf de start van de IT industrie was het nodig om de betekenis van data te beschrijven. Data is immers niet meer dan een aantal karakters met een bepaalde syntax. Je moet dus beschrijven wat die karakters precies betekenen: semantiek. Binnen één systeem, maar ook tussen systemen en in ketens. Methodisch volgt dit de DIKW-aanpak. Als je van DATA (D) naar INFORMATIE (I) wilt gaan, moet je de betekenis van de data beschrijven. En vervolgens kun je van INFORMATIE naar KENNIS (K) gaan door regels en logica toe te voegen. Om daarna via het opdoen van nieuwe relaties en inzichten naar WIJSHEID (W) te kunnen gaan. Bij die laatste twee kan AI ook een belangrijke rol spelen.
Het beschrijven van de betekenis van gestructureerde data is 50 jaar lang gedaan door gegevensmodellen te maken en overal afspraken over te maken. Deze gegevensmodellen werden vooral ook gebruikt als ontwerp voor de databases. In de gegevensmodellen werden begrippen en definities beschreven. Vaak werd geprobeerd om begrippen zoveel mogelijk te standaardiseren en te uniformeren, denk bijv. aan ‘klant’. Inmiddels zijn we erachter dat deze oude manier om betekenis te beschrijven erg veel beperkingen had en niet om kon gaan met kleine, contextuele verschillen in betekenis. Daarom zijn er nieuwe modelleringstechnieken bedacht die wél kunnen omgaan met zelfs de kleinste verschillen van betekenis in verschillende contexten. En nog mooier: de nieuwe semantische modellen kunnen zowel gebruikt worden bij gestructureerde data als bij ongestructureerde documenten. De Nederlandse overheid heeft trouwens deze nieuwe modelleertechnieken inmiddels omarmd: de internationale standaard SKOS, gebaseerd op de Linked data standaarden, zie https://www.forumstandaardisatie.nl/open-standaarden/skos#:~:text=SKOS%20bouwt%20voort%20op%20de,tussen%20verschillende%20open%20databronnen%20zichtbaar.
Kortom, we gaan eigenlijk back to basics maar wél met een moderne techniek om de betekenis te modelleren. Met die modellen maken we een zogenaamde semantische laag. En deze laag fungeert als een brug tussen je data en de eindgebruikers. Ze maakt de informatie inzichtelijk die in de gestructureerde data en de ongestructureerde documenten zit verstopt, en maakt die informatie vervolgens toepasbaar voor bijvoorbeeld generatieve en agent-gebaseerde AI-toepassingen.
Wat is een semantische laag?
Bij Y.digital geloven we in de kracht van ruwe data gecombineerd met modellen van de kennis en ervaring binnen organisaties. Om deze combinatie vorm te geven, maken we gebruik van Knowledge Graphs. Deze bouwen voort op decennia aan wetenschappelijke innovatie en maken het mogelijk om relaties tussen data te duiden op een manier die zowel begrijpelijk is voor mensen als efficiënt verwerkt kan worden door softwaretoepassingen. DeKnowledge Graphs worden in een aparte component opgeslagen en beheerd. De component wordt aangesloten op alle databronnen die toegankelijk moeten worden gemaakt, en is via API's te gebruiken.
Met een semantische laag hoef je geen ingewikkelde tabellen met talloze foreign keys en koppeltabellen te beheren. In plaats daarvan creëer je directe links tussen entiteiten, met beschrijvingen die aansluiten bij de terminologie en processen van je organisatie. Dit maakt het onderhoud overzichtelijker en minder arbeidsintensief. Doordat het semantische model direct gelinkt is aan de opgeslagen data, zijn wijzigingen eenvoudig door te voeren en direct zichtbaar.
Waarom is dit belangrijk?
Een belangrijke kracht van een Knowledge Graph is de flexibiliteit om meerdere definities van een begrip te hanteren, afhankelijk van de context. Dit voorkomt dat je business termen moet reduceren tot één definitie, zoals de ‘klant’, waardoor je belangrijke nuances zou verliezen. Dankzij een Knowledge Graph kun je deze contexten naast elkaar hanteren, zodat de unieke betekenis en eigenschappen per situatie behouden blijven. Dit maakt het bijzonder geschikt voor AI-toepassingen zoals SemanticSearch of Retrieval Augmented Generation (RAG).
Met een semantische laag creëer je een flexibele infrastructuur over je (on)gestructureerde data. Deze laag zorgt niet alleen voor betere datakwaliteit, maar bereidt je data ook voor op toekomstbestendige AI-toepassingen. Daarnaast integreert een Knowledge Graph moeiteloos met uiteenlopende databronnen, zoals relationele databases, NoSQL-systemen en API’s, waardoor je de semantiek van al je systemen kunt vangen.
Meer weten?
Ben je benieuwd naar hoe een semantische laag jouw organisatie kan helpen? Of wil je weten welke mogelijkheden er nog meer zijn in de combinatie met AI? Neem gerust contact op via result@y.digital of bel ons op +31 (0)30-2074274. Wij denken graag met je mee!