LEERKERN

1.2 Wat is kennistechnologie

Introductie

In deze paragraaf wordt het begrip kennis geïntroduceerd en wordt een aantal systemen kort beschreven die daarmee beogen te werken. Tevens maakt u een kleine tour d’horizon langs een aantal onderwerpen die tot de kennistechnologie worden gerekend.

1.2.1 Kennis en technologie

De afgelopen tientallen jaren hebben een enorme ontwikkeling te zien gegeven in de Informatie en Communicatietechnologie (ICT). Computers zijn krachtiger geworden, er kan meer in worden opgeslagen en ze werken steeds sneller. Ook kleine computers zijn steeds krachtiger geworden, zodat tegenwoordig geavanceerde programma's in vele situaties gebruikt kunnen worden. Ook de communicatiemogelijkheden tussen computers, onder andere via internet, zijn sterk verbeterd. Het gevolg van deze technologische ontwikkelingen is dat er van steeds meer kennis gebruik gemaakt kan worden. Soms is die kennis verwerkt in de wijze waarop een computerprogramma werkt, soms ondersteunen de programma's het verkrijgen van de gewenste kennis.

Vanaf het moment dat de eerste computers werkten zijn ze ingezet voor taken waar tot op dat moment menselijke intelligentie voor nodig was. Voor het kraken van geheimschriftcodes in de tweede wereldoorlog, moest enorm veel rekenwerk worden verricht. Dat werd door mensen gedaan, totdat er machines, de eerste computers, ontwikkeld waren die dat recht-toe-recht-aan rekenwerk overnamen. Ook nu kunnen steeds meer taken geautomatiseerd worden, waar eerst menselijke intelligentie voor nodig was. Dat varieert van de beheersadministratie van bibliotheken tot de besturing van stoplichten op een kruispunt en de spellingcorrector van een tekstverwerker.

De technologie die aangewend wordt om systemen te ontwikkelen waarin kennis is ondergebracht, zou kennistechnologie genoemd kunnen worden, maar dat levert een veel te ruim begrip op. Dan zouden ook het maken van bijvoorbeeld horloges of wolkenkrabbers tot de kennistechnologie behoren, want daar is immers ook veel kennis voor nodig. Dergelijke technologie wordt echter niet tot de kennistechnologie gerekend. Voor dit moment zullen we van kennistechnologie spreken als we het over systemen, methoden en technieken hebben die op een of andere manier kennis gebruiken om nieuwe problemen op te lossen. Aan het einde van deze paragraaf zullen we nauwkeuriger aangeven wat we met kennistechnologie bedoelen.

In veel systemen is kennis verwerkt. Soms heel basale kennis, maar soms ook heel complexe. Zodra systemen functioneren, wordt al snel geaccepteerd dat ze functioneren zoals ze zijn en verdwijnt al snel naar de achtergrond het feit dat dat komt omdat er een heleboel kennis in is opgenomen. Een eenvoudige calculator of handrekenmachine gebruikt voor het bepalen van bijvoorbeeld logaritmes geavanceerde wiskundige kennis, maar dat vinden we ondertussen niet meer dan normaal en we zullen zo’n apparaat daarom niet snel ‘intelligent’ noemen.

Kennistechnologie wordt altijd toegepast in een bepaald domein. Bij de bibliotheekadministratie wordt het domein gevormd door alle informatie over boeken, bibliotheekgebruikers en procedures die te maken hebben met het uitlenen van de boeken. Bij de besturing van stoplichten horen tot het domein de kennis over de wegen die op het kruispunt uitkomen, de doorstroomsnelheden van het verkeer, enzovoorts. En bij een spellingcorrector horen woordenlijsten en de grammatica tot het domein. De kennis die te maken heeft met het domein waarop het systeem functioneert, wordt kortweg domeinkennis genoemd. Kennis nodig om de systemen te laten functioneren of te gebruiken, behoort niet tot de domeinkennis.

> Opgave 1.2.1

Bij een aantal typen systemen is de mate waarin er sprake is van domeinkennis en de manier waarop daarmee wordt omgesprongen zo groot dat we spreken van kennistechnologie. In de hiernavolgende subparagrafen behandelen we in het kort een aantal systemen die tot de kennistechnologie worden gerekend.

1.2.2 Expertsystemen

Expertsystemen omvatten kennis van een bepaald domein en kunnen daarmee redeneren om nieuwe conclusies te trekken, op soortgelijke wijze als menselijke experts dat doen. De kennis bestaat niet alleen uit de feiten uit het betreffende domein, maar bestaat ook uit de wijze waarop daarmee geredeneerd wordt. Een menselijke expert, bijvoorbeeld een gespecialiseerde arts, kent een heleboel feiten uit het vakgebied. Maar meer nog dan de kennis van die feiten alleen, weet weet de expert met die kennis om te gaan en in nieuwe situaties toe te passen of zich dingen af te vragen en eventueel nader te onderzoeken. In expertsystemen wordt geprobeerd op soortgelijke wijze kennis op te slaan en ermee te redeneren als een menselijke expert dat doet. In expertsystemen is de kennis van een bepaald domein op een duidelijke wijze ondergebracht. Ze bevatten een deelsysteem waarin allerlei feitenkennis is ondergebracht samen met de regels en methoden die voorschrijven hoe met die kennis moet worden omgesprongen. Dit deelsysteem bevat de domeinspecifieke kennis en wordt de kennisbank (Engels: knowledge base) genoemd. Daarnaast bevatten expertsystemen een mechanisme, het inferentiemechanisme, dat de domeinspecifieke kennis manipuleert, afhankelijk van de vragen die (via de gebruikers-interface) aan het systeem gesteld worden of de taken die het moet verrichten. Zie figuur 1.2.1. Door de combinatie van de domeinspecifieke kennis en het daarvan onafhankelijke inferentiemechanisme zijn expertsystemen in staat over nieuwe situaties te redeneren en relevante conclusies te trekken of uitspraken te doen.

fi010201.gif (2322 bytes)

Figuur 1.2.1 Een Expertsysteem bevat een kennisbank en een inferentiemechanisme om te kunnen redeneren over kennis

Expertsystemen behoren tot de meest succesvolle toepassingen van het onderzoek op het gebied van de kunstmatige intelligentie. Typische voorbeelden zijn te vinden in de verzekeringswereld, bijvoorbeeld bij de acceptatie van nieuwe polissen. Een polis van een specifieke klant wordt geaccepteerd als aan een aantal voorwaarden is voldaan. Deze voorwaarden bestaan uit een aantal regels die betrekking hebben op verschillende situaties. De regels zijn de domeinspecifieke kennis. Van een nieuwe aanvraag kan door het systeem worden beoordeeld of het aan de voorwaarden voldoet. Na eventueel aanvullende vragen zal het systeem uiteindelijk met een advies komen. Het gebruik van expertsystemen in dit soort situaties maakt het mogelijk dat snel een advies kan worden verstrekt dat in overeenstemming is met de binnen het bedrijf geldende en vastgelegde regels.

> Opgave 1.2.2

Een ander voorbeeld van expertsystemen zijn systemen die ondersteuning bieden bij de besturing van industriële installaties in de procesindustrie, zoals olieraffinaderijen of nucleaire installaties. Aan dergelijke installaties worden voortdurend allerlei metingen verricht, bijvoorbeeld temperaturen, druk, stromingen, bewegingen, etc. Op grond van die informatie moet het proces eventueel bijgestuurd worden, of moeten acties als onderhoud worden gepland. Veel van de kennis die daarvoor nodig is, is als domeinspecifieke kennis onder te brengen in expertsystemen en ondersteunt de mensen die verantwoordelijk zijn voor de installaties. De menselijke expert wordt daarbij niet overbodig, maar wordt ondersteund in de werkzaamheden. Veel routinematige aspecten kunnen aan het systeem worden overgelaten en soms is het mogelijk dat het systeem zeer snel een aantal consequenties analyseert om tot optimale besluitvorming te komen.

Ook bij het maken van planningen kan gebruik gemaakt worden van expertsystemen. Roosters maken voor het plannen van personeel in ziekenhuizen, de inzet van treinmaterieel bij de spoorwegen of voor klassen en leraren in middelbare scholen is een karwei waarbij experts gebruik maken van allerlei vuistregels en ervaringen. Deze kennis kan ondergebracht worden in de domeinkennis van een expertsysteem en op die wijze de roostermaker ondersteunen bij het maken van nieuwe roosters.

Uit voorgaande voorbeelden wordt duidelijk dat in expertsystemen kennis wordt ondergebracht van een bepaald domein. Het is echter helemaal geen eenvoudige zaak om te achterhalen wat die kennis precies is en op wat voor wijze die in systemen kan worden ondergebracht. Menselijke experts bezitten op vele domeinen kennis en zijn in staat daar heel flexibel mee om te gaan, veel flexibeler dan in talloze regels expliciet kan worden neergeschreven. Ook gebruiken experts vaak allerlei inzichten en kennis zonder daarover expliciet te zijn. Het achterhalen en vastleggen van die kennis wordt kennisacquisitie genoemd.

Naast kennis-aspecten zijn ook allerlei andere zaken van belang in genoemde systemen. Grote hoeveelheden gegevens moeten worden beheerd, meetgegevens moeten worden verwerkt en de resultaten van expertsystemen moeten op een bruikbare wijze worden gepresenteerd. Succesvolle toepassing van expertsystemen is in hoge mate afhankelijk van een goede koppeling van het kennisintensieve deel aan de overige componenten.

Opgemerkt is al dat expertsystemen ingezet kunnen worden voor de ondersteuning van menselijke experts. Soms zijn het slechts adviezen of suggesties die het systeem doet, soms kunnen de resultaten zonder verdere menselijke tussenkomst worden toegepast.

Een belangrijk aspect van expertsystemen is dat de domeinkennis er op een eenduidige manier in wordt vastgelegd en door verschillende gebruikers op dezelfde wijze wordt gebruikt en geïnterpreteerd. Dat is bijvoorbeeld in de verzekeringswereld van belang, waar verschillende vertegenwoordigers op verschillende plaatsen beslissingen moeten nemen. Door het gebruik van een expertsysteem kan er voor worden gezorgd dat er geen grote verschillen ontstaan tussen de diverse besluiten.

Een groot deel van deze cursus is gewijd aan expertsystemen zoals hier beschreven. In paragraaf 1.3 worden karakteristieken en ontwikkeling van een concreet expertsysteem toegelicht, zodat u een beeld krijgt van de mogelijkheden bij toepassingen en de problemen die moeten worden overwonnen om dergelijke systemen succesvol te ontwikkelen. In de volgende hoofdstukken van deze cursus zal op veel details nader worden ingegaan.

In de rest van deze paragraaf behandelen we kort een aantal andere systemen dan expertsystemen die ook tot de kennistechnologie worden gerekend.

1.2.3 Neurale netwerken

In expertsystemen is in de kennisbank op een herkenbare wijze kennis ondergebracht en wordt er op een volgbare wijze mee geredeneerd. In neurale netwerken is dat niet het geval. Neurale netwerken worden dan ook toegepast in situaties waarin het niet mogelijk is feiten en verklaringen te gebruiken, zoals bij expertsystemen.

De achterliggende idee bij neurale netwerken is dat kennis wordt verkregen door leren: mensen leren doordat ze zien welke effecten of resultaten horen bij welke oorzaken. Een kind leert letters en woorden door er vele malen mee geconfronteerd te worden en kan dan vervolgens in nieuwe situaties die kennis gebruiken. Een kind heeft daarmee de verbinding leren leggen tussen een bepaald plaatje (het tekentje voor de letter) en de betekenis of de klank van die letter. Op soortgelijke wijze heeft het de verbinding leren leggen tussen woorden (rijtjes letters) en de dingen die ze voorstellen (bij het rijtje letters ‘p a a r d’ hoort een beest met vier poten, een grote kop en een lange staart). Er is dus steeds sprake van een verbinding (in de wiskunde wordt dat een functie of afbeelding genoemd): bij een bepaalde invoer hoort een bepaalde uitvoer. Door leren kan een mens zich die afbeelding eigen maken.

Neurale netwerken zijn systemen die op soortgelijke wijze leren en die in computerprogramma’s kunnen worden geïmplementeerd. Ze worden getraind op een aantal voorbeeldsituaties en kunnen dan in nieuwe situaties zelf conclusies trekken. Zo zijn er neurale netwerken ontwikkeld voor het herkennen van menselijke handschriften. De invoer is dan een stukje handgeschreven tekst en de uitvoer een verder bewerkbare tekst, bijvoorbeeld in ASCII-code. De posterijen maken gebruik van dit soort systemen om een grote hoeveelheid sorteerwerk geautomatiseerd te laten verlopen.

De interne structuur van neurale netwerken is gebaseerd op ideeën over de werking van de menselijke hersenen en ze ontlenen er ook hun naam aan (zie figuur 1.2.2). In neurale netwerken worden grote hoeveelheden eenvoudige berekeningen uitgevoerd. Hoe die worden uitgevoerd, wordt vastgelegd tijdens de leerfase. Het resultaat is dat bij een bepaalde invoer steeds een bepaalde uitvoer hoort.

fi010202.gif (10965 bytes)

Figuur 1.2.2 Een neuron uit de hersenen en een neuraal netwerk

In hoofdstuk 13 van deze cursus wordt nader op de neurale netwerken ingegaan. Daar wordt ook een aantal andere technieken behandeld, die samen met de neurale netwerken onder de noemer ‘machinaal leren’ bekend zijn. Dergelijke technieken worden nogal eens onderling gecombineerd of samen met expertsystemen toegepast. Voor ieder (deel)probleem wordt dan de techniek ingezet die daar het best voor geschikt is.

1.2.4 Datamining

In sommige situaties is er een zeer grote hoeveelheid gegevens beschikbaar en men wil daarin dan verbanden ontdekken. Het kan bijvoorbeeld gaan om gegevens van klanten in supermarkten waarvan is bijgehouden wat voor producten ze kopen in bepaalde vestigingen, om financiële gegevens van burgers in verband met belastingen en subsidies, om gegevens over verkeersintensiteiten en opstoppingen op de wegen of om gegevens over het reisgedrag van reizigers met het openbaar vervoer. Gewone statistische methoden geven dan vaak al enig beeld van samenhang, maar veel blijft verborgen in de grote hoeveelheid gegevens.

Onder de naam ‘data mining’ of ‘knowledge discovery’ zijn technieken ontwikkeld die kennis kunnen ontsluiten die op andere manieren verborgen blijft in de enorme gegevensbestanden.

Zodra een organisatie kennis bloot kan leggen die in haar gegevensbestanden zit, kan ze er rekening mee houden en beter of efficiënter werken. Organisaties die moeten waken over de juistheid van de besteding van overheidsgelden, zijn er bij gebaat als ze door data-mining-technieken kunnen achterhalen of frauduleuze personen typische kenmerken hebben, zodat er met een grotere kans op succes naar gespeurd kan worden. Ontwikkelaars van het verkeersbeleid zijn zeer geïnteresseerd in alle mogelijke factoren die het verkeersverloop bepalen of in de reisroutes die passagiers volgen. Meer kennis kan enorme besparingen opleveren bij het aanleggen van wegen of wijzigen van het openbaar vervoer.

De hoeveelheid gegevens die op veel plekken wordt verzameld, neemt snel toe. Om kennis te ontsluiten in die grote hoeveelheden gegevens, moeten alle gegevens op een toegankelijke wijze beschikbaar zijn. Vaak is dit al een enorme klus en een belangrijk deel van het werk. Vervolgens worden ze geanalyseerd met speciale algoritmes waarmee gezocht wordt naar veelvoorkomende patronen. Daarna kan gepoogd worden de kennis die hieruit volgt, nader te interpreteren en toe te passen.

Ook voor deze technieken geldt dat ze goed samen gebruikt kunnen worden met andere technieken uit de kennistechnologie. In hoofdstuk 13 wordt er nader op ingegaan.

1.2.5 Intelligent agents

Een nieuwe ontwikkeling in de verzameling van intelligente technieken zijn de 'intelligent agents' (spreek dat op zijn Engels uit). In essentie zijn het computerprogramma's die een zekere mate van autonomie hebben, in staat zijn te leren en intelligent gedrag vertonen. Een voorbeeld zijn agents die voor een gebruiker het world wide web afspeuren naar informatie die voor de gebruiker interessant kan zijn. Zo'n agent analyseert het gedrag van de gebruiker en leidt daaruit af wat de interesses zijn. Vervolgens onderneemt de agent zelfstandig actie om relevante informatie te vinden en informeert de gebruiker daarover. Uiteraard zal een gebruiker eerst zelf bepalen of die gebruik wil maken van een dergelijke dienstverlening, en zal eventueel ook andere zaken vooraf vastleggen of aanpassen in de periode dat de agent actief is. Agents zijn feitelijk computerprogramma’s, maar kenmerkend is dat ze een zekere autonomiteit bezitten en intelligent gedrag vertonen. Dat laatste is vaak in de agent ingebouwd door er een klein expertsysteem in op te nemen. De grens tussen agents en expertsystemen is niet altijd even duidelijk. Soms zijn expertsystemen zo groot dat de globale besturing problematisch wordt. Dergelijke systemen kunnen dan uiteengerafeld worden tot kleinere processen die uitgevoerd worden door afzonderlijke autonome agents. Op die manier ontstaan zogeheten intelligent multi agent systems. Van groot belang blijkt daarbij te zijn hoe de communicatie tussen de verschillende agents verloopt. Multi agent systemen worden bijvoorbeeld toegepast bij het beheer van grote elektriciteitsnetwerken, waarbij de verschillende beheersfuncties bij verschillende agents worden ondergebracht.

Zelfstandig functionerende agents worden soms ontworpen om een soort makelaarsrol te vervullen. Dergelijke agents (broker agents) brengen vragers en aanbieders van producten of diensten op het internet met elkaar in contact. Een ander voorbeeld is bekend van een elektriciteitsmaatschappij die individueel met iedere klant wil onderhandelen over de leveringsvoorwaarden. De onderhandelingen met iedere klant werden door een agent gedaan die een expertsysteem bevat met kennis over voorwaarden, mogelijkheden en onderhandelingsstrategieën.

De ontwikkelingen met betrekking tot agents zijn op dit moment (1999) nog volop in ontwikkeling, maar de komende jaren kan een enorme vooruitgang worden verwacht, onder andere door de mogelijkheden die het world wide web biedt voor agents om actief te zijn. Binnen deze cursus zal er nauwelijks expliciet aandacht aan geschonken worden, maar belangrijke onderdelen van de kennistechnologie worden vaak ook in intelligent agents toegepast.

1.2.6 Kennis, kennissystemen en kennistechnologie

In voorgaande subparagrafen is een aantal systemen behandeld die kennis hebben in een bepaald domein en die kennis kunnen toepassen voor het oplossen van problemen, het geven van adviezen of het ondernemen van acties. Ze hebben tot doel kennis te achterhalen, vast te leggen of ermee te redeneren en zo in zekere mate intelligent gedrag te vertonen. Het geheel aan methoden en technieken om dergelijke systemen te ontwikkelen, zullen we kennistechnologie noemen.

Wat kennis precies is, hebben we overigens niet vastgelegd. In de literatuur zijn vele verschillende definities in omloop. Die hebben allemaal gemeen dat zij kennis van informatie of gegevens onderscheiden door aan kennis een zekere doelgerichtheid of het vermogen om problemen op te lossen toe te kennen. Voor het vervolg van deze cursus is het niet noodzakelijk een precieze definitie van kennis te hebben die niet ter discussie staat. Wel zal in de volgende hoofdstukken gaandeweg duidelijk worden welke soorten kennis in de kennistechnologie kunnen worden toegepast om problemen van diverse aard op te lossen.

We hebben aangegeven wat we onder kennistechnologie verstaan. De invulling daarvan is redelijk algemeen geaccepteerd. Ook is er in het algemeen redelijk overeenstemming over wat er onder expertsystemen wordt verstaan. De term kennissystemen hebben we tot nu toe echter vermeden. De reden daarvoor is dat het begrip kennissysteem voor velen een verschillende inhoud heeft. Sommigen noemen expertsystemen ook kennissystemen, anderen maken een nadrukkelijk onderscheid daartussen en verstaan onder expertsystemen systemen waarin de kennis van menselijke experts is opgenomen, terwijl in kennissystemen ook kennis uit (hand)boeken of andere bronnen voor kan komen. Ook de termen kennisgebaseerde systemen of kennisintensieve informatiesystemen komen voor.

Stefik gebruikt de term ‘knowledge systems’. Deze term is eigenlijk een verkorting van ‘knowledge based systems’, wat dus letterlijk vertaald kan worden met kennisgebaseerde systemen en duidelijk ruimer opgevat kan worden dan expertsystemen.

In deze cursus zullen we niet krampachtig proberen vast te houden aan een eenduidige terminologie. Veelal is voldoende duidelijk met wat voor soort systemen we van doen hebben en op welke manier er ‘kennis’ in is verwerkt en in welke mate er van intelligent gedrag kan worden gesproken.