Kennisacquisitie en - modellering Rogier van Eijk

Post on 23-Feb-2016

35 views 0 download

description

Kennisacquisitie en - modellering Rogier van Eijk. college 4 Domeinmodellering en elicitatie. Vorige keer : taaktypen en taakmethoden. Vandaag:. Hoe het domein te modelleren? Activity diagrams: Notaties Begrijpen van elicitatietechnieken. Domeinmodelleren. Soorten kennis. - PowerPoint PPT Presentation

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