Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

CHARLIE: An AIML-based Chatterbot which

Works as an Interface among INES and Humans


Fernando A. Mikic#1, Juan C. Burguillo#2, Martín Llamas#3, Daniel A. Rodríguez#4, Eduardo Rodríguez#5
#
Telematics Engineering Department, University of Vigo
E.T.S.I. Telecomunicación, Campus Lagoas Marcosende s/n, 36310, Vigo (Pontevedra), Spain
1
mikic@det.uvigo.es
2
jrial@det.uvigo.es
3
martin@det.uvigo.es
4
darguez@det.uvigo.es
5
edu@det.uvigo.es

Abstract— INES (INtelligent Educational System) is a functional At last, an ITS is an educational support system (a kind of
prototype of an online learning platform, which combines three virtual tutor), to help learners in their learning tasks and to
essential capabilities related to e-learning activities. These provide them with specific and adapted learning contents.
capabilities are those concerning to a LMS (Learning To carry out all this functionalities, our system, as a whole,
Management System), a LCMS (Learning Content Management
comprises a set of different tools and technologies, as follows:
System), and an ITS (Intelligent Tutoring System). To carry out
all this functionalities, our system, as a whole, comprises a set of semantic managing users (administrators, teachers, students…)
different tools and technologies, as follows: semantic managing and contents tools, an intelligent chatterbot able to
users (administrators, teachers, students…) and contents tools, communicate with students in natural language, an intelligent
an intelligent chatterbot able to communicate with students in agent based on BDI (Believes, Desires, Intentions) technology
natural language, an intelligent agent based on BDI (Believes, that acts as the brain of the system, an inference engine based
Desires, Intentions) technology that acts as the brain of the on JESS (a rule engine for the Java platform) and ontologies
system, an inference engine based on JESS (a rule engine for the (to modelate the user, his/her activities, and the learning
Java platform) and ontologies (to modelate the user, his/her contents) that contribute with the semantics of the system, etc.
activities, and the learning contents) that contribute with the
At the present paper we will focus on the chatterbot,
semantics of the system, etc. At the present paper we will focus
on the chatterbot, CHARLIE (CHAtteR Learning Interface CHARLIE (CHAtteR Learning Interface Entity),developed
Entity), developed and used in the platform, which is an AIML- and used in the platform, which is an AIML-based (Artificial
based (Artificial Intelligence Markup Language) bot. We will Intelligence Mark-up Language) bot. We will specifically
specifically address its performance and its contribution to INES. address both its performance and its contribution to INES.
This paper is organized as follows: In section II we will
I. INTRODUCTION address the LMSs, LCMSs, and ITSs. In section III we will
INES (INtelligent Educational System) is a functional explain what an AIML based chatterbot is and we will present
prototype of an online learning platform, which combines A.L.I.C.E. (one of the best well known chatterbots). Section
three essential capabilities related to e-learning activities. IV will deal with our system INES. In section V we will focus
These capabilities are those concerning to a LMS (Learning on CHARLIE. At last, we will finish with some conclusions
Management System), a LCMS (Learning Content and future lines.
Management System), and an ITS (Intelligent Tutoring
System). II. EDUCATIONAL SYSTEMS
A LMS is a software application installed in a server, which Talking about system devoted to education, and as we
is used to manage, distribute, and supervise the educational mentioned above, we can see three main tasks groups, as
activities of an organization or institution. Its main functions follows:
are to manage users, resources, and educational materials and • Managing students, administrators, resources, activities,
activities, to control the access, to supervise the learning accesses, assessments, etc. (by an LMS).
process and progress, to make evaluations, etc. A LMS often • Creating and managing educational contents (by an
does not include authoring capabilities (to develop its own LCMS).
contents), which are carried out by a LCMS. • Tutoring, helping, and guiding students (by an ITS).
A LCMS is used to make and manage the content of a part In the next sections we will briefly address each of them.
of an educational program (for example a course), which may
be used, managed, and personalized in different ways (for A. Learning Management Systems
example in different courses). An LMS can be defined as a web based software
application or technology used to plan, implement, and
evaluate a specific learning process [1].
The Learning Management System [2] embraces all the instructional proposal to the design of environments for
services for managing on-line teaching activities. In particular, knowledge discovery and experimentation.
it aims to offer management functionality to training platform In spite of their advances, ITSs have not been delivered to a
users: system administrators, teachers, and students. general audience. This, in part, is due to the complexity
The services an LMS offers can be different over several implied in their design, which has limited their practical
platforms, the most usual of them are: application. Developing and implementing an ITS is a
• Administration and management of courses: inscription, difficult task, since the required technology often implies most
users directory, agenda, consultation of qualifications, of the areas of Artificial Intelligence (AI): knowledge
suggestion box, etc. representation, diagnosis, cognitive modelling, qualitative
• Distribution of contents. processing, and causal modelling process. Besides, it is
• Collaborative work tools: forums, chats, email lists, necessary to have a good knowledge of the domain or topic
electronic board, audio/video conference, etc. selected to be taught.
• Access to online catalogues, directories, and libraries.
• Tutoring services. III. AIML-BASED CHATTERBOTS
• Control and evaluation users systems. In the last decade, we have witnessed the irruption of
• Design of personalized formation plans. A.L.I.C.E. (Artificial Linguistic Internet Computer Entity) [5],
In short, an LMS provides instructors with a way to one of the most ground-breaking projects in the field of
distribute contents, control the participation of students, and Artificial Intelligence. A.L.I.C.E. is the project that produced
evaluate the students learning. Besides, it provides students the AIML (Artificial Intelligence Markup Language) language
with forums, chats, videoconference, etc. through which is possible to develop software chatterbots [6]
(A.L.I.C.E. has won the “Loebner Prize in Artificial
B. Learning Content Management Systems Intelligence Contest” [7], based on the Turing test, several
An LCMS [3] is used to design, create, and manage the times).
contents of an education program (usually, contents belong to
courses).
Each LCMS should provide with the following features:
• Creating content in an easy way, so experts on the
matter to teach can carry out these tasks with little effort,
even if they have not much technological experience.
• Adding different types of learning material, from simple
text to rich multimedia contents.
• Storing contents in a repository.
• Reusing and exporting contents, even to different
systems.
• Managing and making maintenance tasks over the
contents.
At this time, it is common to find systems that combine
functionalities both of LCMS and LMS. So, they agglutinate
the whole learning management related to both users (students,
teachers, and administrators) and contents. Fig. 1 A.L.I.C.E.

C. Intelligent Tutoring Systems


Intelligent Tutoring Systems (ITSs) are computer-based A chatterbot is a type of conversational agent, a computer
instructional systems with models of instructional content that program designed to simulate an intelligent conversation. It
specify what to teach, and teaching strategies that specify how processes the users’ inputs in natural language and consults its
to teach. They make inferences about a student’s mastery of knowledge base to make a response that imitates the human’s
topics or tasks in order to dynamically adapt the content or one.
style of instruction [4]. AIML is an XML based programming language that, as we
ITSs started to be developed in the 1980’s. They were comment above, was specifically designed to help in the
designed as a knowledge-based, intelligent tutor, to guide the development of A.L.I.C.E., and it is widely used in the
student in the process of learning; trying to emulate the way a development of software agents that communicate with their
human tutor guides the student in his/her learning path. users in natural language.
An intelligent tutor is a software system that uses Artificial The programming language AIML was developed by Dr.
Intelligence techniques to represent the knowledge and Richard Wallace and the Alicebot open source community
interacts with the students in order to teach them. In the among 1995 and 2000. AIML is a text file with a specific
1990’s, with the advances of cognitive psychology and the structure, which constitutes the knowledge base of the
new programming paradigms, ITSs have evolved from a mere chatterbot. The “categories” are the fundamental knowledge
basis, and they consist of at least two elements: the “pattern”
and the “template”.
In general, the performance of AIML is based on a
stimulus-response model, in which the stimulus (the user’s
input) corresponds with the “pattern”, and the response (which
the chatterbot will show to the user) will be its associated
“template” (see Figure 2). All these actions, about looking for
the adequate pattern and showing the related template, will be
carried out by a data treatment engine, of which there are
many versions (Program D, Program E, etc.).

Fig. 2 AIML example

IV. INES (INTELLIGENT EDUCATIONAL SYSTEM)


INES is a functional prototype of an online learning
platform, which combines three essential capabilities related
to e-learning activities. These capabilities are those
concerning to a LMS (Learning Management System), a
LCMS (Learning Content Management System), and an ITS Fig. 3 Block diagram of INES.
(Intelligent Tutoring System).
So, INES is able to carry out a set of tasks specifics to these
three types of systems (which are analyzed in previous V. CHARLIE (CHATTER LEARNING INTERFACE ENTITY )
sections), and that we can summarize as follows: CHARLIE (CHAtter Learning Interface Entity) is a
• Administrating and managing courses and users. chatterbot responsible for interface tasks among INES and the
• Creating, managing, and delivering contents. students, i.e. it is the part of our system that directly
• Tutoring and helping students in a personalized way. communicates with the students in natural language.
The main parts that make up INES can be grouped in
several blocks (see Figure 3): A. General Characteristics
• Ontology: There is an ontology to semantically defining Our chatterbot has been developed using A.L.I.C.E.
the contents of the courses (by a subontology based on technology, and so its brain is composed by a set of AIML
LOM [8]), the users of the platform, and their relations. files, that are simple stimulus-response modules (see section
• Contents and users managing module: This module III). It is based on Program D [10] and it uses AJAX
allow administrators to manage both the users of the (Asynchronous JavaScript And XML) technology [11], that
system and the contents of the courses. enables to make interactive applications or RIA (Rich Internet
• Inference engine: It processes the requests of the BDI Applications). This technique enables our bot to maintain an
agent and decides what it is allowed to do. asynchronous communication with the server in the
• BDI agent: It is the real brain of the system. It is based background, and so, it is possible to make changes on the web
on BDI technology [9], and it is responsible for taking page without reloading it. This means a significant
personalized decisions about the education of every improvement of the interactivity, speed, and usability.
student in an intelligent way. Inside our e-learning platform (INES), the chatterbot
• Chatterbot: It is responsible for communicating with (CHARLIE) carries out user interface functions, i.e. provides
students (we will focus on it in the next section). students with a way to communicate with the system in
natural language. Referring to the CHARLIE architecture at
the highest level of abstraction, our chatterbot consists of a Figure 5). Taken all together, this makes the bot more human
Bot User Interface (BUI), an interpreter, and an AIML to interact with the students.
database. Figure 4 shows us the architecture with the main
elements involved in the system.

Fig. 5 Customizing the bot

Another administrator’s task is to load specific content for a


course in the knowledge base of the bot. This content is the
one that (as we comment above) sends the student’s input to
the system to be processed, and that waits for the
corresponding response (the rest of the content of the
knowledge base of the bot is used for supporting a
conversation with the student). To do that, CHARLIE has an
Fig. 4 Architecture of the chatterbot CHARLIE inside INES interface where the administrator can select resources from a
structure of modules and insert several keywords to identify
The students are able to connect to the e-learning platform those resources. So, if the student uses some of these
through the Internet and they will interact with the bot through keywords in his/her input the bot will be able to carry out the
the BUI (the Bot User Interface is a text box where the appropriate actions.
students can input their utterances). The bot gets input data The administrator can introduce himselves/herselves the
from this BUI and decides what to do next searching into its keywords, but initially he/she will be recommended by an
knowledge source. Two cases can arise: automatic syntactic analyzer. The first time that a specific
• The bot find in its knowledge base suitable content to knowledge is associated to a bot, a syntactic analysis is
answer the student. performed and the keywords are shown, i.e. the syntactic
• The bot find in its knowledge base instructions to send analyzer is used to obtain a recommendation of
the user’s input to the system and to wait the answer of keywords/concepts related to the course content. Here,
it. When it receives the response, it processes it and it FreeLing 1.5 [12] is employed, an open source linguistic
answers the student. analyzer.
The reasons to choose this analyzer are the following:
A. Performance of CHARLIE • Open source.
To explain in detail the functionality of CHARLIE we will • Online available.
consider two points of view: the administrator’s point of view • Versatile and sound.
and the students’ one. • Simply to install and make operational.
• Modular (which permits changes of the syntactic
1) Administrator’s point of view: The administrator is able analyzer in future versions of the bot).
to manage the bot through a specific managing module. This • Supported by several languages (which permits changes
module offers a friendly interface for selecting the general of the syntactic analyzer in future versions of the bot).
AIML files to be loaded. Besides, it is possible to customize Another important characteristic of CHARLIE is the
the bot giving it a name, hobbies, home town, birthday, etc. possibility of asking questions to the students, wich will be
and a background image for the conversation window (see
assigned to the platform's resources (obviously, every contain general information) or a specific one related to the
question must have at least one associated answer). These content of a course.
questions will be good to help students to realize what If the bot does not detect any input related to the content of
sections of a course are more important, and to train them for a course, it answers to the students with an expression taken
test exams that they will must to do throughout the course. from its general knowledge base. Once the bot detects a reply
Whenever a question (and its answer) is assigned to a resource, from the student, where he/she has used a special keyword
it must be added to the AIML database of the bot (in order to (related to a learning resource of a course), the bot will
do this, functions were developed). recover the previously established association defined by the
When a set of questions were stored it is possible to define administrator and will carry out the appropriate actions.
tests (see Figure 6), which consist in several questions Besides, while a student is talking to the bot, he/she can
selected from those created. request several activities related to tests:
• Ask for a test: The bot chooses one over all the tests the
administrator had created.
• Ask for a personalized test: The student must choose the
number of questions the test will include and the bot
will create the test that fits this requisite.
• Ask for questions that do not belong to a test (free
questions): The bot starts to ask questions and keeps on
it until the student wants to stop (see Figure 7).

Fig. 7 Asking for free questions

Fig. 6 Tests manage VI. CONCLUSIONS AND FUTURE WORK


The more important contribution of this paper is the
presentation of a functional prototype of e-learning platform
2) Student’s point of view: The bot gives students the (called INES), which includes LMS, CMS, and ITS
opportunity of interacting with the e-learning platform in capabilities; and more specifically, the presentation of its user
natural language. As we mentioned above, this interaction interface. This interface is a chatterbot (called CHARLIE),
between INES and a student carries out across a pop-up which is an AIML based agent able to communicate with
window with a text area reflecting the conversation and a text students in natural language.
box to introduce new requests So, the students are able to CHARLIE is able to maintain a general conversation with
maintain a conversation with the bot, which can be a general students, showing them contents of courses, and asking them
conversation (thanks to a set of predefined AIML files that questions about the learning material.
The main future work related to CHARLIE is the upgrade
of its knowledge base to support semantic content. This entails
an upgrade of the AIML language and the development of a [2] A. Grace, T. Butler, Beyond Knowledge Management: Introducing
Learning Management Systems, Idea Group Publishing, 2005.
new interpreter (possibly called Program G). Besides, we will
[3] W. K. Horton, Designing Web-Based Training: How to Teach Anyone
try to achieve CHARLIE can talk in several languages. Anything Anywhere Anytime, John Wiley and Sons, 2000.
[4] T. Murray, “Authoring Intelligent Tutoring Systems: An Analysis of
VII. ACKNOWLEDGMENT the State of the Art”, International Journal of Artificial Intelligence in
Education, 10, 98-129, 1999.
This work has been funded by Ministerio de Educación y [5] A.L.I.C.E. Artificial Intelligence Foundation. [Online].
Ciencia through project "Servicios Adaptativos para E- Available: http://www.alicebot.org/.
learning basados en estándares" (TIN2007-68125-C02-02), [6] A. M. M. Neves, I. Diniz, I., F.A. Barros, “Natural Language
and Consellería de Innovación e Industria de la Xunta de Communication via AIML Plus Chatterbots”, V Symposium on Human
Factors in Computers Systems (IHC 2002), Fortaleza – CE, 387, 2002.
Galicia (Programa de Promoción General de la Investigación [7] A. M. Turing, Computing machinery and intelligence, 1950.
del Plan Gallego de IDIT) through project “E-BICS: E- [8] LOM (Learning Object Metadata). (2002). Draft Standard for Learning
learning – Bases de Integración e Coordinación sobre Object Metadata. [Online].
eStándares” (PGIDIT06PXIB32 2270PR). Available: http://ltsc.ieee.org/wg12/files/LOM_1484_12_1_v1_Final_
Draft.pdf.
[9] M. E. Bratman, Intention, Plans, and Practical Reason, CSLI
REFERENCES Publications, 1999.
[1] IRS. (2004) E-learning Glossary. [Online]. [10] Program D. (2002). Getting Started with Program D. [Online].
Available: http://www.irs.gov/opportunities/procurement/article/0,,id= Available: http://www.alicebot.org/resources/programd/readme.html.
128685,00.html. [11] R. Asleson, N. T. Schutta, Foundations of AJAX, Apress, 2005.
[12] FreeLing. [Online]. Available: http://garraf.epsevg.upc.es/freeling/.

You might also like