Constructie van het kennismodel Context models CommonKADS course Constructie van het kennismodel Koppelen van taak, inferentie en domein Het proces van kennismodelleren Elicitatietechnieken Interview deels gebaseerd op boek en slides ‘The CommonKADS Methodology’ Constructie van het kennismodel
De vele onderdelen van een kennismodel concepten regeltypen regels instanties tuples relaties taakmethoden taaktypen taakdecompositie taaktemplates inferenties dynamische kennisrollen statische kennisrollen domeinschema kennisbank inferentiestructuur annotaties domain mappings connection symbols transferfuncties … Constructie van het kennismodel
samenhang Constructie van het kennismodel
CommonKADS Modelverzameling Introduction CommonKADS course CommonKADS Modelverzameling Organization Model Task Agent Knowledge Communication Design Context Concept Artefact
Overzicht kennismodel Knowledge-modelling basics CommonKADS course Overzicht kennismodel Ziekte (type) Symptoom Test hypothesize (inferentie) verify DIAGNOSE (taak) Taakkennis taakdoelen taakdecompositie taakcontrole Inferentiekennis basisinferenties rollen Domeinkennis domeintypes domeinregels domeinfeiten Constructie van het kennismodel
Hoe hangt het kennismodel samen? iedere inferentie uit de taakmethode heeft kennisrollen die worden via ‘domain mappings’ aan domeinconstructen (bijv. concepten, regeltypes) gekoppeld waarvan de daartoe behorende instanties (bijv. feiten en regels) in de kennisbank staan. als hulpmiddel daarbij gebruiken we een inferentiestructuur met annotaties Constructie van het kennismodel
Stappenplan vanuit taakmethode Start met taakmethode Maak een inferentiestructuur Annoteer met domeinvoorbeelden Construeer concepten, relaties en regeltypes Definieer inferenties en ‘domain mappings’ Vul kennisbank Constructie van het kennismodel
voorbeeld Classificatie Constructie van het kennismodel
Modelleren van analysetaken
taakmethode Constructie van het kennismodel
Knowledge-modelling basics CommonKADS course Taakmethode beschrijft de realisatie van een taak als een decompositie in subfuncties subfuncties: een andere taak, inferentie, transferfunctie hoofdbestanddeel van een methode: “controlestructuur” volgorde van subfuncties klein programma beschrijft de redeneerstrategie additionele taakrollen om tussentijdse redeneerresultaten in op te slaan Basis van kennismodelleren
Template knowledge models CommonKADS course taakmethode while new-solution generate(object -> class) do candidate-classes := class add 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; Constructie van het kennismodel
Construeer de Inferentiestructuur Constructie van het kennismodel
Template knowledge models CommonKADS course inferentie-structuur Let op deze bolletjes: Wat betekenen ze? Constructie van het kennismodel
Annoteer met domeinvoorbeelden Constructie van het kennismodel
Knowledge-modelling basics CommonKADS course
Template knowledge models CommonKADS course {tina, vogue, margriet} -> leeftijd {tina, vogue, margriet} -> sex appeal jeanine trudy leeftijd sex appeal tina, wel sexappeal -> onwaar tina, geen sexappeal -> waar tina, 35 jaar -> onwaar tina, 15 jaar -> waar vogue, wel sexappeal -> waar vogue, geen sexappeal -> onwaar vogue, 35 jaar -> onwaar vogue, 15 jaar -> waar margriet, wel sexappeal -> onwaar margriet, geen sexappeal -> waar margriet, 35 jaar -> waar margriet, 15 jaar -> onwaar geen (transferfunctie) 35 jaar 15 jaar wel sex appeal geen sex appeal tina vogue margriet jeanine -> tina jeanine -> vogue jeanine -> margriet trudy-> tina trudy -> vogue trudy -> margriet waar onwaar geannoteerde inferentie-structuur Constructie van het kennismodel
Construeer concepten Constructie van het kennismodel
Knowledge-modelling basics CommonKADS course Concept en attribuut “Concept” beschrijft een verzameling objecten/instanties Georganiseerd in concepthiërarchieën Kunnen een willekeurig aantal attributen hebben Een attribuut refereert naar een waarde Waardes zijn atomair en gedefinieerd via waardetypes Basis van kennismodelleren
Template knowledge models CommonKADS course jeanine trudy model leeftijd sex appeal model_attribuut leeftijd: waarde: 0..120 35 jaar 15 jaar wel sex appeal geen sex appeal tina vogue margriet tijdschrift sex-appeal waarde: boolean waar onwaar concepten Constructie van het kennismodel
Construeer Relaties Constructie van het kennismodel
Knowledge-modelling basics CommonKADS course Relatie typisch tussen concepten elke ariteit (plaatsigheid) specificatie van kardinaliteit speciale constructie voor binaire relaties relaties kunnen attributen hebben Basis van kennismodelleren
Template knowledge models CommonKADS course {tina, vogue, margriet} -> leeftijd {tina, vogue, margriet} -> sex appeal jeanine trudy model leeftijd sex appeal model_attribuut heeft- attribuut relaties kan op de cover van 35 jaar 15 jaar wel sex appeal geen sex appeal tina vogue margriet tijdschrift jeanine -> tina jeanine -> vogue jeanine -> margriet trudy-> tina trudy -> vogue trudy -> margriet waar onwaar Constructie van het kennismodel
Construeer RegelTypen Constructie van het kennismodel
Knowledge-modelling basics CommonKADS course Regeltype modelleert een relatie tussen expressies over ‘feature’-waardes (attribuutwaarden) gas-dial.value = zero -> fuel-tank.status = empty modelleert een verzameling van echte-wereld “regels” met een overeenkomende structuur afhankelijkheid is meestal niet strict logisch (= implicatie) specificeer een ‘connection symbol’ Basis van kennismodelleren
Template knowledge models tina, wel sexappeal -> onwaar tina, geen sexappeal -> waar tina, 35 jaar -> onwaar tina, 15 jaar -> waar vogue, wel sexappeal -> waar vogue, geen sexappeal -> onwaar vogue, 35 jaar -> onwaar vogue, 15 jaar -> waar margriet, wel sexappeal -> onwaar margriet, geen sexappeal -> waar margriet, 35 jaar -> waar margriet, 15 jaar -> onwaar CommonKADS course model_attribuut leeftijd: waarde: 0..120 35 jaar 15 jaar wel sex appeal geen sex appeal tina vogue margriet tijdschrift sex-appeal waarde: boolean vereist tijdschrift-constraints regeltype Constructie van het kennismodel
Inferenties en transferfuncties Definieer Inferenties en transferfuncties Constructie van het kennismodel
Knowledge-modelling basics CommonKADS course Inferentiekennis beschrijft het laagste niveau van functionele decompositie basis informatieverwerkende eenheden: inferentie => redeneren transferfunctie => communicatie met andere agenten waarom speciale status? indirect gerelateerd aan domeinkennis maakt hergebruik van inferenties mogelijk Basis van kennismodelleren
Template knowledge models CommonKADS course INFERENCE specify; ROLES: INPUT: candidate-classes; OUTPUT: attribute; STATIC: specification-model; END INFERENCE specify; inferenties en transferfuncties TRANSFER-FUNCTION obtain; TYPE: OBTAIN; ROLES: INPUT: attribute; OUTPUT: feature; END TRANSFER-FUNCTION obtain; INFERENCE generate; ROLES: INPUT: object; OUTPUT: candidate; STATIC: generation-model; END INFERENCE generate; INFERENCE match; ROLES: INPUT: candidate, current- feature-set; OUTPUT: truth-value; STATIC: match-model; END INFERENCE match; Constructie van het kennismodel
Definieer Domain mappings Constructie van het kennismodel
Knowledge-modelling basics CommonKADS course Kennisrol Functionele naam voor data/kenniselementen Naam beschrijft de “rol” van het element in het redeneerproces Expliciete ‘mapping’ op domeintypes Dynamische rol: variërende input/output Statisch rol: invariante input vgl. een kennisbank Basis van kennismodelleren
Template knowledge models CommonKADS course KNOWLEDGE-ROLE object; TYPE: DYNAMIC; DOMAIN-MAPPING: model; END KNOWLEDGE-ROLE object; model tijdschrift kan op de cover van KNOWLEDGE-ROLE generation-model; TYPE: static; DOMAIN-MAPPING: kan-op-de-cover-van; END KNOWLEDGE-ROLE generation-model; KNOWLEDGE-ROLE candidate; TYPE: DYNAMIC; DOMAIN-MAPPING: tijdschrift; END KNOWLEDGE-ROLE candidate; domain mappings Constructie van het kennismodel
Template knowledge models CommonKADS course KNOWLEDGE-ROLE specification-model; TYPE: static; DOMAIN-MAPPING: heeft-attribuut; END KNOWLEDGE-ROLE specification-model; model_attribuut heeft- attribuut tijdschrift KNOWLEDGE-ROLE attribute; TYPE: DYNAMIC; DOMAIN-MAPPING: model-attribuut; END KNOWLEDGE-ROLE attribute; KNOWLEDGE-ROLE candidate-classes; TYPE: DYNAMIC; DOMAIN-MAPPING: SET-OF tijdschrift; END KNOWLEDGE-ROLE candidate-classes; domain mappings Constructie van het kennismodel
Template knowledge models CommonKADS course KNOWLEDGE-ROLE current-feature-set; TYPE: DYNAMIC; DOMAIN-MAPPING: SET-OF model-attribuut ; END KNOWLEDGE-ROLE current feature-set; deze kennisrol is al gedefinieerd; tijdschrift vereist model_attribuut tijdschrift-constraints KNOWLEDGE-ROLE match-model; TYPE: static; DOMAIN-MAPPING: tijdschrift-constraints; END KNOWLEDGE-ROLE match-model; domain mappings Constructie van het kennismodel
Vul de Kennisbank Constructie van het kennismodel
Knowledge-modelling basics CommonKADS course Kennisbank bevat instanties van kennistypes regeltype instanties = “regels” structuur: USES: <types used> from <schema> EXPRESSIONS: <instances> Basis van kennismodelleren
Template knowledge models INSTANCE jeanine; INSTANCE-OF: model END INSTANCE INSTANCE trudy; CommonKADS course model tijdschrift INSTANCE tina; INSTANCE-OF: tijdschrift END INSTANCE INSTANCE vogue; INSTANCE margriet; kennisbank: instanties van concepten Constructie van het kennismodel
Template knowledge models CommonKADS course model kan op de cover van TUPLE INSTANCE-OF: kan_op_de_cover_van; ARGUMENT 1: jeanine ARGUMENT 2: vogue END INSTANCE tijdschrift TUPLE INSTANCE-OF: kan_op_de_cover_van; ARGUMENT 1: trudy ARGUMENT 2: tina END INSTANCE kennisbank: instanties van relaties Constructie van het kennismodel
Template knowledge models TUPLE INSTANCE-OF: heeft_attribuut; ARGUMENT 1: vogue ARGUMENT 2: sex-appeal END INSTANCE CommonKADS course model_attribuut heeft- attribuut TUPLE INSTANCE-OF: heeft_attribuut; ARGUMENT 1: tina ARGUMENT 2: leeftijd END INSTANCE tijdschrift kennisbank: instanties van relaties Constructie van het kennismodel
Template knowledge models CommonKADS course model_attribuut tijdschrift-constraints tijdschrift vereist tina vereist sex-appeal=true tina vereist leeftijd >10 AND leeftijd <16 vogue vereist sex-appeal=true vogue vereist leeftijd >15 AND leeftijd <30 margriet vereist sex-appeal=false vogue vereist leeftijd >25 AND leeftijd <45 kennisbank: instanties van regeltypes (regels) Constructie van het kennismodel
Stappenplan vanuit taakmethode Start met taakmethode Maak een inferentiestructuur Annoteer met domeinvoorbeelden Construeer concepten, relaties en regeltypes Definieer inferenties en ‘domain mappings’ Vul kennisbank Constructie van het kennismodel
Het proces van Kennismodelleren Constructie van het kennismodel
Stadia in de constructie van een kennismodel Knowledge-model construction CommonKADS course Stadia in de constructie van een kennismodel knowledge identification specification - choose task template (provides initial task decomposition) - construct initial domain conceptualization (main domain information types) - complete knowledge-model specification (knowledge model with partial knowledge bases) - domain familiarization (information sources, glossary, scenarios) - list potential model components for reuse (task- and domain-related components) - validate knowledge model (paper simulation, prototype of reasoning system) - knowledge-base refinement (complete the knowledge bases) refinement TYPISCHE ACTIVITEITEN STADIA Constructie van het kennismodel
Middle-in and Middle-out Knowledge-model construction CommonKADS course Middle-in and Middle-out DOMAIN SCHEMA concepts relations rule types Expressions in knowledge bases KNOWLEDGE BASE DEFINITIONS role mapping defines control over middle in middle out tasks and methods inference structure Constructie van het kennismodel
Experttypes: Academicus Knowledge-model construction CommonKADS course Experttypes: Academicus domein heeft een logische structuur praat veel nadruk op generalisaties en wetten moet van zichzelf een consistent verhaal afleveren staat verder af van het oplossen van dagelijkse problemen Constructie van het kennismodel
Experttypes: Praktijkdeskundige Moet veel dagelijkse problemen oplossen Heeft een impliciet begrip van het domein Nadruk op praktische problemen en bezwaren Gebruikt veelal heuristieken Constructie van het kennismodel
Elicitatietechnieken
Knowledge-model construction CommonKADS course Laddering Organiseren van entiteiten in een hiërarchie Knopen kunnen van willekeurig type zijn klasse, proces, relatie, … Met name geschikt voor de beginfase ‘knowledge identification’ Constructie van het kennismodel
Knowledge-model construction CommonKADS course jonger publiek Voorbeeld tina tijdschrift vogue hip covergirl fijne bottenstructuur modellen eisen zo jong mogelijk Constructie van het kennismodel
Concept (card) sorting Knowledge-model construction CommonKADS course Concept (card) sorting Techniek: geef de expert een stapel kaarten met conceptnamen laat de expert deze sorteren in stapels Helpt relaties te vinden Vooral geschikt voor subtiliteiten Gemakkelijk uit te voeren Complementair aan repertorgy grid concept sorting: nominale categorieën repertory grid: ordinale categorieën Constructie van het kennismodel
Voorbeeld card sorting Knowledge-model construction CommonKADS course Voorbeeld card sorting tina vogue geschikt ongeschikt geschikt ongeschikt trudy rachelle rachelle wendy cindy reinanka cindy reinanka wendy roxanne roxanne trudy Constructie van het kennismodel
George Kelly: “Elke mens is een wetenschapper” Repertory grid George Kelly: “Elke mens is een wetenschapper”
Repertory Grid Basismechanisme: Eliciteert constructen vergelijk steeds 3 elementen waarop zijn twee gelijk en verschillen ze van de derde? Eliciteert constructen scalair en bipolair
Knowledge-model construction CommonKADS course Repertory grid Gebaseerd op personal construct theory (Kelly, 1955) Expert: discrimineer triades van elementen Kelly en Wendy versus Jasmijn Expert wordt gevraagd naar onderscheidend feature Bijvoorbeeld “fijne botstructuur” Herhaal tot geen nieuwe features worden gevonden Scoor alle elementen met betrekking tot alle features Matrix wordt geanalyseerd met clusteranalyse Handig om hier een tool bij te gebruiken Constructie van het kennismodel
Repertory Grid Pas toe op: appel, citroen, sinaasappel appel, citroen, banaan bloemkool, citroen, banaan Gordon, Jeroen van der Boom, Rene Froger diagnose, monitoring, assignment diagnose, monitoring, assessment 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? havik, valk, … tahoe, tempeh, … assignment, scheduling, … accu, benzinetank, …
Knowledge-model construction CommonKADS course Voorbeeld grid trudy wendy cindy hansje demie susan fijne botstructuur 1 1 1 3 9 3 sex-appeal 1 9 1 6 4 6 jong 9 4 9 9 3 9 Constructie van het kennismodel
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?
Interviewing doel en focus structuur van interview kwantiteit van elicitatie kwaliteit van elicitatie Constructie van het kennismodel
firma interview – part 3 http://www.youtube.com/watch?v=FfxHwaFlqTM
Volgende college maandag 30 maart 9:00-10:45 'Knowledge engineering in de praktijk' maandag 30 maart 9:00-10:45 Roel van den Broek, directeur The Logic Factory Behandelt ook tentamenstof die niet in het boek beschreven staat, wees er dus bij! Constructie van het kennismodel
Werkcolleges bestuderen gehele practicumopdracht, werken aan opdracht 1 en opstarten opdracht 2 afronden opdracht 1, werken aan opdracht 2 afronden opdracht 2, opstarten opdracht 3 werken aan opdracht 3, verwerken feedback opdracht 2 (aanwezigheid verplicht) afronden opdracht 3, opstarten opdracht 4 werken aan opdracht 4, verwerken feedback opdracht 3 (aanwezigheid verplicht) afronden opdracht 4, opstarten opdracht 5 en 6 werken aan opdracht 5 en 6, verwerken feedback opdracht 4 (aanwezigheid verplicht) Constructie van het kennismodel
Wo 25 mrt 2015: opdracht 4 (23:59 uur) 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) Wo 8 apr 2015: presentaties Wo 15 apr 2015: eindrapport (18:00 uur) Constructie van het kennismodel