ai81 ai kaleidoscoop college 8: kennisrepresentatie (ii) frames scripts leeswijzer:hoofdstuk...
TRANSCRIPT
AI8 1
AI KaleidoscoopCollege 8:
Kennisrepresentatie (II)
FramesScripts
Leeswijzer: Hoofdstuk 6.1.4-6.1.5
AI8 2
Kennisrepresentatie: 4 typen• Logica• Procedures
kanarie
zingen geel
struisvogel
vliegen groot
vogel
vliegen
vleugels
veren
vliegtuig
747
dier
ademen
huid
bewegen
person:Jane
objectpizza
agent likeperson:Jane
objectpizza
agent like
person:Tom experiencer believe
object
• Netwerken Vorig college
• Slots/values Dit college
AI8 3
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
AI8 4
Frames = slots + values• Elke eenheid is een frame met slots
( record in Pascal/C, class in Java)• Frames zijn georganiseerd in een hierarchie
class personslot nr-of-legs = 2slot nr-of-fingers = 10...
end class
frame person-042type-of: personslot name = “Tom”slot date-of-birth = 29-10-
60...
end frame
AI8 5
Verschillende soorten slots
• slot= eigenschap + waardename = "Tom"date-of-birth = 29-10-60
• slot = eigenschap + waarde-bereikheight = (> 1.50m) & (< 2.00m)
• slot = relatie +ander object(en)brother = {person-06, person-072}
• slot = eigenschap + procedurenationality = 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 = 29-10-60
AI8 6
Slots & daemons• Daemon = procedure die uitgevoerd
wordt bij een bepaald actie op een slotIF-ADDED, IF-NEEDED, ...
• Vb 1: (bereken slotwaarde telkens bij opvragen)class square
slot length = ...slot surface-IF-NEEDED length
lengthend class
• Vb 1: (onhoud slotwaarde na 1e keer berekenen)class square
slot length = ... IF-ADDED surface = length
length slot surface = ...end class
AI8 7
Overerving & defaults
• Organiseer frames in een is-a hierarchie• Bereken eigenschappen en waarden
door overerving (inheritance) van voorouders in de hierarchyclass car
slot #wheels=4
class fordslot made-in: USA
class fiestaslot #cylinders=4
class lorryslot #wheels=8
generic
instance xy-88-12slot colour=grey specific
AI8 8
Kennis afleiden in frames= slot/value aflezen of overerving
c la ss ca rslo t # w h eels= 4
cla ss fo rdslo t m a d e-in : U S A
in sta n ce x y -8 8 -1 2slo t co lo u r= g rey
cla ss fiestaslo t # cy lin d ers= 4
cla ss lo rryslo t # w h eels= 8
• 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
AI8 9
Essentiële eigenschappen
• Sommige eigenschappen mogen niet overschreven worden
class polygon
class rectangleslot #sides=4
class triangleslot #sides=3
class polygon
class rectangleslot #sides=4
class triangleslot #sides=3
AI8 10
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 rectangleCLASSVAR #sides=4
class triangleCLASSVAR #sides=3
instance r-044INSTVAR surface=8
instance t-033INSTVAR surface=9
AI8 11
window
window withborder
window withborder & label
window with label
verdubbelderepresentatie
Meervoudige overerving (voordelen)
window
window withborder
window with label
window withborder & label
zuiniger,betere stijl
AI8 12
Meervoudige overervering (voordelen)
• Beschouw object vanuit verschillende perspectieven
class car
Kennis overtransportobjecten
Kennis overmechanische
objecten
Kennis overjuridischeobjecten
AI8 13
Meervoudige overerving (problemen)• Wat te doen bij conflicterende overerving?
class person
instance Nixon
class quakerslot pacifist: yes
class republicanslot pacifist: no
• Is Nixon een pacifist?
AI8 14
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, enalleen een quaker als het hem uitkomt”
• Maak aparte knoop “republican-quaker”, met een IF-NEEDED daemon voor pacifist:
class quaker class republican
class person
instance Nixon
Class republican-quaker
class republican-quaker slot pacifist-IF-NEEDED:
if election-yearthen pacifist =
yeselse pacifist = no
end class
AI8 15
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)
AI8 16
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
AI8 17
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?
AI8 18
Scripts:VbScript: 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
AI8 19
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
AI8 20
Redeneren met scriptsVind juiste script bij bepaalde beschrijvingBeantwoord 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.
AI8 21
Terugblik: Algemene problemen met KR-formalismen• Abstractie, volledigheid• Precisie, nauwkeurigheid• Wiskundige onderbouwing• Efficientie• Homomorphie (“natuurlijkheid”)
AI8 22
Volgende keer
Natuurlijke taal:13.0-13.3