====== Knowledge Engineering ====== ---- ===== News ===== Dear students,\\ If you do not want to accept your grade in Knowledge Engineering, you can improve the project and add a graphical modeling language for meals using ADOxx. Holger and I will offer a coaching session about this improvement on * Friday, 2nd of September, at 10:00 am online: [[https://unicam.webex.com/meet/knut.hinkelmann]] In the beginning we will provide general information about what we expect. Then we will make individual coachings with each team. Best regards, Holger and Knut Dear students,\\ Please share your credentials with us: [[https://forms.gle/8y8CHDkvpUuwe5e3A | Google Form]]. We would be happy to have you matriculation number and your e-mail addresses because typing your grades into the ESS3 system gets much easier. Also we might need to inform you about something via e-mail sometimes.\\ Best regards\\ Holger Dear students,\\ we welcome you to our lecture. Looking forward to inspire you with "Knowledge Engineering".\\ Best regards\\ Knut and Holger ---- ===== General Info ===== **Teacher**: * [[http://knut.hinkelmann.ch|Prof. Knut Hinkelmann]] * [[http://holger-wache.ch|Prof. Holger Wache]] **ESSE3 Link** * [[https://didattica.unicam.it/Guide/PaginaADErogata.do?ad_er_id=2021*N0*N0*S2*17828*7573&ANNO_ACCADEMICO=2021&mostra_percorsi=S|Knowledge Engineering - AY 2021/22]] **Scheduling of Lectures**: * We teach block-wise, i.e. not every week. Please refer to our {{ :didattica:ay2122:ke:weekschedule.pdf |schedule}}. * In general scheduling is available at the following [[:didattica:ay2122:orario_it|link]] (WARNING: The [[:didattica:ay2122:orario_en|English page]] seems to be outdated) **Degrees**: * [[didattica:mscs|MSc in Computer Science (LM-18)]] ---- ===== Course Objectives ===== == Supporting Knowledge-Intensive Processes == Knowledge-intensive processes are more unstructured processes with a lot of involvements of users with their experience. Supporting such processes at their levels requires modelling and enacting several different forms of knowledge. In general more explicit represented knowledge allows better support. But different forms of knowledge need different intuitive and adequate representations and inferences. There are several moethods to formally represent knowledge. Graphical models can be an intuitive means to add knowledge into knowledge-based systems. Instead of manually creating knowledge bases, knowledge can also be learned from data. We distinguish between symbolic learning (learning decision trees andss case-based reasoning) and sub-symbolic learning (neural networks) After completion of this module, the participants will be able to assess which kind of knowledge representation and reasoning is adequate and are able to develop appropriate knowledge-based systems. They can value the advantages of knowledge-based systems with respect to their costs and apply several methods to create knowledge bases. ---- ===== Course Contents ===== * Introduction: Knowledge in processes * Decision Tables * Rules * Textual represented rule (i.e. Horn clauses) * Forward and backward chaining * Data-driven and Goal-oriented * Negation-as-failure * Object-centred Systems * F-Logic/Objectlogic * Fuzzy Logic * Human-interpretation vs. machine-interpretation * Graphical modeling * Ontology-based modeling * Machine Learning: Learning Decision Trees * Case-Based Reasoning * Neuronal Networks ---- ===== Study material ===== **Course Material** * {{ :didattica:ay2122:ke:ke-0-organization.pdf |Organisation}} * Lecture "Introduction" * Slides: {{ :didattica:ay2122:ke:ke-1-introduction.pdf |Introduction}} * {{ :didattica:ay2122:ke:davenport_2010_process_management_for_knowledge_work.pdf | Davenport, T. H. (2010). Process Management for Knowledge Work. In J. vom Brocke & M. Rosemann (Eds.), Handbook on Business Process Management 1 (pp. 17–36). Berlin, Heidelberg: Springer.}} * Exercise/Homework: {{ :didattica:ay2122:ke:exercise_knowledge_types_for_admission.pdf | Types of Knowledge}} * Lecture "Knowledge in Processes" * Slides: {{ :didattica:ay2122:ke:ke-2_knowledge_and_processes.pdf |Decision-Aware Business Processes}} * Slides: {{ :didattica:ay2122:ke:example_decision-aware_process_modeling.pdf |Example: Admission as a Decision-aware Business Process}} * Lecture "Decision Tables" * Slides: {{ :didattica:ay2122:ke:ke-3-decisontables.pdf |Decision Tables - DMN}} * Exercise: {{ :didattica:ay2122:ke:exercise_dmn_for_booking_price.pdf |DMN for Booking Price}} * Example: {{ :didattica:ay2122:ke:booking_price_calculation.zip |Price Calculation for Room Booking}} * Reading: [[http://blog.maxconsilium.com/2014/09/introduction-to-decision-model-notation.html|Introduction into DMN]] * Exercise: {{ :didattica:ay2122:ke:exercise_decision_table_reduction.pdf |Reduction of Decision Tables}}, {{ :didattica:ay2122:ke:dmn_decision_table_reimbursement.xlsx |Sample Table}} * Exercise: {{ :didattica:ay2122:ke:exercise_decision_modeling_admission.pdf |Decision Modeling for Admission}} * Tools: * Download: [[https://camunda.com/download/modeler/|Camunda Workflow and Decision Modeler]] * Online: [[https://camunda.com/dmn/simulator/|Camunda Decision Simulator]] * Lecture “Rule-based Systems” * Slides: {{ :didattica:ay2122:ke:ke-4-logic_programming.pdf |Rule-based Systems}} * Reasoning examples: {{ :didattica:ay2122:ke:ke-4-logic_programming-reasoningexample_simpe.pdf |simple}} and {{ :didattica:ay2122:ke:ke-4-logic_programming-reasoningexample_ancestor.pdf |ancestor}} * Exercise: {{ :didattica:ay2122:ke:ke-4-1-exercise_university.pdf |University}} and {{ :didattica:ay2122:ke:ke-4-1-exercise_university_solution.pdf |Solution}} * Exercise: {{ :didattica:ay2122:ke:ke-4-2-exercise_family_rules.pdf |Family}} and {{ :didattica:ay2122:ke:ke-4-2-exercise_family_rules_solution.pdf |Solution}} * Exercise: {{ :didattica:ay2122:ke:ke-4-3-exercise_smallexamples.pdf |Further small examples}} and {{ :didattica:ay2122:ke:ke-4-3-exercise_smallexamples_solution.pdf |Solution}} * Exercise: {{ :didattica:ay2122:ke:ke-4-5-exercise_minisudoku.pdf |Mini Sudoku}} and {{ :didattica:ay2122:ke:ke-4-5-exercise_minisudoku_solution.pdf |Solution}} * Exercise: {{ :didattica:ay2122:ke:ke-4-7-exercise_friendship.pdf |Friendship}} and {{ :didattica:ay2122:ke:ke-4-7-exercise_friendship_solution.pdf |Solution}} * {{ :didattica:ay2122:ke:ke-4-homeexercise_masterdecisions.pdf |Home Work}} with {{ :didattica:ay2122:ke:ke-4-homeexercise_masterdecisions_solution.pdf |Solution}} * Nice browser-based [[http://swish.swi-prolog.org|Prolog Engine]] * Lecture “Forward- and Backward Chaining” * Slides: {{ :didattica:ay2122:ke:ke-5_fc_vs_bc.pdf |Forward- and Backward Chaining}} * Lecture “Fuzzy logic” * Slides: {{ :didattica:ay2122:ke:ke-6-fuzzylogic.pdf |Fuzzy Logic}} * Exercise: {{ :didattica:ay2122:ke:ke-6-1-exercise_define_fuzzy_set.pdf |Fuzzy Sets}} and {{ :didattica:ay2122:ke:ke-6-1-exercise_define_fuzzy_set_solution.pdf |Solution}} * Exercise: {{ :didattica:ay2122:ke:ke-6-2-exercise_fuzzy_set_operations.pdf |Fuzzy Set Operations}} and {{ :didattica:ay2122:ke:ke-6-2-exercise_fuzzy_set_operations_solution.pdf |Solution}} * Exercise: {{ :didattica:ay2122:ke:ke-6-3-exercise-credit_analysis.pdf |Credit Analysis}} * Jamboard as {{ :didattica:ay2122:ke:2022-04-04-jamboard.pdf |PDF}} * {{ :didattica:ay2122:ke:ke-6-homeexercise_masterdecisions.pdf |Home Work}} and {{ :didattica:ay2122:ke:ke-6-homeexercise_masterdecisions_solution.pdf |Solution}} * Lecture “Knowledge Nets and RDF” * Slides: {{ :didattica:ay2122:ke:ke-7-rdf_knowledgenets.pdf |Knowledge Nets and RDF}} * Exercise: {{ :didattica:ay2122:ke:ke-7-1-exercise-rdf-graph.pdf |RDF Graphs}} and Solution * Exercise: {{ :didattica:ay2122:ke:ke-7-2-exercise-rdf-schema.pdf |RDF Schema}} and Solution * Exercise: {{ :didattica:ay2122:ke:ke-7-3-exercise-rdfs-inferences.pdf |RDF Schema Inferences}} and Solution * Lecture “Ontology Engineering” * Slides: {{ :didattica:ay2122:ke:ke-8_ontology_engineering.pdf |Ontology Engineering}} * Slides: {{ :didattica:ay2122:ke:ke-8-2_ontologies_and_rules.pdf |Ontologies and Rules}} * Example: {{ :didattica:ay2122:ke:ke2022.zip |Ontology for university teaching to open in Protege}} * Exercise: {{ :didattica:ay2122:ke:exercise_-_business_process_ontology.pdf |Business Process Ontology}} * {{ :didattica:ay2122:ke:bpm_and_university_ontologies.zip |University and Business Process Ontologies to open in Protege}} * {{ :didattica:ay2122:ke:prolog_and_ontologies.pdf |Representing the knowledge in Prolog and RDFS}} * Literature: Noy, N. F., & McGuinness, D. L. (2001). [[http://protege.stanford.edu/publications/ontology_development/ontology101.pdf | Ontology development 101: A guide to creating your first ontology.]] Stanford Knowledge Systems Laboratory Technical Report KSL-01-05. * Download: [[https://protege.stanford.edu/ |Protege: Desktop Version (Platform independent or Windows)]] * Lecture “Conceptual Modelling” * Slides: {{ :didattica:ay2122:ke:ke-9_conceptual_modelling.pdf |Conceptual Modelling}} * Download: [[https://www.adoxx.org/live/download-15 |ADOxx Model Engineering Environment]] * Lecture “Ontology-based Modelling” * Slides: {{ :didattica:ay2122:ke:ke-10_ontology-based_modeling.pdf |Ontology-based Modelling}} * Literature: [[https://docenti.unicam.it/ApriMat.aspx?id=12200 | Hinkelmann et al. (2016). A new paradigm for the continuous alignment of business and IT: Combining enterprise architecture modelling and enterprise ontologies]] * Literature: [[https://docenti.unicam.it/ApriMat.aspx?id=12248 | Hinkelmann et al. (2018). Ontology-based Metamodelling.]] * AOAME * Data/Ontologies: https://aoame-fuseki.herokuapp.com/dataset.html * Modeling Environment: https://aoame.herokuapp.com/modeller * Beta Version: * Modeling Environment: http://aoame-webapp-test123.herokuapp.com/modeller * Data/Ontologies: https://aoame-fuseki-test123.herokuapp.com/ * Lecture "Machine Learning" * Slides: {{ :didattica:ay2122:ke:ke-11-1_machine_learning.pdf |Introduction to Machine Learning}} * Slides: {{ :didattica:ay2122:ke:ke-11-2_learning_decision_trees.pdf |Symbolic Machine Learning: Learning Decision Trees}} * Reading Material: {{ :didattica:ay2122:ke:decision_tree_learning_lecture.pdf |Decision Tree Learning}} * Exercise: {{ :didattica:ay2122:ke:exercise_learning_carsales.pdf |Auto Traders}} * Exercise: {{ :didattica:ay2122:ke:exercise_health_insurance_learning.pdf |Health Insurance: Learning Risk Assessment}} * Tool: {{ :didattica:ay2122:ke:weka_introduction.pdf |WEKA Learning Environment}} * Data Sets: {{ :didattica:ay2122:ke:datasets.zip |playing tennis, creditworthyness (CSV Files), car sales and Health Insurance (ARFF and Excel file)}} * Lecture "Neural Networks" * Slides: {{ :didattica:ay2122:ke:ke-12_neural_networks.pdf |Neural Networks}} * Lecture "Combining Machine Learning and Knowledge Engineering" * Slides: {{ :didattica:ay2122:ke:ke-13_combining_machine_learning_and_knowledge_engineering.pdf |Combining Machine Learning and Knowledge Engineering}} * Example: {{ :didattica:ay2122:ke:example_machine_learning_and_knowledge.pdf |Machine Learning and Knowledge}} * Assignment with Solution: {{ :didattica:ay2122:ke:assignment_health_insurance_knowledge_with_solution.pdf |Health Insurance: Combining Learning with Knowledge Engineering}} ---- ===== Recordings ===== Recordings of the lectures are password protected (passwords on request from the lecturers) * [[https://unicam.webex.com/unicam/ldr.php?RCID=c9b4ed77cb0c6e0a48a49d18b653297b | 7th of March 2022: Introduction: What is knowledge]] * [[https://unicam.webex.com/unicam/ldr.php?RCID=6e00f6a3a20a6b9329bcfd19a75cc9db | 8th of March 2022: Knowledge in Processes, Decision Modeling, Decision Trees]] * [[https://unicam.webex.com/unicam/ldr.php?RCID=a02cfc6beb0cf65ffe31265f3530e35a | 21st of March 2022: Rule-Based Systems (Modelling)]] * [[https://unicam.webex.com/unicam/ldr.php?RCID=3554faaada88d36f3373b7d9d27725e1 | 22st of March 2022: Rule-Based Systems (Reasoning)]] * [[https://unicam.webex.com/unicam/ldr.php?RCID=ae99f92587d0cae30f9e5f7d5f504eee | 4th of April 2022: Fuzzy Logic]] * [[https://unicam.webex.com/unicam/ldr.php?RCID=de34aaf46e4a15c649f62953a351633b | 5th of April 2022: Fuzzy Controller]] * [[https://unicam.webex.com/unicam/ldr.php?RCID=16bbb64a5e5274a1621534e588b31899 | 26th of April 2022: Knowledge Nets and RDF]] * [[https://unicam.webex.com/unicam/ldr.php?RCID=8e2378034b9b0fa5ef35209eef591762 | 9th of May 2022: Ontology Engineering]] * [[https://unicam.webex.com/unicam/ldr.php?RCID=db5acff66cdcd23e79126013eead50dc | 23rd of May 2022: Conceptual Modelling]] * [[https://unicam.webex.com/unicam/ldr.php?RCID=c427e2fdd1a30426e8bfddb3dcb49bf6 | 24th of May 2022: Ontology-based Modelling]] * [[https://unicam.webex.com/unicam/ldr.php?RCID=73600d05b8cbc4c0a0f7f5684df9db7a | 30th of May 2022: Machine Learning: Learning Decision Trees]] * [[https://unicam.webex.com/unicam/ldr.php?RCID=8896cf7d81580f92a106d88fed48efad | 31st of May 2022: Neural Networks; Combining Machine Learning and Knowledge Engineering]] ---- ===== Exams ===== This module is examined by a project. The current version of the project description is {{ :didattica:ay2122:ke:project_personalized_menu_v1.pdf |V1}} (25.04.2022).