Kunstmatige Intelligentie voor scholieren en geïnteresseerden

Kennissystemen…?

 

Wat is een kennissysteem?. 1

Wat is kennis?. 1

Wie maken een kennissysteem?. 2

Hoe verzamel je kennis?. 2

Hoe zet je de kennis in een kennissysteem?. 3

Conclusie. 3

Literatuur over dit onderwerp. 3

 

 

Computers zijn relatief dom. Maar computers kunnen wel héél veel feitenkennis opslaan. Mensen daarentegen zijn relatief slim. Maar ze kunnen slechts een beperkte hoeveelheid feitenkennis onthouden. Het zou mooi zijn als de mens de kennis van de computer en zijn eigen slimheid kon samenvoegen! Een kennissysteem biedt misschien de oplossing…

 

Op de deze webpagina wordt beschreven wat kennis en kennissystemen eigenlijk zijn. Daarna wordt bekeken hoe je kennis kunt verzamelen en het zodanig kunt opschrijven dat er een kennissysteem ontstaat.

 

 

 

Wat is een kennissysteem?

Een kennissysteem is meestal een computerprogramma dat heel veel kennis heeft over een bepaald onderwerp. Het computerprogramma is zó gemaakt, dat je het vragen kunt stellen als je iets over dat onderwerp wilt weten. Het slimme van dat computerprogramma is dat het geen voorgeprogrammeerde antwoorden geeft, maar dat het jou eerst vragen stelt om er achter te komen wat je precies wilt weten.

 

Die kennis is natuurlijk niet vanzelf in de computer gekomen – het is erin gestopt door mensen die verstand hebben van computers, van kennis en van mensen. De kennis die zij in de computer stoppen is meestal afkomstig van andere mensen, die weer heel veel afweten van het onderwerp waarover het kennissysteem gaat. Je zou kunnen zeggen dat je met een kennissysteem een geleerd iemand probeert te vervangen.

 

Je zou bijvoorbeeld een kennissysteem kunnen maken over het toevoegen van kruiden in een gerecht. Je gaat naar een goede kok, vraagt hem over kruiden in alle gerechten  die je maar bedenken kunt en stopt die kennis in een computer. Als je dan een keer lekker wilt koken, laat je de kok voor wat hij is en vraag je de computer welke kruiden je moet gebruiken! Helaas is het in de praktijk natuurlijk niet zo gemakkelijk - het kennissysteem zal een echte kok niet vervangen, maar het kan misschien wel adviseren over welke kruiden lekker zijn.

 

 

Wat is kennis?

Als je in een woordenboek opzoekt wat kennis betekent, dan zal het iets zeggen in de trant van ‘bekendheid, besef van iets, wat je leert door studie en oefening’. Maar die definitie is veel te oppervlakkig als je een kennissysteem wilt maken. Er is namelijk een aantal soorten kennis en een aantal manieren om kennis weer te geven.

 

Als je een kennissysteem maakt, moet je weten met wat voor soort kennis je te maken hebt, zodat je kunt beslissen hoe je aan de kennis moet komen en hoe je de kennis in het kennissysteem moet stoppen. Hieronder zal ik vier belangrijke manieren beschrijven hoe je tegen kennis aan kunt kijken.

 

Kennis kan bestaan uit feiten. Een feit geeft altijd een kenmerk aan een object. Het heeft de vorm ‘[dit-of-dat] heeft [zus-en-zo]’, waarbij ‘heeft’ ook ‘is’ kan zijn. Bijvoorbeeld ‘Waterstofchloride heeft een massa van 36,46 g/mol’, ‘wortel is oranje’ en ‘een snaredrum heeft een snaar’.

 

Kennis kan ook bestaan uit regels. Een regel heeft de vorm ‘Als [dit-of-dat], dan [zus-en-zo]. Bijvoorbeeld: ‘Als de bal naast het doel komt, dan wordt dat een corner’, of ‘Als het zelfstandig naamwoord onzijdig is, dan is het lidwoord het’. Vaak is een regel verborgen. Bijvoorbeeld in ‘Ik lust geen koffie zonder suiker’ zou je de regel ‘Als er geen suiker in zit, dan lust ik de koffie niet’ kunnen lezen.

 

Veel kennis kan in een hiërarchische structuur gezet worden. Een hiërarchie heeft de vorm ‘[dit-of-dat] is een [zus-en-zo]’, waarbij je ‘is een’ moet lezen als ‘is een vorm van’ of ‘is een onderdeel van’. Bijvoorbeeld ‘Een poedel is een (vorm van) hond, een hond is een (vorm van) zoogdier, een zoogdier is een (vorm van) dier’, of ‘Een gestolen fiets kopen is een vorm van heling, is een vorm van criminaliteit, is een vorm van onwettelijk gedrag, is een vorm van kwaad’. Hieronder een afbeelding van een stukje hiërarchische structuur van onderdelen van systemen in de auto:

 

 

Als laatste kan kennis vaak ook geclassificeerd worden. Classificatie betekent dat je van dingen of begrippen zegt dat ze bij elkaar horen, ofwel: dat ze in klassen zijn in te delen. Classificatie heeft de vorm ‘[dit-of-dat] hoort bij de klasse [zus-en-zo]’. Bijvoorbeeld ‘Een beitel hoort bij de klasse houtbewerkinggereedschap; een boor hoort bij de klasse houtbewerkinggereedschap, maar een boor hoort ook bij de klasse metaalbewerkinggereedschap’. Je hoeft niet perse ‘hoort bij de klasse’ te schrijven: ‘Tony Neef en Linda Wagemakers speelden in de musical Miss Saigon; Tony Neef en Annick Boer speelden in de musical Titanic‘ is ook een vorm van classificatie.

 

 

Wie maken een kennissysteem?

Een aantal mensen spelen een rol bij het maken van een kennissysteem. Er zijn met name drie hoofdrollen: de kennistechnoloog, de domeinexpert en de gebruiker.

 

De kennistechnoloog is degene die het kennissysteem maakt. Hij of zij moet verstand hebben van computers, hoe je kennis in een computer stopt en hoe je aan de kennis moet komen. De domeinexpert is iemand die verstand heeft van een bepaald onderwerp. Dat onderwerp heet het kennisdomein en dat is in dit geval alle kennis die je in je kennissysteem wilt stoppen. Dus in het voorbeeld van de kruiden was jij de kennistechnoloog en de kok de domeinexpert.

 

De derde hoofdrol is die van de gebruiker – de persoon of groep personen die later het kennissysteem moet gaan gebruiken. De kennistechnoloog moet weten wat de gebruiker van het kennissysteem verwacht, wat voor vragen hij of zij zal gaan stellen en wat voor soort antwoorden die persoon verwacht van het systeem. De antwoorden van het systeem moeten aansluiten op de kennis van de gebruiker – en dat is vaak niet eenvoudig.

 

 

Hoe verzamel je kennis?

De kennistechnoloog moet dus kennis uit de domeinexpert halen om die in het kennissysteem te stoppen. Dat heet kennisverwerving, of met een mooi woord: kenniselicitatie. Maar, stel jij bent de kennistechnoloog, hoe verwerf je kennis uit de domeinexpert? Dat kun je aan de hand van een aantal hieronder beschreven stappen doen.

 

Helemaal aan het begin van het maken van het kennissysteem houdt je een interview met de domeinexpert. Je gaat met een bandrecorder naar de persoon toe en laat hem of haar van alles vertellen over het domeinonderwerp.

 

Weer thuis, ga je het interview goed beluisteren en alle relevante gesprekken uittypen. Dat is een hoop werk - maar wel erg belangrijk – want dat is de eerste keer dat de kennis echt op papier (of in de computer) komt te staan.  Aan de hand van dat uitgeschreven interview kun je heel veel te weten komen over het onderwerp. Door een paar speciale technieken te gebruiken, kun je er achter komen welke termen en woorden belangrijk zijn, hoe het onderwerp in deelonderwerpen is op te delen, maar ook welke kennis mist. Dat laatste komt meestal omdat de domeinexpert praat over iets wat voor hem of haar heel gewoon is, zonder in te zien dat het voor een buitenstaander misschien hartstikke onbegrijpelijk is. Over die missende of onduidelijke zaken kun je nieuwe vragen opstellen en die tijdens een tweede gespreksronde aan de domeinexpert voorleggen. Maar eerst gaan we kijken hoe je al die informatie uit het interview kunt verwerven.

 

Je neemt het uitgeschreven interview en gaat op zoek naar alle woorden en termen die belangrijk zouden kunnen zijn voor het kennissysteem. Die woorden en termen vormen de zogenaamde domeinwoordenlijst. Je kunt dat het gemakkelijkst doen door die woorden met een markeerstift in het interview aan te strepen.

 

Als je denkt dat je domeinwoordenlijst compleet is, ga je proberen bij elk woord zoveel mogelijk feiten te vinden. Dat doe je door bij een woord uit de lijst alle kenmerken van dat woord op te schrijven. Bijvoorbeeld een domeinwoordenlijst met fruit:

 

Appel: is rond, is middelgroot, is geel of rood;

Aardbij: heeft een punt, is klein, is rood;

Peer: heeft een punt, is middelgroot, is groen’

 

Je hebt nu heel veel informatie verzameld over het domeinonderwerp, maar je kunt er nog niets mee. Al die domeinwoorden en feiten moeten nu gestructureerd worden. Dat doe je als volgt: je gaat proberen de woorden uit de lijst te classificeren of ze in een hiërarchische structuur te zetten, door de feiten bij alle woorden met elkaar te vergelijken. Welke van de twee je moet toepassen, hangt van het onderwerp af. Bijvoorbeeld het fruit in het voorbeeld heeft een aantal kenmerken dat bij verschillende andere stukken fruit ook voorkomt, zodat het lastig is er een hiërarchische structuur van te tekenen (probeer maar). Hier is het handiger een classificatie aan te brengen. Als je daarentegen kennis over de verschillende systemen van een auto wilt representeren, dan is een hiërarchie goed op zijn plaats. Hieronder zijn een paar feiten over fruit als klassen opgeschreven, waaronder de stukken fruit zijn ingedeeld:

 

Rode kleur: appel, aardbij;

Gele kleur: appel

Heeft een punt: aardbij, peer;

Middelgroot formaat: appel, peer;

(enzovoort)

 

 

Hoe zet je de kennis in een kennissysteem?

Nu je de belangrijkste kennis van de domeinexpert op een rijtje hebt, moet je het nog in het kennissysteem stoppen. De kennis moet zodanig weergegeven (gerepresenteerd) worden, dat de gebruiker er iets mee kan. Een bekend type kennissysteem is het regelgebaseerde kennissysteem, waarin de kennis als regels is gerepresenteerd. De gebruiker kan aan de hand van die regels afleiden wat hij wil weten.

 

Je kunt de regels maken aan de hand van de feiten die je hebt opgeschreven. Zoals gezegd hebben regels de vorm ‘Als …, dan …’. Achter ‘Als’ zet je de gevonden kenmerken van een woord, achter ‘dan’ zet je het woord. Als woorden meerdere kenmerken hebben, kun je er EN tussen zetten. Soms hebben meerdere woorden dezelfde kenmerken. Dan moet je tussen de woorden OF zetten. Zoals bij het fruitvoorbeeld:

 

  1. ALS het een punt heeft EN het formaat is klein EN de kleur is rood, DAN is het een aardbij
  2. ALS het formaat middelgroot is DAN is het een appel OF een peer

 

Uit regel 1 blijkt dat er een set van kenmerken is, die een aardbei van de andere vruchten kan onderscheiden. Dat is precies wat we willen hebben, want als nu iemand de vraag stelt: “Het is rood, klein en heeft een punt. Wat is dat?”, dan kun je een eenduidig antwoord geven, namelijk: “Het moet wel een aardbei zijn!”

 

Bij regel 2 gaat dat mis. Als iemand de vraag stelt: “Het is middelgroot. Wat is dat?”, dan moet je helaas antwoorden: “Het zou een appel of een peer kunnen zijn…”. Met andere woorden: je kunt nog niet een goed antwoord geven. Gelukkig blijkt dat de regel niet compleet is. Er zijn nog kenmerken over die een appel van een peer kunnen onderscheiden! (bedenk zelf welke).

 

 

Conclusie

Als het je gelukt is voor de woorden uit de domeinwoordenlijst regels te maken, dan heb je een heus kennissysteem gemaakt. Natuurlijk is het voorbeeld van het fruit wel heel gemakkelijk. Met een echt interview van een domeinexpert wordt het een stuk ingewikkelder – daarom kun je, als je zelf wilt proberen een kennissysteem te maken, beter een niet al te ingewikkeld onderwerp nemen. Er is een iets uitgebreider voorbeeld van het maken van een kennissysteem over slagwerkinstrumenten, klik hier om daar naar te kijken. Het is knap als het je lukt een goed, consistent kennissysteem te maken!

 

 

Door Hilbert Koetsier

Kunstmatige Intelligentie, Rijksuniversiteit Groningen

 

 

Literatuur over dit onderwerp

 


(20011012/0122)