Veranderingsbeheer van Gedistribueerde Ontologieen

Het internet is een geweldig succesvolle toepassing van computertechnologie. Waar het World Wide Web tien jaar geleden nog voornamelijk een hulpmiddel voor academici was, is het in 2004 als informatiebron niet meer weg te denken uit de maatschappij. Dit succes verhult echter dat de rol van computers bij het vergaren van informatie via het internet heel beperkt is. Computers zorgen voor de opslag, het transport en het weergeven van gegevens, maar aan het selecteren, combineren of interpreteren van informatie dragen ze nauwelijks bij. Dit veroorzaakt bijvoorbeeld de vaak gehoorde klacht “dat je veel te veel terugkrijgt bij het zoeken”. De reden dat computers weinig behulpzaam zijn bij het selecteren en combineren van informatie is tweeledig. Ten eerste is de informatie op webpagina’s vrijwel altijd geschreven voor mensen; voor computers is de informatie niet meer dan een rij niet-verwerkbare letters. Ten tweede vereisen zulke taken vaak achtergrondkennis over het onderwerp van de informatie, en computers hebben deze kennis van zichzelf niet.

Sinds enkele jaren wordt daarom op wereldwijde schaal onderzoek gedaan naar een “nieuwe generatie” internet: een uitbreiding van het huidige internet waarbij achtergrondkennis is toegevoegd en de informatie zo gestructureerd is dat computers het kunnen verwerken. Deze nieuwe versie van het internet wordt het semantische web genoemd. Naast pagina’s met informatie voor mensen en computers, bevat het semantische web ook documenten die achtergrondkennis over een bepaald onderwerp specificeren. Deze specificaties worden in de informatica ontologieën genoemd, afgeleid van het begrip met dezelfde naam in de filosofie. De in de informatica gebruikte ontologieën hebben vaak de vorm van een hiërarchische indeling van categorie¨en en subcategorie¨en en hun eigenschappen. Een eenvoudige ontologie zou bijvoorbeeld kunnen beschrijven dat een “Student” een subcategorie van “Persoon” is, met als specifieke eigenschap dat er een relatie “ingeschreven_aan” met een “Universiteit” is.

Dit proefschrift gaat over het omgaan met wijzigingen in op het internet gepubliceerde ontologieën. Veranderingen in de kennisbeschrijvingen kunnen namelijk invloed hebben op de geldigheid van de bewerkingen die computers met de informatie uitvoeren. Het beheersen van de effecten van veranderingen in kennisspecificaties is geen nieuw probleem, ook bij het onderhouden van kennis-gebaseerde computerprogramma’s en databanken komt dit voor. De specifieke moeilijkheid in het semantisch web is dat het internet een “anarchistische” structuur heeft, in de zin dat iedereen in staat is te publiceren wat hij wilt en dat er geen centrale autoriteit is die procedures kan afdwingen. Veel klassieke oplossingen voor het omgaan met veranderingen zijn gebaseerd op het volgen van bepaalde wijzigingsprocedures en zijn daarom niet toepasbaar op het internet.

Om dit probleem aan te pakken bestuderen we in dit proefschrift allereerst de verschillende computertalen die worden gebruikt voor het publiceren van gegevens en kennis op het internet. Daarbij kijken we vooral naar de datamodellen die aan de verschillende talen ten grondslag liggen, omdat deze bepalen wat feitelijk vastgelegd wordt wanneer te taal gebruikt wordt om gegevens te beschrijven. De eXtensible Markup Language (XML) is een taal die als algemeen coderingsmechanisme voor zowel gegevens als kennis gebruikt kan worden, waarbij alleen deel–onderdeel relaties worden vastgelegd. XML Schema is een taal waarmee de indeling van XML documenten beschreven kan worden. De RDF taal (Resource Description Framework) maakt het mogelijk om de eigenschappen te beschrijven van objecten die een adres op het internet hebben, zoals webpagina’s, maar ook boeken, of zelfs begrippen die genoemd worden in kennisbeschrijvingen. Met behulp van deze taal kan bijvoorbeeld gespecificeerd worden dat een document een bepaalde auteur heeft, of dat de relatie “is getrouwd met” op mensen van toepassing is. De eenvoud van RDF is tegelijkertijd de kracht van de taal: doordat eigenschappen van zowel concrete objecten als van abstracte begrippen—waaronder elementen van de taal zelf—kunnen worden beschreven, kan de taal gebruikt worden om een complexere taal te definiëren. Dat is reeds gedaan met RDF Schema, een taal waarmee categorie¨en van objecten kunnen worden gedefinieerd en extra informatie over relaties kan worden beschreven. Wij laten zien hoe een computertaal die kennis nog gedetailleerder kan beschreven kan worden gedefinieerd met behulp van RDF als uitbreiding van RDF Schema.

Na het bestuderen van de talen, analyseren we als tweede stap de problemen die door wijzigingen in ontologieën worden veroorzaakt. We doen dit op drie verschillende manieren. Ten eerste beschrijven we op basis van een literatuurstudie meer dan tien verschillende aspecten waarin ontologieën van elkaar kunnen verschillen, en dus waarin ze kunnen veranderen. Het blijkt onder andere relevant te zijn om onderscheid te maken tussen een verandering in de kennis zelf en een verandering in de manier waarop de kennis is beschreven. Ten tweede vergelijken we het veranderingsproces van schema’s voor databanken met het veranderingsproces van ontologieën. Het blijkt dat beide theoretisch niet veel van elkaar verschillen, maar dat sommige problemen bij het beheren van databanken in de praktijk nauwelijks een rol spelen, terwijl die problemen bij het beheren van ontologieën vrijwel altijd aanwezig zijn. Wij beargumenteren dat daarom een aparte methodiek voor het omgaan met wijzigingen in ontologieën noodzakelijk is. Zo’n methodiek moet rekening houden met de verschillende taken waarvoor ontologieën gebruikt kunnen worden en kunnen werken met incomplete informatie over wijzigingen. Als derde onderdeel van de probleemanalyse hebben we een aantal interviews afgenomen bij beheerders van grote ontologieën. Hieruit hebben we een aantal gangbare technieken voor het omgaan met wijzigingen kunnen destilleren, zoals het opdelen van ontologieën in delen die apart worden beheerd en het verbieden van bepaalde soorten wijzigingen.

Vanuit de analyse van de problemen formuleren we drie uitgangspunten voor een methodiek voor het omgaan met wijzigingen in ontologieën op het internet. Het eerste uitgangspunt is dat ontologieën op meerdere interpretatie niveaus beschouwd kunnen worden, namelijk het conceptualisatie-niveau, het specificatie-niveau en het representatie-niveau. Wijzigingen die in één van de niveaus worden aangebracht of gedetecteerd, kunnen gevolgen hebben op één van de andere niveaus. Omdat er geen één-op-één relatie is tussen veranderingen op de verschillende niveaus, is soms een menselijk oordeel nodig om de consequenties van veranderingen te bepalen. Het tweede uitgangspunt is dat het effect van wijzingen verschilt voor de verschillende taken waarvoor een kennisbeschrijving wordt gebruikt. Redeneertaken kunnen op een andere manier worden beïnvloed door wijzigingen dan het opvragen van informatie. Het derde uitgangspunt is dat er veel verschillende manieren zijn om informatie over wijzigingen te specificeren, maar dat we er op in het semantisch web niet vanuit kunnen gaan dat een van deze representaties beschikbaar is.

Op basis van deze uitgangspunten ontwikkelen we methodiek die bestaat uit een procesmodel voor het omgaan met veranderingen in ontologieën en een taal waarmee wijzigingen beschreven kunnen worden. Het centrale onderdeel van een wijzigingsbeschrijving is een “transformatie-set”, een verzameling van wijzigingsoperaties die de verandering volledig beschrijft.

Welke wijzigingen op een ontologie mogelijk zijn hangt af van de ontologietaal die wordt gebruikt. De verzameling van alle mogelijke wijzigingsoperaties creëren we door naar het kennismodel van de ontologietaal te kijken. Zo’n model definieert welke kenniselementen (zoals categorie¨en, relaties, eigenschappen, eigenschappen van relaties) met een taal beschreven kunnen worden. Door voor ieder kenniselement “add”, “remove” en “modify” operaties te definiëren, verkrijgen we een verzameling operaties waarmee alle mogelijke wijzigingen beschreven kunnen worden. We werken deze operaties uit voor de ontologietaal OWL (Web Ontology Language), omdat uit een vergelijking met een andere veel gebruikt kennismodel OKBC (Open Knowledge Base Connectivity) blijkt dat het kennismodel van OKBC praktisch bevat is in dat van OWL.

Als aanvulling op de wijzigingsoperaties die afgeleid zijn van het kennismodel van de ontologietaal—de basale operaties—introduceren we zogenaamde “complexe operaties”. Dit zijn operaties die een samenvoeging zijn van verschillende basale operaties of die extra informatie over de wijziging bij zich dragen. Het kan nuttig zijn om basale operaties te groeperen wanneer de wijzigingen een logische eenheid vormen (bijvoorbeeld het verwijderen van iets op de ene plek en het weer toevoegen op een andere plek), of wanneer het effect van de operaties tezamen anders is dan het gecombineerde effect van de afzonderlijke operaties. Operaties die extra kennis over een wijzigingen bij zich dragen kunnen worden gebruikt om specifieke varianten van basale operaties te definiëren, bijvoorbeeld een operatie die niet alleen specificeert dat het bereik van een bepaalde eigenschap veranderd is, maar ook dat het beperkt is. Deze complexe operaties zijn onder andere nuttig bij het visualiseren van veranderingen. De mogelijkheid om specifieke complexe operaties te definiëren is een mechanisme dat het mogelijk maakt om domein- of taakspecifieke veranderingsspecificaties te creëren.

Naast een taal voor het specificeren van wijzigingen, bevat de methodiek ook een procesmodel voor het omgaan met veranderingen in ontologieën. Dit model beschrijft de volgende stappen: 1) de beschikbare informatie over de wijzigingen wordt verzameld, 2) heuristieken, afleidingsregels en inschattingen van mensen worden gebruikt om deze informatie aan te vullen, 3) met behulp van deze informatie worden veranderingsgevoelige taken uitgevoerd. In het kader van dit onderzoek zijn twee computer programma’s ontwikkeld die helpen bij het verzamelen van informatie over wijzigingen (stap 1). Voor het uitvoeren van stap 2 beschrijven we verschillende recepten voor het aanvullen van de informatie. Daarnaast laten we zien hoe vier veranderingsgevoelige taken kunnen worden uitgevoerd met behulp van de gegenereerde wijzigingsinformatie (stap 3). We leggen allereerst uit hoe gegevens die beschreven zijn via een oudere versie van een ontologie via een nieuwere versie beschikbaar gemaakt kunnen worden. Ten tweede beschrijven we hoe zonder veel rekentijd bepaald kan worden of vertalingen tussen ontologieën nog geldig zijn nadat één van de twee gewijzigd is. Als derde laten we zien hoe een bestaande methode voor het “in de pas” laten lopen van twee versies van ontologieën die onafhankelijk van elkaar worden beheerd, kan worden gebruikt binnen onze methodiek. De vierde taak die gebruik maakt van de veranderingsinformatie is het visualiseren van wijzigingen. We beschrijven een computerprogramma dat wijzigingen op een abstract niveau kan tonen aan gebruikers.

In het laatste deel van het proefschrift beschrijven we drie praktische studies. Deze studies evalueren niet de methodiek als geheel, maar laten zien hoe sommige elementen van de methodiek in een realistische setting kunnen worden toegepast. In de eerste studie beschouwen we een bestaande ontwikkelingsgeschiedenis van een ontologie over medische informatiebronnen. Hiermee krijgen we een indruk van de verdeling van soorten wijzigingen (toevoegingen, verwijderingen) in de verschillenden fases van de ontwikkeling van een ontologie. We laten zien hoe één specifieke versie-verandering kan worden beschreven met behulp van de ontwikkelde taal. In de tweede praktische studie passen we de methode om voor het bepalen van de geldigheid van een vertaling tussen ontologie ¨en te bepalen toe op een klein maar realistisch veranderingsproces in een ontologie. Ten slotte beschrijven we een gebruikersevaluatie van een abstracte visualisatie van wijzigingen in een grote ontologie (ongeveer 3000 categorieën). De uitkomst suggereert dat de visualisatie inderdaad helpt bij het overzien van de veranderingen. De komende jaren moet blijken of en hoe het semantisch web vorm zal krijgen.

Hoewel het werk dat in dit proefschrift beschreven wordt zijn motivatie vindt in het semantisch web, hangt de relevantie niet af van het al of niet slagen van het semantisch web. Onmiskenbaar is in de informatica een trend waarneembaar naar systemen waarbij verschillende computers met elkaar samenwerken. Hierbij valt te denken aan web-services (kleine taken die door andere computers op het internet worden uitgevoerd), maar ook aan de vele elektronische apparaatjes die met elkaar kunnen communiceren, zoals mobieltjes, digitale camera’s en MP3-spelers. Om met elkaar te kunnen samenwerken, moeten deze computers gegevens uitwisselen met voorheen “onbekende” systemen. Dit kan deels worden mogelijk gemaakt door standaardisatie van communicatieprotocollen, maar zal ook vragen om expliciete semantische beschrijvingen van de data. Gegeven de onvermijdelijke veranderingen waarin zulke systemen onderhevig zijn, zal het omgaan met wijzigingen in kennisbeschrijvingen een steeds belangrijker onderwerp worden.

© 2004 Michel Klein

$Id: samenvatting.html,v 1.1 2004/08/23 13:59:56 Michel Exp $