De hooggespannen verwachtingen van expertsystemen in de jaren tachtig zijn grotendeels niet uitgekomen; de menselijke deskundige blijkt niet te verslaan. Toch zet de ontwikkeling en invoering van kennissystemen goed door. Een interview met expert B. Wielinga over soorten kennissystemen en -technologieën, de ontwikkeling van toepassingen en zijn toekomstverwachtingen.
Professor doctor B.J. Wielinga is hoogleraar Sociaal Wetenschappelijke Informatica (SWI) aan de Universiteit van Amsterdam. Hij houdt zich al vanaf 1974 bezig met artificial intelligence (AI) ofwel kunstmatige intelligentie. Sinds 1983 werkt hij aan kennistechnologie en ontwikkelmethodologieën voor kennissystemen. Hij is de voortrekker van de Kads-methodologie, die wereldwijd groot succes heeft. Kads staat voor Knowledge Acquisition and Structuring (oorspronkelijk: Knowledge Application Development System).
Aanvankelijk sprak men vaak over ‘expertsystemen’, terwijl tegenwoordig de term ‘kennissystemen’ in zwang is. "Als ik het me goed herinner", vertelt Wielinga, "hebben Feigenbaum en consorten begin jaren tachtig de term expertsystemen geïntroduceerd. Dat leek velen een goede term voor de computersystemen die menselijke experts zouden moeten gaan vervangen. Inmiddels is wel gebleken dat die computersystemen niet kunnen wedijveren met menselijke experts. Dat komt niet alleen door het grote aantal factoren dat meespeelt bij beslissingen, maar ook doordat menselijke experts telkens weer nieuwe dingen leren. Daarom praten de meeste mensen nu over kennissystemen en kennistechnologie – waar ik overigens altijd al een voorstander van ben geweest."
Efficiënter
Kennissystemen zijn dus niet bedoeld om experts te vervangen, wat expertsystemen wel pretendeerden. "De eerste kennissystemen stonden op zichzelf. Ze werden voornamelijk gebruikt voor het stellen van diagnoses en het geven van adviezen. Mycin bijvoorbeeld diagnostiseerde infectieziekten en adviseerde effectieve antibiotica daartegen. Dat werkte wel, maar was onpraktisch, omdat je telkens weer alle gegevens moest invoeren. Vandaar dat men de kennissystemen meer en meer is gaan integreren in informatiesystemen. Zo’n informatiesysteem bevat dan ergens een kennismodule. Die ontvangt intern zijn gegevens en geeft het resultaat direct weer intern door – dat werkt veel efficiënter. Omdat het kennissysteem verborgen zit in het informatiesysteem, is het niet meer zichtbaar. Dat kan een reden zijn waarom we er tegenwoordig niet meer zoveel over horen."
Gevraagd naar de essentiële verschillen tussen een informatie- en een kennissysteem merkt Wielinga op dat het verschil gradueel is. "In een informatiesysteem wordt ook met kennis gewerkt, maar die is niet zo goed gestructureerd als in een kennissysteem: de kennis zit verspreid in de procedurele logica van de programma’s. Een kennissysteem bevat een aparte kennisbank, gevuld met declaratieve kennis. Waarom declaratief? Als je met veel kennis werkt, is het nodig om die in een model op te slaan. Dat is eenvoudiger in een declaratieve vorm dan in een procedurele. Bovendien is het dan inzichtelijker, dus makkelijker te veranderen, te onderhouden en te hergebruiken. De aard van informatieverwerking is procedureel, bijvoorbeeld: pak een aantal, vermenigvuldig het met de prijs, tel dat op bij een totaal, voeg een regel toe op de factuur enzovoort. Het verschil is echter gradueel. Net als in de kennis- en de databasetechnologie zijn er ook stromingen in de informatietechnologie die een nogal strakke scheiding maken tussen de definities van de gebruikte informatie en de bewerkingsprocedures."
Cyclisch spiraalmodel
Op het ontwikkelen van informatie- en kennissystemen bestaan verschillende visies. Tien jaar geleden woedden er stammenoorlogen tussen de diverse methodologieën, bijvoorbeeld Ssadm en SDM (structured systems analysis and development methodology en systems development methodology). Tegenwoordig staan RAD (rapid application development) en rapid prototyping sterk in de belangstelling. "De strijd over methodologieën is naar de achtergrond gedrongen. Gereedschappen zijn nu belangrijker geworden, en die schrijven vaak een bepaalde methodiek voor. De ontwikkeling van informatiesystemen is veranderd van het watervalmodel (fase na fase afwerken) naar het spiraalmodel en evolutionair ontwikkelen met behulp van rapid-technieken."
"De ontwikkeling van kennissystemen is net omgekeerd verlopen: daar is men begonnen met uitsluitend rapid-technieken, en nu werken we op een meer gestructureerde manier en met het cyclische spiraalmodel. Dat doen we ook in Kads, en we gebruiken een risico-gedreven methodiek: de projectleider moet regelmatig inschatten welke onderdelen het minst duidelijk zijn en dus de grootste risico’s inhouden. Daaraan moet dan meer aandacht besteed worden."
Wielinga is één van de belangrijkste gangmakers achter Kads, een methodologie voor het ontwikkelen van kennissystemen. "Na een klein project om de ideeën te demonstreren, samen met collega Breuker, hebben we binnen het Esprit-programma Kads ontwikkeld, later Kads-1 genoemd, omdat er nog veel bleek te ontbreken. In het tweede project zijn die gaten gedicht, wat Kads-2 opleverde. Beide projecten zijn internationaal uitgevoerd, door universiteiten in samenwerking met enkele bedrijven. De methodiek is uitgegroeid naar Commonkads, dat nu gedocumenteerd gaat worden in een boek; tot nog toe bestaat Kads uit een weinig toegankelijke hoeveelheid publikaties, rapporten en ideeën in de hoofden van mensen. Kads is gebaseerd op de ontwikkeling van zes modellen (zie kader). Elk van die modellen is verder te detailleren en te structureren volgens Kads. Het eindresultaat valt vervolgens op veel manieren te implementeren, object-georiënteerd of regel-gedreven."
Geen recept
Het spiraalmodel van Kads houdt in "dat je regelmatig de stand van de ontwikkeling van die zes modellen – die in principe onafhankelijk van elkaar parallel te ontwikkelen zijn – inschat en beoordeelt welke grootste risico’s eraan verbonden zijn", legt Wielinga uit. "Ben je bijvoorbeeld bezig met een real-time systeem, dan moet je extra aandacht besteden aan je ontwerpmodel. Is de organisatie waarin het systeem gebruikt wordt vaag gedefinieerd of nogal sterk gedistribueerd, dan verdient het organisatiemodel extra aandacht. Is de kennisstructuur heel complex, dan zal je meer aandacht moeten besteden aan het expertisemodel. De inschatting van de stand van de ontwikkeling moet regelmatig plaatsvinden, zodat men tijdig accenten kan verleggen in de loop van het project. De modellen vormen een abstractie die vervolgens vertaald moet worden naar programmatuur, bijvoorbeeld via een expertsysteemshell of C++. In verband met het onvermijdelijke onderhoud is het belangrijk dat de modellen actueel gehouden worden gedurende de totale levenscyclus van het produkt."
Die zes modellen lijken erg algemeen. Zijn ze in de praktijk direct bruikbaar en is het mogelijk om daarvoor gereedschappen te ontwikkelen? "Commonkads is geen recept. Het zijn voornamelijk algemene ideeën, die iedereen moet inpassen in de in een bedrijf gebruikte ontwikkelmethodieken. Dat moet hoe dan ook vanwege de integratie van het kennissysteem in het informatiesysteem. Voor elk van de modellen apart kan je wel gereedschappen ontwikkelen. Aan de universiteit hebben we een workbench ontwikkeld die een groot gedeelte van Commonkads bestrijkt, maar die is nog niet erg eenvoudig te gebruiken."
"De ideeën achter Kads worden verspreid via cursussen, bijvoorbeeld door Arthur Andersen in Chicago. We hebben internationale afspraken gemaakt met dertig bedrijven om cursussen te geven – dat was één van de doelstellingen van het Esprit-project. Onze ontwikkelrol loopt nu langzaam af, maar we blijven Kads gebruiken in het onderwijs."
Automatisch gefilterd
De stand van de ontwikkeling en invoering van kennissystemen in Nederland is volgens Wielinga moeilijk in te schatten. Als redenen geeft hij aan "dat ze verborgen zitten in informatiesystemen en dat veel bedrijven niet te koop lopen met deze voor hen vaak kritische systemen, waarmee ze voorlopen op de concurrentie. Mijn indruk is dat er zo’n 200 tot 250 kennisingenieurs zijn in Nederland, maar ik weet niet of die allemaal volledig aan kennissystemen werken." Van de Verenigde Staten en Japan is bekend dat ze zeer actief zijn in het gebruik van kennissystemen.
Bij de toepassingen van kennissystemen ligt het accent niet meer op vervanging, maar op ondersteuning van mensen. "Grote hoeveelheden informatie kunnen automatisch gefilterd worden, om voor mensen relevante informatie te verkrijgen. Zulke filters kunnen alle aanvragen voor een hypotheek of verzekering, opgaven voor de belasting enzovoort beoordelen om te zien welke door menselijke experts moeten worden bekeken. Datamining in gegevenspakhuizen is een soortgelijke toepassing, waarvoor vaak neurale netwerken worden gebruikt. Het zoeken van informatie op Internet is ook een prima toepassing van kennistechnologie."
Statistische technieken
Voor de implementatie van kennissystemen bestaan diverse technologieën. Het actorenmodel heet in het Engels ‘agent model’, wat doet denken aan agents (kleine programma’s die zelfstandig taken uitvoeren). Veel mensen uit de AI-wereld hebben zich daarop gestort. "Kads werkt niet met agents, maar het is wel mogelijk om agents te gebruiken bij de implementatie van een met Kads ontwikkeld ontwerp. De agenttechnologie is een nieuwe ontwikkeling die uitermate geschikt is voor gedistribueerde architecturen, bijvoorbeeld in client/server-systemen en op Internet. Op Internet worden agents ingezet om de gewenste informatie uit de enorme informatieberg te filteren of te ordenen, bijvoorbeeld voor e-mail of in zoekopdrachten. De in de AI-wereld ontwikkelde technologieën lenen zich uitstekend daarvoor."
Er bestaan veel kennistechnologieën, bijvoorbeeld de neurale netwerken. "Er is een scala aan dat soort statistische technieken. Vergeleken met de expliciete declaratieve technieken werken die impliciet. Het grote voordeel is dat ze te gebruiken zijn om te leren op statistische basis: als je voldoende voorbeelden hebt, kan de kennisacquisitie automatisch plaatsvinden. De nadelen zijn dat het leren eenmalig is en dat het resultaat vaak voor mensen moeilijk te begrijpen, dus weinig inzichtelijk, is. Ik zie het als een heel andere technologie dan de declaratieve kennistechnologie. Wel zijn ze met succes te combineren. Dat maakt het geheel veel ingewikkelder, maar potentieel ook krachtiger. De combinatie verkeert overigens nog in een onderzoeksfase."
Valt casus-gebaseerd redeneren (aan de hand van bekende gevallen) ook onder die statistische technieken? "Ja en nee", meent Wielinga. "Het is een soort tussenvorm, waarbij een aantal bekende gevallen en hun oplossingen in het kennissysteem ingebracht zijn. De voorgelegde nieuwe gevallen worden vergeleken met de bekende casussen. Aan de hand van de verschillen wordt vervolgens ‘geredeneerd’ naar de oplossing voor het nieuwe geval – dat ‘redeneren’ kan zowel symbolisch als statistisch gebeuren." Wielinga is van mening dat fuzzy logica meer te maken heeft met regelsystemen (zoals gebruikt in door mensen bediende apparatuur) dan met kennissystemen.
Niet te voorspellen
Hoe kennistechnologie er over vijf of tien jaar zou kunnen uitzien, vindt Wielinga heel moeilijk te voorspellen. "Sommige ontwikkelingen gaan onverwacht snel en andere juist langzaam. Een nieuw gebied is kennismanagement: hoe kan je zoveel mogelijk van de in een bedrijf aanwezige kennis – nu beschouwd als één van de waardevolste hulpbronnen – structureren en opslaan, zodat die te gebruiken is door meer mensen? Dat is nu nog een voornamelijk academische ontwikkeling, maar die zou zich snel kunnen verbreiden vanwege het grote belang." Kennis is echter niet statisch; mensen vergaren al doende kennis. Die nieuwe kennis breng je in de kennisbank "door de bronnen van zulke personen te catalogiseren", aldus Wielinga. "Het is niet noodzakelijk om alle kennis volledig gedetailleerd op te slaan."
Andere gebieden betreffen multimedia en het leerproces van kennis. "Nu de informatiebergen groeien en de kennisbanken steeds groter worden, zullen we moeten bedenken hoe we die kennis zo efficiënt mogelijk kunnen gebruiken. Onze huidige kennissystemen zijn vooral tekst-georiënteerd (cijfers en letters), maar er komt steeds meer multimediale informatie: spraak, enkelvoudige beelden en video. Als je zoekt op Internet, wil je ook kunnen vragen om een foto van een zonsondergang of een rennend paard, of om een video. Dat soort vragen moet je nu stellen met behulp van sleutelwoorden, dus tekst die een mens aan het materiaal heeft toegevoegd. Het zou nuttig zijn om zulke multimediale informatie te kunnen scannen op inhoud. Dat zou voor mij een soort ’terug naar het begin’ zijn, want midden jaren zeventig deed ik in Engeland onderzoek naar kennisrepresentatie voor het automatisch herkennen van objecten. De toekomst is niet te voorspellen!"
Hein van Steenis, freelance medewerker Computable
KADS
Kads (Knowledge Acquisition and Structuring) is gebaseerd op de ontwikkeling van zes modellen, waartussen onderlinge relaties bestaan. Elk model kan verder gedetailleerd en gestructureerd worden volgens Kads, en het eindresultaat is op diverse manieren te implementeren.
MODELLEN
Organisatiemodel – beschrijft de structuur van de organisatie.
Taakmodel – beschrijft de taken die moeten worden uitgevoerd en de functies die daarvoor nodig zijn.
Actorenmodel – beschrijft de eigenschappen van de betrokken mensen, databases en andere hulpmiddelen.
Expertisemodel – beschrijft de kennis in het systeem.
Ontwerpmodel – betreft de architectuur van de implementatie, bijvoorbeeld gebruikers- en andere interfaces.
Communicatiemodel – beschrijft de communicatie tussen actoren.
RELATIES
Het organisatiemodel bepaalt de taken en functies in het taakmodel.
Het taakmodel bepaalt vervolgens het expertise- en het actorenmodel.
Het taak-, expertise- en communicatiemodel bepalen samen de inhoud van het ontwerpmodel.
Het taak-, expertise- en actorenmodel bepalen het communicatiemodel.
Tussen het expertise- en het actorenmodel bestaat een verband dat bepaalt welke actor van welke kennis gebruik maakt.