Het automatisch semantisch annoteren en visualiseren van machine learning processen met FnO.

Gerealiseerd door: Pol Nachtergaele
Interne promotor: prof. dr. ir. Femke Ongenae
Academiejaar: 2023-2024
Prijzen: voorgedragen voor de ISPA Award 2024

Het Semantisch Web is een evolutie van het huidige web, met als doel een universeel medium te creëren voor de uitwisseling van data, informatie en kennis. Door het semantisch beschrijven van gegevens met behulp van het Resource Description Framework (RDF) ontstaat er een standaard voor data-uitwisseling. RDF maakt het mogelijk om informatie in een formaat te coderen dat door machines kan worden gelezen, zodat computers de betekenis van data kunnen begrijpen en verwerken. Ontologieën, als gestructureerde vocabularia, spelen hierbij een sleutelrol door specifieke domeinen en hun relaties te definiëren, wat zorgt voor consistente en gedeelde interpretaties van data. Door data uit verschillende bronnen te verbinden, versterkt het Semantisch Web de FAIR-principes - Vindbaarheid, Toegankelijkheid, Interoperabiliteit en Herbruikbaarheid. Dit leidt tot efficiëntere data-uitwisseling en maakt het mogelijk om slimmere toepassingen te ontwikkelen die gebruikmaken van de verbonden informatie.

Moderne technologieën zoals machine learning verbeteren de gebruikerservaring door enorme hoeveelheden data te verwerken. Een belangrijke uitdaging is om deze krachtige technologieën te blijven gebruiken en tegelijkertijd transparantie te waarborgen, zodat gebruikers inzicht hebben in hoe hun data wordt verwerkt. Dit onderzoek richt zich op de automatische beschrijving van machine learning-processen met behulp van RDF, waardoor deze projecten kunnen worden gedeeld op het Semantisch Web.

Om dit probleem aan te pakken, is er een tool ontwikkeld die automatisch RDF-documenten genereert op basis van Python-code die een machine learning-pijplijn implementeert. Hierbij zijn twee semantische ontologieën gebruikt. De Function Ontology (FnO) biedt een universele manier om functionaliteiten te beschrijven en koppelt deze aan specifieke implementaties, zoals Python-functies. Met behulp van Static Code Analysis worden inputs en outputs van functies verbonden om de datastroom door een machine learning-pijplijn te beschrijven. Dit RDF-document laat toe om de pijplijn opnieuw op te zetten en uit te voeren terwijl data transformaties worden vastgelegd in RDF. Dit wordt gedaan met behulp van de Provenance Ontology (PROV-O) die toe laat om de levenscyclus van data te beschrijven.

Door deze RDF-documenten te publiceren op het Semantisch Web, kunnen nieuwe toepassingen worden ontwikkeld die de betrouwbaarheid van data die door een machine learning-pijplijn is gegenereerd beter beoordelen. De FnO beschrijving van de datastroom maakt het ook eenvoudiger om Python-projecten op basis van hun dataverwerkingspatronen te vinden en te vergelijken, in plaats van alleen op code-niveau. Deze aanpak biedt extra transparantie in de verwerking van persoonlijke data, wat een belangrijke eerste stap kan zijn richting GDPR-conforme machine learning-toepassingen.