PLATFORM VOOR ORACLE SPECIALISTEN. POWERED BY ORDINA

De rol van een ontologie voor Siebel consultants

Geplaatst op: 11 Juni, 2009

Als ICT consultant weet je dat het belangrijk is dat je er voor zorgt dat verschillende partijen in een project over hetzelfde praten. Wanneer op een feestje mensen langs elkaar praten is dat grappig maar in projecten is dit duur en leidt het vaak tot frustraties. In de start van een project vormt het gespreksonderwerp vaak input voor een ontwerp wat nog een aantal keer overgedragen wordt aan mensen die vaak verder van de oorspronkelijke context van het gesprek staan. Al met al doet het proces van het opnemen van de specificaties naar het overdragen aan de programmeurs en/of testers (stap verder) vaak denken aan het spelletje waarbij een kring wordt gevormd en de eerste persoon iets moet vertellen aan de persoon naast hem. Wanneer je bent aangekomen bij de laatste persoon herkent deze nog weinig van de oorspronkelijke boodschap. Een groot deel van de miscommunicatie valt te voorkomen door het communiceren en begrijpelijk maken en centaal stellen van de context van de boodschap. Wanneer je een oplossing/probleem gaat modelleren in zijn context kan je een ontologie gaan gebruiken. Voorafgaande aan het beschrijven van de voordelen van het gebruik van een ontologie wordt eerst beschreven wat een ontologie is.

Wat is een ontologie?
Wanneer voor een systeem de context van informatie een rol gaat spelen kan een ontologie gebruikt worden. Het stelt een systeem in staat om betekenis aan data toe te voegen.

Een ontologie kan worden gezien als een formele expliciete beschrijving van klassen (concepten) in een domein. Een ontologie heeft slots (attributen) voor eigenschappen van elk concept. De slots beschrijven verschillende eigenschappen van de concepten. Bij de slots is het mogelijk beperkingen op de mogelijke waarden van een bepaald slot te leggen. Wanneer over een grasveld  wordt gesproken kan dit in de context van een tuin, een sport, of eten. Zo zullen koeien ongetwijfeld een grasveld heel anders zien dan programmeurs. Door een relatie tussen de gebruiker (mens) en het veld te definiëren als "sport_op" krijg je een veel scherper beeld van de context, zoals in "hij sport op een grasveld". Grasveld valt te zien als een instance van het concept sportterrein. De relatie "sport_op" geeft betekenis aan de instance grasveld. Na het kennen van de relatie kun je ook alternatieven voor het grasveld bedenken die in de context passen. Een koe zal niet heel blij worden van een gravelveld (instance van sportterein) maar voor tennissers is het zeker een alternatief. Een ontologie lijkt op een database schema maar dan met namen en relaties uit het jargon van de gebruiker.

Figuur 1, voorbeeld van een ontology uit http://protege.stanford.edu/doc/tutorial/get_started

Wanneer de ontologie wordt gevuld met individuele elementen van de klassen, dan vormen de elementen samen met het model een kennisbank. Een ontologie wordt gecreëerd voor het ondersteunen van applicaties bij het verwerken en gebruiken van complexe en verschillende soorten kennis. Het gebruik van een ontologie maakt het vaak mogelijk een objectieve specificatie van domeininformatie te maken. Dit gebeurt in een ontologie door het representeren van een overeenstemming van meningen over concepten en relaties zoals ze in het betreffende kennisdomein worden gebruikt.
De ontologie is nadrukkelijk gericht op:

  • - Overeenstemming vinden over modellen voor een domein
  • - Eigenschappen weergeven die in alle situaties gelden
  • - De klassen in plaats van de daadwerkelijke waarden (instances)
  • - Het ondersteunen van meerdere taken en methoden
  • - Het gebruik in samenspel met compileergereedschappen
  • - Het helpen van een groep gebruikers
  • - Gezamenlijke ontwikkeling
  • - Gebruik in educatie
  • - Agent communicatie en het delen van kennis

In praktische termen bestaat het ontwikkelen van een ontologie uit:

  • Definieer de klassen (concepten) in de ontologie.
  • Zet de klassen in een subklasse-superklasse hiërarchie.
  • Definieer de slots en beschrijf de toegestane waarden voor de slots.
    (Via een slot kan men ook relaties tussen verschillende klassen modelleren.)
  • Vul voor de instances de waarden van de slots in.

Voor het beschrijven van ontologieën bestaan verschillende talen. Voorbeelden hiervan zijn RDF en OWL. Het Resource Description Framework (RDF) is een algemene taal voor het beschrijven van informatie op het web. De OWL Ontology Language is ontworpen voor het gebruik door applicaties die context van informatie moeten verwerken i.p.v. het alleen maar presenteren van informatie. OWL is meer gericht op het gebruik door software programma’s.

Als je meer wilt spelen met en leren over ontologieën is het interessant om eens op http://protege.stanford.edu/ te kijken. Hier kun je tools en tutorials vinden om aan de slag te gaan.

De voordelen van ontologie voor een Siebel consultant?
Het voorkomen van miscommunicatie is een groot voordeel. Maar er zijn veel meer voordelen.

  • Bij grote ICT projecten zijn ICT applicaties een onderdeel van een groot landschap. Zoals Siebel CRM vaak wordt gekoppeld aan een ERP systeem voor de boekhouding en planning, een BI applicatie voor overkoepelende rapportages, en eventueel andere systemen zoals een document management systeem. Applicaties moeten samenwerken. De gegevens die gecommuniceerd, verwerkt en gepresenteerd worden moeten consistent zijn. Je wilt bijoorbeeld niet zien dat financiële voorspellingen uit de rapportages niet overeenkomen met de informatie in het grootboek. Dit vraagt om centrale domeinmodellen of heel veel communicatie over de individuele koppelvlakken/interfaces. Een domeinmodel dat de concepten en relaties tussen concepten beschrijft, kan een ontologie zijn. Bij de ontwikkeling van het semantische web (veel applicaties die samen werken) wordt veel gebruik gemaakt van ontologieën.
  • Een ontologie vormt vaak de basis voor rule-based systemen. Met de overname van RuleBurst (nu Oracle Policy automation) heeft Oracle geïnvesteerd in rule engines, een technologie die sinds enige tijd weer in opmars is. Omdat rule-based systemen vaak dienen om betekenis aan data te geven vormt de ontologie een zeer goede basis voor de ontwikkeling van kennissystemen zoals Oracle Policy automation. Door het gebruik van een ontologie wordt de meer statische domeinkennis los gekoppeld van de regels (dynamisch en context gebonden). Het gebruik van een rule-based system impliceert dat de data in domein objecten staat (ontologie) en de kennis in de regels.
  • Een vierde voordeel voor het gebruik van een ontologie voor Siebel consultants is de goede aansluiting bij Siebel. Siebel kent een drie-laags architectuur waarvan de middelste laag de business layer is. Deze business layer sluit zeer goed aan bij het gebruik van een ontologie. Het is zaak om in een bredere IT context deze business layer af te stemmen met andere applicaties.

Kortom, een ontologie is een handig hulpmiddel maar zoals bij vele hulpmiddelen vergt het wel een investering. Het opzetten van een ontologie is een behoorlijk klus. Veel onduidelijkheden die anders later in het proces van het ontwerpen en implementeren van IT oplossingen naar komen, worden naar voren getrokken bij het inzetten van een ontologie.

Sytse Benedictus

Reageer

U moet inloggen om te reageren!
Geen inlogcodes? Klik dan hier.