Kennisacquisitie en - modellering Rogier van Eijk college 4 Domeinmodellering en elicitatie.
-
Upload
esther-bosmans -
Category
Documents
-
view
219 -
download
0
Transcript of Kennisacquisitie en - modellering Rogier van Eijk college 4 Domeinmodellering en elicitatie.
Kennisacquisitie en -modellering
Rogier van Eijk
college 4 Domeinmodellering en elicitatie
Vorige keer: taaktypen en taakmethoden
knowledge-intensive
task
analytictask
classification
synthetictask
assessment
diagnosis
configurationdesign
planning
scheduling
assignment
modelling
prediction
monitoring
design
Vandaag:
• Hoe het domein te modelleren?
• Activity diagrams: Notaties
• Begrijpen van elicitatietechnieken
DOMEINMODELLEREN
Soorten kennis
• Taakkennis– doelgericht– onderverdeeld in functionele stappen
• Domeinkennis– relevante domeinkennis
• Inferentiekennis– basis redeneerstappen die in het domein gemaakt
kunnen worden en die door taken worden toegepast
Kennismodel: overzicht
Disease(type)
Symptom(type)
Test(type)
cover(inference)
verify(inference)
DIAGNOSIS(task)
Task knowledge task goals task decomposition task method
Inference knowledge basic inferences roles
Domain knowledgedomain typesdomain rulesdomain facts
Taakbeschrijving
• “De auto doet het niet. Ik voorzie op dit moment twee voor de hand liggende oorzaken: De benzine is op of de accu is leeg. Als de benzine op is dan zou de benzinemeter op nul moeten staan. Als de accu leeg is dan zou het acculampje op het dashboard moeten branden. Of de auto zou met behulp van een startkabel weer aan de praat gebracht moeten kunnen worden. Een lege accu komt veel vaker voor dan een lege benzinetank. Ik kijk op het dashboard, maar het acculampje brandt niet. Dan probeer ik de auto via een startkabel aan de gang te krijgen. Dat lukt!”
Domeinschema voor auto’s
Grote domeinschema’s
Domeinschema’s
• Domeinschema’s kunnen snel heel groot worden.
• Hoe houd je ze in bedwang?
Gebruik de taakmethode
Domeinschema voor auto-diagnosecar state
status: universalobservable: boolean
invisiblecar state
observable: {false}
visiblecar state
observable: {true}
car observable
value: universal
fuel tank
status: {full, almost-empty, empty}
battery
status: {normal, low}
fuse
status: {normal, blown}
gas in engine
status: boolean
power
status: {on, off}
engine behavior
status: {normal, does-not-start, stops}
fuse inspection
value: {normal, broken}
gas dial
value: dial value
battery dial
value: dial-value
domein schema voor diagnose
systemfeature
systemobservable
value: universal
systemstate
status: universal
fault
prevalence: number[0..1]
systemstate
systemfeature can cause
causaldependency
Configuration: domeinschema
design element
parameter
value: universal
component
model list: list
fix action
action type
constraint
designelement
component
calculationexpression
constraintexpression
computes
implies
1+
1+
1+
1+ fix
has-parameter
0+
definespreference
preference
rating: universal
preferenceexpression
1+
Domeinkennis
• Domeinschema– Schematische beschrijving van het domein door middel
van domeinconstructen (zoals concepten)
• Kennisbank– Instanties van constructen uit het domeinschema
Constructen voor het domeinschema
• Concept– cf. object class (zonder methoden)
• Relatie– cf. association
• Attribuut– primitieve waarde
• Rule type– Relaties tussen expressies (niet standaard OO)
Voorbeeld auto concepten
VALUE-TYPE dial-value; VALUE-LIST: {zero, low, normal}; TYPE: ORDINAL;END VALUE-TYPE dial-value;
CONCEPT gas dial; ATTRIBUTES: value: dial-value;END CONCEPT gas-dial; CONCEPT fuel-tank;
ATTRIBUTES status: {full, almost-empty, empty};END CONCEPT fuel-tank;
gas dial
value: dial-value
fuel tank
status: {full, almost-empty, empty}
Sub/super en part/whole
• ouder– vader of moeder– disjunctieve combinatie– sub/supertype
• ouders– vader en moeder– conjunctieve combinatie– part/whole
Example: auto subtypes
car state
status: universalobservable: boolean
invisiblecar state
observable: {false}
visiblecar state
observable: {true}
car observable
value: universal
fuel tank
status: {full, almost-empty, empty}
battery
status: {normal, low}
fuse
status: {normal, blown}
gas in engine
status: boolean
power
status: {on, off}
engine behavior
status: {normal, does-not-start, stops}
fuse inspection
value: {normal, broken}
gas dial
value: dial value
battery dial
value: dial-value
Modelleren van regels
• Kennis wordt vaak uitgedrukt in regels
• Kennismodelleren is er op gericht om regels te vinden die een gezamenlijke structuur hebben
• Een regel is dan een instantie van een regeltype
Structuring a knowledge base
Rule 1: IF ... THEN ...
Rule 2: IF ... THEN ...
Rule 3: IF ... THEN ...
Rule 12: IF ... THEN ...
Rule 4: IF ... THEN ...
Rule 5: IF ... THEN ...
Rule 6: IF ... THEN ...
Rule 7: IF ... THEN ...
Rule 8: IF ... THEN ...Rule 9: IF ... THEN ...Rule 10: IF ... THEN ...Rule 11: IF ... THEN ...
<plus many others>
single flat knowledge base
multiple rule setscontaining rules
with similar structure
rules of type A
rules of type D
rules of type B
rules of type C
Regeltype
• Modelleert een relatie tussen expressies over attribuutwaarden van concepten, bijv:
gas-dial.value = zero -> fuel-tank.status = empty
• Staat voor een verzameling concrete regels die een gezamenlijke structuur hebben
• Omdat regels niet strict logisch hoeven te zijn bevat het ook een zogenaamd ‘connection symbol’
Example rule type
loanconstraint
restricts
person.income <= 10,000 RESTRICTS loan.amount <= 2,000
person.income > 10,000 AND person.income <= 20,000 RESTRICTS loan.amount <= 3,000
person
name: stringincome: integer
loan
amount: integerinterest-rate: number
1+
Structuur van regeltypen
<antecedent> <connection-symbol> <consequent>
Rule types for car diagnosis
invisiblecar state
car state
car observable
invisiblecar state
manifestationrule
statedependency
causes
hasmanifestation
1 1
11
Kennisbank
• Regeltypes staan in het domeinschema• Regels in de kennisbank
• Bevat instanties (regels) van regeltypen
• structuur– USES: <types used> from <schema>– EXPRESSIONS: <instances>
Voorbeeld kennisbank
KNOWLEDGE-BASE car-network; USES: state-dependency FROM car-diagnosis-schema,
manifestation-rule FROM car-diagnosis-schema; EXPRESSIONS:
/* state dependencies */ fuse.status = blown CAUSES power.status = off;
battery.status = low CAUSES power.status = off; ….
/* manifestation rules */ fuse.status = blown HAS-MANIFESTATION
fuse-inspection.value = broken; battery.status = low HAS-MANIFESTATION
battery-dial.value = zero; …..END KNOWLEDGE-BASE car-network;
Begrijp de schema’s uit het boek
design element
parameter
value: universal
component
model list: list
fix action
action type
constraint
designelement
component
calculationexpression
constraintexpression
computes
implies
1+
1+
1+
1+ fix
has-parameter
0+
definespreference
preference
rating: universal
preferenceexpression
1+
ACTIVITY DIAGRAMSPracticum
Action state
• Basisingredient
• Toestand waarin iets gedaan / een taak uitgevoerd wordt
• Toetstand eindigt als de taak klaar is
• Dan kan er een overgang plaatsvinden naar een nieuwe taak
• Er zijn speciale symbolen voor de begintoetstand en de eindtoestand
Basic notation for activity diagram
data entry
processinggenerateoutput
Keuze
• Overgangen zijn deterministisch
• Als een overgang afhangt van de resultaten van een activiteit voeg dan een keuze-constructie toe.
data entry
dump in waste basket
furtherprocessing
[data correct]
[data incorrect]
Parallelle activiteiten
• Als activiteiten tegelijkertijd plaatsvinden voeg dan de constructie voor parallelle activiteiten toe
• Zorg dat het duidelijk is wanneer de parallelliteit weer ophoudt.
Parallelle activiteitenbuy food
and drinks
cook dinneropen wine
bottle
have dinner
Swim lanes
• Als een proces over meerdere agents gedistribueerd is maak dan gebruik van zogenaamde swim lanes.
• Laat voor elke agent zien hoe deze bij het proces betrokken is.
Swim laneswrite tender
get customerinformation
SALESDEPARTMENT
calculatecost
DESIGNDEPARTMENT
designelevator
Objecten
• Als er informatie-afhankelijkheden tussen activiteiten zijn kun je deze door middel van objecten in het actitivity diagram weergeven
Informatie- afhankelijkheden
standarddesign
write tender
get customerinformation
SALESDEPARTMENT
decide about design type
customdesign
costcalculation
elevatordesign
DESIGNDEPARTMENT
non-standard standard
CUSTOMER
tender
customerinformation
Ander voorbeeldprimaryprocess
secondaryprocess
data entryof applications
magazineproduction
applicationassessment
residenceassignment
statisticalanalysis
policyinformation
:residenceassignments
Activity diagram voor taakmethodes
cover
predict
obtain compare
[no more solutionsof cover]
[new solutionof cover]
[result = equal]
[result = not equal]
solution found
no solution found
startdiagnosisthrough
generate-and-test
ELICITATIE
KAM
• Elicitatietechnieken: laddering, card sorting, repertory grid.
Repertory grid
George Kelly: “Elke mens is een wetenschapper”
Repertory Grid
• Basismechanisme:• vergelijk steeds 3 elementen• waarop zijn twee gelijk en verschillen ze van de
derde?
• Eliciteert constructen• scalair en bipolair
Voorbeeld
Repertory Grid
• Pas toe op:1. appel, citroen, sinaasappel2. appel, citroen, banaan3. bloemkool, citroen, banaan4. Gordon, Jeroen van der Boom, Rene Froger5. diagnose, monitoring, assignment6. diagnose, monitoring, assessment7. repertory grid, concept sorting, protocol
analysis
Repertory grid
• Hoe komt de knowledge acquisiteur aan de geschikte elementen?
• En hoe worden deze gepresenteerd?
En nu andersom
• Vul aan met een interessant 3e element:• waarom interessant?
1. havik, valk, …2. tahoe, tempeh, … 3. assignment, scheduling, … 4. accu, benzinetank, …
Opdracht
• Jurjen stelt de volgende variatie op ‘repertory grid’ voor: neem in plaats van groepjes van drie elementen (‘triads’) steeds groepjes van twee elementen.
• Welke effecten heeft dit op het elicitatieproces?
firma interview – part 3
http://www.youtube.com/watch?v=FfxHwaFlqTM
http://www.cs.uu.nl/docs/vakken/kam
Week 46
Week 47
Week 48
Week 49
Week 50
Week 51
Week 52
Week 1
Week 2
Week 3
Week 4
Week 5
College 1
Geen college + opdracht 1
College 2 + opdracht 2
College 3
College 4 + opdracht 3
College 5
kerstvakantie
herkansingweek
Geen college + Opdracht 4
College 6 Roel van den Broek
Eindpresentaties + eindrapport
Tentamen