Kennistechnologie is net
als objecttechnologie ontstaan vanuit een andere denkwijze over software.
De meeste software bestaat tegenwoordig uit programma's
die een vast voorgeschreven procedure of algoritme uitvoeren. De programma's
kunnen daarom alleen goed gestructureerde processen uitvoeren en ondersteunen.
Het is nodig de uit te voeren procedure van tevoren exact voor te schrijven.
De volgorde van handelingen door de gebruiker is eveneens voorgeschreven.
Kortom, een gedrag als een goed gestructureerd COBOL-programma. Met
objecttechnologie in combinatie met een grafische gebruikersinterface
is het niet meer nodig de volgorde en de samenhang van de handelingen
formeel voor te schrijven. Iedere functie die een object
uitvoert blijft echter een vorm van formeel voorgeschreven gedrag.
Kennistechnologie richt zich op het ontwikkelen van toepassingen
die zaken zoals het menselijk redeneren, het herkennen van patronen
en het menselijk leerproces nabootsen of ondersteunen. Dit zijn allemaal
toepassingen die zwak gestructureerd zijn. Zowel de volgorde van handelingen
als de werkwijze binnen een handeling zijn van tevoren niet exact bekend.
Redeneerprogramma's
Een belangrijk toepassingsgebied van kennistechnologie is het ontwikkelen
van toepassingen die het menselijk redeneren nabootsen of ondersteunen.
Oorspronkelijk werd dit soort toepassingen mogelijk gemaakt door declaratieve
programmeertalen als LISP en Prolog. In deze talen is het mogelijk programma's
te maken met redeneerregels, bijvoorbeeld ten aanzien van de diagnose
van een ziekte. De gebruiker legt het programma een probleem voor, bijvoorbeeld
het ziektebeeld van een patiënt. Het programma past op basis van het
probleem de juiste redeneerregels toe en komt zo tot een oplossing,
in dit geval de vermoedelijke diagnose van de ziekte.
Tegenwoordig wordt binnen kennistechnologie gebruik gemaakt van zogenaamde
hybride ontwikkelomgevingen. Dat zijn ontwikkelomgevingen waarin de
ontwikkelaar tegelijk procedureel, op regels gebaseerd en objectgeoriënteerd
kan ontwikkelen.
In het verleden was kennistechnologie nogal gericht op het realiseren
van op zichzelf staande redeneerprogramma's. Nu is integratie met andere
toepassingen steeds meer het uiteindelijke doel. De vraag vanuit de
markt is hier sterk op gericht en nieuwe ontwikkelomgevingen maken integratie
ook mogelijk.
Een voorbeeld van een geïntegreerde toepassing
is een module voor acceptatie van verzekeringen dat voor een aantal
grote verzekeraars is ontwikkeld. De tussenpersoon, die een polisaanvraag
wil doen bij een maatschappij, werkt vanuit zijn normale administratiepakket.
Achter de schermen beoordeelt een kennistechnologisch module de aanvraag
en verwerkt deze, indien acceptatie plaats kan vinden, direct op de
werkplek van de tussenpersoon. Polis, premieberekening en rekening worden
na acceptatie direct vervaardigd. Door het inzetten van kennistechnologie
is het acceptatieproces van enkele weken teruggebracht tot enkele minuten.
Neurale Netwerken
Binnen kennistechnologie wordt naast redeneerprogramma's steeds meer
gebruik gemaakt van andere technologieën, zoals neurale netwerken en
genetische algoritmen. Dit zijn vormen van zogenaamde fuzzy logic
(vage logica).
Neurale netwerken bootsen de werking van de menselijke hersenen na.
De hersenen bestaan uit een netwerk
van hersencellen (neuronen) met onderlinge verbindingen, die gezamenlijk
in staat zijn dingen te leren, te onthouden en vooral te herkennen.
Een kunstmatige neuraal netwerk wordt vooral ingezet bij het oplossen
van problemen die te maken hebben met het herkennen van patronen, zoals
handschriftherkenning en stemherkenning.
De kennis in neurale netwerken wordt niet geprogrammeerd, maar via
training aangeleerd. Het neuraal netwerk herkent een handtekening pas
nadat hij hem de nodige keren 'gezien' heeft en van de gebruiker vernomen
heeft welke persoon erbij hoort. Dit herhaald aanbieden kan overigens
door de computer worden gedaan. Tegenover het nadeel van de tijd die
het trainen zeker in eerste instantie kost, staat het voordeel dat het
gemakkelijk is nieuwe kennis, bijvoorbeeld een nieuwe handtekening,
via vervolgtraining aan het neurale netwerk toe te voegen.
Een voorbeeld van de toepassing van een neuraal netwerk in combinatie
met een kennistechnologisch systeem, is een systeem voor arbeidsmarkttoeleiding.
Dat is het ondersteunen van een werkzoekende bij het vinden van een
baan. Een neuraal netwerk schat, op basis van het profiel van de werkzoekende
en de marktsituatie, de verwachte duur van de werkloosheid in.
Genetische Algoritmen
Genetische algoritmen zijn zelflerende algoritmen. Het idee is dat de
algoritmen bijvoorbeeld een bepaalde situatie in de werkelijkheid zo
goed mogelijk nabootsen. Hierbij kunnen ze niet alleen het historische
verloop van de gebeurtenissen weergeven, maar zijn ze ook in staat het
te verwachten toekomstige verloop te berekenen. Je begint met een bepaalde
set algoritmen, waarna door een min of meer kunstmatige selectie van
algoritmen, de set algoritmen wordt gevonden die het beste het gedrag
van de probleemsituatie weergeeft. Het vinden van de juiste algoritmen
lijkt sterk op een biologisch evolutieproces met verschijnselen als
selectie en cross-over en met als eindresultaat de 'survival of the
best fit' van algoritmen.
Een voorbeeld van een toepassing waarin genetische algoritmen zijn
gebruikt, is een toepassing waarin de resultaten van een credit scoringssysteem
door genetische algoritmen worden gehaald om het algoritme te bepalen
dat de faalkans van een cliënt zo goed mogelijk voorspelt.
Kennisbeheer
Het ontwikkelen van kennissystemen zoals redeneerprogramma's, neurale
netwerken en genetische algoritmen is in zekere zin al een vorm van
kennisbeheer. Kennissystemen bieden immers de mogelijkheid bepaalde
kennis en ervaring van individuen binnen een organisatie
vast te leggen, te distribueren en te onderhouden. De grip die aldus
op de kennis binnen een organisatie ontstaat, wordt groter en men kan
(strategisch) bepalen waar, wanneer en hoe die kennis ingezet zal worden.
Indien men echter spreekt van kennisbeheersystemen doelt men meer
op systemen die de collectieve kennis en ervaring van een organisatie
ondersteunen. Medewerkers vanuit diverse invalshoeken en disciplines
kunnen een centrale kennisbank benaderen, die ondersteuning biedt bij
het uitvoeren van diverse taken. De kennisbank is een database die gegevens
en objecten bevat die de gebruikers
ondersteunt bij het onderling overdragen van kennis. Beheer en onderhoud
van de gegevens in relatie tot de kennis van de gebruikers zijn bij
dit type systemen van belang. Vaak wordt hiervoor in grotere organisaties
een kennisbeheerder aangesteld.
Een dergelijk kennisbeheersysteem is ontwikkeld voor een van de Nederlandse
overheidsdepartementen. De toepassing wordt gebruikt als centraal werkgeheugen
voor juristen, die via het systeem de beschikking krijgen over gegevens
die hen bij het uitvoeren van een nieuwe taak van dienst
kunnen zijn. In deze toepassing wordt kennistechnologie gebruikt in
combinatie met raadpleegtechnieken zoals hypertext en full text retrieval
(zie paragraaf 4.7).
Kennistechnologie werd hier ingezet ten behoeve van het classificeren,
interpreteren en conceptualiseren van gegevens binnen het kennisdomein.
Daarnaast werden 'kennistechnologische' interviewtechnieken gebruikt
om de kennis te verkrijgen.
Conclusie
Kennistechnologie wordt in de komende jaren een essentieel onderdeel
van de informatietechnologie,
in de eerste plaats als technologie waarmee minder gestructureerde taken
zoals beoordeling en diagnose kunnen worden gemodelleerd en geautomatiseerd,
en in de tweede plaats voor het beheren en toegankelijk houden van opgeslagen
gegevens die de kennis van mensen ondersteunen. Deze kennisbeheersystemen
zijn een absolute noodzaak om in de toekomst de grote hoeveelheden gedistribueerd
opgeslagen digitale gegevens toegankelijk te houden. Op termijn zal
door de elektronische snelweg
een wereldwijd netwerk van computers ontstaan waarop wij veel van onze
kennis als digitale gegevens zullen opslaan en beheren. Kennistechnologie
zal een cruciale rol spelen om dit op een effectieve en voor de mensen
nuttige manier te realiseren.