====== Knowledge Engineering and Business Intelligence ====== ---- ===== News ===== 14th of November 2024 The third submission date for the assignment is the **24th of November 2024**. Please send the report and knowledge bases via email to Emanuele (emanuele.laurenzi@unicam.it) and Knut (karlknut.hinkelmann@unicam.it) Best regards, Knut ---- ===== General Info ===== **Teacher**: * [[https://knut.hinkelmann.ch|Prof. Knut Hinkelmann]] * Dr Emanuele Laurenzi **ESSE3 Link** * [[|Knowledge Engineering and Business Intelligence - AY 2023/24]] **Webex Link** * [[https://unicam.webex.com/meet/knut.hinkelmann]] **Scheduling of Lectures**: * {{ :didattica:ay2324:kebi:2024_kebi_weekschedule.pdf |Schedule of KEBI Lectures}} * [[:didattica:ay2324:orario_en|Scheduling of MSc in Computer Science (LM-18)]] **Degrees**: * [[didattica:mscs|MSc in Computer Science (LM-18)]] ---- ===== Exam: Project ===== The grading is done via a project work * {{ :didattica:ay2324:kebi:project_personalized_menu.pdf |Project Description}} Coaching Sessions: * [[https://docs.google.com/spreadsheets/d/1ftJDacv2kq8CXYxRP374ZN3dU-gZqDbP4H4-260WdXU/edit?usp=sharing | Booking a coaching session]] * Link to the coaching sessions [[https://unicam.webex.com/meet/knut.hinkelmann | Webex]] There will be several submission deadlines * First Submission: 1st of July 2024 via email to Emanuele (emanuele.laurenzi@unicam.it) and Knut (karlknut.hinkelmann@unicam.it) * Second Submission: 21st of August 2024 via email to Emanuele (emanuele.laurenzi@unicam.it) and Knut (karlknut.hinkelmann@unicam.it) * Third Submission: **24th of November 2024** via email to Emanuele (emanuele.laurenzi@unicam.it) and Knut (karlknut.hinkelmann@unicam.it) ===== 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 modeling and enacting several different forms of knowledge. In general, more explicitly represented knowledge allows better support. But different forms of knowledge need different intuitive and adequate representations and inferences. There are several methods to formally represent knowledge. Graphical models can be an intuitive means to add knowledge to knowledge-based systems. Instead of manually creating knowledge bases, knowledge can also be learned from data. We distinguish between symbolic learning (learning decision trees and 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 * Fuzzy Logic * Knowledge Graphs * RDFS * Ontology Engineering * Graphical Models * Modelling and Meta-modeling * Ontology-based meta-modeling ---- ===== Study material ===== **Course Material** * Organisation * Slides: {{ :didattica:ay2324:kebi:ke-0-organization.pdf |About Lecture and Lecturers}} * Project work: *Project description: {{ :didattica:ay2324:kebi:project_personalized_menu_v1.pdf |Project description}} *Guide on how to install AOAME locally for Task 2: [[https://github.com/BPaaSModelling/AOAME]] * Lecture "Introduction" * Slides: {{ :didattica:ay2324:kebi:ke-1-introduction.pdf |Introduction}} * {{ :didattica:ay2324:kebi: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.}} * {{ :didattica:ay2324:kebi:exercise_knowledge_types_for_admission.pdf |Exercise/Homework: Types of Knowledge}} * Lecture "Knowledge in Processes" * Slides: {{ :didattica:ay2324:kebi:ke-2_knowledge_and_processes.pdf |Decision-Aware Business Processes}} * Slides: Example: Admission as a Decision-aware Business Process * Lecture "Decision Tables" * Slides: {{ :didattica:ay2324:kebi:ke-3-decisontables.pdf |Decision Tables - DMN}} * Reading: [[http://blog.maxconsilium.com/2014/09/introduction-to-decision-model-notation.html|Introduction into DMN]] * Exercise: {{ :didattica:ay2324:kebi:exercise_decision_table_reduction.pdf |Reduction of Decision Table}}, {{ :didattica:ay2324:kebi:dmn_decision_table_reimbursement.xlsx |Sample Table}} * Exercise: {{ :didattica:ay2324:kebi:exercise_dmn_for_booking_price.pdf |DMN for Booking Price}} * Homework: {{ :didattica:ay2324:kebi: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:ay2324:kebi:ke-4-logic_programming_hidden.pdf |Rule-based Systems (Prolog)}} (with hidden information) * Reasoning examples: {{ :didattica:ay2223:kebi:ke-4-logic_programming-reasoningexample_simpe.pdf |simple}} and {{ :didattica:ay2223:kebi:ke-4-logic_programming-reasoningexample_ancestor.pdf |ancestor}} * Exercise: {{ :didattica:ay2223:kebi:ke-4-1-exercise_university.pdf |University}} and {{ :didattica:ay2324:kebi:ke-4-1-exercise_university_solution.pdf |Solution}} * Exercise: {{ :didattica:ay2324:kebi:ke-4-2-exercise_family_rules.pdf |Family}} and {{ :didattica:ay2324:kebi:ke-4-2-exercise_family_rules_solution.pdf |Solution}} * Exercise: {{ :didattica:ay2324:kebi:ke-4-3-exercise_smallexamples.pdf |Further small examples}} and {{ :didattica:ay2324:kebi:ke-4-3-exercise_smallexamples_solution.pdf |Solutions}} * Exercise: {{ :didattica:ay2324:kebi:ke-4-5-exercise_minisudoku.pdf |Mini Sudoku}} and {{ :didattica:ay2324:kebi:ke-4-5-exercise_minisudoku_solution.pdf |Solution}} * Exercise: {{ :didattica:ay2324:kebi:ke-4-6-exercise_traveling.pdf |Travelling}} and {{ :didattica:ay2324:kebi:ke-4-6-exercise_traveling-solution.pdf |Solution}} * Exercise: {{ :didattica:ay2324:kebi:ke-4-7-exercise_friendship.pdf |Friendship}} * Additional exercise (not discussed in class): {{ :didattica:ay2324:kebi:ke-4-9-additional-exercise-assignment_creditcard.pdf |Fraud Detection}} and {{ :didattica:ay2324:kebi:ke-4-9-additional-exercise-assignment_creditcard_solution.pdf |Solution}} * Home Work: {{ :didattica:ay2324:kebi:ke-4-homeexercise_masterdecisions.pdf |Admission for Master Program}} and {{ :didattica:ay2324:kebi:ke-4-homeexercise_masterdecisions_solution.pdf |Solution}} * Nice browser-based [[http://swish.swi-prolog.org|Prolog Engine]] * Lecture “Forward- and Backward Chaining” * Slides: {{ :didattica:ay2324:kebi:ke-5_fc_vs_bc_-_compatibility_mode.pdf |Forward- and Backward Chaining}} * Lecture "Knowledge Graphs" * Download and launch GraphDB: [[https://www.ontotext.com/products/graphdb/]] * Slides: {{ :didattica:ay2324:kebi:kebi_knowledge_graphs.pdf |Knowledge Graphs}} * Exercise: {{ :didattica:ay2324:kebi:kg_exercises_and_solutions.zip |Class exercises and solutions}} * Slides: {{ :didattica:ay2324:kebi:kebi_knowledge_graphs_-_2nd_part_rdf_s_and_reasoning.pdf |Knowledge Graphs_Part2}} * Exercise: {{ :didattica:ay2324:kebi:familytree_with_schema.zip |File family tree with schema}} * Homework: {{ :didattica:ay2324:kebi:kebi_schema_inferences_students_exercise.pdf |Homework on RDF(S) reasoning}} * Lecture "Ontology Engineering" * Download and install Protégé: [[https://protege.stanford.edu/]] * Slides: {{ :didattica:ay2324:kebi:kebi_ontology_engineering.pdf |Ontology Engineering}} * Homework: {{ :didattica:ay2324:kebi:exercise_on_ontology_development_101.docx |Ontology Engineering on Teaching Domain}} * Solution: {{ :didattica:ay2324:kebi:ontology_development_101_solution_.pptx |Solution}} * Ontology: {{ :didattica:ay2324:ontology_msc_bis_homework_solution_.zip |Ontology}} * Lecture "Machine Reasoning" * Slides: {{ :didattica:ay2324:kebi:kebi_machine_reasoning.pdf |Machine Reasoning}} * Exercise: {{ :didattica:ay2324:kebi:familytree_with_schema__and_contradiction.zip |File family tree with contradiction}} * Exercise: {{ :didattica:ay2324:kebi:possible_solutions_for_contradiction_exercise.pdf |SPARQL solutions to detect contradictions in family tree ontology}} * Solution homework: {{ :didattica:ay2324:kebi:homework_shacl.pdf|SHACL solution against a person with more than 2 parents}} * Solution homework: {{ :didattica:ay2324:kebi:family_tree_with_contradiction_protégé.zip|Ontology file with the contradiction}} * Lecture "Convergence of Ontologies/Knowledge Graphs and Enterprise Models" * Slides: {{ :didattica:ay2324:kebi:kebi_convergenge_of_ontologies_and_enterprise_modelling.pdf |Convergence of KG and EM}} * Slides: {{ :didattica:ay2324:kebi:kebi_semantic_lifting.pdf |Semantic Lifting}} * Tool: [[https://www.omilab.org/activities/bee-up/|BeeUP modelling tool for Semantic Lifting exercise]] * Exercise: {{ :didattica:ay2324:kebi:models_in_beeup.zip |Enterprise models created in BeeUp}} * Exercise: {{ :didattica:ay2324:kebi:ontology_-_class_exercise_-_semantic_lifting.zip |Ontology automatically created from models in BeeUp}} * Slides: {{ :didattica:ay2324:kebi:kebi_ontology-based_meta-modelling.pdf |Ontology-based Meta-modelling, including Agile Meta-modelling}} * Walkthrough 1: {{ :didattica:ay2324:kebi:1.1_walkthrough_on_ontology-based_modelling_in_aoame.pdf |Walthrough on ontology-based modelling}} * Walkthrough 2: {{ :didattica:ay2324:kebi:2.1_walkthrough_and_query_creation_for_agile_metamodelling_in_aoame.pdf |Walkthrough on agile meta-modelling}} * Solution Exercise: {{ :didattica:ay2324:kebi:solution_exercise_agile_metamodelling.pdf |SPARQL query result}} * Lecture “Fuzzy logic” * Slides: {{ :didattica:ay2324:kebi:ke-11-fuzzylogic.pdf |Fuzzy Logic}} * Exercise: {{ :didattica:ay2324:kebi:ke-11-1-exercise_define_fuzzy_set.pdf |Fuzzy Sets}} and {{ :didattica:ay2324:kebi:ke-11-1-exercise_define_fuzzy_set_solution.pdf |Solution}} * Exercise: {{ :didattica:ay2324:kebi:ke-11-2-exercise_fuzzy_set_operations.pdf |Fuzzy Set Operations}} and {{ :didattica:ay2324:kebi:ke-11-2-exercise_fuzzy_set_operations_solution.pdf |Solution}} * Exercise: {{ :didattica:ay2324:kebi:ke-11-3-exercise-credit_analysis.pdf |Credit Analysis}} * Homework: {{ :didattica:ay2324:kebi:ke-11-homeexercise_masterdecisions.pdf | Admission for Master Program}} * Lecture "Machine Learning" * Slides: {{ :didattica:ay2324:kebi:ke-11-1_machine_learning.pdf |Introduction to Machine Learning}} * Slides: {{ :didattica:ay2324:kebi:ke-11-2_learning_decision_trees.pdf |Symbolic Machine Learning: Learning Decision Trees}} * Reading Material: {{ :didattica:ay2324:kebi:decision_tree_learning_lecture.pdf |Decision Tree Learning}} * Exercise: {{ :didattica:ay2324:kebi:exercise_learning_carsales.pdf |Auto Traders}} * Exercise: {{ :didattica:ay2324:kebi:exercise_health_insurance_learning.pdf |Health Insurance: Learning Risk Assessment}} * Tool: {{ :didattica:ay2324:kebi:weka_introduction.pdf |WEKA Learning Environment}} * [[https://waikato.github.io/weka-wiki/downloading_weka/ | Download WEKA]] * Data Sets: {{ :didattica:ay2324:kebi:datasets.zip |playing tennis, creditworthyness (CSV Files), car sales and Health Insurance (ARFF and Excel file)}} * Lecture "Combining Machine Learning and Knowledge Engineering" * Slides: {{ :didattica:ay2324:kebi:ke-13_combining_machine_learning_and_knowledge_engineering.pdf |Combining Machine Learning and Knowledge Engineering}} * Assignment with Solution: {{ :didattica:ay2324:kebi:assignment_health_insurance_knowledge.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=30d02cd258badb97b224e53931d80a4c | 6th of March 2023: Introduction: What is knowledge]] * [[https://unicam.webex.com/unicam/ldr.php?RCID=c2b0eedd6318717c58be8c3397730611 | 8th of March 2023: Knowledge in Processes, Decision Modeling, Decision Tables]] * [[https://unicam.webex.com/unicam/ldr.php?RCID=a373f64361d7058e991fb0db3ab99c09 | 8th of April 2024: Decision Tables and Prolog]] * [[https://unicam.webex.com/unicam/ldr.php?RCID=8acd51785f96defef24b49ec70f67b61 | 9th of April 2024: Prolog]] * [[https://unicam.webex.com/unicam/ldr.php?RCID=4359dea26885770f02bc331e0aae18c9 | 29th of April 2024: Knowledge Graphs]] * [[https://unicam.webex.com/unicam/ldr.php?RCID=a6690870ca355dc230a8e9cc69662848 | 30th of April 2024: Knowledge Graphs_Part 2 and Ontology Engineering]] * [[https://unicam.webex.com/unicam/ldr.php?RCID=61c9464ec52d315d8659f0948e6f84c6 | 6th of May 2024: Machine Reasoning]] * [[https://unicam.webex.com/unicam/ldr.php?RCID=c18f0e4aa7980f78e5620676872c456b | 20th of May 2024: Convergence of Ontologies and Enterprise Models; Semantic Lifting]] * [[https://unicam.webex.com/unicam/ldr.php?RCID=57ee5c98878e50a996267f81195b4807 | 21th of May 2024: Ontology-based Meta-modelling]] * [[https://unicam.webex.com/unicam/ldr.php?RCID=89b19a7044de087bfefcff3a832228d8 | 27 of May: Prolog and Fuzzy Logic]] * [[https://unicam.webex.com/unicam/ldr.php?RCID=c9515ce352db949ab22501775d6f64bb | 28 of May: Fuzzy Logic and Learning Decision Trees]] ===== News History ===== 3rd of June Dear students We will offer online coaching sessions on 20th and 21st of June. * You can book a coaching session by entering your names in the following link: [[https://docs.google.com/spreadsheets/d/1ftJDacv2kq8CXYxRP374ZN3dU-gZqDbP4H4-260WdXU/edit?usp=sharing | Coaching Session Booking]] * Coaching is via [[https://unicam.webex.com/meet/knut.hinkelmann | Webex]] Best regards, Knut I was made aware that 2nd of April is a holiday and the university is closed. Therefore, I had to change the schedule of the lectures. **The lectures from 2nd and 15th of April will be moved to 29th and 30th of May** Here is the link to the new schedule: {{ :didattica:ay2324:kebi:2024_kebi_weekschedule.pdf | Schedule of KEBI lectures}} Best regards, Knut Welcome to the lecture in Knowledge Engineering! We are happy that you plan to participate in our module. However, we would be happy to know who you are. :-) Therefore, please fill the following google form with your name, matriculation number and Unicam e-mail. That would allow us to inform you if something is changed (e.g. lecture needs to be postponed, other conference tool etc) and to register your grade in the system. [[https://forms.gle/2Kt1HXC7QAp958VNA]] Best regards, Emanuele & Knut ----