OWL Chatbot Module for a Virtual Campus

November 26, 2012

By Nisarg Naik

The research project summarized in this article was conducted as part of the requirements for degree of MSc Computer Science at Nottingham Trent University in the UK. For this project, I created an Open Wonderland Chatbot Module.

A chatbot is a virtual character that simulates an intelligent conversation with humans. The main purpose of this project was to extend Open Wonderland’s non-player character (NPC) functionality to interact with human avatars. The chatbot is embedded in a virtual campus simulated learning environment (see screenshots of the virtual campus). The main purpose of the chatbot is to communicate or guide users to solve their problems.

Clifton Campus

Virtual campus in which chatbot is integrated.

Here is an example of an integrated chatbot window in which a user has engaged in a conversation with the chatbot from inside Open Wonderland.

Chatbot window

Chatbot window

While chatbots can be used to simulate conversations that convince people the bot is a real person, they can also be used as an advanced search engine to retrieve factual knowledge for users.

Technical Details

Initially, my intention was to develop a basic conversational agent program which could perform keyword-matching to scan for user inputs and generate replies. In the final project, however, I instead integrated a highly developed existing artificial intelligence engine. This engine is based on ALICE (Artificial Linguistic Internet Computer Entity) which uses an AIML-based (Artificial Intelligence Markup Language) interpreter to query and retrieve information. To integrate this technology into Open Wonderland, I experimented with both a Java-based AIML interpreter known as Program-D and a web-based AIML interpreter called Pandorabots. I ended up using Pandorabots for the Chatbot module prototype.

Pandorabots uses the XML-RPC (remote procedure call) communication protocol. It uses XML to encode data, and it works by sending an HTTP request to the server. A client can interact with Pandorabots using a Bot ID. The main advantage of using Pandorabots is that it is easy for users to create and add knowledge to their chatbots by uploading AIML files.

The diagram below illustrates where the Chatbot module fits into the structure of the Virtual Campus once it is complete.

Virtual Campus system diagram.

Virtual Campus system diagram.

As envisioned, the Virtual Campus will include seven buildings covering many disciplines including business, arts, technology, team collaboration, socializing room, student club, and student service. Students will be able to get virtual resources from various specialized virtual departments and directly obtain relevant information easily. The Virtual Campus will also include non-academic rooms for entertainment.

The chatbot functionality will be used throughout the Virtual Campus as an automated guide or instructor, able to interact with students to solve their problems. The AIML integration will allow us to interface with a variety of additional knowledge bases, such as WolframAlpha and DBpedia, allowing students to retrieve information from the chatbot without leaving the virtual world environment.

A big advantage of using Open Wonderland is that it is a great multi-user virtual environment engine that provides many functionalities and in-world applications that students and lecturers can utilize in the Virtual Campus. A well organized virtual campus can be the most efficient way for students and lecturers to collaborate. To support this collaboration, we are planning to use the PDF viewer, an in-world web browser, the Microsoft Office document viewer, text-chat, VOIP audio, webcam video integration, the Screen Sharer and VNC Viewer for desktop sharing, NetBeans for programming projects, in-world music players, wall posters, and the multi-user white board for discussions and sketching. These tools, embedded in the virtual world, are similar to desktop-based applications.

For more information, please refer to my full dissertation, “Integration of a Chatbot Engine on a Multiuser Virtual Environment to Enhance Educational Framework for a Virtual Campus.

I have also made the source code for the Chatbot module available, as well as the 3D models used to create the Virtual Campus.




Postcards from Wonderland

November 12, 2012

By Nicole Yankelovich

The Postcards from Wonderland code-a-thon wrapped up this evening. The project isn’t entirely complete, but we now have a working prototype:

Initial Postcard Implementation

The first working version of the Postcards feature.

To create a postcard, the user positions an in-world camera and clicks on the green camera button to take a photo. A window then pops up with the photo (not quite displayed properly yet) and allows the user to type in a name for the Postcard and add a message. The user can then save the Postcard to their computer or export it to a photo sharing site.

The whiteboards on the right side of the image show the rough design for the web app that will be used to export the Postcards to services such as Facebook, Flickr, Instagram, and others. The export piece is still a work in progress.

During the two code-a-thon sessions, the group broke up into three teams. Two of the teams worked on coding while the third team worked on design and documentation. The documentation is in the form of a photo essay – really a screenshot essay – of the two code-a-thon sessions.

Creating Facebook photo essay in Wonderland

Creating the Facebook photo essay as a mechanism for documenting the code-a-thon.

If you click on the individual images in the Facebook Postcards album, you will see that each one includes a narrative explaining what the group was doing at that point in the project.

We used a wide range of Wonderland collaboration tools during the two sessions. We began by setting up several different Cardwalls to record “user stories” and track tasks. The design team made heavy use of Whiteboards to sketch out the Postcards UI design. All the teams used the Screen Sharer to collaborate. The design team used it to work on the user interface document in Google Docs and also to create the photo essay on Facebook.  The development teams used it to share terminal and web browser windows. The development teams also used two in-world copies of the NetBeans software development environment, sticky notes, and VNC (a desktop sharing tool). The VNC session is what is visible in the first screenshot above. They used it to show Wonderland running on a remote test server. In this way, the group could use the main community server for collaboration and a separate server to install and test the new Postcard code.

All the code developed for this project is publicly available in a Postcards github repository.

Postcards Part II – New Participants Wanted!

November 7, 2012

By Nicole Yankelovich

Last month, we held our first ever Open Wonderland code-a-thon, working on a project we called Postcards From Wonderland. The non-technical code-a-thon participants created a screenshot journal of the project in an album on the Open Wonderland Facebook page. Be sure to click on the images to read the narrative. This Sunday, we will be continuing this project, brainstorming and implementing ways to publish the postcards to social media sites. This event is being managed via Eventbrite. If you would like to attend, please sign up here:

Sign up for the
Second Open Wonderland Code-A-Thon

Sunday, November 11th
1-9pm US Eastern time
See time in your timezone

It is not necessary to have participated last time to join this Sunday. This event is an excellent, free learning opportunity for both developers and non-developers. Developers can learn about Open Wonderland programming from more experienced developers, and non-technical attendees will have an opportunity to experience a variety of Open Wonderland’s collaboration tools in action.

First Postcards From Wonderland Code-a-thon

Participants in the first Postcards From Wonderland code-a-thon used multiple collaboration tools including a shared copy of NetBeans, a card wall, sticky notes, and a VNC session to watch code testing on another Wonderland server.

The “State” of Online Learing

November 2, 2012

I just came across a post on the Online Colleges Blog that I found interesting and thought others might as well.

8 States Going All In On Online Learning

Despite the name of the blog, the article focuses on online learning in K-12 as well as the college level in eight states: California, Florida, Minnesota, Idaho, Ohio, Michigan, Wisconsin, and Arizona. While there’s no specific mention of virtual world technology, programs such as the ones mentioned in these states might be interested in considering how virtual worlds compliment their existing online offerings.

%d bloggers like this: