Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Deutsches Forschungszentrum für Künstliche Intelligenz Course Generation Based on Hierarchical Task Network (HTN) Planning Carsten Ullrich, ABIS’05 German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Course Generation, Example Learn about “derivation” Course Generator Carsten Ullrich – ABIS’05 Repository German Research Center for Artificial Intelligence Pedagogical Aims • : : Represent advanced pedagogical knowledge • Joint work with University of Augsburg, Lehrstuhl für Didaktik der Mathematik • Formalization of pedagogical strategies based on OECD PISA – Focus on mathematical literacy & competencies • • • • problem solving, use of mathematical language, mathematical modeling … – 6 scenarios: LearnNew, Rehearse, Overview, trainCompetency, Workbook, ExamSimulation. Carsten Ullrich – ABIS’05 German Research Center for Artificial Intelligence Basics of Hierarchical Task Network Planning • Similar to classical AI planning – World state represented by set of atoms – Actions correspond to state transitions • Differences to classical AI planning – What it plans for: Sequence of actions that perform a task network – How it plans: • Methods decompose tasks • down to primitive tasks performed by operators Carsten Ullrich – ABIS’05 German Research Center for Artificial Intelligence Basics of HTN-Planning • Domain description – Tasks: Activities to perform • Primitive/Compound – Operators: Perform primitive tasks (task, precondition, delete list, add list) – Methods: Decompose compound tasks (task, precondition, subtasks) – Axioms: Infer preconditions not asserted in world state • Shop2/JShop2: D. Nau et.al., University of Maryland Carsten Ullrich – ABIS’05 German Research Center for Artificial Intelligence Challenges Learn about Examples “derivation” for “derivation” ? • • • • Reasoning about Content Reasoning about User Tool Support Adaptivity++, Interactivity, Service Provision • Pedagogical Knowledge Carsten Ullrich – ABIS’05 Repository ? ? Course Generator ? Repository ? Repository German Research Center for Artificial Intelligence Connecting Course Generation and HTN • Input: Pedagogical Task • Pedagogical Objective • List of Content Identifiers (learnNew (def_function def_deriv)) (getAppropriateExercise (def_function)) • Output: Actions generating structured sequence of LOs ((!startSection def_derivation) (!insertElement intro_def_funct) (!insertElement def_function) … (!endSection)) Carsten Ullrich – ABIS’05 German Research Center for Artificial Intelligence Course Generation by HTN, Example (:method (learnConceptLearnNew ?c) MethodLearnConceptLearnNew Preconditions () ((!startSection LearnNew) (introduce ?c) (developConcept ?c) (practice! ?c) (connect ?c) (reflect ?c) (!endSection))) Carsten Ullrich – ABIS’05 Goal Task Subtask German Research Center for Artificial Intelligence Course Generation by HTN, Example (:method (learnConceptLearnNew ?c) MethodLearnConceptLearnNew () ((!startSection LearnNew) (introduce ?c) (developConcept ?c) (practice! ?c) (connect ?c) (reflect ?c) (!endSection))) Carsten Ullrich – ABIS’05 German Research Center for Artificial Intelligence Decomposing a Task (:method (introduce ?c) MethodIntroduce () ((!startSection (introduce ?c)) (insertMotivation ?c) (introductionExamplify ?c) (learnPrerequisitesConceptsShort ?c) (!endSection))) • Optional tasks: Should be achieved, but do not fail (:method (introduce ?c) MethodIntroduceFallback () ()) Carsten Ullrich – ABIS’05 German Research Center for Artificial Intelligence Critical Tasks • Critical tasks: Have to be fulfilled, otherwise fail (:method (learnConceptProblemBased ?c) () ((insertProblem! ?c) (do something …))) Carsten Ullrich – ABIS’05 German Research Center for Artificial Intelligence Reasoning about User (:method (introductionExamplify ?c) MethodIntroductionExamplify ((learnerProperty anxiety ?an)(call > ?an 2) (assignIterator ?element (call GetElements ((class example) (property difficulty easy) (relation for ?c))))) ((!insertElement ?element))) (:- (learnerProperty ?property ?value) (same ?value (call queryLM ?property))) Carsten Ullrich – ABIS’05 German Research Center for Artificial Intelligence Reasoning about Content (:method (introductionExamplify ?c) MethodIntroductionExamplify ((learnerProperty anxiety ?an)(call > ?an 2) (assignIterator ?element (call GetElements (id1 id2 id3 …) ((class example) (property difficulty easy) (relation for ?c))))) ((!insertElement ?element))) (:- (assignIterator ?element (?head . ?tail)) ((same ?element ?head))) (:- (assignIterator ?element (?head . ?tail)) ((assignIterator ?element ?tail))) Carsten Ullrich – ABIS’05 German Research Center for Artificial Intelligence Course Generation by HTN, Example (:method (learnConceptLearnNew ?c) MethodLearnConceptLearnNew () ((!startSection LearnNew) (introduce ?c) (developConcept ?c) (practice ?c) (connect ?c) (reflect ?c) (!endSection) ) ) Carsten Ullrich – ABIS’05 German Research Center for Artificial Intelligence Crucial and Fallback Methods (:method (developConcept ?c) ((learnerProperty competencyLevel ?c ?cl) (call > ?cl 3)) ((!startSection (develop ?c)) (!insertElement ?c) (!endSection)) ((learnerProperty competencyLevel ?c ?cl) (call <= ?cl 3) (learnerProperty motivation ?c ?mo) (call >= ?mo 3)) ((!startSection (develop ?c)) (!insertElement ?c) Crucial methods (explain ?c) (selectAppropriateExample ?c) (!endSection)) () ((!startSection (develop ?c)) (!insertElement ?c) (explain ?c) (!endSection))) Carsten Ullrich – ABIS’05 Fallback method German Research Center for Artificial Intelligence Course Generation by HTN, Example (:method (learnConceptLearnNew ?c) MethodLearnConceptLearnNew () ((!startSection LearnNew) (introduce ?c) (developConcept ?c) (practice ?c) (connect ?c) (reflect ?c) (!endSection) ) ) Carsten Ullrich – ABIS’05 German Research Center for Artificial Intelligence Selecting Exercises (:method (selectAppropriateExercise ?c) MethodSelectExerciseHighMotivation ((learnerProperty field ?field) (learnerProperty educationalLevel ?el) (learnerProperty motivation ?c ?m) (call >= ?m 3) Service Provision! (learnerProperty competencyLevel ?c ?cl) (equivalent (call + 1 ?cl) ?ex_cl) (assignIterator ?exercise (call GetElements ((class exercise) (relation for ?c) (property learningcontext ?el) (property competencylevel ?ex_cl) (property field ?field))))) ((insertElement ?exercise))) Carsten Ullrich – ABIS’05 German Research Center for Artificial Intelligence Course Generation by HTN, Example (:method (learnConceptLearnNew ?c) MethodLearnConceptLearnNew () ((!startSection LearnNew) (introduce ?c) (developConcept ?c) (practice ?c) (connect ?c) (reflect ?c) (!endSection) ) ) Carsten Ullrich – ABIS’05 German Research Center for Artificial Intelligence Service Integration (:method (reflect ?c) MethodReflectWithOLM ((learningServiceAvailable OLM)) ((!startSection reflect) (!insertLearningService OLM) (!endSection)) MethodReflectManual () ((!startSection reflect) (!text reflect) (!endSection))) (:- (learningServiceAvailable ?tool) ((call checkService ?tool))) Carsten Ullrich – ABIS’05 German Research Center for Artificial Intelligence Conclusion • Using HTN-planning for Course Generation – Representing pedagogical knowledge – Distributed content, integration of learning services – Adaptivity++, interactivity, service provision, sub-goal recognition • Efficient: – Generation of a course with 15 LO ≈ 700ms – with caching ≈ 200ms Carsten Ullrich – ABIS’05 German Research Center for Artificial Intelligence Thanks www.activemath.org [email protected] Carsten Ullrich – ABIS’05 German Research Center for Artificial Intelligence