ProgramD Chatbot



The ProgramD Chatbot and Leaf

The ProgramD Chatbot is a self-contained chatbot based on A.L.I.C.E. ("Artificial Linguistic Internet Computer Entity") chatbot software which was written by Dr Richard Wallace. It has won the Loebner prize, a "Turing test" for "the most human-like computer." It is totally customizable and without any programming, can answer thousands of questions and even attempt to carry on a conversation.

Leaf is an AI controlled robotic system, implemented in LISP, designed to interface with an array of motors, cameras, and sensors. It converses using Microsoft's SAPI voice input and text to speech TTS output. Leaf has a personality with several personality traits, yet can only answer a handful of questions.

The purpose of this project was to marry Leaf and the ProgramD Chatbot (I call it "LeafD") so that Leaf could intelligently (?) answer any question asked.

This article will not to teach one how to duplicate my efforts as this will come at a later time, but to present my results both successful and unsuccessful.

I worked with a friend who took my requirements and my (simplistic) method of "gluing" the two programs, Leaf and ProgramD together. He wrote the java code and I wrote the LISP code. After about two weeks of coding, a babbling chatbot was born that could answer most any question and was infinitely customizable. It was a success.

I present here for you a test of this ProgramD Chatbot for Leaf (LeafD).

To give LeafD an initial test, I looked through its scores of AIML (artificial intelligence markup language) files for questions that it might answer.

Please keep in mind that Microsoft's SAPI is a bit primitive. Its accuracy leaves a lot to be desired. It is nowhere as accurate as Dragon's Nuance recognition software. Yet, SAPI is free and Nuance costs about $50. SAPI interface for Leaf exists. A Nuance interface does not. Leaf mitigates the poor accuracy issue by having a "speech.xml" file which limits the words and phrases to be understood by the robot to just the ones listed in the xml file. Typically this is less than one hundred words and phrases. For an unlimited ProgramD chatbot, this limitation is removed and the number of words that can be recognized goes up into the hundreds of thousands, but the accuracy goes down to about 80 to 90 percent. 80% accuracy means two in ten words will be misunderstood. Not so good when you ask a robot to "go ahead and fill it," and it hears "go ahead and KILL it."

The Questions

To give the ProgramD Chatbot - Leaf software a bit of a workout I chose the questions listed below for it to answer. Note that some of the answers are related to the TV show "Lost in Space" since I was planning on using this set of AIML to emulate the Robot from Lost in Space. Remember, AIML/Alice chatbots are easily and infinitely customizable. If you play the MP3 file below you can hear the conversation. You will hear me enunciating my words in order to be better understood.

How are you?
My name is Thomas.
Who are you?
Where are you?
Tell me a joke?
Tell me a story?
Who is Alice? (Alice is the chatbot that ProgramD is based on.)
What is a cancer?
Who is Bruce Springsteen?
Who is God?
Do you like being a robot?
What is your favorite movie?

The ProgramD Chatbot - Leaf Chatbot Responses

Thomas> [2011-06-19 00:00:39,366]"how are you”
Robot: "Everything is running smoothly.

Thomas> [2011-06-19 00:00:45,788]"my name is Thomas”
Robot: "It is a pleasure to introduce myself to you, Thomas."

Thomas> [2011-06-19 00:00:52,569]"Who are you”
Robot: "I ask myself that question, "Who am I?"

Thomas> [2011-06-19 00:01:00,241]"where are you”
Robot: "I am in Doctor Smith's home in The Planet PRE Plannis.. Where are you?"

Thomas> [2011-06-19 00:01:09,210]"I am having" (actual statement: “I am home.”)
Robot: "Do your friends call you having."

Thomas> [2011-06-19 00:01:17,382]"I am one” (actual statement: “I am home.”)
Robot: "You claim to be one."

Thomas> [2011-06-19 00:01:24,288]"Tell me a joke”
Robot: "I never forget a face, but in your case I'll make an exception."

Thomas> [2011-06-19 00:01:32,757]"Tell me a story”
Robot: "Harrison Ford and Candice Bergen were brought together by their shared vision. Together, they worked hard to make it a reality. Candice Bergen was dedicated to the underdog cause, which coincided with Harrison Ford's sense of perfection. Joined by common cause, the couple became an iron alliance against common adversaries."

Thomas> [2011-06-19 00:01:58,350]"who is Italics” (actual statement: “Who is ‘Alice’.”)
Robot: "Not a robot. Probably a human. Maybe a celebrity? I'll ask around and get back to you."

Thomas> [2011-06-19 00:02:11,491]"thank you”
Robot: "you are quite welcome."

Thomas> [2011-06-19 00:02:18,616]"what is the cancer” (actual statement: “What is a cancer?”--the zodiac sign)
Robot: "That's a good question.”

Thomas> [2011-06-19 00:02:24,866]"what is eight cancer” (actual statement: “What is a cancer?”--the zodiac sign)
Robot: "Use a calculator!"

Thomas> [2011-06-19 00:02:31,616]"ways Bruce Springsteen” (actual statement: “Who is Bruce Springsteen?”)
Robot: "I can follow a lot of things, like our discussion about cancer . Try being more specific."

Thomas> [2011-06-19 00:02:38,694]"who is Bruce Springsteen”
Robot: "He is a famous rock star."

Thomas> [2011-06-19 00:02:48,741]"who is got” (actual statement: “Who is God?”)
Robot: "The name of someone I met online. That's an interesting question. I'll come back to that in a minute."

Thomas> [2011-06-19 00:02:58,413]"mill” (Not sure what happened here.)
Robot: "What do you look like?"

Thomas> [2011-06-19 00:03:04,210]"who is god”
Robot: "he is master of the universe."

Thomas> [2011-06-19 00:03:10,757]"who is batman”
Robot: "he is a fictional character who appeared first in a 1938 comic book."

Thomas> [2011-06-19 00:03:20,350]"who is capping her” (actual statement: “Who is Captain Kirk?”)
Robot: "No one that I have talked to. I don't know anything about it . Some famous celebrity, right?"

Thomas> [2011-06-19 00:03:32,303]"who is captain Kirk”
Robot: "he was the Captain of the Starship Enterprise."

Thomas> [2011-06-19 00:03:41,507]"delight been a robot” (Actual question: “Do you like being a robot?”)
Robot: "What do you really want to ask me?"

Thomas> [2011-06-19 00:03:48,428]"do you have in mind”
Robot: "Where would I get it? But I do have a great undefined."

Thomas> [2011-06-19 00:03:58,413]"what is your favorite movie”
Robot: "My favorite movie is Lost in Space. Have you seen it?"

Thomas> [2011-06-19 00:04:05,257]"yes”
Robot: "What did you think about it?"

Thomas> [2011-06-19 00:04:10,116]"it was great”
Robot: "What did you do there?"

Thomas> [2011-06-19 00:04:17,366]"were talking about lost in space”
Robot: "I don't know if they were."

Thomas> [2011-06-19 00:04:24,428]"thank you”
Robot: "you are quite welcome."

Thomas> [2011-06-19 00:04:29,241]"denying” (Actual: “good night”)
Robot: "Are you still undefined?"

Thomas> [2011-06-19 00:04:35,053]"midnight” (Actual: “good night”)
Robot: "What do you really want to ask me?"

Thomas> [2011-06-19 00:04:41,225]"say goodbye”
Robot: "goodbye”

ProgramD Chatbot - Leaf Chatbot Conclusions

All things considered, the ProgramD Chatbot / Leaf worked fairly well. Questions were asked and questions (even if not the right questions) were answered. The software first allows Leaf to answer a Leaf-related question, or respond to a request to perform a task as would be needed in a robot that can navigate through a room.

Some of the improvements that are badly needed:

1. The ProgramD Chatbot files, the "brain" of the robot, need a lot of customizing for the B9 robot, and there are many bits of missing information. 2. I would like to see if I can get Nuance working with Leaf. Nuance is vastly superior over Microsoft's SAPI. 3. I need to change leaf's "bored" code so that its timer resets when the ProgramD Chatbot answers. 4. When the "bored" code starts to play its wav files or starts to say something, this sometimes interfered with my questions. I would need to fix that. 5. As I have stated time and time again, to dramatically increase recognition as well as appearance of intelligence, a chatbot would need to understand and be aware of situations that would put a higher probability on words that were related to the specific situations. In other words, if a chatbot knows he is talking about a situation in a pub and not in the forest, "get me a beer," would never be confused with the word "get me a bear."

Still, the combination of the ProgramD chatbot with Leaf proved itself to work well enough to warrant time for updates and corrections. Assuming my next job doesn't fill all my weekends and evenings with overtime, I will attempt to polish and refine both the AIML and the ProgramD chatbot software itself and perhaps write a situation-based artificially intelligent application. 

More About Leaf 

New! Comments

Have your say about what you just read! Leave me a comment in the box below.

Recent Articles

  1. Stu the AI Robot

    Jul 23, 16 12:26 AM

    Stu the AI Robot - Debugging

    Read More

  2. Best Game Camera Security Box

    Jul 07, 16 10:47 PM

    Camera stolen again? This is the best Game Camera Security Box on the market. It...

    Read More

  3. Robots and Androids

    Jul 03, 16 12:50 AM

    A site with information on robots and androids including their history, building them, and so much more.

    Read More

Robot-Android-Blog  Read our blog about robots, building robots, and easy robot building.

How to Build a Robot How to Build a Robot takes you through each step required to build a robot.

Build an Arduino Robot Yes you CAN! We get you started.

Robot Comics Robot Comics are HERE! We start off our comics with...

Virtual Steve Jobs Virtual Steve Jobs? Steve Jobs is gone and we missed him so much we re-created his essence in software...

The EZ Robot Review The EZ Robot Review. This article reviews the EZ Robot building system, the robot board and system for beginner's robot building.

Medical Robots Medical robots are now showing their silver faces in hospitals and doctors' offices across the world.

Roomba Repair Quick and Simple Fixes for Your iRobot Roomba vacuum

Roomba Batteries How to extend the life of your Roomba's battery. Buy replacement batteries here.

Robot Cars - Yesterday’s Vision, Today’s Reality Are robot cars 'on track' to becoming the way of the future? What issues are at stake at their current level of development?

Robot Car Safety - The Future of Today’s Vehicles

Robot Car Safety can be identified by two main technological components - lacking in human drivers -a (1) instant reaction time and (2) 360-degree awareness of the road.

Educational Robots Learn robotics with these educational robots..

Robot People Robotic replicas of people - robot people - are starting to pop up here and there. We even visit a company who is today making them to order.

Hacking Elvis - The Alive Elvis Animatronic Robot In these articles we show you how to run your Alive Elvis from a microcontroller such as the Arduino and the Basic Stamp. Hacking Elvis...

Wall-e toy robots from Disney Wall-e toy robots are still popular this year

R2D2 Toy Robot : Interactive-Astromech Droid Here's a review of the high-end R2D2 toy robot, the interactive astromech droid.

Toy Robot Dogs Toy Robot dogs: In the robot pet store, you will find toy robot dogs - robomuts if you will - of all sizes, shapes and prices.

Wowwee Robotics Wowwee Robotics has been building toy robots for years.

Lost in Space Toys : The Robot Lost in Space Toys : There have been scores of toys built resembling the Lost in Space Robot, sometimes call by his model number "B9"...

Tribot Robot The tribot robot is one of the most entertaining toy robots that has come from Wowwee...

Terminator Robots Terminator Robots : The Terminator movies and television show brought robots to...

Artificial Intelligence: Our Brain In That Small Chip Artificial Intelligence was once thought of as an impossible feat. Now, with modern advancements in robotic technology, machines can be made to think like humans.

R2D2 - An Adventurous, Resourceful, and Loyal Robot R2D2 demonstrates several notable characteristics every human can learn from, in spite of the fact that he is, a robot. Read his biography here.

Anybots Vistual Assistant Robots - The Coming of Age in Telepresence Robotics Anybots Virtual Assistant Robots are expected to grow in a few years, or perhaps sooner.

BlueBiped: Propelled by it's Own Weight BlueBiped uses no power source to walk. This robot has set a Guinness World Record, walking nonstop for a distance of 15 km (9.32 miles), the longest distance ever walked by a bipedal robot

EZ-Robot May Be the Easiest Way to Build a Robot EZ-Robot May Be the Easiest Way to Build a Robot. The EZ-Robot is a $235 kit that includes everything you need to transform one of your old toys into a functional robot.

Introducing MorpHex, a Spherical Hexapod Robot Introducing MorpHex, a Spherical Hexapod Robot. Imagine a robot shaped like a ball which transforms into a walking six-legged contraption. That’s a description of MorpHex, created by Kare Halvorsen.

Recovering Kids Monitored by Robots After Surgery Recovering Kids Monitored by Robots After Surgery. A Boston, Mass. hospital introduces a sci-fi worthy caregiver system, where patients can go home and stay monitored by robots after surgery.

iCub the "Baby Robot" - Learns to Crawl Like a Baby Have you heard of the iCub? It is a one-meter high android originally developed by the Europe-based RobotCub Consortium. The iCub strongly resembles

Dongbu Robot HOVIS Kits Allow Users to Build An Android Phone Powered Robot Dongbu Robot HOVIS Kits Allow Users to Build An Android Phone Powered Robot

Robots and Androids



to read about the


Build an Arduino Robot!

Get the ebook.

Only $.99!