ILMDA: An Intelligent Agent that Learns to Deliver Learning Materials Leen-Kiat Soh

advertisement
ILMDA: An Intelligent Agent
that Learns to Deliver Learning
Materials
Leen-Kiat Soh
Department of Computer Science and
Engineering
University of Nebraska
lksoh@cse.unl.edu
What is an Agent?
• An agent is an entity that takes sensory input
from its environment, makes autonomous
decisions, and carries out actions that affect the
environment
– A thermostat is an agent
– A calculator is not an agent
Agent
sensory
input
think!
Environment
output
actions
What is an Intelligent Agent?
• An intelligent agent is one that is capable of flexible
autonomous actions in order to meet its design
objectives, where flexibility means: (Wooldridge and Jennings 1995)
– Reactivity: agents are able to perceive their environment, and
respond in a timely fashion to changes that occur in order to
satisfy their design objectives
– Pro-activeness: agents are able to exhibit goal-directed behavior
by taking the initiative in order to satisfy their design objectives
– Social ability: agents are capable of interacting with other
agents (and possibly humans) in order to satisfy their design
objectives
What is an Intelligent Agent? Cont’d
• Machine Learning in AI says
The acquisition of new knowledge and motor and cognitive skills
and the incorporation of the acquired knowledge and skills in
future system activities, provided that this acquisition and
incorporation is conducted by the system itself and leads to an
improvement in its performance.
• Agents that learn are intelligent
– Individual learning
– Multiagent system learning
• Not all agents are intelligent!
Environment?
• Inaccessible vs. accessible
– Incomplete vs. complete data
(Russell and Norvig 1995)
• Deterministic vs. non-deterministic
– Certainty vs. uncertainty
• Episodic vs. non-episodic
– Each episode is independent or not
• Static vs. dynamic
Agent
– Remain unchanged except by the performance of
actions by the agent?
• Discrete vs. continuous
– “Chess game” vs. “taxi driving”
Why Agents?
• If the system-to-be-built has, during the execution of the
system
Why does a person hire an agent?
–
–
–
–
–
Incomplete data
Uncertainty in the assessment/interaction of its environment
Inter-dependent episodes of events
No full control over the events in the environment
An “open world”, instead of a “closed world”
• In other words, agents are used when you need to build
a system that is adaptive to an uncertain, dynamic, and
at times unexpected environment
– So you can make full use of the autonomous property of an
agent
Education Systems
• Not all computer-aided learning and teaching
systems are agent-based, not all are intelligent
• Systems related to agents focus on two areas:
– Intelligent User Interface
– Tutors
Educational Applications
• Intelligent User Interfaces deliver information to users in a
variety of presentation schemes and interaction schemes
– SAM (Cassell et al. 2000) encourages young children to engage in
storytelling by taking turns playing with a figurine and a toy castle in
SAM’s virtual reality
– GrandChair (Smith 2000) appears to be a young child in a rocking
chair to listen to a grandparents’ family stories
– AIA, PIP, IMP, and Magic Monitor (André and Rist 2001): examples of
controlling agent behavior in intelligent interfaces
– Herman the Bug (in Design-A-Plant), Cosmo the Internet Advisor, and
WhizLow (in a CPU city) (Lester et al. 2002)
Educational Applications
• Intelligent Tutoring Systems provide feedback and support
for student learning
– PACT (Koedinger et al. 1997): algebra, geometry, and computer
languages
– ANDES (Gertner and VanLehn 2000; VanLehn 1996): physics
– SHERLOCK (Lesgold et al. 1992): electronics
– ATLAS (VanLehn et al. 2000)
– AutoTutor (Graesser et al. 2001): introductory course in computer
literacy
– EVELYN Reading Coach and EMILY Reading Coach (Mostow and Aist
2002): Project LISTEN
• Help students read by listening to children read aloud
ILMDA:
Intelligent
Learning
Materials
Delivery
Agent
OVERVIEW
Historical profile,
Real-time behavior
Parametric profile of
student and environment
Retrieval instructions
Profile updates
Statistics updates
ILMDA
Reasoning
student
lectures
Computer Timely delivery
of examples &
& GUI
exercise problems
Examples
Exercise problems
Statistics
database
ILMDA Agent
OVERVIEW 2
login
Quit/Failed Login
New user
New
user
panel
OVERVIEW 2
Successful
Login
Pick
tutorial
panel
Selected tutorial
Tutorial
panel
Quit
Review
Example wanted
Quit
Example
panel
Review
Problem wanted
Qui
t
Problem
panel
METHODOLOGY
• An intelligent agent that
– interacts with its environment (through its GUI),
– makes decisions autonomously using case-based
reasoning
– learns to improve its performance
• A portable design with a Java-based GUI
frontend
• A flexible design with a mySQL database
backend
Case-Based Reasoning
• Case-based reasoning (CBR)
– There is a casebase with numerous cases, each case
dealing with a particular problem with a particular
solution
• A case has a problem, a solution, and an outcome
– The useful part occurs when we encounter a new
problem – how do we find a solution?
• From scratch?
• Or perhaps, use a previous solution?
CBR 2
• How to use a previous solution?
problem
Retrieve
casebase
Retain
Reuse
Revise
confirmed solution
proposed solution
CBR 3
• How to use a previous solution?
Old, but very
similar problem
new problem
Difference?
Changed solution;
Hopefully it works
Adaptation
old, working solution
CBR in ILMDA
• Problem
– Student background, student dynamic activity, profile
of learning materials
• Solution
– Parameters specifying a particular type of examples
or problems to deliver to the students
• Outcome
– Whether the student quits, finishes the entire
learning material, or answers the problem correctly
CBR in ILMDA 2
• Problem Description
– Student Background
• GPA, majors, interests, motivation, self-efficacy, etc.
– Student Dynamic Activity
• Time spent on a tutorial, number of mouse clicks, number of
times going back and forth from the examples to the
tutorial, etc.
– Learning Material Profile
• Tutorials, examples, problems
• Difficulty level, length, number of times viewed, etc.
CBR in ILMDA 3
• Solution Parameters
–
–
–
–
–
–
–
–
Number of times viewed
Difficulty level
Average use time in seconds
Average mouse clicks
Length in characters
Content
Bloom’s category
Scaffolding level (HIGHLIGHT, HINT, REFERENCE,
ELABORATION)
Content
• Example
– An example for the topic on File I/O
Let us say that you are keeping track of your baseball team’s player stats
using a Java program, and you want to be able to save these stats to a file.
Instead of worrying about using high-level File I/O and
(HIGHLIGHT)keeping track of what order things are read
in(/HIGHLIGHT), we can use Object I/O and store things much easier!
(HINT)Why would using Object I/O make storing things much
easier?(/HINT) (HINT)What are the differences between high-level File
I/O and Object I/O?(/HINT) (REFERENCE)If you wonder what the
differences between high-level File I/O and Object I/O are, please check
out the Tutorial page, under the headings of High-Level File I/O and
Object I/O!(/REFERENCE)
Content 2
• Example
– A problem
for topic
File I/O
Difficulty: 0.3
Blooms: Knowledge
Content: Generic
Which of the following must be done in order to use
(HIGHLIGHT)File Input/Output(/HIGHLIGHT) in Java:
(HINT)Think about what you need to use File I/O objects,
what reading from or writing to a file may entail, and what
you need to do to conclude the
process.(HINT)(REFERENCE)To refresh, check out the
Tutorial page, under the File Object heading.(/REFERENCE)
(REFERENCE)(Check out the Example
page.)(/REFERENCE) (ELABORATION)Think about this:
first you need to be able to access IO-related classes and
packages. Then when you set up your program, it is possible
that a file is not there, or the program does not have
permission to read/write, and thus the program must be able to
handle those scenarios. Finally, to prevent data loss, you need
to make sure that the files are closed.(/ELABORATION)
a. Import the java.io libraries
b. Catch or throw Input/Output Exceptions
c. Close the files when we are done using them
CBR in ILMDA 4
• Outcomes
– Level 0: Did the student quit midway through an
example/problem? Did the student fail to answer the
problem correctly?
– Level 1: Do students with exposure to ILMDA
perform better, based on a control-treatment study
on post-tests?
– Level 2: Are agents with machine learning
capabilities more efficient/effective?
– Level 3: Are agents able to provide efficient
“customized” paths for students of different profiles?
Preliminary Results
• Deployment Fall 2004
–
–
–
–
CSCE155 (CS1)
Diverse students (majors, aptitude)
3-hour lectures, 2-hour labs, weekly
Four lab sections
• 20-25 students each
– Used ILMDA in five labs
• File I/O, Event-Driven Programming, Exceptions,
Inheritance/Polymorphism, and Recursion
• Each topic has a tutorial, a set of 3-4 examples, and a set of
20-25 problems
• Students were required to review these learning materials
Preliminary Results 2
• In terms of lab post-tests
– No significant results
Sections
File IO
Event Driven Exceptions Inheritance
Recursion
151
6.89
8.67
8.56
6.44
9.78
152
6.73
8.09
8.90
6.67
8.00
151 + 152
6.80
8.35
8.74
6.56
8.84
153
7.36
8.55
8.73
7.63
8.84
154
7.96
8.18
8.33
7.78
9.42
153 + 154
7.66
8.36
8.55
7.70
9.13
* Averages, maximum 10 points for each post-test
Preliminary Results 3
• Learning vs. non-learning ILMDA
– What does it all mean?
NonLearning Learning
ILMDA
ILMDA
Average number of examples read
2.22
3.05
Average number of problems read
10.95
15.12
66.2%
60.2%
457
276
Average time spent on examples (s)
64
61
Average time spent on problems (s)
74
30
Percentage of problems answered correctly
Average spent on Tutorial (s)
Continued Experiments
• Spring 2005
– 3-hour lectures, 2-hour labs, weekly; five topics
– Three lab sections
• 20-25 students each
– Lab 1: Uses statically sequenced examples and
problems
– Lab 2: Uses non-learning ILMDA
– Lab 2: Uses learning ILMDA
– Dependent variables: post-tests, exams, homework
assignments
• Objective measure: how a student reaches one of the most
difficult problems and answers it correctly
Summary: Ultimate Goal
• Creating an intelligent tutoring system that is able to
learn
–
–
–
–
how to model students correctly
how to evaluate the course materials that it has been given
how to apply appropriate strategies in its delivery
how to integrate all three learned expertise or experience to
tutor students better
• Creating an intelligent tutoring system that does not
assume that the student modeling, the course materials,
and the delivery strategies are always appropriate or
correct
Summary: Current Status
• Prototype in place for two semesters in CS1, with five
CS1 topics
• Learning mechanisms in place for learning how to
deliver materials better
• Basic research work under way for multi-awareness to
determine the “inappropriate component”
• Online GUI tools
–
–
–
–
–
For
For
For
For
For
content entry (completed)
student view statistics query (completed)
instructor view statistics query (completed)
agent view statistics query (partially)
content view inspection (completed)
Download