Kennisacquisitie en - modellering Rogier van Eijk
description
Transcript of Kennisacquisitie en - modellering Rogier van Eijk
Modelleren van analysetaken
• Taakkennis• Templates voor analysetaken• Interviewing• Zelftest
deels gebaseerd op boek en slides ‘The CommonKADS Methodology’
1Modelleren van analysetaken
TAAKKENNISwrap up
Modelleren van analysetaken 2
3Modelleren van analysetaken
TaakTASK diagnosis; GOAL: "Find a likely cause for the complaint of the user";
ROLES:INPUT: complaint: "Complaint about the behavior of the
system"; OUTPUT: fault-category: "A hypothesis explained by the
evidence"; evidence: "Set of observations obtained during the
diagnostic process"; SPEC: "Find an initial state that explains the complaint
and is consistent with the evidence obtained";END TASK diagnosis;
4Modelleren van analysetaken
Taakdecompositiediagnosis
diagnosis through
generate-and-test
obtaincover
predict
task
task method
compare
decomposition
inferences
transfer function
5Modelleren van analysetaken
Taakmethode
TASK-METHOD diagnosis-through-generate-and-test; DECOMPOSITION:
INFERENCES: cover, predict, compare;TRANSFER-FUNCTIONS: obtain;
ROLES:INTERMEDIATE:
expected-finding: "The finding predicted, in case the hypothesis is true";
actual-finding: "The finding actually observed";
6Modelleren van analysetaken
Controle taakmethode in UML
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
7Modelleren van analysetaken
Controle taakmethode in CML CONTROL-STRUCTURE:
REPEAT cover(complaint -> hypothesis);
predict(hypothesis -> expected-finding); obtain(expected-finding -> actual-finding); evidence := evidence ADD actual-finding; compare(expected-finding + actual-finding -> result);
UNTIL result = equal or “no more solutions”;
END REPEAT IF result == equal
THEN fault-category := hypothesis; ELSE "no solution found"; END IF
TAAKTEMPLATES
Modelleren van analysetaken 10
11Modelleren van analysetaken
Hergebruik
• Kennismodellen worden (gedeeltelijk) hergebruikt in nieuwe applicaties
• Het taaktype is de belangrijkste richtlijn voor hergebruik
• Er is een ‘library’ van taaktemplates
12Modelleren van analysetaken
De noodzaak van hergebruik
• voorkomen van het wiel opnieuw uitvinden
• kosten/tijd-efficiënt
• verlaging complexiteit
• verhoging kwaliteit
13Modelleren van analysetaken
Taaktemplate
• herbruikbare combinatie van modelelementen– (provisorische) inferentiestructuur– typische controlestructuur– typisch domeinschema vanuit het oogpunt van taak
• specifiek voor een taaktype
• ondersteunt ‘top-down’ kennismodelleren
15Modelleren van analysetaken
De term “systeem”
• abstracte term voor object waarop een taak wordt toegepast
• voorbeeld– in technische diagnose: artifact of apparaat dat
gediagnosticeerd wordt– in lift configuration design: de te ontwerpen lift
• hoeft (nog) niet te bestaan
16Modelleren van analysetaken
Analyse- t.o.v. synthesetaken
• analytische taak– systeem bestaat al
• het wordt typisch niet in zijn geheel “gekend”– input: enige data over het systeem,– output: een karakterisatie van het systeem
• synthesetaak– systeem bestaat nog niet– input: requirements over het te construeren systeem– output: beschrijving van het systeem
17Modelleren van analysetaken
Taakhiërarchieknowledge-intensive
task
analytictask
classification
synthetictask
assessment
diagnosis
configurationdesign
planning
scheduling
assignment
modelling
prediction
monitoring
design
CLASSIFICATIE
Modelleren van analysetaken 19
20Modelleren van analysetaken
Classificatie
terminologie: object, klasse, attribuut, feature
21Modelleren van analysetaken
Classificatie
• bepaal juiste klasse voor een object
• object moet beschikbaar zijn voor inspectie
• een van de eenvoudigste analytische taken: veel methoden
• andere analysetaken soms gereduceerd tot classificatie– vb diagnose
Voorbeelddomein: Modellenwerk
Modelleren van analysetaken 22
Modelleren van analysetaken 23
24Modelleren van analysetaken
Classificatie: ‘pruning’-methode
• snoeimethode
• genereer alle klassen waartoe een object kan behoren
• specificeer een objectattribuut
• ‘obtain’ de waarde van het attribuut
• verwijder alle klassen die inconsistent met deze waarde zijn
25Modelleren van analysetaken
Classificatie: inferentiestructuur
object
class
attribute
feature
truthvalue
generate
specify
match
obtain
jeaninetrudy
tinavoguemargriet
leeftijdsex appeal
35 jaar15 jaarwel sex appealgeen sex appeal
waar onwaar
jeanine -> tinajeanine -> voguejeanine -> margriettrudy-> tinatrudy -> voguetrudy -> margriet
{tina, vogue, margriet} -> leeftijd{tina, vogue, margriet} -> sex appeal
tina, wel sexappeal -> onwaartina, geen sexappeal -> waartina, 35 jaar -> onwaartina, 15 jaar -> waarvogue, wel sexappeal -> waarvogue, geen sexappeal -> onwaarvogue, 35 jaar -> onwaarvogue, 15 jaar -> waarmargriet, wel sexappeal -> onwaarmargriet, geen sexappeal -> waarmargriet, 35 jaar -> waarmargriet, 15 jaar -> onwaar
geen (transferfunctie)
26Modelleren van analysetaken
Classificatie: methodecontrolewhile new-solution generate(object -> candidate) do
candidate-classes := candidate union candidate-classes;
while new-solution specify(candidate-classes -> attribute) and length candidate-classes > 1 do
obtain(attribute -> new-feature);current-feature-set := new-feature add current-feature-set;for-each candidate in candidate-classes do
match(candidate + current-feature-set -> truth-value);if truth-value = false;then candidate-classes := candidate-classes subtract
candidate;
27Modelleren van analysetaken
Classificatie: methodevariaties
• Beperkte generatie van kandidaten
• Verschillende vormen van attribuutselectie– beslisboom– informatietheorie– bepaald door gebruiker
• Hiërarchisch zoeken in een klassestructuur
28Modelleren van analysetaken
Classificatie: typisch domeinschema
object type
attribute
value: universal
object class
classconstraint
requires
has-attributeclass-of
2+ 1+
Classificatie?
Modelleren van analysetaken 31
Classificatie?
Modelleren van analysetaken 32
cibreo (hanekamsaus)
ASSESSMENT
Modelleren van analysetaken 33
Assessment (beoordeling)
• case, norm, beslissing
Modelleren van analysetaken 34
35Modelleren van analysetaken
Assessment
• vind beslissingcategorie voor een case gebaseerd op domeinspecifieke normen
• enige overeenkomsten met monitoring– verschillen:
• timing: assessment is statischer van aard• andere output: beslissing t.o.v. discrepantie
Assessment?
37Modelleren van analysetaken
Assessment: abstraheer & ‘match’-methode• Abstraheer de case data
• Specificeer de normen van toepassing op de case– bijv. “rent-fits-income”, “correct-household-size”
• Selecteer een enkele norm• Bereken een waarheidswaarde voor de norm met
betrekking tot de case
• Bekijk of dit tot een beslissing leidt• Herhaal de normselectie en –evaluatie tot een beslissing is
genomen
38Modelleren van analysetaken
Assessment control: UML notation
abstract
specifynorms
selectnorm
matchdecision
evaluatenorm
[more abstractions]
[no moreabstractions] [match fails
no decision][match succeeds:decision found]
39Modelleren van analysetaken
Assessment: inferentiestructuurcase
abstractedcase norms
normvaluedecision
abstract
select
match
specify
evaluate norm
jeaninetrudy
jeanine.lengte=1.65-1.70jeanine.botstructuur=fijntrudy.lengte=1.80-1.85trudy.botstructuur=grof
{geschikte_lengte,geschikte_botstructuur}
geschikte_lengtegeschikte_botstructuur
wel_geschikte_bottengeen_geschikte_bottenwel_geschikte_lengtegeen_geschikte_lengte
wel_model_potentiegeen_model_potentieonbepaalde_model_potentie
jeanine -> jeanine.lengte=1.65-1.70jeanine ->jeanine.botstructuur=fijntrudy -> trudy.lengte=1.80-1.85trudy -> trudy.botstructuur=grof
jeanine -> {geschikte lengte, geschikte botstructuur}trudy -> {geschikte lengte, geschikte botstructuur}
{geschikte_lengte,geschikte_botstructuur} -> geschikt_lengte{geschikte_lengte,geschikte_botstructuur} -> geschikte_botstructuur
lengte=1.65-1.70 -> geen_geschikte_lengtelengte=1.80-1.85 -> wel_geschikte_lengtebotstructuur=fijn -> wel_geschikte_bottenbotstructuur=grof -> geen_geschikte_botten
geen_geschikte_botstructuur -> geen_model_potentiewel_geschikte_botstructuur, wel_geschikte_lengte -> wel_model_potentiewel_geschikte_botstructuur, geen_geschikte_lengte -> onbepaalde_model_potentie
40Modelleren van analysetaken
Assessment: method controlwhile new-solution abstract(case-description -> abstracted-
case) docase-description := abstracted-case;
end whilespecify(abstracted-case -> norms);repeat
select(norms -> norm);evaluate(abstracted-case + norm -> norm-value);evaluation-results := norm-value add evaluation-results;
until has-solution match(evaluation-results -> decision);
41Modelleren van analysetaken
Assessment: methodevariaties
• normen kunnen case-specifiek zijn– bijv. in het huisvestingvoorbeeld
• case-abstractie hoeft niet nodig te zijn
• kennisintensieve selectie van normen– willekeurig, heuristisch, statistisch– kan essentieel zijn voor efficiëntie– soms bepaald door menselijke expertise– alleen accepteerbaar als gedaan op een manier die
begrijpelijk is voor experts
42Modelleren van analysetaken
Assessment: domeinschemacase
casedatum
case datum
value: universal
decisionnorm
truth-value: boolean indicates
has abstraction
implies
decisionrule
requirement
abstractionrule
1+
1+
1+
Assessment?
DIAGNOSE
Modelleren van analysetaken 46
Diagnose
• klacht, hypothese, differential, observables, finding, evidence, fout
Modelleren van analysetaken 47
‘slechteappeloogst’
48Modelleren van analysetaken
Diagnose• vind de fout waarom systeem niet functioneert
• moet een model hebben van het systeemgedrag– default methode: eenvoudig causaal model
• soms gereduceerd tot een classificatietaak– directe afhankelijkheden tussen symptoom en fout
• automatiseren is feasible voor technisch domeinen
49Modelleren van analysetaken
Diagnose: ‘causal covering’-methode• Vind mogelijke oorzaken (hypothesen) voor de klacht
• Selecteer een hypothese
• Specificeer een ‘observable’ voor deze hypothese en ‘obtain’ een waarde
• Verifieer elke hypothese of deze consistent is met de nieuwe ‘finding’
• Ga door totdat één hypothese over is of er geen observables meer beschikbaar zijn
50Modelleren van analysetaken
Diagnose: inferentiestructuur
complaint
cover
specify
select obtain
hypothesis
observable
finding
hypothesis
verify
result
verkoop_vogue_te_laag
verkeerd_cover_modelverkeerde_strategie
verkeerd_cover_modelverkeerde_strategie verkoop_volgende_editie
verkoop_volgende_editie_is_ook_laagverkoop_volgende_editie_is_als_vanouds
equalunequalverkoop_vogue_te_laag -> verkeerd_cover_model
verkoop_vogue_te_laag -> verkeerde_strategie
{verkeerd_cover_model, verkeerde_strategie} ->verkeerd_cover_model{verkeerd_cover_model, verkeerde_strategie} ->verkeerde_strategie
verkeerd_cover_model -> verkoop_volgende_editieverkeerde_strategie -> verkoop_volgende_editie
geen(transferfunctie)
verkeerd_cover_model, verkoop_volgende_editie_is_ook_laag -> unequalverkeerd_cover_model, verkoop_volgende_editie_is_als_vanouds -> equalverkeerde_strategie, verkoop_volgende_editie_is_ook_laag -> equalverkeerde_strategie, verkoop_volgende_editie_is_als_vanouds -> unequal
51Modelleren van analysetaken
Diagnose: methodecontrolewhile new-solution cover(complaint -> hypothesis) do
differential := hypothesis add differential; end whilerepeat
select(differential -> hypothesis);specify(hypothesis -> observable);obtain(observable -> finding);evidence := finding add evidence;foreach hypothesis in differential do
verify(hypothesis + evidence -> result);if result = false then differential := differential subtract hypothesis
until length differential =< 1 or “no observables left” faults := hypothesis;
52Modelleren van analysetaken
Diagnose: methodevariaties
• opnemen van abstracties
• simulatiemethoden
53Modelleren van analysetaken
Diagnose: domeinschema
systemfeature
systemobservable
value: universal
systemstate
status: universal
fault
prevalence: number[0..1]
systemstate
systemfeature can cause
causaldependency
Diagnose?
Taaktype?
Modelleren van analysetaken 55
MONITORING
Modelleren van analysetaken 56
Monitoring
• parameter, norm, verschil, historische data, discrepantie
Modelleren van analysetaken 57
Monitoring
59Modelleren van analysetaken
Monitoring• analyseer een doorgaand proces om uit te vinden of het
naar verwachting verloopt
• belangrijke eigenschappen: – systeem is dynamische van aard – taakuitvoering is cyclisch
• output alleen een discrepantie => geen verdere uitleg
• vaak: koppelen van monitoring aan diagnose– output monitoring is input diagnose
60Modelleren van analysetaken
Monitoring: ‘data-driven’-methode
• Begint als een nieuwe ‘finding’ ‘received’ wordt
• Selecteer een parameter en specificeer een normwaarde
• Vegelijk de finding met de norm en genereer een beschrijving van het verschil
• Classificeer het verschil naar discrepanties op basis van data uit vorige ‘cycles’
61
geen(transferfunctie)
Modelleren van analysetaken
Monitoring: inferentiestructuur
newfinding select
systemmodel
specifycompare
classify
parameter
difference
norm
discrepancy
historicaldata
receive
gewicht = 49 kgvetpercentage = 13%inname = 2000 Kcal
voeding
normale inname = 2200 kcal
te weinigprecies genoegte veel
goed gevoedondervoedovervoed
normaal eetpatroonafgelopen zes dagen te weinigafgelopen zes dagen te veel
gewicht, vetpercentage, inname -> voeding
voeding -> normale inname 2200 kcal
inname 2000 kcal, normale inname 2200 kcal -> te weinigte weinig, normaal eetpatroon -> goed gevoed
te weinig, afgelopen zes dagen te weinig -> ondervoedte veel, afgelopen zes dagen te veel -> overvoed
Monitoring?
Monitoring?
Monitoring?
65Modelleren van analysetaken
Monitoring: methodecontrole
receive(new-finding);select(new-finding -> parameter) specify(parameter -> norm);compare(norm + finding -> difference);classify(difference + historical-data -> discrepancy);historical-data := finding add historical-data;
Monitoring?
Monitoring?
Monitoring?
Monitoring?
70Modelleren van analysetaken
Monitoring: methodevariaties
• ‘model-driven’ monitoring– systeem heeft het initiatief– typisch uitgevoerd op regelmatige tijdstippen– voorbeeld: software project management
• classificatiefunctie als taak ipv inferentie– pas classificatiemethode toe
• voeg inferentie voor data-abstractie toe
PREDICTION
Modelleren van analysetaken 71
Prediction
Modelleren van analysetaken 72
73Modelleren van analysetaken
‘Prediction’ (voorspelling)
• analytische taak met enige synthetische eigenschappen
• analyseert het huidige systeemgedrag om een beschrijving te geven van een toekomstige systeemtoestand
• voorbeeld: weersvoorspellen
• vaak subtaak in diagnose
• staat niet verder beschreven in het boek
INTERVIEWTECHNIEKEN
Modelleren van analysetaken 74
Interviewing
1. doel en focus
2. structuur van interview
3. kwantiteit van elicitatie
4. kwaliteit van elicitatie
Modelleren van analysetaken 75
firma interview
http://www.youtube.com/watch?v=nQFFRjzz3rM
http://www.youtube.com/watch?v=uuPNvFZ3vxc
ZELFTEST
Modelleren van analysetaken 77
Vraag 1
• Het specificeren van een norm / normen maakt onderdeel uit van:
a) monitoringb) assessementc) zowel monitoring als assessmentd) noch monitoring noch assessment
Modelleren van analysetaken 78
Vraag 2
• Welke hypothesen worden in de causal-covering diagnose methode op basis van de de evidence geverifieerd?
A) alleen de gespecificeerde hypotheseB) alle hypothesen in de differential
Modelleren van analysetaken 79
80
Vraag 3
• Dit is een typisch domeinschema van:
A) diagnoseB) assessmentC) monitoringD) classificatie
Modelleren van analysetaken
case
casedatum
case datum
value: universal
decisionnorm
truth-value: boolean indicates
has abstraction
implies
decisionrule
requirement
abstractionrule
1+
1+
1+
Vraag 4
• Hoe wordt in de ‘pruning’-classificatiemethode een attribuut gespecificeerd?
A) dmv een beslisboomB) door de gebruikerC) dat verschilt per applicatie en domein
Modelleren van analysetaken 81
Werkcolleges
1. bestuderen gehele practicumopdracht, werken aan opdracht 1 en opstarten opdracht 2
2. afronden opdracht 1, werken aan opdracht 23. afronden opdracht 2, opstarten opdracht 3
4. werken aan opdracht 3, verwerken feedback opdracht 2 (aanwezigheid verplicht)
5. afronden opdracht 3, opstarten opdracht 46. werken aan opdracht 4, verwerken feedback opdracht 3 (aanwezigheid
verplicht)7. afronden opdracht 4, opstarten opdracht 5 en 6 8. werken aan opdracht 5 en 6, verwerken feedback opdracht 4
(aanwezigheid verplicht)
Modelleren van analysetaken 82
Deadlines
• Wo 11 feb 2015: opdracht 1 (23.59 uur)
• Wo 18 feb 2015: opdracht 2 (23:59 uur)
• Wo 4 mrt 2015: opdracht 3 (23:59 uur)
• Wo 25 mrt 2015: opdracht 4 (23:59 uur)
• Ma 6 apr / wo 8 apr 2015: presentatie
• Wo 15 apr 2015: eindrapport (18:00 uur)
Modelleren van analysetaken 83