Tabu. Jaargang 19
(1989)– [tijdschrift] Tabu– Auteursrechtelijk beschermd
[pagina 31]
| |||||||||||||||
Technieken voor kennisrepresentatieGa naar eind1.
| |||||||||||||||
[pagina 32]
| |||||||||||||||
aantal opzichten belangrijk verschilt van de meer bekende vormen van gegevensbestanden. | |||||||||||||||
1.0 Waarom kennisrepresentatie?De eerste belangrijke reden om KR te bestuderen is uiteraard nieuwsgierigheid naar hoe mensen redeneren en hun kennis inzetten: een vanuit de psychologie gemotiveerde studie. Een tweede reden is de pure noodzaak een systeem voor kennisrepresentatie te hebben ten behoeve van andere toepassingen. Zo is het onmogelijk een zinnige analyse te maken van invoer in natuurlijke taal zonder een op de achtergrond continu meedraaiend kennissysteem. Een zin als ‘Hij las een boek over de ontwikkelingen in Duitsland in 1985’ moet de optie openlaten dat de ontwikkelingen zich in 1985 afspelen, niet dat toen het boek werd gelezen. Iets vergelijkbaars geldt voor advies-systemen. De ‘Will Writer’, een programma dat de leek van advies dient over het opstellen van een testament, moet op elk willekeurig ogenblik vragen kunnen beantwoorden als ‘wat is eigenlijk een vermogen?’ of ‘wat bedoelt U met clausule?’Ga naar eind3.. Het programma moet daarom, naast expert-kennis over testamenten, ook algemene kennis hebben. Bekend zijn ook de problemen met programma's die grote hoeveelheden gegevens moeten doorzoeken om tot een beslissing te komen; schaakprogramma's zijn daarvan bekende voorbeelden. Deze programma's hebben ‘verstand van zaken’ nodig om binnen een aanvaardbare tijd met een redelijk antwoord te kunnen komen. De motivatie om onderzoek naar KR te doen in de laatste gevallen pragmatisch van aard: het gebruik staat voorop en niet de vraag of een gevonden methode ook een model van menselijk denken zou kunnen zijn. Dit verschil in motivatie heeft een aantal jaren geleden geleid tot een scheiding der geesten in KR-land, althans in de Amerikaanse en Engelse kontext. Enerzijds is er de pragmatische benadering met de nadruk op ‘intelligente technologie’, in sommige literatuur bestempeld als de ware Artificial Intelligence, anderzijds is er de benadering van KR als de bestudering van (aspekten van) menselijke intelligentie, met de computer als wezenlijk hulpmiddel, in sommige literatuur gedoopt tot Cognitive Science. In hoeverre het echt gaat om verschillende disciplines is (nog) niet duidelijk; misschien is het onderscheid de zoveelste manifestatie in de wereld van de kunstmatige intelligentie van het verschil tussen wetenschappers en techneuten, fundamenteel en toegepast, theorie en praktijk. Wat beide richtingen gemeen hebben is de overtuiging dat voor het oplossen van problemen kennis noodzakelijk is. In hoeverre de modellering van die kennis de psychologische realiteit benadert (wat dat ook zijn moge) is hier verder niet aan de orde. | |||||||||||||||
1.1 (Kennis-)systemenEen ‘kennissysteem’ (knowledge-based system) moet onderscheiden worden, funktioneel, van een Database Management System (DBMS), maar ook, terminologisch, van een expert-systeem (vergelijk Sowa 1984: 277 ff). Sinds de expert-systemen in de mode raakten is er op dit punt nogal wat terminologi- | |||||||||||||||
[pagina 33]
| |||||||||||||||
sche vervuiling opgetreden. De ‘kennissystemen’ vallen uiteen in een aantal klassen, waarvan de twee grootste de natuurlijke taal systemen zijn en de expert-systemen. Bij de natuurlijke taal systemen moet dan nader onderscheid worden gemaakt tussen o.a. vertaal-systemen, dialoog-systemen, natuurlijke taal interfaces, talk-writer systemen (‘U spreekt, het systeem schrijft’), content scanners, e.d., terwijl de expert-systemen gewoonlijk worden onderscheiden naar toepassing: klassifikatie (waaronder ook diagnose), ontwerp, beslissingsondersteuning, advies, e.d.Ga naar eind4. DBMS's zijn een andere klasse systemen dan de kennissystemen, hoewel men met enig recht mag beweren dat bepaalde ontwikkelingen in de wereld van de expert-systemen juister als ontwikkelingen in de DBMS-wereld kunnen worden opgevatGa naar eind5.. In een ‘normaal’ computerprogramma worden alle aspecten van gegevensverwerking in één programma gestopt. Zodra de aard van de gegevens verandert of de eisen aan de verslaglegging door het programma veranderen (bijvoorbeeld andere formulieren waarop resultaten worden afgedrukt) dan moet het programma gewijzigd worden en meestal betekent dat dat er een nieuw programma moet komen, met alle ellende van dien (het bedrijf staat stil terwijl programmeurs een fout proberen te vinden in de nieuwe programma's). Vandaar dat er voor bepaalde toepassingen behoefte is aan een andere opzet van programmatuur, waarbij de eigenlijk be- en verwerking van de gegevens los staat van het formaat van de gegevens zelf. Het systeem dat vervolgens moet zorgen voor een goede afhandeling van de gegevensverwerking heet een Database Management System: in een DBMS worden gegevens en procedures gescheiden gehouden om gemakkelijk (dus zonder aanpassing van programma's of algoritmen) veranderingen van gegevens te kunnen verwerken. Bovendien wordt in een DBMS de behandeling van invoer en uitvoer van de gegevens buiten de eigenlijke gegevensverwerking gehouden. Een kennissysteem gaat vervolgens nog een stap verder door ook de ‘rekenregels’ uit het centrale programma te halen en ze separaat op te slaan (in een rule-base). Die regels worden daarbij zelf een bijzonder soort gegevens, die door een speciaal programma worden toegepast, veelal op grond van wetten uit de logica i.p.v. uit de algoritmiek. Dat regel-toepas-programma heet ook wel de inference engine. Bij dit alles gaat de funktionaliteit van een DBMS (dus het op peil en aktueel houden van gegevens) niet verloren. Vandaar mede de verwarring: een kennissysteem bevat, naast de typerende regel-komponent en inference engine, een eigen DBMS. Voor een nadere illustratie van de beschreven verschillen zie o.a. Sowa (1984: 279), waarbij bedacht moet worden dat Sowa een schematisch ‘ideale’ wereld schetst. In de praktijk zijn de verschillende komponenten van een kennissysteem niet altijd helder onderscheiden. Over de rol die database systemen verder kunnen spelen in de KR zie paragraaf 2.9. Tenslotte verdient hier ook de term expert system shell aandacht. Het verschil tussen ‘expert systeem’ en ‘expert systeem schil’ wordt niet altijd gemaakt. Ten onrechte. In de antieke oudheid van de KR (zeg ruim twintig jaar geleden) was men geïnteresseerd in de algemene principes van menselijk redeneervermogen (vergelijk de ‘General Problem Solver’ van Newell & Simon). ‘Algemeen’ wilde in dit verband ook zeggen ‘onafhankelijk van een specifiek, op te lossen, probleem’. Tegen deze stroom in was er de opvatting dat een probleem gewoon opgelost diende te worden, ad hoc. De laatste methode leverde uiteraard programma's op die voor de leek indrukwekkend waren (de eerste grote expert- systemen als DENDRAL), maar die uitsluitend probleem- | |||||||||||||||
[pagina 34]
| |||||||||||||||
specifiek konden worden ingezet. Vandaar dat ook in de hoek van de ad hoc oplossers werd gestreefd naar generalisering van de bestaande special-purpose programma's. Daarmee groeiden de stroom van de theoretici (de ‘neats’, mensen die het netjes willen doen) en de stroom van de toepassers (de ‘scruffies’, mensen die een probleem in het nekvel, scruff, grijpen) naar elkaar toe. Wat vervolgens ontstond was een type programma dat een hele serie hulpmiddelen voor het oplossen van problemen in zich verenigde, maar waar geen werkelijk probleem in werd opgelost; een overigens lege schil van tools dus: de expert system shell. Vergelijk voor een beschrijving van deze ontwikkelingen in termen van thesen en antithesen Walker e.a. (1987). | |||||||||||||||
1.2 (Kennis-)domeinKennis moet altijd beperkt blijven tot kennis over een begrensd domein. Dat domein kan heel groot zijn. Dat is met name het geval wanneer men spreekt over ‘kennis van de wereld’, in de kontext van natuurlijke taal verwerking of advies-systemen. Voordat er technieken gebruikt of nieuw ontwikkeld worden om een bepaald domein te struktureren, ‘klein te krijgen’, kan men zich afvragen of er wellicht intrinsieke eigenschappen van de objekten en objekt-relaties in dat domein zijn die gebruikt kunnen worden bij het struktureren. Eén zo'n theoretisch primitief dat veelvuldig wordt gebruikt bij met name redeneren, is het inzicht dat alle objekten in principe komplex, dus samengesteld zijn. Diskussie over wat de uiteindelijk kleinste bestanddelen van objekten zullen zijn, wordt daarbij pragmatisch gevoerd. Voor een chirurg zijn de relevante kleinste samenstellende bestanddelen van een lichaam andere dan voor een atleet. Hoe dan ook: de mate van detaillering van het domein is onafhankelijk van de vaststelling dat objekten zijn samengesteld. Gevolg van deze vaststelling is dat alle objecten in een domein in een IS-PART (c.q. HAS-PART) relatie staan tot andere objekten. Bovendien wordt op analoge wijze vastgesteld dat alle objekten in een taxonomische ordening staan binnen een domein, met andere woorden, dat alle objekten in een IS-A relatie staan tot andere objekten. Van ISA en ISPART relaties zijn een aantal formele eigenschappen bekend, waaronder die van transitiviteit. Dat wil zeggen dat wanneer A ISA B en B ISA C, dat dan ook A ISA C (een stoel is een zitmeubel, een zitmeubel is een meubel, dus een stoel is een meubel). Een techniek die zich probeert te baseren op uitsluitend deze axiomatische veronderstellingen en semantische primitieven, onafhankelijk van een specifiek domein, is de Conceptual Dependency theorie (CD-theorie) van Schank e.a. - eigenlijk een familie van technieken - die met name toepassingen heeft gevonden in het representeren van gebeurtenissen. (Vaak wordt ook in deze kontext CASE-grammar genoemd als voorloper van CD-technieken; CASE-grammar is een zogeheten semantische grammatika, niet een kennisrepresentatie techniek per se, en blijft hier derhalve verder buiten beschouwing). Hoewel er een aantal kennissystemen, vooral interfaces trouwens, zijn ontwikkeld op basis van CD-technieken (o.a. Courtier, Explorer en Atrans), worden CD-technieken in de literatuur vaak apart behandeld, althans niet samen met andere technieken. De overweging daarbij is dat alle technieken te maken hebben met semantische primitieven, en dat bijvoorbeeld de ISA en | |||||||||||||||
[pagina 35]
| |||||||||||||||
ISPART relaties techniek-onafhankelijk net zo goed als domein-onafhankelijk geldig zijn. In bijvoorbeeld het Handbook of Artificial Intelligence wordt daarom de CD-theorie in het hoofdstuk ‘Semantic Primitives’ behandeld en niet als aparte KR-techniek. | |||||||||||||||
1.3 Schematische indelingenEen schematische indeling van KR-technieken is niet alleen nuttig als mnemonisch hulpmiddel in een wat rafelig vakgebied. Een goede indeling geeft ook informatie over kombineerbaarheid van technieken en specifieke voor- en nadelen van methodes. Er zijn, buiten de plaatsing van CD-technieken die in 1.2. werd besproken, verschillende schematische indelingen mogelijk van KR-technieken. Een veel gebruikte indeling is gebaseerd op onderscheid tussen deklaratieve versus procedurele technieken. Door recente ontwikkelingen in de KR is een dergelijke indeling echter wat kunstmatig geworden en, gezien de verstomde diskussies in de jarenlange ‘procedurele-deklaratieve controverse’, ook achterhaald. Kernpunt in die discussie was de incarnatie in de Artificial Intelligence van de oude filosofische vraag of kennis uitdrukbaar is als een ‘weten hoe’ of een ‘weten dat’. Het voert te ver hier de verschillende argumenten, die ooit een diepe kloof in de AI-wereld hebben geslagen, de revue te laten passeren, te meer daar de diskussie is verlopen zonder een ‘winnaar’ te hebben opgeleverd, omdat kennissystemen in de praktijk van beide soorten technieken gebruik moeten maken. Zie verder onder Procedural attachment (paragraaf 2.7). Een andere indeling is die als gevolgd in bijvoorbeeld Rich (1983), waarbij een onderscheid wordt gemaakt tussen technieken die hun oorsprong vinden in de logica en ‘structured’ technieken. Overweging daarbij is dat logica's bijzonder goed bruikbaar zijn voor betrouwbare gevolgtrekkingen, maar dat het in een logica lastig is een komplex object, met komplexe relaties, weer te geven. Daarvoor is het nodig meer struktuur in het domein te kunnen aanbrengen. Historisch bezien is die behoefte ontstaan toen ook teksten in natuurlijke taal als input werden genomen (zie verder Rich 1983: 202 ff). ‘Structured’ technieken is dan ook eigenlijk een verkeerde benaming; het moet ‘structuring’, strukturerende, technieken zijn. In de literatuur is echter geen algemeen aanvaarde indeling van technieken te vinden. Zo laat zelfs de Encyclopedia of Artificial Intelligence een schema geheel achterwege. Een redelijk mnemonisch overzicht geeft Tanimoto (1987: 130) - een boek dat helaas veel sporen van een te haastige uitgever vertoont. Vraag blijft natuurlijk wat er in een (al dan niet schematisch) overzicht aan de orde dient te komen. Naast allerlei ad hoc methodes (special purpose techniques) is er een aantal ‘gevestigde’ KR-technieken, die inmiddels elk zo hun eigen toepassingen hebben. Van die technieken volgt in de volgende paragrafen een korte bespreking zonder dat daarmee geclaimd wordt dat elke KR-onder-zoeker uit dat arsenaal een keuze zal moeten doen voor zijn of haar specifieke problemen. Wel zal men steeds vaker mogen verwachten dat het ontwikkelen van ad hoc technieken gemotiveerd wordt vanuit deficiënties in de bekende ‘standaard’ technieken. Alleen al daarom is het nuttig die technieken kort de revue te laten passeren. | |||||||||||||||
[pagina 36]
| |||||||||||||||
2.1 Op logica gebaseerde KR-techniekenDe belangrijkste eigenschap van op logica gebaseerde KR-technieken is dat de database logisch konsistent gehouden kan worden en dat inferenties gegarandeerd, en bewijsbaar, korrekt zijn. Klassieke propositie- en predicaat logica blijkt echter al snel te rigide te zijn voor veel soorten redeneringen waar A.I. in is geïnteresseerd, vandaar dat er gebruik gemaakt wordt van o.a. temporele logica, veranderings logica, modale logica, fuzzy logica, niet-monotone logica, de logica van belief-systemen, en logische systemen waarin probabilistische en default redeneringen uitdrukbaar zijn. Ook met de genoemde variëteiten in logica's blijft een aantal hardnekkige problemen bestaan wanneer logica als KR-techniek wordt toegepast. Dat blijkt met name wanneer een domein komplexe objekten met komplexe relaties bevat. De mate van domein-strukturering die dan nodig blijkt is lastig te doen in een logica. Vaak wordt dan de kracht van het logische inferentie mechanisme losgelaten ten gunste van andere technieken waarin inferentie minder krachtig geregeld kan worden maar die tenminste strukturering makkelijk maken. Logica blijft overigens de belangrijkste basis voor veel kennissystemen, vooral wanneer die op ALS-DAN regels stoelen (vergelijk Delgrande & Mylopoulos 1986). | |||||||||||||||
2.2 Op semantische netwerken gebaseerde KR-techniekenSemantische netwerken werden al in 1968 ontwikkeld, met als belangrijkste doel de representatie van woord-betekenissen. Een net bestaat uit knopen en relaties daartussen, waarbij de knopen in principe concepten weergeven. Semantische netten kunnen vooral makkelijk betekenis van meer-plaatsige predikaten uitdrukken: vanuit een knoop kunnen een in principe onbeperkt aantal relaties getekend worden naar andere knopen. Typerende problemen zijn hiermee al aangegeven: hoe geef je het verschil tussen een concept (bijvoorbeeld ‘stoel’) en een instantie van dat concept (‘mijn stoel’) weer? Wat is de semantische status van een relatie en wat is de semantische status van een tekening? Critici beweren dat een semantisch netwerk niets anders is dan een gebrekkige grafische representatie van de semantiek van predikaat-logica. In de praktijk blijken semantische netten echter goed bruikbaar als uitgangspunt voor families van technieken die gekombineerd kunnen worden met de formele uitdrukbaarheid van grafen en automaten (vergelijk Ritchie & Hanna 1983). | |||||||||||||||
2.3 Op frames gebaseerde KR-techniekenFrames zijn een soort ‘records’, waarin voor een concept of objekt typerende eigenschappen kunnen worden opgenomen. Per typerende eigenschap, ‘attribuut’, is in de frame-struktuur een ‘slot’ opgenomen, dat gevuld kan worden met een specifieke waarde. Zo kan in een frame-struktuur van een bepaald boek een slot zijn opgenomen als ‘schrijver/ster’, of ‘aantal pagina's’, e.d. Bovendien (en daarmee verschilt een frame-struktuur van een gebruikelijk database record) zijn ISA en ISPART c.q. HASPART slots opgenomen, zodat een ordening in het domein ontstaat. Voorbeeld: van een specifiek bootje, ‘The | |||||||||||||||
[pagina 37]
| |||||||||||||||
Flying Sinaasappel’, kan in een Flying-Sinaasappel-frame worden opgenomen wanneer het gebouwd is, wie de eigenaar is, etc.; bovendien wordt opgenomen de ISA slot ‘laser’. Voor ‘laser’ is er een frame-struktuur waarin slots zijn opgenomen die de eigenschappen van die specifieke klasse zeilboten beschrijft, evenals een ISA slot ‘zeilboot’. In het frame met de naam ‘zeilboot’ zijn dan de attributen voor zeilboten opgenomen, waaronder een slot ‘klassen’ (één van de waarden daarvan is ‘laser’) en een ISA slot ‘boot’. In de boot-frame zijn dan de typerende eigenschappen van boten opgenomen, en waarschijnlijk een ISA slot ‘voertuig’. Via deze hiërarchische koppeling van frames vindt zogeheten ‘overerving’ van eigenschappen plaats, zodat men eigenschappen van ‘boot’ (vaart met aandrijving) ook mag veronderstellen op lagere niveaus (‘zeilboot’: type aandrijving: wind; ‘vaart ‘The Flying Sinaasappel’ als het windstil is?’ - nee, want het is een laser, dus is het een zeilboot, en heeft dus wind nodig om te varen). Vergelijk de opmerkingen over de transitiviteit van ISA en ISPART relaties in paragraaf 1.2. Naast een dergelijke ordening door middel van soorten slots is het mogelijk ‘default’ waarden in slots op te nemen. Een bekend voorbeeld is de default waarde ‘kan vliegen’ bij het frame ‘vogels’. In individuele uitzonderingsgevallen, voor de pinguin en de struisvogel bijvoorbeeld, wordt van de default-waarde afgeweken. Door een zorgvuldig gebruik van ISA en ISPART verwijzingen ontstaat bij het opslaan van kennis in frames een soort semantisch netwerk. De knopen zijn in dat geval de frames. De verbindingen tussen de frames moeten dan wel beperkt worden tot een aantal soorten om te voorkomen dat (net als bij de semantische netwerken sec) de betekenis van zo'n verbinding willekeurig, dus leeg, wordt.
N.B. In de literatuur wordt regelmatig gewag gemaakt van het ‘frameprobleem’ in de AI. Dit probleem heeft niets te maken met de hier behandelde frames, maar met de onveranderlijkheid van toestanden: wanneer in een domein iets verandert, moeten in de nieuwe domeinbeschrijving alle onveranderde toestanden opnieuw worden opgenomen. Aangezien er van dat soort toestanden (de aarde is nog steeds ongeveer rond, rood is nog steeds een kleur, Karel voelt zich nog steeds beroerd, ...) erg veel zijn, is de beschrijving ervan een probleem - te zamen vormen al die toestanden een ‘omgeving’ voor veranderingen, een ‘frame’. Ergo: het frame-probleem. | |||||||||||||||
2.4 Op scripts gebaseerde KR-techniekenScripts zijn bijzondere soorten frames. In frames wordt over het algemeen kennis opgeslagen over concepten en objekten, terwijl in scripts scenario's worden weergegeven: typerende opeenvolgingen van gebeurtenissen en handelingen. Ook in de CD-technieken ging het in eerste instantie om de beschrijving van gebeurtenissen en handelingen en het is niet toevallig dat scripts vaak geformuleerd worden in termen van de primitieven die in de CD-technieken zo'n vooraanstaande plaats innemen. In de script zijn naast de opeenvolgende handelingen en gebeurtenissen rollen opgenomen van dingen of personen die in de script nodig zijn, ‘props’ - het decor, te verwachten resultaten, etc. Op deze wijze heeft een script een | |||||||||||||||
[pagina 38]
| |||||||||||||||
zekere voorspellende werking. Een tot vervelens toe gebruikt voorbeeld is de restaurant-script. Wanneer in een verhaal, dat door de computer moet worden begrepen, een restaurant-gast opstaat en weggaat, en dan door het personeel achtervolgd wordt, is de scene alleen te begrijpen wanneer, op grond van het heersende script, blijkt dat men in restaurants nu eenmaal afrekent voordat men het pand verlaat. | |||||||||||||||
2.5 ProduktiesystemenNet als CD-technieken worden produktiesystemen soms wel en soms niet als een aparte KR-techniek behandeld. Een produktiesysteem in ‘zuivere vorm’ bestaat uit een regel-bestand, een geheugen-buffer en een kontrole mechanisme dat de werking stuurt. Een regel heeft vrijwel altijd de ALS...DAN vorm, waarvoor verschillende benamingen kunnen worden gevonden (een konditie-aktie paar, een antecedent-consequent regel, of gewoon als-dan-regel). Gegeven een optredende situatie kan aan het konditiegedeelte van een regel zijn voldaan, waarna de regel kan ‘vuren’, d.w.z. de aktie in het DAN-gedeelte kan laten uitvoeren. Zowel het ALS-gedeelte als het DAN-gedeelte van de regel kunnen samengesteld zijn in termen van de bekende Booleaanse operatoren. (ALS stoplicht rood EN auto aan het rijden DAN stoppen OF ogen dicht doen). Dit type regels vormt de basis van de meeste soorten expert-systemen. Afhankelijk van de bewerking kan men de regels van links naar rechts doorwerken (‘forward reasoning’ omdat men van links neer rechts lijkt te gaan in het lezen van de regels, ofwel ‘data-driven’ omdat de gegevens moeten worden verzameld voor de vervulling van het ALS-deel van de regel, ‘bottom-up’ omdat men van een veelheid van gegevens naar een enkele konklusie probeert de redeneren, ‘antecedent-’ of ‘condition-driven’ omdat men dat deel van de regel als uitgangspunt neemt), of van rechts naar links (parallel: ‘backward reasoning’, ‘goal-driven’, ‘top-down’, ‘consequent-driven’). In veel recente expert-systemen wordt de kennis niet in de regels zelf opgeslagen, maar bijvoorbeeld in frames of scripts, en heeft het produktiesysteem alleen een regulerende werking, als inference engine. Wanneer de regels zelf ook de kennis bevatten zal vaak een konflikt ontstaan wanneer verschillende regels tegelijk kunnen vuren. Er zijn dan enkele regels met hetzelfde ALS-deel (in een forward reasoning bewerking) of hetzelfde DAN-deel (bij backward reasoning). Het systeem moet een regel kiezen. Men kent verschillende vormen van ‘conflict resolution’ om dit probleem het hoofd te bieden, en de gekozen vorm bepaalt in belangrijke mate de effektiviteit, maar ook de ‘smaak’ van het produktiesysteem. (Men kan besluiten willekeurig te kiezen, of de meest recentelijk toegevoegde regel te nemen, of de regel met de meest specifieke informatie, of de regel die vanwege andere, heuristische, regels de meeste kans op succes lijkt te bieden, etc). Het bestuderen van de werking van produktie-systemen is een vakgebied geworden dat ook buiten de KR van belang is. | |||||||||||||||
2.6 Procedurele techniekenProcedurele technieken kenmerken zich door het uitvoeren van taken. Als een taak goed kan worden uitgevoerd is er sprake van begrip. De grenzen | |||||||||||||||
[pagina 39]
| |||||||||||||||
daarvan zijn duidelijk: men kan weten wat zwemmen is zonder steeds daadwerkelijk te moeten zwemmen om het zich te herinneren, zonder zelfs maar te kunnen zwemmen, terwijl het laten zwemmen van een computer al helemaal niets zal bijdragen aan kennisrepresentatie-theorie. Anderzijds zijn er programma's die niet zozeer opgeslagen kennis hebben over bijvoorbeeld vertalen, maar die daadwerkelijk teksten kunnen vertalen. Uiteraard speelt ook hier de procedurele-deklaratieve controverse een grote rol. | |||||||||||||||
2.7 KR-technieken die gebruik maken van procedural attachmentProcedural attachment is de technische ‘oplossing’, zo men wil, van de procedurele-deklaratieve controverse. De techniek is aantrekkelijk in zijn eenvoud en grote effektiviteit. In een deklaratieve frame representatie wordt een slot opgenomen dat rechtstreeks naar een procedure verwijst. De overweging daarbij is dat procedurele technieken soms de meest ‘natuurlijke’ wijze van kennisrepresentatie zijn. Zo is het uitvoeren van een berekening eigenlijk alleen procedureel goed te doen. In het slot ‘inhoud’ van het frame ‘huis’ zet men dan niet per huis een specifieke inhoud in kubieke meters, maar een verwijzing naar een procedure die de inhoud kan uitrekenen. Daarmee is een tweede kenmerk van procedural attachment aan de orde: die berekening hoeft alleen maar plaats te vinden als de waarde van het betrokken slot inderdaad opgevraagd wordt. Vandaar dat procedure-slots soms expliciet ‘if-needed’ slots zijn. Voor dergelijke procedures die alleen even werken als er behoefte aan is wordt ook de naam ‘demon’ gebruikt. In de literatuur wordt momenteel veel aandacht besteed aan de ontwikkeling van de procedural attachment omdat daarin een aantal voordelen van verschillende andere technieken opgenomen lijkt te zijn. Men heeft de frames (en scripts) die nodig zijn om komplexe concepten en objekten vanuit verschillende standpunten te representeren, men heeft via de ISA en ISPART slots de mogelijkheid een semantisch netwerk te konstrueren, men kan waar nodig en nuttig procedures inzetten, men kan met defaults redeneren, men kan ‘de zaak bij elkaar houden’ door, als hoogstwerkende functie, een produktiesysteem te gebruiken, en men heeft de mogelijkheid, deels via de procedures en deels via de produktieregels, te profiteren van logische redeneringen. | |||||||||||||||
2.8 Op neuronale netten gebaseerde KR-techniekenRepresentatie van kennis in neuronale netten vertoont overeenkomst met semantische netwerk representaties. Neuronale modellen nemen aan dat informatieverwerking plaatsvindt via de interacties van een groot aantal eenvoudige verwerkingselementen (units). De units sturen heel eenvoudige boodschappen naar elkaar. Ze doen dat tegelijkertijd (parallelle verwerking). Dat laatste is een wezenlijk verschil met het gebruikelijke von Neumann model waarin gegevens uitsluitend ná elkaar verwerkt worden. Het bijbehorende paradigma ziet men ook wel aangeduid als ‘connectionism’. In een neuronaal netwerk is kennis niet gelokaliseerd in één knoop, zoals bij de semantische netwerken het geval is (één knoop is daar meestal één con- | |||||||||||||||
[pagina 40]
| |||||||||||||||
cept), maar is gedistribueerd over vele knopen (vandaar de aanduiding parallel distributed processing). In een neuronaal netwerk heeft één knoop op zich dan ook geen enkele betekenis: alleen een geaktiveerd patron van knopen levert een concept op: een bepaald patroon van units levert het concept ‘gorilla’ en een ander patroon van units levert het concept ‘chimpansee’. Een aantal knopen is betrokken bij beide concepten, dus er is automatisch een semantisch verband tussen ‘gorilla’ en ‘chimpansee’. Deze eigenaardigheid heeft onder andere ten gevolge dat redeneringen die bijvoorbeeld op ‘gorilla’ betrekking hebben ook gevolgen zullen hebben voor ‘chimpansee’, iets wat in een lokale representatie uitgesloten isGa naar eind6.. Een groot bijkomend voordeel van gedistribueerde representatie is dat beschadiging van het systeem in principe maar beperkte gevolgen heeft: als een aantal knopen verdwijnt zullen sommige concepten wat waziger worden, maar nooit helemaal verdwijnen (hetzij dan dat een compleet deel van het systeem wordt afgesneden). De overeenkomsten met terminologie uit de neurologie is uiteraard niet slechts metaforischGa naar eind7.. | |||||||||||||||
2.9 Representatie van kennis in relationele database systemenDatabase systemen die zijn gebaseerd op een relationele benadering moeten in de kontext van KR eigenlijk worden vergeleken met de ISA en ISPART hiërarchieën die werden besproken in paragraaf 1.2. Terwijl ISA en ISPART binaire relaties definiëren tussen elementen uit het kennisdomein kan een relationeel database systeem n-ary relaties leggen. Men kan een relatie definiëren (en een eigen naam geven) over n velden, waarbij elk veld een beperkt aantal waarden kan aannemen (de ‘range’ van dat veld). Zo ontstaat een tabel van gegevens die onder een bepaalde relatienaam gerelateerd zijn: de relatienaam ‘HOOFDVAKKERS’ staat boven een tabel waarin de velden ‘NAAM’, ‘ADRES’, ‘TELEFOON’, ‘DATUM VAN INSCHRIJVING’, etc. een serie waarden hebben. Op een dergelijke tabel kunnen een aantal operaties worden uitgevoerd, waaronder selektie. In het hoofdvakkers voorbeeld kan men opzoeken welke studenten in 1986 zijn ingeschreven, door de relevante velden te vergelijken en alleen die af te leveren die samen voldoen aan het predicaat ‘in 1986 ingeschreven’ plus ‘naam’. Op die manier is een nieuwe relatie gedefinieerd die is bevat in de oorspronkelijke ‘hoofdvakkers’-relatie. Een andere bewerking die in een relationele database mogelijk is is de ‘join’: een nieuwe relatie onstaat door samenvoeging van velden van twee andere relaties (onder allerlei restrikties die in acht genomen moeten worden bij het opzetten van het oorspronkelijke bestand). Zo kan een relatie ‘GESLAAGDEN’ worden samengesteld uit de relaties ‘HOOFDVAKKERS’ en de relatie ‘STUDIEVOORTGANG’, o.i.d. Zoals de voorbeelden demonstreren gaat het er bij de relationele benadering vooral om een relatief groot bestand soepel toegankelijk te maken, terwijl redeneren of probleemoplossen eigenlijk niet aan de orde zijn (vergelijk paragraaf 1.1). Toch kan in het gehele proces van redeneren een efficiënt relationeel database systeem van grote betekenis zijn. Redeneringen die uitsluitend tot doel hebben relaties over bestaande kenniselementen af te leiden kunnen ‘goedkoper’ door het database systeem worden afgehandeld dan door de inference engine. Bovendien kan de efficiëntie van een zoekoperatie, of in heuristisch georganiseerde systemen zelfs het slagen daarvan, geheel afhanke- | |||||||||||||||
[pagina 41]
| |||||||||||||||
lijk zijn van de ‘huidige’ organisatie van het kennisbestand. Die organisatie is afhankelijk van het database systeem dat in het totale kennissysteem is opgenomen. | |||||||||||||||
3 NabeschouwingDe besproken technieken hebben elk hun eigen voor- en nadelen. Vaak zullen de toepassing van KR en de aard van het domein bepalen welke techniek toepasbaar is, of welke techniek ontwikkeld zal moeten worden. Zoals in paragraaf 2.7. is aangegeven, wordt in de literatuur momenteel veel aandacht besteed aan de procedural attachment omdat daarin een aantal voordelen van andere technieken opgenomen lijkt te zijn. Problemen zijn er echter nog legio en hangen samen met de werking van het te konstrueren kennis-systeem. Er zijn verschillende manieren waarop men een kennis-systeem aan het werk kan zien. In het geval van expert-systemen probeert het systeem een antwoord voor een gebruiker te vinden. In eerste instantie kijkt het systeem of het antwoord gewoon in het kennisbestand staat. Op de vraag ‘is een aap een zoogdier’ kan dan geantwoord worden: ‘ja, in mijn kennisbestand is dat als feit opgenomen’. (Hoe dat is opgenomen is hier niet van belang). In tweede instantie, als het voorgaande niet lukt, zal het systeem proberen te beredeneren dat een aap een zoogdier is. Als het achterwaarts redeneert is daarbij het uitgangspunt: onder welke omstandigheden is ‘aap is zoogdier’ waar. Als het systeem voorwaarts redeneert is het uitgangspunt: wat weet ik, en hoe kom ik vandaar uit op ‘aap is zoogdier’. In derde instantie, als het systeem er nog niet uitkomt, kunnen nadere gegevens (voorwaarts redenerend) aan de gebruiker worden gevraagd (‘legt een aap eieren?’). Een tweede manier waarop een kennis-systeem kan funktioneren is het inkrementeel invullen van steeds nieuwe kennis, in de praktijk het invullen van een frame of een script dat daartoe is geselekteerd. Een belangrijke toepassing hiervan is het begrijpen van natuurlijke taal invoer. Bij het begin van de procedure is het systeem ‘leeg’, en bij het lezen van de invoer worden verschillende frames, die betrekking lijken te hebben op de kennelijke inhoud van de invoer, gevuld met meer specifieke informatie (het uitzoeken van geschikte frames is bijzonder moeilijk; zie hieronder). In een artikeltje over de personeelsstop in het speciale onderwijs kan ‘de staatssekretaris’ worden genoemd. Wanneer bij begin van de invoer van deze tekst het ‘ONDERWIJS-frame’ werd geselecteerd blijkt daaruit welke staatssekretaris is bedoeld. Het frame wordt bovendien gebruikt om bepaalde verwachtingen te hebben over wat er in een tekst behandeld zal worden. In een nieuwsartikel over rente zal waarschijnlijk ook wel het woord ‘bank’ voorkomen. Op grond van het heersende frame ‘MONETAIRE ZAKEN’ wordt ‘bank’ gelezen in z'n betekenis van geld-instelling. Het zal duidelijk zijn dat deze voorstelling nog al te simpel is en dat betrekkelijk komplexe procedures nodig zijn om te voorkomen dat een zin als ‘er lag geld onder de bank bij de vijver’ de verkeerde interpretatie krijgtGa naar eind8.. In beide gevallen (expert-systeem en interpretatie poging) is het wezenlijke probleem relevante kennis te vinden in een acceptabel tempo. In feite is dat een samenhangende serie problemen, waarvan enkele al in 1975 door Minsky, in andere bewoordingen, werden opgesomd. Die problemen beginnen al bij het selekteren van een relevant deel van de domein-kennis. Als gevraagd wordt | |||||||||||||||
[pagina 42]
| |||||||||||||||
naar een ‘zoogdier’ is het eenvoudig om naar die term te zoeken. Wanneer gevraagd wordt naar ‘resultaten over laatste kwartaal’ is dat vrijwel onmogelijk: de term ‘resultaten’ is niet te zoeken zonder verdere verduidelijking van welke resultaten zijn bedoeld. Een eerste probleem is dus kennis-selektie. Een tweede probleem is de mate van benodigde detaillering. In een expert-systeem kan naar allerlei details worden gevraagd die achteraf irrelevant blijken te zijn (‘heeft die aap twee ogen?’), en wanneer men kennis aan het verzamelen is onafhankelijk van een specifieke toepassing, is het al helemaal lastig de details te bepalen. Zo heeft vrijwel elk huis een deur - moet dat nu expliciet worden vermeld, en zo ja, moet er dan ook worden vermeld of er een brievenbus/-raampje, etc. in een specifieke deur zit? Een tweede probleem is dus dat men nooit op voorhand kan weten welke details nodig zullen blijken. Te veel opnemen kompliceert het kennisbestand, te weinig de effektiviteit van het systeem. Een nog verdere komplikatie treedt op wanneer geen enkel deel van het kennisbestand relevant blijkt te zijn. Een derde probleem is derhalve de vraag wat men moet doen bij een deficiënt kennisbestand. In het vervolg daarop staat men voor het probleem dat een kennisbestand moet worden bijgehouden en aangevuld. Wanneer is een nieuw deel te kreëren? Enerzijds kan men geneigd zijn alle nieuwe beschikbare kennis op te nemen, anderzijds kan een dergelijk systeem ‘exploderen’. Daar komt dan het gevaar bij dat men een systeem soms zichzelf wil laten aanvullen: wanneer op grond van een redenering tot een nieuw feit wordt gekonkludeerd, moet dat feit worden opgenomen in het kennisbestand, zodat een volgende keer de relatief ‘dure’ redenering niet opnieuw hoeft plaats te vinden. Er zijn echter kombinaties van feiten denkbaar die tot redeneer-loops kunnen leiden: ‘het raam staat open als het handvat omhoog is’, en elders in het bestand ‘het handvat is omhoog als het raam openstaat’. Een vierde probleem is derhalve het konsistent en betrouwbaar houden van het kennisbestand. De genoemde problemen zijn niet een volledige opsomming, maar dienen om te illustreren hoe wezenlijk de moeilijkheden in de KR nog zijn. Het gaat hier niet om principieel opgeloste zaken die nog nadere technische uitwerking behoeven, maar in essentie om de vraag of een kennis-systeem ooit voorspelbaar zal funktioneren. Dat er inmiddels special purpose systemen zijn die kunnen funktioneren over een klein domein mag geen aanleiding zijn te veronderstellen dat bij uitbreiding van het domein of de redeneermethoden ook werkende systemen zullen ontstaan. Men kan uiteindelijk ook niet bij de maan komen door in steeds hogere bomen te klimmen. | |||||||||||||||
[pagina 43]
| |||||||||||||||
Bibliografie
|
|