Creating and Implementing Conversational Agents



Similar documents
Microsoft Expression Web

Lab 1: Create a Personal Homepage

Signatures. Advanced User s Guide. Version 2.0

Using FrontPage 2000 to Create Forms

Using Internet or Windows Explorer to Upload Your Site

Using the CCNY Server Space with Secure Shell 3.0 for Windows Created by Doris Grasserbauer

AXIS 70U - Using Scan-to-File

Once we have provided you with an ftp username and password, you may use the following instructions to upload content:

CREATING WEB PAGES USING HTML INTRODUCTION

Plesk for Windows Copyright Notice

Version 2.1.x. Barracuda Message Archiver. Outlook Add-In User's Guide

RoboMail Mass Mail Software

Cascade Server CMS Quick Start Guide

Getting Started with KompoZer

MS InfoPath 2003 MS InfoPath 2007 Microsoft Office InfoPath 2003 minimally runs on the following operating systems:

Trend Micro Incorporated reserves the right to make changes to this document and to the products described herein without notice.

Usability and Effectiveness Evaluation of a Course-Advising Chat Bot

Module 6 Web Page Concept and Design: Getting a Web Page Up and Running

(These instructions are only meant to get you started. They do not include advanced features.)

If you are interested in only one mode of sharing, click on your desired logo below for precise instructions for your specified choice:

Web Hosting Training Guide. Web Hosting Training Guide. Author: Glow Team Page 1 of 22 Ref: GC349_v1.1

Initial Setup of Microsoft Outlook 2011 with IMAP for OS X Lion

PORTLANDDIOCESE.ORG - How to Connect Table of Contents

How to Create and Send a Froogle Data Feed

Dreamweaver CS5. Module 2: Website Modification

Parallels Plesk Control Panel

Sending on Blue Hornet

Outlook Web App (OWA) Quick Start Guide

Installing the Citrix Online Plug-In

Getting Started with Microsoft Office Live Meeting. Published October 2007 Last Update: August 2009

Getting Started with Microsoft Office Live Meeting. Published October 2007

Lesson 7 - Website Administration

End User Guide The guide for /ftp account owner

Xtreeme Search Engine Studio Help Xtreeme

Web Hosting Training Guide. Web Hosting Training Guide. Author: Glow Team Page 1 of 28 Ref: GC278_v1.1

Connecting to Remote Desktop Windows Users

Patented hosting technology protected by U.S.Patents 7,0909,948; 7,076,633. Patents pending in the U.S.

PORTLANDDIOCESE.ORG - How to Connect Table of Contents

Accessing vlabs using the VMware Horizon View Client for OSX

Customer Control Panel Manual

DocuShare User Guide

Document Services Online Customer Guide

2) Log in using the Address and Password provided in your confirmation

Getting Started with Dynamic Web Sites

Web Design Competition College of Computing Science, Department of Information Systems. New Jersey Institute of Technology

Web Design. Links and Navigation

Using WS_FTP. This tutorial explains how to use WS_FTP, a File Transfer Program for Microsoft Windows. INFORMATION SYSTEMS SERVICES.

Web Hosting Getting Started Guide

Alert Solutions by WebLaunch User Guide

Trend Micro Incorporated reserves the right to make changes to this document and to the products described herein without notice.

OutDisk 4.0 FTP FTP for Users using Microsoft Windows and/or Microsoft Outlook. 5/1/ Encryptomatic LLC

USING OUTLOOK WITH ENTERGROUP. Microsoft Outlook

enter the administrator user name and password for that domain.

Forefront Online Protection for Exchange (FOPE) User documentation

Accessing your using a web browser

Outlook Web Access (OWA) with Exchange Server 2007 (Windows version)

Using the free iweb webpage templates

An Introduction To The Web File Manager

Accessing your Staff (N and O drive) files from off campus

Mariemont City Schools

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

Downloading and installing SMART Notebook Software

BlackBerry Internet Service. Version: User Guide

Adobe Dreamweaver CC 14 Tutorial

Universal Management Service 2015

SPHOL326: Designing a SharePoint 2013 Site. Hands-On Lab. Lab Manual

Help. F-Secure Online Backup

1: 2: : 3.1: 3.2: 4: 5: & CAPTCHA

WEBSITE CONTENT MANAGEMENT SYSTEM USER MANUAL CMS Version 2.0 CMS Manual Version

Citrix for Mac Installation

2. Registration You need to register an account before you can start using sft.pearson.com. You can do this either by

Software Development Environment. Installation Guide

Information & Communication Technologies FTP and GroupWise Archives Wilfrid Laurier University

Build it with Drupal 8

Voice-Over PowerPoint (VOPP) and FTP Instructions for Online Courses (for Windows PC Computers) December 2009

B a r r a c u d a M e s s a g e A r c h i v e r O u t l o o k A d d - I n U s e r G u i d e. V e r si on 3. 1

Web Mail Classic Web Mail

Using etoken for Securing s Using Outlook and Outlook Express

Secure Message Center User Guide

Microsoft Outlook Web Access Handbook

Create a GAME PERFORMANCE Portfolio with Microsoft Word

Using Microsoft Expression Web to Upload Your Site

Using the GroupWise Client

User guide. Business

Office of Information Technology Connecting to Microsoft Exchange User Guide

Lync Online Deployment Guide. Version 1.0

Parallels Plesk Panel

Transitioning from TurningPoint 5 to TurningPoint Cloud - LMS 1

FileMaker Pro and Microsoft Office Integration

HOW TO CREATE AN HTML5 JEOPARDY- STYLE GAME IN CAPTIVATE

Transcription:

Creating and Implementing Conversational Agents Kenneth J. Luterbach East Carolina University Abstract First, this paper discusses the use of the Artificial Intelligence Markup Language (AIML) for the development of a conversational agent s knowledge base. Second, this paper discusses two approaches to implementing conversational agents. One implementation option available to instructional designers is to run a conversational agent on a web hosting service capable of interpreting AIML tags. Alternatively, an instructional designer could develop a unique environment for implementation purposes. Introduction This work considers text-based conversational agents. Embodied conversational agents (Cassell, Sullivan, Prevost, & Churchill, 2000; Graesser, McNamara, & VanLehn, 2005; Ruttkay & Pelachaud, 2004) or, as Plantec (2004) describes them, V-people (virtual people) are animated characters capable of simulating human conversation. While animated characters provide greater novelty than textual delivery media (Clark & Choi, 2005), instructional effectiveness is of paramount importance to educators. Conversational agents offer instructional technologists an opportunity to design and to develop instruction that responds to student requests. Software that implements a conversational agent seeks to hold a seemingly intelligent conversation with the learner in order to help the learner meet instructional objectives. To hold an intelligent conversation, a software agent must access a knowledge base. First, this paper discusses the use of the Artificial Intelligence Markup Language (AIML) in order to create knowledge bases of conversational agents. Second, this paper contrasts two methods for implementing a conversational agent. Using the first method, instructional designers can create a knowledge base in AIML and import it to a web hosting service. As discussed in the first section of this paper, creating a knowledge base in AIML requires the inclusion of markup tags around conversational text. Also as noted below, this process has been automated. Consequently, an instructional designer can create the knowledge base of a conversational agent by writing question and answer sequences. The second approach requires computer programming, which is more complex than creating AIML and importing the knowledge base to a hosting service. Although the second approach is more complex, creating a custom made conversation permits instructional designers to implement unique features not available in hosting environments. Using AIML to Develop the Knowledge Base of a Conversational Agent The Artificial Intelligent Markup Language (AIML) was developed by Richard Wallace (see http://www.pandorabots.com/pandora/pics/wallaceaimltutorial.html) and conforms to the rules of the Extensible Markup Language (XML). As such, AIML features tags similar to ones in XML and other language derivatives, such as the Hypertext Markup Language (HTML) and Voice XML. Accordingly, familiarity with HTML or XML would be helpful when learning AIML, but such knowledge is not required. Although AIML is not a part of the work of the World Wide Web consortium, AIML provides an XML-compliant standard for the creation of a knowledge base. The latest version of AIML (version 1.0.1), which became stable in March 2005, contains 40 tags. For a complete list of the tags, see http://www.alicebot.org/documentation/ptags.html. Discussion of all AIML tags is well beyond the scope of this paper. Nevertheless, the subset of AIML tags illustrated in the following examples serves to highlight key features of the markup language. One can construct a knowledge base using three basic AIML tags:, <pattern>, and <template>. In AIML, knowledge is represented within the and tags and knowledge is conceived of as a linguistic stimulus-response pair. The stimulus appears within <pattern> and </pattern> tags and the response appears within <template> and </template> tags. Whenever the words within the <pattern> tags are encountered, the conversational agent responds with the words within the <template> tags. The following example is a complete AIML script capable of responding only to the question: Where is Anaheim? 259

<?xml version="1.0" encoding="utf-8"?> <aiml version="1.0"> <pattern>where IS ANAHEIM</pattern> <template>anaheim is in California</template> </aiml> In the preceding script, the first statement is required for implementation purposes in order to convey that the tags in the script are XML-compliant. The second line identifies the script more specifically as containing AIML tags. The script, which is a strikingly simple conversational agent, can be executed at the following URL. http://www.pandorabots.com/pandora/talk?botid=a0350a2c3e36fe9e Keep in mind that you will receive the response only when you ask the question: Where is Anaheim? Those three words must be spelled correctly. The letters of those words may be entered in any combination of uppercase and lowercase letters. Entering the question mark is optional. The following AIML example could be used to tutor novice computer users who have yet to learn how to open application programs. In order for a human tutor to help such novice users, the tutors must be able to remember what was said recently. This is also true of conversational agents implemented through computer software. In AIML, the <that> tag enables a conversational agent to recall its last utterance. This is illustrated in the following example. <?xml version="1.0" encoding="utf-8"?> <aiml version="1.0"> <pattern>how DO I OPEN MICROSOFT WORD</pattern> <template>on what operating system do you want to run word</template> <pattern>how DO I OPEN MICROSOFT EXCEL</pattern> <template>on what operating system do you want to run excel</template> <pattern>mac OS *</pattern> <that>on what operating system do you want to run word</that> <template>click the Word icon in the palette</template> <pattern>mac OS *</pattern> <that>on what operating system do you want to run excel</that> <template>click the Excel icon in the palette</template> <pattern>windows *</pattern> <that>on what operating system do you want to run word</that> <template>you may be able to double click a Word icon on the desktop; otherwise, proceed through the Start button, to Program Files, to Microsoft Office, to Word</template> <pattern>windows *</pattern> <that>on what operating system do you want to run excel</that> <template>you may be able to double click an Excel icon on the desktop; otherwise, proceed through the 260

Start button, to Program Files, to Microsoft Office, to Excel</template> </aiml> The preceding example can be executed at the following URL: http://www.pandorabots.com/pandora/talk?botid=be1e1c203e36fe91 This example demonstrates that all conversational transactions in an AIML knowledge base appear within the pair of tags. Second, note that the asterisk (*) is a wildcard character that matches any input. Consequently, in response to the operating system question posed by the conversational agent, the user can enter Mac OS X or Windows 95, Windows XP, or any other text after either MAC OS or Windows and a match will be found. Then, the conversational agent s reply will depend on whether the agent previously asked about running Word or Excel. Whichever operating system and application pair is of concern, the response in the appropriate <template> </template> tags will be displayed. For instance, if the agent asked: On what operating system do you want to run excel and the user responded, Windows XP, the agent would reply with: You may be able to double click an Excel icon on the desktop; otherwise proceed through the Start button, to Program Files, to Microsoft Office, to Excel. The use of numerous categories in the previous example is inefficient because the procedure for opening Microsoft applications is uniform. Indeed, even though only the name of the application changes, a new category must be inserted into the AIML for each new Microsoft application. To eliminate this inefficiency, a variable can be assigned the name of the application entered by the user. This is shown in the following example. <?xml version="1.0" encoding="utf-8"?> <aiml version="1.0"> <pattern>how DO I OPEN MICROSOFT *</pattern> <template>on what operating system do you want to run <set name="app"><star/></set></template> <pattern>mac OS *</pattern> <that>on what operating system do you want to run *</that> <template>click the <get name="app"/> icon in the dock.</template> <pattern>windows *</pattern> <that>on what operating system do you want to run *</that> <template>you may be able to double click the <get name="app"/> icon on the desktop; otherwise, proceed through the Start button, to Program Files, to Microsoft Office, to <get name="app"/>.</template> </aiml> This example can be executed at the following URL: http://www.pandorabots.com/pandora/talk?botid=8ee67b9bde36fe90 In AIML, the <star/> tag contains the text associated with the asterisk wildcard character. Consequently, in the script above, the <star/> tag will contain the name of the Microsoft application the user wants to open when the user asks a question like How do I open Microsoft Outlook. The agent uses the name of the application entered by the user to pose the operating system question. This could have been accomplished with the following AIML: <template>on what operating system do you want to run <star/></template> 261

For the script to function properly, however, the name of the Microsoft application entered by the user must be saved in a variable. This is accomplished in the example above by enclosing the star tag in a set tag, as in <set name="app"><star/></set>. The use of a variable is vital because the initial value of the star tag (i.e., the name of the Microsoft application entered by the user) is overwritten when the user responds to the operating system question. Once the user has responded to the operating system question, the conversational agent responds with suitable instructions for opening the application. Notice that the get tag (i.e., <get name="app"/>) is used to display the name of the Microsoft application entered by the user. Other AIML tags provide conversational agents with additional capabilities, including, but not limited to the ability to: reply randomly to user input; respond to grammatical variations expressing the same utterance; assign a gender to the agent; and to assign a name to the agent. For a tutorial on the tags that enable these and other features, see http://www.pandorabots.com/botmaster/en/tutorial. Implementing a Conversational Agent One may implement a conversational agent through a free hosting service. Alternatively, one may develop a unique environment. Both approaches are considered here. Agent Hosting Services Anyone with a knowledge base that conforms to the AIML specification can implement their conversational agent, which may also be called a bot, at a free hosting service. Pandorabots (http://www.pandorabots.com) is an example of such a free service and was used to implement the three examples in the previous section. To implement conversational agents at pandorabots one first creates an account by supplying one s first name, last name, email address, and password. Once logged in, a conversational agent can be created in three steps. First, click the link called Create a Pandorabot; supply a name for the bot and if you have your own AIML, select the last radio button, which starts the bot with no initial content or knowledge. Second, click the AIML link in the top menu bar. At this point you may upload an AIML file or click the link called Create a new AIML file. If you take the latter option, then copy and paste your AIML categories into the form; supply a file name and click the web form s submit button, which is labeled Save as. After the uploading or copying-and-pasting step, the last step is to publish the agent: Click the My Pandorabots link; click the radio button beside the name of the bot you just created; ensure that Publish is selected in the drop-down menu; and click the Go button. This completes the bot implementation process by displaying the hyperlink to your conversational agent. Even without AIML, one can create a conversational agent at pandorabots with conversational text like the following four lines. Hello, how are you? Hi, I am fine. Where is Anaheim? Anaheim is in California. In this case, pandorabots creates AIML categories, complete with pattern and template tags. To experience this conversion, you could enter the four lines above, or some other conversational text in which each utterance is separated by a blank line, into the form at http://www.pandorabots.com/botmaster/en/aiml-converter.html and then click the convert button. Another possibility for hosting a conversational agent involves the installation of free AIML processing software on a personal computer. Since the source code is often available, this approach creates the possibility of extending the system in order to provide unique features. To pursue this implementation option, see the installation details at http://www.alicebot.org/downloads/programs.html or http://www.alicebot.org/aimlbots.html. 262

Custom Implementation Creating a custom agent requires skill in computer programming whereas implementing an agent in AIML demands only the inclusion of category, pattern and template tags around conversational text. This is the biggest difference in the two approaches and a considerable disadvantage of custom development. However, in addition to holding a conversation, a custom agent can be programmed to provide additional services. For example, a conversational agent acting as a tutor may be able to diagnose learner errors and provide feedback intended to help learners correct their errors. This is precisely the type of functionality this author sought to provide to students learning how to create web pages in order to fulfill the portfolio requirement of a technology teacher preparation course. By writing unique code in PHP (a hypertext preprocessing language), the author has created and implemented A Web Tutor (A.W.T. or, more simply, AWT) that converses with students in order to help them create web pages. In addition to providing answers to questions about web page development, AWT provides lessons that often include step-by-step instructions. Further, AWT provides diagnostic and feedback features that help students identify broken hyperlink and image not found errors in their web pages. One may perceive of the tutor s conversational, tutorial, diagnostic and feedback capabilities as a kaleidoscope, capable of offering unique experiences to individual learners within a domain of practice. Learners communicate with AWT by typing a question into a text field on a web page. Specifically, learners can ask AWT the following questions: What is all the fuss about the World Wide Web? What is a web browser? What is a web server? What is HTML? What is a web page? What is a home page? What is a URL? What is a web site? What is a web crawler? What is a search engine? What does FTP mean? In addition to asking those questions, a learner can ask AWT the following questions in order to learn how to complete various tasks concerning web page development. How do I access my portfolio web space? How do I create a web page? How do I publish a web page? How do I edit a web page in Netscape Composer? In Netscape Composer, how do I insert a hyperlink? With respect to diagnosing any errors in the addresses of images and relative hyperlinks, learners can enter check my web page or check my web page named xxxx.yyy (where xxxx can be any file name and yyy is either htm or html). Upon encountering either of those directives, AWT retrieves the particular web page (either index.html or the specific page identified in the directive); detects any errors in the relative hyperlinks and in the references to images by parsing the HTML of the web page and retrieving the file names of all files in all folders of the student s web space; and provides feedback. The feedback identifies any errors in the URLs of the images and relative hyperlinks; states the cause of each error; and provides a remedy to fix the error. Given the feedback, the learner can ask additional questions, which will prompt AWT to provide step-by-step instructions for performing the remedies. The conversational capabilities of AWT are limited at this time, but continued development is planned in light of current research. Future versions of the software will improve upon three main aspects of the system, particularly: (1) The tutor s conversational ability, which will enable the tutor to reply to more questions; (2) The tutor s knowledge base, which will permit the tutor to provide additional lessons and will permit each learner to try alternative approaches if the learner is not satisfied with the initial set of instructions; and (3) The tutor s interface, which will send the tutor s output through a text-to-speech engine to an animated character in order for the tutor s comments to be rendered as voice output through an avatar. 263

References Cassell, J., Sullivan, J., Prevost, S., & Churchill, C. (Eds.). (2000). Embodied conversational agents. Cambridge, MA: MIT Press. Clark, R. E. & Choi, S. (2005). Five design principles for experiments on the effects of animated pedagogical agents. Journal of Educational Computing Research, 32(3), 209-223. Graesser, A. C., McNamara, D. S., & VanLehn, K. (2005). Scaffolding deep comprehension strategies through Point&Query, AutoTutor, and istart. Educational Psychologist, 40(4), 225-234. Plantec, P. M. (2004). Virtual humans: A build-it-yourself kit, complete with software and step-by-step instructions. New York: AMACOM Books. Ruttkay, Z. & Pelachaud, C. (Eds.). (2004). From brows to trust: Evaluating embodied conversational agents. Norwell, MA: Kluwer Academic Publishers. 264