Course Generation Based on Hierarchical Task Network (HTN) Planning
description
Transcript of Course Generation Based on Hierarchical Task Network (HTN) Planning
German Research Center for Artificial Intelligence (DFKI GmbH)Saarbrücken, Germany
Deutsches Forschungszentrum für Künstliche IntelligenzDeutsches Forschungszentrum für Künstliche Intelligenz
Course Generation Based on Course Generation Based on Hierarchical Task Network (HTN) PlanningHierarchical Task Network (HTN) Planning
Carsten Ullrich, ABIS’05
German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05
Learn about “derivation”
Course Generation, ExampleCourse Generation, Example
RepositoryCourse Generator
German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05
• : : 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.
Pedagogical AimsPedagogical Aims
German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05
Basics of Hierarchical Basics of Hierarchical Task NetworkTask Network Planning 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
German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05
Basics of HTN-PlanningBasics 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
German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05
ChallengesChallenges
• Reasoning about Content• Reasoning about User• Tool Support• Adaptivity++,
Interactivity, Service Provision
• Pedagogical Knowledge
Repository
Learn about “derivation”
Course Generator
Repository
Repository
??
??
??
??
Examples for
“derivation”
??
German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05
Connecting Course Generation and HTNConnecting 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))
German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05
Course Generation by HTN, Course Generation by HTN, ExampleExample
(:method (learnConceptLearnNew ?c)
MethodLearnConceptLearnNew
()
((!startSection LearnNew)
(introduce ?c)
(developConcept ?c)
(practice! ?c)
(connect ?c)
(reflect ?c)
(!endSection)))
Goal Task
Subtask
Preconditions
German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05
Course Generation by HTN, Course Generation by HTN, ExampleExample
(:method (learnConceptLearnNew ?c)
MethodLearnConceptLearnNew
()
((!startSection LearnNew)
(introduce ?c)
(developConcept ?c)
(practice! ?c)
(connect ?c)
(reflect ?c)
(!endSection)))
German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05
Decomposing a TaskDecomposing 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
()
())
German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05
Critical TasksCritical Tasks
• Critical tasks: Have to be fulfilled, otherwise fail
(:method (learnConceptProblemBased ?c)
()
((insertProblem! ?c)
(do something …)))
German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05
Reasoning about UserReasoning 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)))
German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05
Reasoning about ContentReasoning about Content
(:method (introductionExamplify ?c) MethodIntroductionExamplify ((learnerProperty anxiety ?an)(call > ?an 2) (assignIterator ?element
(call GetElements ((class example) (property difficulty easy) (relation for ?c)))))
((!insertElement ?element)))
(:- (assignIterator ?element (?head . ?tail)) ((same ?element ?head))) (:- (assignIterator ?element (?head . ?tail)) ((assignIterator ?element ?tail)))
(id1 id2 id3 …)(id1 id2 id3 …)
German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05
(:method (learnConceptLearnNew ?c)
MethodLearnConceptLearnNew
()
((!startSection LearnNew)
(introduce ?c)
(developConcept ?c)
(practice ?c)
(connect ?c)
(reflect ?c)
(!endSection)
)
)
Course Generation by HTN, Course Generation by HTN, ExampleExample
German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05
Crucial and Fallback MethodsCrucial 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) (explain ?c) (selectAppropriateExample ?c) (!endSection))
() ((!startSection (develop ?c)) (!insertElement ?c) (explain ?c) (!endSection)))
Crucial methods
Fallback method
German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05
(:method (learnConceptLearnNew ?c)
MethodLearnConceptLearnNew
()
((!startSection LearnNew)
(introduce ?c)
(developConcept ?c)
(practice ?c)
(connect ?c)
(reflect ?c)
(!endSection)
)
)
Course Generation by HTN, Course Generation by HTN, ExampleExample
German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05
Selecting ExercisesSelecting Exercises
(:method (selectAppropriateExercise ?c) MethodSelectExerciseHighMotivation ((learnerProperty field ?field) (learnerProperty educationalLevel ?el) (learnerProperty motivation ?c ?m) (call >= ?m 3) (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)))
Service Provision!
German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05
(:method (learnConceptLearnNew ?c)
MethodLearnConceptLearnNew
()
((!startSection LearnNew)
(introduce ?c)
(developConcept ?c)
(practice ?c)
(connect ?c)
(reflect ?c)
(!endSection)
)
)
Course Generation by HTN, Course Generation by HTN, ExampleExample
German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05
Service IntegrationService Integration
(:method (reflect ?c) MethodReflectWithOLM ((learningServiceAvailable OLM)) ((!startSection reflect) (!insertLearningService OLM) (!endSection))
MethodReflectManual () ((!startSection reflect) (!text reflect) (!endSection)))
(:- (learningServiceAvailable ?tool) ((call checkService ?tool)))
German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05
ConclusionConclusion
• 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
German Research Center for Artificial IntelligenceCarsten Ullrich – ABIS’05
ThanksThanks