De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Practicum Kennistechnologie Docent: Bart Verheij (ook via Nestor)

Verwante presentaties


Presentatie over: "Practicum Kennistechnologie Docent: Bart Verheij (ook via Nestor)"— Transcript van de presentatie:

1 Practicum Kennistechnologie Docent: Bart Verheij (ook via Nestor)

2 Overzicht Dit vak Aion Objecten Regels

3 Doelstellingen - Ervaring opdoen met het ontwikkelen van een kennissysteem - Kennisacquisitie - Kennisrepresentatie - Ontwerpmethodologie - Leren omgaan met een ontwikkelomgeving voor kennissystemen

4 Concreet - Aan het eind van dit practicum zullen jullie zelf van begin tot eind een kennissysteem ontwikkeld hebben -Expertinterview -Projectplanning & -verslag -Bouwen van een kennissysteem inclusief documentatie -Presenteren van het kennissysteem - Ontwikkelomgeving: Aion 8.1

5 Onderwerpen Kennisacquisitie: theorie en praktijk Kennismodellering Kennisrepresentatie Grafische gebruikersinterface: ontwerp en implementatie

6 Algemene informatie 10 ECTS 1e & 2e kwartaal Voorkennis: -Propedeuse KI -Kennistechnologie

7 Vorm & toetsing Hoorcolleges op maandag (9-11, 0061) Practicum op woensdag (9-11, 0229) Het benodigde materiaal komt op de website  Introduction to Aion 8 – Student Guide  Eventueel: Introduction to Aion 8 – Workshop Instructions  Software: Aion 8 (170 MB) + een patch-programmaatje Toetsing: Aion-opdrachten, oefeninterview, probleemdefinitie, systeemontwerp, kennissysteem, eindverslag, eindpresentatie

8 Overzicht eerste kwartaal WeekCollegePracticumInleveren 36Opzet vak & afspraken Overzicht Aion Aion-opdrachten 37Eenvoudig voorbeeld ("PKT Test") Aion-opdrachtenOpdracht 1 38Wanneer een kennissysteem? Modelleren (probleem- en domeinmodel) Methodologie Aion-opdrachtenOpdracht 2 39KennisacquisitieAion-opdrachtenOpdracht 3 40OefeninterviewsAion-opdrachtenOpdracht 4 41OefeninterviewsAion-opdrachtenOpdracht 5 42OefeninterviewsAion-opdrachtenOpdracht 6 & Verslag oefeninterview

9 Overzicht tweede kwartaal WeekCollegePracticumInleveren 46Volgens afspraak Probleemdefinitie Systeemontwerp EindpresentatieEinverslag & kennissysteem

10

11 Wat is Aion? Een omgeving voor het ontwikkelen en uitvoeren van kennisgebaseerde applicaties Aion ondersteunt: –Object-georienteerd programmeren –Regelgebaseerd redeneren (‘inferencing’) Aion bestaat uit: –De Aion inference engine –Structuren voor het representeren van business knowledge –Speciale editors voor het creëren en onderhouden van business knowledge

12 Waarom Aion? Vanwege de mix van object-georiënteerd en regelgebaseerd modelleren

13 Knowledge-based System (KBS) Architectuur De belangrijkste componenten van een KBS zijn: tde knowledge base tde inference engine Inference Engine Data Definities Inferencing Controle Business Logica Procedurele Logica Knowledge Base

14 Object Object Rule RuleLibrary Aion Applicatie Structuren Libraries Objecten Regels

15 Objecten Een object is een verzameling van –Gerelateerde data –Procedures om bewerkingen uit te voeren op die data Een object vertegenwoordigt meestal een entiteit uit de ‘echte wereld’. In Aion, wordt in alle functionaliteit voorzien door objecten –User interface –Database access –Application processing –Kennisrepresentatie (regels)

16 ATTRIBUTEN METHODES Naam Risico Winstverwachting Display() Print() CLASS Investering Klassen Vertegenwoordigen iets uit het probleem domein Algemene beschrijving van vergelijkbare objecten Statisch model voor het creëren van objecten Bevatten 2 typen informatie: –Attributen zijn data definities –Methodes definiëren de procedurele logica die de data bewerkt Kunnen worden georganiseerd in een hiërarchie

17 ATTRIBUTEN METHODES Naam Risico Winstverwachting Display() Print() CLASS Investering ATTRIBUUT WAARDEN Instanties van een klasse Bevatten de werkelijke data De klasse definieert de attributen en methodes Investering 205 “KPN” “Hoog”

18 Object-georiënteerd programmeren Klassen en instanties kunnen effectief worden gebruikt door onder andere: –Encapsulatie –Klassehiërarchieën –Polymorfisme –Containment en aggregation

19 Encapsulation The practice of bundling attributes with methods that operate on those attributes –An object’s data is accessed only by the object’s methods –Outside classes call appropriate methods Isolates functionality and changes –Protects calling objects from changes to implementation –Prevents outside objects from corrupting the encapsulated data

20 Klassehiërarchieën Organiseer classes van algemeen naar specifiek Typisch model “is-een” relaties Voordelen: –Maakt het modelleren van het domein efficiënter en begrijpelijker –Modelleert relaties tussen objecten in het applicatie domein –Eigenschappen worden doorgegeven aan afgeleide classes (evt. specialisatie)

21 Polymorfisme De mogelijkheid om in meer dan 1 class methodes met dezelfde naam te implementeren. Basisklassen en afgeleide klassen kunnen dezelfde methode-aanroep op verschillende manieren uitvoeren Vorm Teken() Lijn Teken() Cirkel Teken() Vierkant Teken()

22 Containment en aggregation In de ‘echte wereld’ bestaan objecten niet geisoleerd; objecten bestaan uit andere objecten –Een auto bestaat uit een brandstof injectie systeem, wielen, remmen, enz. –Een auto heeft een eigenaar Containment en aggregation representeren ‘bestaat-uit’ en ‘heeft-een’ relaties tussen objecten

23 Regels Representeren ‘businesslogica’ Checken data en bepalen welke procedures uitgevoerd moeten worden Worden gedefinieerd in objects Een verzameling regels en de data en procedures die door de regels gebruikt worden vormen de knowledge base Object Rule Rule Object Rule Rule Object Rule Rule

24 Forward chaining Forward chaining is data-gestuurd. Een kleine hoeveelheid data kan een grote hoeveelheid nieuwe data triggeren Nieuwe data Regel acties voegen meer nieuwe data toe Forward Chaining Regels

25 Hoe werkt forward chaining? Initiële nieuwe data kan komen van:  De gebruiker  Een database  Andere bronnen Nieuwe data1 Forward Chaining Regels 2 Acties zorgen dat andere regels van toepassing worden3 Er zijn geen nieuwe regels meer van toepassing

26 Backward chaining Backward chaining is goal driven De inference engine zoekt naar regels die een antwoord geven op de vraag Hierbij wordt een lijst van subgoals gegenereerd

27 Hoe werkt backward chaining? Uitgangspunt: een top-level goal Is het waar dat… ? (Boolean) Wat voor soort… is het? (Multi-valued) Op te lossen top-level goal1 Backward Chaining Regels 2 Subgoals geïdentificeerd en opgelost3 Top-level Goal opgelost4

28 Forward of backward chaining Gebruik forward chaining als:  Je de implicaties wilt bepalen van een waardeverandering van een data item  Je een interactie wilt waarbij zoveel mogelijk informatie op een formulier wordt ingevuld Gebruik backward chaining als:  Je de waarde van een bepaalde variabele wilt bepalen (classificatie)  Je een interactie wilt van het type vraag en antwoord dialoog

29 Procedural code vs rules Procedural code –Specifies exactly how control flows from statement to statement –Uses exhaustive step-by-step instructions for arriving at results –Typical OOP method implementation Rules –Declarative code –State business facts and relationships using simple IF-THEN statements –Can be written and posted in any order –Flow determined by inference engine

30 Voordelen van het werken met regels: Een regelbestand is declaratief (‘leesbaar’) Een regelbestand kan gemakkelijk worden aangepast Codering van regels is onafhankelijk van het doel De volgorde is niet van belang


Download ppt "Practicum Kennistechnologie Docent: Bart Verheij (ook via Nestor)"

Verwante presentaties


Ads door Google