LEERKERN

6.2 Semantiek

Introductie

In de vorige paragraaf hebt u bestudeerd wat symbolen zijn en hoe ze kunnen worden gebruikt om kennis en informatie mee aan te duiden. Duidelijk werd dat de betekenis van symbolen meer kan zijn dan alleen de precieze informatie-inhoud. Afhankelijk van de wijze waarop een waarnemer de informatie beschouwt of in een bredere context plaatst, kan de informatie veel meer betekenen.
In deze paragraaf wordt behandeld hoe aan symbolen, of beter nog aan symboolstructuren, kennis kan worden toegekend. Uitgangspunt daarbij is dat dat binnen het kader van fysieke symboolsystemen moet kunnen.
Door bijvoorbeeld aan afzonderlijke symbolen uitspraken te koppelen die al dan niet waar zijn (dit dier heeft vleugels, dit dier heeft vier poten, enzovoorts), kan enerzijds informatie worden opgeslagen, anderzijds kan er mee worden geredeneerd en kunnen nieuwe uitspraken worden afgeleid (als dit dier vleugels en veren heeft, dan is het een vogel).
Het zal blijken dat er veel verschillende soorten kennis en informatie zijn die in een systeem moeten worden opgenomen om tot een goed kennissysteem te komen. Semantische netwerken bieden een symboolstructuur die daarvoor goed geschikt is.

6.2.1 Betekenis van symbolen

Lees uit Stefik: paragrafen 1.2, 1.2.1, en 1.2.2 (pagina 35 tot en met 44).

Bij de volgende passages uit het boek zijn een aantal opmerkingen te maken.
– pagina 36, regel 3 van onder: On (Ball Table)
Mogelijk bent u een notatie gewend waarin de argumenten gescheiden worden door komma’s in plaats van (uitsluitend) spaties. Op deze wijze kan het echter ook. Een dergelijke expressie kan waar of onwaar zijn, of de waarde ervan kan nog onbepaald zijn.
– pagina 37, onderste regels
Objectnamen, zoals A en B, worden hier cursief (schuin) genoteerd en objectconstanten, zoals Block, romein (rechtop). Het is gebruikelijker om hier geen onderscheid tussen te maken en alle constanten romein te noteren, in tegenstelling tot variabelen, die dan cursief staan.
– pagina 39, middenin
In de formules (~A Ù B) => A Ú B en A Ù (A => B)
1 B gebruikt Stefik enkele symbolen waar ook wel eens andere voor worden gebruikt:
Stefik gebruikt ~ voor ‘niet’, waar anderen ook wel ‘Ø ’ gebruiken. Verder gebruikt hij ‘
1’ voor ‘bewijsbaar’. Stefik gebruikt => voor de (materiële) implicatie, waar meestal ® voor gebruikt wordt. In het vervolg van deze cursus worden de symbolen nauwelijks meer gehanteerd, zodat een en ander niet zo relevant is.
Let wel op het onderscheid tussen => (de materiële implicatie, een logische operatie) en ‘
1’ (bewijsbaar).
– pagina’s 39 tot en met 41
Het deel van paragraaf 1.2.1 vanaf de subkop ‘Truths, Proofs, and Decidability’ is nogal abstract, en niet altijd (zoals uit de vorige opmerkingen al bleek) correct en conform de gebruikelijke terminologie. Dit gedeelte kunt u doorlezen, maar bevat geen technische termen die u wordt geacht te kennen.

Stefik maakt onderscheid tussen waarheidssemantiek (truth semantics) en bewijssemantiek (proof semantics). Waarheidssemantiek heeft betrekking op het toekennen van waarheidswaarden aan feiten die geobserveerd kunnen worden (proposities) en het toepassen van de waarheidsregels uit de propositielogica voor het bepalen van de waarheidswaarde van samengestelde formules. Tot de waarheidssemantiek behoren bijvoorbeeld het nagaan of de uitspraak ‘De bal ligt op tafel’ waar is of niet en het werken met waarheidstabellen.
Bij bewijssemantiek wordt uit een gegeven verzameling feiten en regels het bewijs geleverd voor de juistheid of onjuistheid van een bepaalde uitspraak. Met de bewijssemantiek volgt uit ‘de bal is een rond voorwerp’ en ‘ronde voorwerpen kunnen rollen’, dat ‘de bal kan rollen’.
Op pagina 37 van paragraaf 1.2.1 noemt Stefik nog een derde semantiek van de predikaatlogica, de referentiesemantiek (semantics of reference). Hiermee doelt hij op het toekennen van een verwijzing in het model aan de objectconstanten, de functieconstanten en de relatieconstanten in de taal; bijvoorbeeld ‘Ball’ is een objectconstante, die refereert aan een object in het model.

Het gebruik van predikaatlogica voor het representeren van kennis is een reductionistische aanpak. De betekenis of waarheid van samengestelde beweringen kan daarbij afgeleid worden uit de betekenis of waarheid van de afzonderlijke onderdelen.
Bij de analyse van natuurlijke taal blijkt deze reductionistische aanpak veel te beperkt om de rijkheid weer te kunnen geven die natuurlijke taal bezit. Predikaatlogica is voor veel toepassingen te beperkt om de kennis te kunnen representeren die we in kennissystemen willen kunnen gebruiken. Bij de ontwikkeling van semantische theorieën moet het er dan ook vooral om gaan symboolstructuren te ontwikkelen die op een geschikte manier de gewenste kennis kunnen representeren. De semantische netwerken uit de volgende paragraaf zijn daarvan een voorbeeld.

> Opgave 6.2.1

> Opgave 6.2.2

6.2.2 Semantische netwerken

Lees uit Stefik: paragrafen 1.2.3, 1.2.4 en 1.2.5 (pagina 44 tot en met 55).

In paragraaf 1.2.3 worden elementaire begrippen uit de grafentheorie behandeld. Iedere inleiding, en dus ook deze, gebruikt eigen namen voor de diverse begrippen. Stefik heeft het over ‘nodes’ en ‘arcs’ (knopen en bogen), waar anderen ook termen als punten en lijnen gebruiken. In het algemeen worden in de grafentheorie door verschillende auteurs zeer veel verschillende termen voor dezelfde objecten gebruikt. Op zich spreken ze meestal voldoende voor zich, zodat er geen verwarring hoeft te ontstaan. Bekijk echter wel goed wat met de verschillende termen wordt bedoeld. Gelukkig wordt voor het zeer belangrijke begrip ‘boom’ vrijwel altijd dezelfde term gebruikt.
Semantische netwerken zijn ook grafen. We noemen grafen echter pas semantische netwerken als er op een zinvolle wijze kennis mee te representeren is. De punten in grafen representeren objecten of klassen en de pijlen tussen de punten stellen relaties voor. Deze relaties kunnen van allerlei aard zijn. De variatie in mogelijke soorten relaties maakt het mogelijk dat er allerlei soorten informatie en kennis met semantische netwerken is te representeren. Voor de toepassingen in de kennistechnologie is het van belang dat de labeling van punten en pijlen zodanig is, dat er geautomatiseerd mee te werken valt. Bovendien moeten ze zo opgezet worden dat er zo efficiënt mogelijk mee gewerkt kan worden. Objecten die eigenschappen gemeen hebben, zullen worden opgenomen als instanties van een klasse waar de gemeenschappelijke eigenschap bij wordt gedefinieerd.

In figuur 1.16 op pagina 48 wordt geïllustreerd hoe we in semantische netwerken ook andere dan tweewaardige relaties kunnen weergeven. De hier gesuggereerde oplossing voor driewaardige relaties werkt natuurlijk ook voor meer dan drie waarden: in plaats van drie uitgaande pijlen, zoals in dit geval van de knoop ‘A throw event’, hoeven we dan alleen maar nog meer uitgaande pijlen aan te brengen, net zoveel als u argumenten nodig hebt. (Overigens zijn er ook andere visuele oplossingen om drie- en meerwaardige relaties in netwerken weer te geven dan de hier getoonde, door middel van introductie van een extra knoop.)

Semantische netwerken zijn dus geschikte structuren om in de kennistechnologie kennis mee te representeren. Het ontwerpen van goede semantische netwerken is een vakgebied op zich en zou ‘kennisrepresentatie’ genoemd kunnen worden. Er bestaan tools voor het ontwikkelen en beheren van semantische netwerken, soms zijn die onderdeel van tools voor het ontwikkelen van kennissystemen en in zekere zin komen elementen ervan ook voor in objectgeoriënteerde programmeertalen.

> Opgave 6.2.3

> Opgave 6.2.4

> Opgave 6.2.5

6.2.3 Verschillende semantieken

Lees uit Stefik: paragraaf 1.2.6 (pagina 55 tot en met 59).

In deze paragraaf wordt nog eens opnieuw benadrukt dat de wijze waarop symbolen aan kennis worden gekoppeld, vanuit vele verschillende perspectieven is te benaderen. Ieder perspectief heeft zijn eigen belang en aandachtspunten. Een belangrijk onderscheid daarbij is de oriëntatie op toepassingen in fysieke symboolsystemen, waarbij de aandacht vooral gaat naar de precieze betekenis van symbolen en symboolstructuren in programmatuur en kennisrepresentaties en de oriëntatie op kennis in natuurlijke talen, waarbij vooral de context en impliciete betekenissen van belang zijn.

> Opgave 6.2.6