Tabu. Jaargang 17
(1987)– [tijdschrift] Tabu– Auteursrechtelijk beschermd
[pagina 164]
| ||||||||||||||||||||||
Taalkunde en kunstmatige intelligentie: kennisrepresentatie
| ||||||||||||||||||||||
[pagina 165]
| ||||||||||||||||||||||
ff). Een tweede voorbeeld van mislukte kruisbestuiving blijkt uit een opmerking van Allen als: ‘Most of the work in philosophy,..., are essentially point-based theories. Time intervals can be constructed out of points, but points are the foundation of the reasoning system. This approach will be challenged in the upcoming section.’ Dit zou een opmerking kunnen zijn begin 70er jaren, eventueel halverwege de 70er jaren, gezien de tijd waarin de interval-semantiek bloeide, culminerend, als het ware, in Dowty (1979). Maar het is een opmerking die in 1983 werd gemaakt - in een artikel zonder enige verwijzing naar ‘interval’ literatuurGa naar eind2.. Beide voorbeelden kwamen uit de hoek van de kunstmatige intelligentie, maar zonder enige moeite is er ook taalkundige literatuur aan te wijzen waarvan de auteur niet op de hoogte is van ontwikkelingen in de kunstmatige intelligentie op zijn/haar vakgebied. En zoals in de eerste paragraaf gezegd hoeft dat natuurlijk ook niet; totdat een overlapgebied ontstaat. De bedoeling van dit artikel is nader te illustreren waarom bij het vak natuurlijke-taalverwerking een gemeenschappelijk belang van taalkunde en kunstmatige intelligentie ligt op het gebied van de kennisrepresentatie en hoe in grote lijnen dat gebied er uitziet. | ||||||||||||||||||||||
1. Natuurlijke-taalverwerkingDe natuurlijke-taalverwerking (Natural Language Processing, vandaar de afkorting ‘NLP’ die vanaf hier ook gebruikt zal worden) heeft twee belangrijke voorziene toepassingen: vertaal-systemen en zogeheten NL-interfaces (van Natural Language Interfaces). Bij vertaal-systemen wordt dan vooral bedoeld systemen die natuurlijke talen vertalen, en bij NL-interfaces moet men denken aan programma's die het mogelijk maken met een computer in een natuurlijke taal te converseren, bijvoorbeeld bij het opvragen van gegevens of andersoortige mens-machine interactie. Geen van deze beide toepassingen bestaat al: er bestaan geen programma's die een willekeurig stuk natuurlijke taal kunnen verwerken ten behoeve van vertaling of interface. Dit ondanks regelmatig weerkerende opgewonden kranteberichten of advertenties van software-producenten. De geschiedenis van de NLP begint met de vertaalsystemen, of beter gezegd: met decoderingssystemen. In de tweede wereldoorlog had men de computer met succes ingezet bij het breken van codes; het decoderen van natuurlijke taal (in het vervolg ‘NL’ van Natural Language) en weer coderen in een andere NL | ||||||||||||||||||||||
[pagina 166]
| ||||||||||||||||||||||
leek een logische voortzetting. Als belangrijkste klus werd het opslaan van woordenboeken genoemd. In 1947 was het eerste woordenboekprogramma klaar, in 1948 werden wat regels voor inflectie toegevoegd (om redenen van efficiënte geheugenopslag) en in 1949 circuleert een belangrijk memorandum van Weaver. Daarin introduceert hij onder meer de notie van een ‘interlingua’, een tussentijdse representatie van de betekenis van een zin. De gedachte is dat elke NL kan worden vertaald in de interlingua, en de interlingua wordt vertaald in de volgende NL. Internationaal ontstaat steeds meer belangstelling voor deze nieuwe computertoepassing (Machine Translation, vandaar de te gebruiken afkorting ‘MT’) en in 1952 worden op een internationale conferentie aanbevelingen gedaan voor het opzetten van woordenboek-programma's en het ‘Machinees’, de hypothetisch universele interlingua. Tijdschriften verschijnen, overal worden onderzoeksgroepen opgezet, het enthousiasme is algemeen, maar succes blijft uit. De claims over te verwachten succes worden wel steeds groter, mede onder invloed van de commerciële belangen die o.a. IBM inmiddels bij het MT project had. In 1962 wordt op hetzelfde congres in Venetië enerzijds verteld, door Ceccato, hoe IBM alleen nog het automatisch letter lezen moet oplossen om tot automatische vertalingen te komen, en, anderzijds, door Bar-Hillel, waarom MT een hachelijke danwel onmogelijke onderneming is. Inmiddels weten we dat Bar-Hillel gelijk had. Bar-Hillel had al in 1960 beredeneerd waarom MT op de manier zoals dat werd aangepakt onmogelijk was: om een zin te kunnen vertalen heeft men kennis van de wereld nodig. Het inmiddels beroemde voorbeeld dat hij gebruikte was de zin The box is in the pen. In het Engels kan pen naast ‘pen’ ook ‘box’ betekenen: een box waar baby's en peuters in dienen te vertoeven (het voorbeeld klinkt in het Nederlands wat verwarrend). Bar-Hillel (1960:159) claimt: ‘no existing or imaginable program will enable an electronic computer to determine that the word pen (sc. in de genoemde zin) means an enclosure where small children can play’, met andere woorden, de computer zal over kennis moeten beschikken, in casu kennis over pennen en boxen voordat er een vertaling kan plaatsvinden. Op grond van deze en dergelijke overwegingen was het Bar-Hillel's standpunt dat machinale vertaling kompleet anders aangepakt zou moeten worden, of de hele operatie moest worden vergeten. Uiteraard werd daar nog wat over nageneuzeld, maar als in 1966, in het beruchte ALFAC rapport, blijkt dat er geen enkele vooruitgang is geboekt in de MT, en dat bovendien alle claims over vooruitgang uit de lucht zijn gegrepen | ||||||||||||||||||||||
[pagina 167]
| ||||||||||||||||||||||
(danwel op bedrog berusten) wordt in Amerika op efficiënte wijze het failliet afgekondigd van MT-werk: alle overheidsgelden worden ingetrokkenGa naar eind3.. Bar-Hillel's voorbeeld illustreert één van de meest wezenlijke problemen in de NLP: de ambiguïteit van natuurlijke taal (in tegenstelling tot o.a. de computer-talen die uiteraard wel gemakkelijk door een computer verwerkt kunnen worden). Dat inderdaad ‘kennis van de wereld’ nodig is voor de oplossing daarvan kan worden gedemonstreerd aan de hand van de volgende reeks voorbeeldenGa naar eind4.. Wanneer NL wordt opgevat als een code die uit elkaar geplukt moet worden zoals de eerste MT-ers dat deden, dan is de meest voor de hand liggende eerste stap om een woordenboek samen te stellen waarin woorden van een bepaalde taal zijn opgenomen met hun categorieën. Een zin kan dan geanalyseerd worden door vanaf het begin van de zin elk woord te nemen, het op te zoeken in het woordenboek en de categorie ervan te bepalen. Maar er zijn maar weinig zinnen die zich op die manier laten ‘decoderen’. Een voorbeeld:
Door alleen maar naar op te kijken kan nooit worden vastgesteld wat de categorie van dat woord is: in (1) is het een bijwoord en in (2) een voorzetsel. Voor een verdere verwerking van deze zinnen is het belangrijk om vast te kunnen stellen of liep...op synoniem is met beklom of niet. Wat hier dus in elk geval nog nodig is, is een extra conditie bij op in het woordenboek; een conditie in de vorm van een structuurpatroon waarin op moet figureren om als bijwoord danwel als voorzetsel gecategoriseerd te kunnen worden. Daarbij kan het niet voldoende zijn om te stipuleren dat ‘er iets moet volgen’ na op in het geval van een voorzetsel. In
‘volgt er iets’, maar is op een bijwoord. Het minste dat vermeld dient te zijn is dat er een Nomen (N) of een Nomina1 Phrase (NP) moet volgen wil op een voorzetsel zijn. Stel, om het voorbeeld niet onnodig te compliceren, dat de computer in zin (2) zonder kleerscheuren is aangekomen bij op en dat Texel als N in het woordenboek staat. In het woor- | ||||||||||||||||||||||
[pagina 168]
| ||||||||||||||||||||||
denboek staat bij op een structuurpatroon: om de categorie van op vast te stellen moet eerst de categorie van het erop volgende woord worden vastgesteld en wanneer dat een N(P) blijkt te zijn, dan mag op als voorzetsel worden gecategoriseerd. In (2) wordt op deze manier op inderdaad als voorzetsel herkend. Vergelijk echter een zin als:
Een betrouwbaar woordenboek vermeldt bij om en naar hetzelfde type structuurpatroon als bij op. Beide woorden kunnen bijwoord zijn (als in Zij deed een das om en Hij voelde zich naar) of voorzetsel (als om Zij deed een das om haar nek en Hij voelde zich naar de bodem zakken). Kortom: om de categorie van op in (4) te kunnen vaststellen moet eerst de categorie van om bekend zijn. Om de categorie van om te kunnen vaststellen moet de categorie van naar bekend zijn en om de categorie van naar te kunnen vaststellen moet de categorie van Texel bekend zijn. Texel is een N, dus naar wordt een voorzetsel, om wordt een bijwoord en op wordt een bijwoord. Nog afgezien van de dubieuze classificatie van om is er ook principieel iets fout gelopen: in feite is nu in een zin als (4) de categoriebepaling van op afhankelijk gemaakt van de categorie van een woord dat taalkundig helemaal niet in verband met op staat, namelijk Texel. Maar op is natuurlijk geen bijwoord omdat Texel een N is, maar omdat het bij het werkwoord lopen hoort. Een (taal)analyse die uitsluitend op structuurpatronen gebaseerd is kan daar geen rekening mee houdenGa naar eind5.. In het bovenstaande zijn twee stappen gezet: eerste stap was het zonder meer woord-voor-woord proberen vast te stellen van categorieën van woorden in een zin door ze in een woordenboek op te zoeken. Dat lukte niet zonder, als tweede stap, een structuurpatroon toe te voegen. Maar ook die stap leverde problemen op aangezien de structuurpatronen slechts in termen van woordvolgorde waren gesteld en niet in termen van syntactische patronen. De volgende stap moet dan ook zijn de herkenning van syntactische structuren. Het beschrijven van syntactische structuren vergt een grammatica. In de loop der jaren zijn er al veel soorten grammatica's bestudeerd en voorgesteld en ook op een wat abstracter niveau is er een uitgebreide theorie van ‘formele grammatica's’ die een duidelijk inzicht kan geven in wat een bepaald grammaticaal regelsysteem wel en niet | ||||||||||||||||||||||
[pagina 169]
| ||||||||||||||||||||||
kan, en anderzijds wat voor soort grammaticaregels er nodig zijn om bepaalde verschijnselen in NL te beschrijven. Er is in de NLP veel aandacht besteed aan de representatie van syntactische regels en het zou te ver voeren hier een overzicht daarvan te geven. Het meest uitgebreide boek op dit gebied is Winograd (1983). Stel dat er een grammatica is die adequaat is voor het Nederlands en dat er een manier is om met de computer in aangeboden zinnen syntactische structuren volgens die grammatica te herkennen. De vraag is of dat voldoende is voor het verwerken van taal. Bekijk de volgende zinnen:
Puur syntactisch bekeken is er geen verschil tussen de zinnen in (5), maar uiteraard is er verschil tussen beide zinnen in betekenis, afhankelijk van de betekenis van het onderwerp van zat. Het herkennen van de syntactische structuur van de zinnen helpt niet bij het maken van een dergelijk onderscheid. Behalve aan syntaxis is er dus behoefte aan semantiek, in dit geval woord-semantiek. Stel, opnieuw, dat er een adequate semantische component is die in gevallen als (5) de juiste betekenis van een woord kan vaststellen, dan nog kan van NLP niet werkelijk sprake zijn. Vergelijk zinnen als:
Zin (6) is ambigu: de verrekijker kan bij de man horen (‘ik zag de man en de man had een verrekijker’) of de verrekijker kan het instrument zijn waarmee gekeken wordt (‘ik keek door de verrekijker en zag de man’). Syntactisch gezien geldt hetzelfde voor zin (7): aan de structuur van de zin is niet te zien of de verrekijker bij de maan hoort of niet. In dit geval is er ook geen semantisch ambigu woord zoals in (5). Maar in het dagelijks leven is het onzin om (7) als ambigu te beschouwen: iedere taalgebruiker weet dat de maan met de verrekijker niet als eenheid beschouwd dient te worden. Noch de syntaxis noch de semantiek geven nu aanknopingspunten voor de juiste interpretatie van de zin: het gaat hier om kennis over hoe de wereld is georganiseerd. | ||||||||||||||||||||||
[pagina 170]
| ||||||||||||||||||||||
Een vergelijkbaar voorbeeld:
In (9) kan gerust de wc in de trein als eenheid worden beschouwd, zowel qua vorm als qua betekenis. Maar de stad in de trein is in elk geval qua betekenis geen zinnige eenheid, aangezien steden zich nu eenmaal niet in treinen bevinden. Opnieuw is er syntactisch geen waarneembaar verschil tussen beide zinnen, is er geen semantisch ambigu woord, maar verschillen de zinnen wel degelijk qua betekenis: net zo min als een stad zich in een trein bevindt, wordt een trein gebruikt als vervoermiddel naar de wc. Vraag is natuurlijk hoe ‘kennis van de wereld’ moet worden opgeslagen en georganiseerd in een voor de computer bruikbare vorm. Men wil bijvoorbeeld niet gedwongen zijn om ergens in de kennisopslag te moeten opnemen dat ‘de maan geen verrekijker kan hanteren’ of iets dergelijks. Nog afgezien van de vraag hoe die kennis ooit zou kunnen worden toegepast, zou men voor alle nomina in de taal het al dan niet kunnen hanteren van een verrekijker moeten opnemen (want in principe kunnen alle nomina voorkomen in de zin ik zag de/het [nomen] met de verrekijker). Bovendien kan kennis van de wereld nooit een dorre opsomming zijn van feiten. Bekijk de volgende zin:
Adequate kennis van de wereld moet onder andere inhouden dat naast encyclopedische kennis over kinderen, klassen en fietsen, een inferentie-mechanisme in werking treedt dat uit bovenstaande zin begrijpt, om maar iets te noemen, dat het om verschillende fietsen moet gaan: fiets is weliswaar een enkelvoudig woord, maar kinderen uit een normale zesde klas passen nooit allemaal op een enkele fiets. Evenzo is kennis nodig over bijvoorbeeld omgangsvormen en kennis over de manier waarop mensen een conversatie voeren om te begrijpen het volgende een zinnig gesprek kan zijn:
| ||||||||||||||||||||||
[pagina 171]
| ||||||||||||||||||||||
Waarop A zich vriendelijk bedankend naar de aangewezene spoedt, Overigens geldt iets vergelijkbaars voor de bekende:
Kortom, ‘kennis van de wereld’ houdt nogal wat in, en is momenteel een aktief onderzoeksgebied: hoe kan kennis worden gerepresenteerd op zo'n manier dat de gegevens snel bereikbaar zijn voor een inferentiemechanisme; hoe kan de representatie worden opgeslagen; hoe kan een koppeling tot stand worden gebracht tussen lexicon, syntaxis, semantiek en de kennisrepresentatie, etc. NLP is niet het enige vakgebied waar kennisrepresentatie van belang is. Over het algemeen associeert men de kunstmatige intelligentie met onderzoek naar kennisrepresentatie en het ontwikkelen van technieken en talen daarvoorGa naar eind6.. | ||||||||||||||||||||||
2. Kunstmatige intelligentieDe kunstmatige intelligentie (Artificial Intelligence, vandaar de afkorting ‘AI’ die vanaf nu gebruikt zal worden) is een jong wetenschapsgebied en sterk interdisciplinair. Binnen de AI is een aantal terreinen te onderscheiden, zoals visuele waarneming, robotiek, expert- systemen, zoek-technieken, technieken om problemen op te lossen, planning, automatisch programmeren, natuurlijke-taalverwerking, etc. Juist door dat interdisciplinaire karakter zijn er binnen de AI nogal wat verschillende manieren waarop wetenschappers tegen hun vakgebied aankijken of het definiëren. Iedereen is het er over eens dat voor allerlei menselijke activiteiten intelligentie nodig is, waarbij intelligentie niet zozeer slaat op IQ-achtige faculteiten als wel op de mentale capaciteiten die nodig zijn om te kunnen traplopen, televisie te kunnen kijken, kaart te kunnen lezen, taal te kunnen gebruiken, schaak te kunnen spelen, voorwerpen te kunnen herkennen, etc, etc. Wat dan vervolgens het studieobject van de AI is en het doel van AI-onderzoek is onderwerp van verhitte debatten. De twee belangrijkste richtingen zullen hier genoemd worden. Zo is er een richting die de AI ziet als een onderdeel van de informatica met als doel het construeren van ‘intelligentie technologie’ (zie Barr, Cohen & Feigenbaum 1981/2). Anderen zien AI als de bestudering van menselijke intelligentie, | ||||||||||||||||||||||
[pagina 172]
| ||||||||||||||||||||||
waarbij computers ideaal gereedschap zijn (zie o.a. Boden 1977). Bij enkele auteurs corresponderen deze verschillende richtingen trouwens met verschillende vakken, namelijk AI (technisch gericht) en ‘Cognitive Science’ (theoretisch en/of psychologisch gericht), trouwens zonder dat dit onderscheid algemeen gemaakt wordt; Searle (1980:417) spreekt bijvoorbeeld van strong versus weak or cautious AI. Ook de ideeën over het uiteindelijke doel van de AI lopen uiteen. Nilsson (1980) bijvoorbeeld noemt de constructie van een theorie van informatie-verwerking, terwijl in Charniak & McDermott (1985:7) geclaimd wordt: ‘The ultimate goal of AI research (which we are very far from achieving) is to build a person, or, more humbly, an animal.’ (Hoe ‘humble’ kan men worden?). Gezien deze verschillende opinies over definitie en doel van AI is het niet verwonderlijk dat ook de opvattingen over wat de wezenlijke vragen van de AI zijn, de centrale problemen, uiteenlopen. Wel is er in grote lijnen overeenstemming over het thema dat daar de hoofdrol in moet spelen: informatie-verwerking, waarbij de informatie is gecodeerd in symbolen. Corresponderend met bovenbesproken richtingen in de AI kan men dit thema formuleren als: a) mensen kunnen kennelijk symbolen verwerken: wat de hersenen doen moet op enig niveau wel ‘a kind of computation’ zijn (Charniak & McDermott 1985:6), dus moeten computers dat ook kunnen: vraag is hoe dat kan worden geprogrammeerd b) mensen kunnen kennelijk symbolen verwerken; de vraag is hoe; computers zijn geschikt om modellen voor de theorievorming te leveren. Hier moet worden verwezen naar een invloedrijk artikel van Newell & Simon (1976) waarin de zogeheten Physical Symbol System Hypothesis wordt ontwikkeld: een systeem dat, op een omschreven wijze, symbolen kan verwerken, heeft de noodzakelijke middelen, en ook voldoende middelen, ‘for general intelligent action’ (p. 116). Een bijzonder boeiende hypothese, maar wel een hypothese, die als zodanig empirisch moet worden gestaafd of op empirische gronden moet worden verworpen. Ook hier zijn enigszins verschillende benaderingen mogelijk. Om empirisch te kunnen experimenteren met de hypothese is een computer ideaal simulatiegereedschap (zie bijvoorbeeld Rich 1983). Men kan echter ook zowel mens als computer als behorend tot de klasse der physical symbol systems beschouwen en beide als het ware parallel bestuderen (zie bijvoorbeeld Slack 1984; voor felle kritiek zie Weizenbaum 1976/84:214 ff). In beide benaderingen blijft het uitgangspunt dat het hier wezen- | ||||||||||||||||||||||
[pagina 173]
| ||||||||||||||||||||||
lijk gaat om symbool-verwerking. Overigens geven Newell & Simon (1976) een interessant conceptueel getint verslag van het ontstaan en de ‘rechtvaardiging’, zo dat nodig zou zijn, van AI-onderzoek. Naast onenigheid over definitie, doel en wezen van de AI is er onenigheid tussen de scruffies en de neats over het nut van theorie: de neats vinden dat AI niet zonder theoretische component kan (met aandacht voor bijvoorbeeld logica en automatentheorie) terwijl de scruffies niet alleen vinden dat dergelijke theorie overbodig is, maar zelfs dat het schadelijk voor het vak is - je wilt geen theorie, zo is de redenering, je wilt een werkend computerprogramma en dat mag net zo ad hoc zijn als nodig is om het te laten werken. Hier moet de opvatting van iemand als Schank worden genoemd, een prototype van de scruffies, dat taalkundige theorievorming schadelijk is voor de natuurlijke taalverwerking. Daarbij doelt hij met name op de theorievorming zoals die plaats vindt in de theoretische taalkunde - zie eerdere opmerking hieroverGa naar eind7.. Waar alle AI-ers het wel over eens zijn is dat voor het oplossen van problemen kennis nodig is: je hebt kennis nodig om het verschil tussen een vliegtuig en een vogel te kunnen waarnemen, om de kortste weg op een kaart te kunnen identificeren, om taal te kunnen gebruiken, om schaakproblemen te kunnen oplossen etc., etc. De vraag hoe dergelijke kennis gerepresenteerd kan worden is daarom een essentiële vraag in de AI, en heeft geleid tot een aantal technieken (en talen en programma's) voor het opbouwen van representaties, waarbij een representatie kan worden omschreven als een ‘stylised version of the world’, in de woorden van Charniak & McDermott (1985: 8). Vandaar de link tussen taalkunde en AI wanneer het om natuurlijke taalverwerking gaat: kennisrepresentatie. | ||||||||||||||||||||||
3. KennisrepresentatieEen algemene theorie van kennisrepresentatie (vanaf hier ‘KR’) bestaat niet. Wel zijn er een aantal technieken ontwikkeld en een aantal computertalen waarin die technieken makkelijk zijn te programmeren. Door de naamgeving van deze talen kan trouwens verwarring ontstaan; zo is KRL de afkorting voor Knowledge Representation Language, maar anders dan de naamgeving doet vermoeden gaat het slechts om een ontwikkelings-gereedschap, niet eens een ontwikkelde taal, die het programmeren van één bepaalde KR-techniek vergemakkelijkt (namelijk | ||||||||||||||||||||||
[pagina 174]
| ||||||||||||||||||||||
frame-techniek). Evenzo dient men namen als General Problem Solver, Planner, Story-Understanding Module, etc. met grote scepsis te benaderen. Hij zijn aanduidingen voor programma's die van alles doen, maar beslist niet wat hun naam lijkt aan te duidenGa naar eind8.. Overigens is er relatief veel terminologische verwarring op dit terrein. Wat de ene auteur een script noemt, noemt de ander een frame, en vice versa, en wordt door een derde schema genoemd, terwijl een vierde auteur schema als generische aanduiding voor representatie-techniek gebruikt. In wat volgt wordt de terminologie gebruikt die het nauwst aansluit bij de terminologie in The Handbook of Artificial Intelligence. In deze paragraaf zullen niet de individuele technieken behandeld worden, maar zal een indeling gegeven worden naar soorten technieken waarbij kort de belangrijkste voor- en nadelen genoemd zullen worden. Eén van de meest complete boeken over kennisrepresentatie is Sowa (1984). Bij kennisrepresentatie hoort altijd ook inferentie: met opgeslagen kennis moet kunnen worden geredeneerd, en uit bestaande kennis moet nieuwe kennis worden afgeleid. Merk op dat dit niet in principe hetzelfde is als het gebruiken van opgeslagen kennis, hetgeen wel aangeduid wordt met heuristiek (of ‘gezond verstand’ - common sense). Heuristiek heeft te maken met bijvoorbeeld de volgorde waarin bepaalde kennis de revue passeert bij het oplossen van een probleem, met de vraag hoe een klont kennis wordt opgediept uit een kennisbestand, etc. Inferentietechnieken daarentegen moeten mogelijk maken dat uit ‘Karel is een vis’ en ‘vissen hebben schubben’ het nieuwe feit ‘Karel heeft schubben’ wordt gegenereerd. Er zijn grofweg drie soorten technieken voor kennisrepresentatie met bijbehorende inferentietechnieken: logische-, declaratieve- en procedurele technieken. Soms worden de declaratieve- en procedurele technieken samen ‘gestructureerde kennisrepresentatie-technieken’ genoemd (in tegenstelling tot logische technieken). Het grote voordeel van op logica gebaseerde technieken is de precisie waarmee in de logica feiten kunnen worden gerepresenteerd en de beschikbare heldere inferentiemechanismen. Het gaat hierbij overigens niet alleen om predicaatlogica, maar ook om probabilistisch en statistisch redeneren, ‘nevelige’ (fuzzy) logica's, niet-monotone logica's, ‘geloofs-systemen’ (belief systems), etc. Zie Rich (1983: 173-198). De grootste problemen met logische representatie-technieken zijn het ontbreken van heuristische regels (en de moeizame formuleerbaarheid daarvan in logica) en het feit dat eigenlijk alleen simpele | ||||||||||||||||||||||
[pagina 175]
| ||||||||||||||||||||||
feiten, dat wil zeggen enkelvoudige objecten en relaties makkelijk representeerbaar zijn in logica. In de ‘wereld’ zijn echter objecten die verschillende en complexe eigenschappen hebben, elk met z'n eigen mogelijk complexe relaties tot andere objecten. Een dergelijke structuur is moeizaam in logica als één klont te representeren. Die complexe objecten hebben op hun beurt ook weer de neiging in clusters te zitten en in scenario's voor te komen. Vandaar het onderzoek naar de al genoemde ‘gestructureerde kennisrepresentatie-technieken’, waarbij een onderscheid kan worden gemaakt tussen declaratieve- en procedurele technieken. In de AI heeft jarenlang een hevige discussie gewoed tussen de ‘declarativisten’ en de ‘proceduralisten’Ga naar eind9.. Die discussie ging om de vraag of kennis een weten dat is of een weten hoe. De hevigheid van de discussie is geluwd zonder dat één van beide partijen ‘gelijk’ heeft gekregen. Een taalkundig voorbeeld van relevante verschillen in de procedurele- en declaratieve benadering is de manier waarop een ontleed-programma (parser) kan worden georganiseerd. Procedurele organisatie zou inhouden dat, uitgaande van een te herkennen zinsstructuur [s[np[det][n][np[vp[v][np]]vp]s, de hoofdprocedure ‘S’ een procedure ‘NP’ aanroept, die op zijn beurt in volgorde de procedures ‘Det’ en ‘N’ aanroept, die elk bij succes (dat wil zeggen bij herkenning van de betrokken lexicale categorie) controle teruggeven aan de roepende ‘NP’ procedure, die bij succes de controle teruggeeft aan de roepende ‘S’ procedure die de ‘VP’ procedure vervolgens oproept, die in volgorde de procedures ‘V’ en ‘NP’ aanroept, die bij succes de controle teruggeven aan ‘VP’ die op zijn beurt bij succes de controle teruggeeft aan ‘S’ waarmee de structuur van de hele zin is herkend. Typisch procedureel: op de vraag wat nu eigenlijk de syntactische structuur is die herkend kan worden met het aldus opgezette programma is geen antwoord. Nergens is verklaard dat de structuur S ⇢ NP VP, NP ⇢ Det N, VP ⇢ V NP is. Dat zit verborgen in de (volgorde van) procedures. Een declaratief opgezet programma zou, in regelnotatie, een grammatica opgeven, die vervolgens laten inlezen door een verwerkingsprogramma dat de uiteindelijke herkenning moet plegen. Typisch declaratief: wanneer iemand zou vragen hoe de herkenning nu eigenlijk plaatsvindt dan is het antwoord daarop verborgen in de gebruikte programmeertaal. Voordeel van een procedurele benadering is de directheid van de herkenning, het inzicht in de redeneerprocessen. Nadeel is dat bij de geringste verandering het programma gewijzigd moet worden en met verschillende elkaar | ||||||||||||||||||||||
[pagina 176]
| ||||||||||||||||||||||
roepende procedures kan dat bijzonder lastig zijn. Voordeel van de declaratieve benadering is dat wijzigingen makkelijk kunnen worden aangebracht in het in te lezen regelsysteem. Duidelijk nadeel is dat het redeneerproces verborgen blijftGa naar eind10.. Vrijwel alle grote AI-systemen bevatten op enig niveau zowel procedurele als declaratieve representaties. Het al genoemde probleem voor de logische representaties, weergave van structuren, wordt echter vrijwel altijd declaratief benaderd: het expliciet weergeven van de vereiste structuur, waarbij wel binnen die structuur zich kleine procedures kunnen vinden (‘demons’) die in actie komen wanneer ze opgeroepen worden of wanneer bepaalde condities geldig wordenGa naar eind11.. Er zijn een aantal belangrijke declaratieve technieken, waaronder semantische netwerken, conceptuele afhankelijkheden, frames en scripts. Welke techniek ook gebruikt wordt, er blijven een aantal wezenlijke problemen bij het gebruik van de opgeslagen kennis voor de interpretatie van bijvoorbeeld een stuk tekst, waarbij ‘interpretatie’ hier betekent het opbouwen van een representatie op grond waarvan duidelijk is wat er in de tekst staat (zodat er bijvoorbeeld vragen over beantwoord kunnen worden). Stel een NLP programma heeft toegang tot een enorm kennisbestand, waarin over de meest uiteenlopende onderwerpen kennis is opgeslagen. De specifieke representatie-techniek doet er niet toe, zolang maar wordt voldaan aan zekere ‘link and lump’ eisen: onderwerpen die bij elkaar horen staan ook bij elkaar in ‘klonten’ kennis en de verschillende klonten zijn onderling in relatie te brengen. Bijvoorbeeld kennis over verkooptechnieken staat in één klont (in die klont zit kennis over kopers en verkopers, zit een directe verwijzing naar een geld-klont, is iets opgenomen over winkels, omzetbelasting, etc.) en kennis over wijn staat in één klont (bestanddelen van wijn, herkomst van soorten wijn, kennis over wijngaarden, kurken, gisting, tannine, alcohol, onwelkome toevoegingen, etc.) en de klonten ‘wijn’ en ‘verkooptechnieken’ kunnen zonder moeite in relatie worden gebracht wanneer een te interpreteren tekst gaat over het ‘verkopen van wijn’-mogelijk onder een compleet andere titel zoals ‘het slijtersvak’, ‘aspecten van de horeca’, etc. Uit de voorbeelden blijkt overigens hoe enorm groot een bruikbaar kennisbestand moet zijn. In Rich (1983:213; overgenomen uit Minsky 1975) wordt een aantal centrale problemen genoemd die opgelost moeten worden om op enig moment toegang te hebben tot het juiste deel van een kennisbestand. Voor geen van deze proble- | ||||||||||||||||||||||
[pagina 177]
| ||||||||||||||||||||||
men is een definitieve oplossing gevonden. Het eerste probleem heeft te maken met het vinden van sleutelwoorden. Bij het begin van het lezen van een tekst zal een initiële klont kennis moeten worden geselecteerd om, afhankelijk van de inhoud van de tekst, tot een representatie van de in die tekst meegedeelde kennis te worden uitgebouwd. Een tekst die over ‘vakantie’ gaat kan bij het begin uitgaan van de gegevens die al in de ‘vakantie-klont’ zitten. Daarin kan opgenomen zijn dat bij een vakantie een bestemming hoort, dat het geld kost, dat vakantie zich in een bepaalde tijd van het jaar afspeelt, dat het ‘niet werk’ is, etc. Afhankelijk van de verdere informatie in de tekst kan dat worden gespecificeerd, of natuurlijk veranderd (‘als medewerker op een reisbureau ben ik altijd aan het werk tijdens de vakantie periode. In november ga ik dan gratis naar Groenland of blijf gewoon thuis’). Stel de titel van een tekst is ‘Aspecten van de horeca’, terwijl het artikel gaat over het opstellen van zinnige vragen voor een examen voor patatbakkers. Moet dan een ‘aspect’-klont worden opgezocht? Het probleem is dat ergens een sleutelwoord moet worden ontdekt dat de juist kennis-klont kan selecteren. Maar waar dat sleutelwoord zich bevindt is niet duidelijk. Het tweede probleem is het invullen van de geschikte details in een gegeven situatie. Soms kan het belangrijk zijn expliciet in een representatie op te nemen dat, om maar iets te noemen, een huis een deur heeft. Maar meestal zal die kennis niet nodig zijn en de vraag is hoe je bepaalt hoeveel detail nodig is per gegeven situatie. Een zin als ‘ik kwam vrij laat thuis en zag dat alle lichten uit waren’ kan alleen zinnig geïnterpreteerd worden wanneer uit de gekozen ‘huis’ kennisklont blijkt dat de lichten van het huis bedoeld worden, waarbij-‘thuis’ en ‘huis’ ook nog onderscheiden moeten kunnen worden. Bij het opdiepen van de ‘huis’-klont in een eerder stadium (bijvoorbeeld bij een eerdere zin ‘ik wil naar huis’) is dat echter nog niet duidelijk, en er is ook geen principiële manier om van te voren in dit soort zaken beslissingen te nemen. Een derde probleem is hoe, en op welk moment, een nieuwe kennisklont moet worden opgezocht wanneer een eerder gekozen niet blijkt te voldoen. Al even problematisch is de situatie waarin geen enkele klont uit het kennisbestand relevant blijkt te zijn. Tenslotte is het onmogelijk een principieel besluit te nemen over de vraag wanneer een nieuwe kennis-klont moet worden gecreëerd cq moet worden opgenomen in het bestaande kennis-bestand. Hoe zou je van te | ||||||||||||||||||||||
[pagina 178]
| ||||||||||||||||||||||
voren kunnen weten of die nieuwe kennis ooit nog nodig zal blijken? | ||||||||||||||||||||||
4. ConclusieHet lijdt geen twijfel of taalkunde en kunstmatige intelligentie hebben elkaar hard nodig op het gebied van de NLP, waarbij het verbindende element de kennisrepresentatie is. Maar hoe vervolgens kennisrepresentaties kunnen worden ingezet ten behoeve van taalverwerking is nog onderwerp van onderzoek. Wel zijn er soorten technieken ontwikkeld die daarbij van belang kunnen zijn, maar naast allerlei heuristische problemen zijn er legio praktische problemen zoals de geheugenruimte die nodig is voor de gigantische hoeveelheid te gebruiken kennis, en (een apart onderzoeksterrein in de AI) de technieken die gebruikt kunnen worden om efficiënt te zoeken tussen al die gegevens. Daarbij komt natuurlijk het hier verder niet besproken probleem dat er één of andere koppeling gelegd zal moeten worden tussen de oppervlaktewoordjes van de zin (ook wanneer die misschien lichtelijk ongrammaticaal is), de parser dus, en het kennisbestand. Gezien deze en dergelijke problemen is het fascinerend om te bedenken dat mensen een zin al begrijpen nog terwijl die uitgesproken wordt en er ook meteen naar kunnen handelen. De NLP is zover bepaald nog niet en het is ook de vraag of het zover ooit moet of zal komen. De verwachting is dat in de 90er jaren de eerste grote prototypes van NL-interfaces en enkele vertaal-systemen uit zullen komen, hoewel het werkelijke ‘met begrip’ vertalen van willekeurige tekst ook in industriële (en militaire) kringen pas rond de eeuwwisseling of nog later wordt verwacht. Niet eerder dan halverwege de volgende eeuw verwacht men bruikbare prototypes van ‘cognitieve systemen’, dat wil zeggen systemen die taal en de wereld kunnen begrijpen zoals mensen dat doen, waarbij direct gezegd moet worden dat niet iedereen het er over eens is of zulke systemen ooit zullen bestaan en dat dit soort verwachtingen, die soms een eigen leven gaan leiden na genoemd te zijn in subsidie-aanvragen, vaak erg optimistisch blijken te zijnGa naar eind12.. Voorlopig zijn de genoemde problemen met taalanalyse en kennisrepresentatie reëler dan de toekomstverwachtingen t.a.v. de toepasbaarheid van NLP-programma's. | ||||||||||||||||||||||
[pagina 181]
| ||||||||||||||||||||||
Literatuur
| ||||||||||||||||||||||
[pagina 182]
| ||||||||||||||||||||||
| ||||||||||||||||||||||
[pagina 183]
| ||||||||||||||||||||||
|
|