Practicum Kennistechnologie

Slides:



Advertisements
Verwante presentaties
Testen van embedded systemen
Advertisements

Project Software Engineering
Stijn Hoppenbrouwers Software Engineering les 1 Algemene inleiding en Requirements Engineering.
Programmeren in Java met BlueJ
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Het ER model Een powerpoint presentatie, gemaakt door: F. Triep
Programmeren met Alice
Software Architectuur Over de samenhang der dingen = Over de connecties tussen componenten Over de afhankelijkheden tussen modules Over de belangen van.
Dienstencatalogus 24 november Programma Wat is een productencatalogus Alle componenten op een rij – De generieke informatie – De specifieke informatie.
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 1.
Overzicht Inleiding kennisacquisitie Elicitatietechnieken
Semantic wiki’s voor Semantic web onderwijs NIOC 2011, 8 april 2011 Lloyd Rutledge en Harold Pootjes Open Universiteit.
HALLO OPLETTEN : Waarom sql DOEN : Introductie opdracht
Overzicht eerste kwartaal (herzien)
<Mdl01 hoorcollege 1>
Greenfoot Workshop Bobby - Snake.
Hoofdstuk 6: Controle structuren
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen College 5.
1 Orientatie InformatieSystemen K.M.van Hee hgl. architectuur van informatiesystemen dir. Deloitte & Touche Bakkenist TU/e 2001.
Ontwerpen van Informatiesystemen met
Interaction diagrams: Sequence Diagram
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
De onderwerpen 1Rombouts, Jaldert Olaf Verhoef, Tessa Zwinderman, Matthijs Jan Schilderkunstclassificatie 2Does, Kim Holtkamp, Michiel Jeroen Kemna, Stephanie.
HALLO OPLETTEN : Waarom sql DOEN : Introductie opdracht
Inleidend probleem Data structuur (hiërarchie van classes)
Martin Caminada / Wiebren de Jonge Vrije Universiteit, Amsterdam
Databases I (H. 1) Wiebren de Jonge Vrije Universiteit, Amsterdam Voorlopige versie 2003.
Inleiding Kennistechnologie §Hoofdstuk 7: Kennisrepresentaties 1: Eigenschappen en representatievormen §Hoofdstuk 8: Kennisrepresentaties 2: Eenvoud en.
Designing Knowledge Systems b Hoofdstuk 11 van Knowledge Engineering and Management. The CommonKADS Methodology. b A.Th. Schreiber, J.M. Akkermans, A.A.Anjewierder,
1 OMI Technisch ontwerp. 2 Technisch ontwerp ‘content’ Veel breder dan business portals (Carlson) Verschillende aspecten / aandachtspunten:
Webapplicaties: de clientkant in het universitaire onderwijs Sylvia Stuurman – Herman Koppelman Faculteit Informatica.
Sprint 3 SuperPC JEF 02 Corbin van Amelsfoort Geoffrey Hofstede
Informatiesystemen in de Bouw
Object georiënteerd programmeren in Alice
Windows Applicaties Bouwen met Visual Studio.NET Sijmen Koffeman Development Consultant Microsoft.
OWL toepassing in Semantic Media Wiki
Sparkle een bewijssysteem voor Clean Maarten de Mol Katholieke Universiteit Nijmegen 11 januari 2002.
Interfaces Hoofdstuk 23 Hoofdstuk 23.
Experimenteren op Afstand SURF/DU dag – 7 oktober 2004 Gaming, Simulaties, Cases: Authentic Learning Leendert van Gastel Universiteit van Amsterdam.
Besturingssysteem Vaak wordt de Engelse term gebruikt: Operating System ( OS ) Plaats van het OS in een computersysteem: Hardware Applicatie Operating.
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Constructie van het kennismodel
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Java Objectgeoriënteerd Programmeren in Java met BlueJ
Java Objectgeoriënteerd Programmeren in Java met BlueJ Hoofdstuk 7 Polymorfie en overerving © 2014, Gertjan Laan, versie 2.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
GegevensAnalyse Les 2: Bouwstenen en bouwen. CUSTOMER: The Entity Class and Two Entity Instances.
Nieuwe cursus: Semantic web TouW-Informatica Symposium, 13 november 2010, Amsterdam Lloyd Rutledge.
1 KPN Mobiel – Introductie Repository Object Browser & Designer 10 Designer 10g & Repository Object Browser Maandag 28 februari 2005 Lucas Jellema (AMIS)
OOP en.NET. Objecten Is geen ‘nieuw’ mysterieus woord Overal om ons heen zien we objecten: – TV – Computer – Auto – Wasmachine – ….
Presentatie afstudeeropdracht Datum: 02 april 2011 Naam: Azar Lalmohamed Studie: BPMIT.
Windows applicatieontwikkeling
– Software development fundamentals
Key Process Indicator Sonja de Bruin
Objectgeoriënteerd Programmeren
Frontend Oss
Object georiënteerd programmeren
Onderzoekend leren in de natuurwetenschappen
Werkwijze Hoe zullen we als groep docenten te werk gaan?
ASP.NET MVC Web Development
Participatory Action Research
ASP.NET MVC Web Development
SQL Les February 2019.
Software Development fundamentals
Software Development fundamentals
SQL Les May 2019.
Software Development fundamentals
Software Development fundamentals
Transcript van de presentatie:

Practicum Kennistechnologie Docent: Bart Verheij b.verheij@ai.enz www.ai.rug.nl/~verheij/ www.ai.rug.nl/vakinformatie/pract-kentech/ (ook via Nestor)

Overzicht Dit vak Aion Objecten Regels

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

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

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

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

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

Overzicht eerste kwartaal Week College Practicum Inleveren 36 Opzet vak & afspraken Overzicht Aion Aion-opdrachten 37 Eenvoudig voorbeeld ("PKT Test") Opdracht 1 38 Wanneer een kennissysteem? Modelleren (probleem- en domeinmodel) Methodologie Opdracht 2 39 Kennisacquisitie Opdracht 3 40 Oefeninterviews Opdracht 4 41 Opdracht 5 42 Opdracht 6 & Verslag oefeninterview

Overzicht tweede kwartaal Week College Practicum Inleveren 46 Volgens afspraak Probleemdefinitie 47 - 48 Systeemontwerp 49 50 51 2 Eindpresentatie Einverslag & kennissysteem

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 Student Guide p. 1-1, “Overview of Knowledge-Based Systems”

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

Knowledge-based System (KBS) Architectuur Inference Engine De belangrijkste componenten van een KBS zijn: de knowledge base de inference engine Data Definities Inferencing Controle Business Logica Procedurele Knowledge Base Student Guide pp. 1-12:1-17, “Knowledge-based System Architecture”

Aion Applicatie Structuren Libraries Objecten Regels Object Rule Library Libraries: Contain groups of related objects Enable you to reuse objects in different applications Promote consistency and economy in developing code Make it easier for several developers to partition work Enable distribution of an application as components The Application Library The primary library of an Aion application Contains an entry class Usually called Main Used by Aion to start program execution May contain other classes User interface classes (main window) Component interface classes A library is stored in a .app file. Current library is the one open for editing in Aion. You have Write access to objects defined in the current library Read access to objects defined in included libraries At runtime An application library is deployed as a .exe file Other libraries are deployed as .dll files

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) Student Guide p. 2-7, “Objects”

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 ATTRIBUTEN METHODES Naam Risico Winstverwachting Display() Print() CLASS Investering

Instanties van een klasse Bevatten de werkelijke data De klasse definieert de attributen en methodes CLASS Investering Naam Risico Winstverwachting ATTRIBUTEN METHODES Comparing Class and Instance Attributes Both are defined in a class Class attribute values are contained in the class itself Instance attribute values are contained in the instances themselves Instance methods operate on a particular instance Class methods act on multiple instances of the class or on the class as a whole Investering 205 “KPN” “Hoog” 1.0925 1.0850 Display() Print() ATTRIBUUT WAARDEN 1.1250

Object-georiënteerd programmeren Klassen en instanties kunnen effectief worden gebruikt door onder andere: Encapsulatie Klassehiërarchieën Polymorfisme Containment en aggregation Student Guide p. 2-14, “Object-oriented Programming Concepts”

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 Student Guide pp. 2-14:2-15, “Encapsulation” Related tactics: Define accessor methods to get/set attribute values Use access types to limit access to attributes and methods

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) Student Guide p. 2-15, “Class Hierarchies” Specialisatie: The ability to customize attributes and methods in derived classes Makes a copy of the method or attribute in the derived class You can make changes to that copy You also can add attributes and methods to derived classes Typically, instances are created from the classes at the lowest levels of the class hierarchy

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 Cirkel Vierkant

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 Student Guide pp. 2-20:2-21, “Containment and Aggregation”

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

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

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

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 Student Guide pp. 3-13:3-15, “Reasoning with Backward Chaining Rules”

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 goal 1 Backward Chaining Regels 2 Subgoals geïdentificeerd en opgelost 3 Top-level Goal opgelost 4

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

Procedural code vs rules 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 Student Guide p. 2-24, “Procedural Code versus Rules”

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 Student Guide p. 3-4, “Advantages of Expressing Business Logic with Rules”