AI81 AI Kaleidoscoop College 8: Kennisrepresentatie (II) Frames Scripts Leeswijzer:Hoofdstuk
AI82 Kennisrepresentatie: 4 typen Logica Procedures kanarie zingengeel struisvogel vliegengroot vogel vliegen vleugels veren vliegtuig 747 dier ademen huid bewegen person:Jane object pizza agent like person:Jane object pizza agent like person:Tom experiencer believe object Netwerken Vorig college Slots/values Dit college
AI83 Frames, algemeen Organiseer kennis in samenhangende eenheden Kennis is georganiseerd als eigenschappen van conceptuele eenheden: –Vb: alle kennis over Tom, opgeslagen bij object Tom Overerving en Default-reasoning Twee typen eenheden: –generieke eenheden (type, class) Vb: persoon, auto, land –Specifieke eenheden (individuen, instanties) Vb: tom, mijn-auto, Schotland
AI84 Frames = slots + values Elke eenheid is een frame met slots ( record in Pascal/C, class in Java) Frames zijn georganiseerd in een hierarchie class person slot nr-of-legs = 2 slot nr-of-fingers = end class frame person-042 type-of: person slot name = “Tom” slot date-of-birth = end frame
AI85 Verschillende soorten slots slot= eigenschap + waarde name = "Tom" date-of-birth = slot = eigenschap + waarde-bereik height = (> 1.50m) & (< 2.00m) slot = relatie +ander object(en) brother = {person-06, person-072} slot = eigenschap + procedure nationality = combine( nationality(father), nationality(mother)) class person slot nr-of-legs = 2 slot nr-of-fingers = 10 frame person-042 type-of: person slot name = “Tom” slot date-of-birth =
AI86 Slots & daemons Daemon = procedure die uitgevoerd wordt bij een bepaald actie op een slot IF-ADDED, IF-NEEDED,... Vb 1: (bereken slotwaarde telkens bij opvragen) class square slot length =... slot surface-IF-NEEDED length length end class Vb 1: (onhoud slotwaarde na 1e keer berekenen) class square slot length =... IF-ADDED surface = length length slot surface =... end class
AI87 Overerving & defaults Organiseer frames in een is-a hierarchie Bereken eigenschappen en waarden door overerving (inheritance) van voorouders in de hierarchy class car slot #wheels=4 class ford slot made-in: USA class fiesta slot #cylinders=4 class lorry slot #wheels=8 instance xy slot colour=grey
AI88 Kennis afleiden in frames = slot/value aflezen of overerving Vb: slot/value aflezen: colour of xy-88-12: grey Vb: default inheritance:#wheels of xy-88-12: 4 Vb: overriding defaults:#wheels of lorry: 8
AI89 Essentiële eigenschappen Sommige eigenschappen mogen niet overschreven worden class polygon class rectangle slot #sides=4 class triangle slot #sides=3 class polygon class rectangle slot #sides=4 class triangle slot #sides=3
AI810 Essentiële eigenschappen: twee typen variabelen Instance variables:eigenschappen van specifiek object Class variables:eigenschappen van generiek object Class variables kunnen niet worden overschreven class polygon class rectangle CLASSVAR #sides=4 class triangle CLASSVAR #sides=3 instance r-044 INSTVAR surface=8 instance t-033 INSTVAR surface=9
AI811 window window with border window with border & label window with label verdubbelde representatie Meervoudige overerving (voordelen) window window with border window with label window with border & label zuiniger, betere stijl
AI812 Meervoudige overervering (voordelen) Beschouw object vanuit verschillende perspectieven class car Kennis over transport objecten Kennis over mechanische objecten Kennis over juridische objecten
AI813 Meervoudige overerving (problemen) Wat te doen bij conflicterende overerving? class person instance Nixon class quaker slot pacifist: yes class republican slot pacifist: no Is Nixon een pacifist?
AI814 Meervoudige overerving (problemen) Geef een volgorde aan de ouders (en erf alleen van de eerste ouder die een waarde geeft) –vaste volgorde (bijv. van links naar rechts) –geef gewichten aan de links: “Nixon is voornamelijk een republikein, en alleen een quaker als het hem uitkomt” Maak aparte knoop “republican-quaker”, met een IF-NEEDED daemon voor pacifist: class quakerclass republican class person instance Nixon Class republican-quaker class republican-quaker slot pacifist-IF-NEEDED: if election-year thenpacifist = yes elsepacifist = no end class
AI815 Frames, samenvatting Frames = slot/values + overervings hierarchie Voordelen: –goede organisatie van kennis kennis-structuur analoog aan domein-structuur alle kennis van een concept bij elkaar –default-redeneren Nadelen –geen wiskundige fundering –onduidelijke betekenis (meervoudige overerving) –mogelijk misbruik van de hierarchie –geen backtracking –willekeurige programmeertruuks in daemons –Zoek-probleem (meervoudige overerving is NP-hard)
AI816 Scripts Organiseer kennis rond prototypische situaties (in frames: rond prototypische concepten) Vb: scripts voor –eten in restaurant –college geven –verjaardag vieren Onderdelen van een script toepassings-conditie eindresultaat van een script objecten in een script rollen van de objecten sub-scripts voor deelsituaties
AI817 Gebruik van scripts Afleiden van impliciete informatie (= beantwoorden van vragen) –“Ik ging naar het restaurant. Ik bestelde nasi. Bij het betalen kreeg ik ruzie en ging ik naar huis.” Vraag: Heb ik gegeten? Oplossen van ambiguïteit –“Ze ging naar het restaurant. De serveerster nam de bestelling op. Ze dronk haar biertje en vertrok.” Vraag: Wie heeft ‘t biertje besteld?
AI818 Scripts:Vb Script: College geven Track: collegezaal Entry Conditions: tussen 9 & 5 op de Universiteit.... Props: projector transparanten zaal Roles: D=docent S=student Scene 1: binnenkomen S neemt plaats S praat met buren D komt binnen D praat S wordt stil Scene 2: lesgeven D legt sheet neer D praat D haalt sheet weg Choose: goto scene 2. goto scene 3 goto scene 4
AI819 Scripts (Vb) Scene 2: lesgeven D legt sheet neer D praat D haalt sheet weg Choose: goto scene 2. goto scene 3 goto scene 4 Scene 3: vraag gesteld S vraagt D D antwoord Choose: goto scene 2 goto scene 3. goto scene 4 Scene 4: einde college S gaat weg D gaat weg S praat
AI820 Redeneren met scripts Vind juiste script bij bepaalde beschrijving Beantwoord vragen/doe voorspellingen/etc Maar: Match & selectie probleem “Ze kreeg twee vliegers voor haar verjaardag” Bracht ze er één terug? “Ze kreeg twee ijsjes voor haar verjaardag” Bracht ze er één terug? Moet weten over: – kadootjes: >1 van hetzelfde is (soms) niet leuk – winkels: sommige dingen kun je niet ruilen – eigenschappen: van ijsjes & vliegers – etc, etc.
AI821 Terugblik: Algemene problemen met KR-formalismen Abstractie, volledigheid Precisie, nauwkeurigheid Wiskundige onderbouwing Efficientie Homomorphie (“natuurlijkheid”)
AI822 Volgende keer Natuurlijke taal: