Pandorabots Offers Artificial Intelligence as a Service (AIaaS)

Pandorabots AIaaSPandorabots has rolled out their Artificial Intelligence as a Service (AIaaS) platform. I wrote about the recently launched Pandorabots Playground in a previous post. The Playground offers a great option for businesses and app developers looking for a do-it-yourself approach to building conversational virtual assistants. The new AIaaS gives developers a ready-made toolkit for incorporating interactions with their conversational bots into apps and websites using client-side code. Both the Playground and the AIaaS platform support the new and improved AIML 2.0 bot scripting language. Not only does AIML 2.0 offer many new features over the previous AIML 1.x versions, but it also enables your app to control native operations on a mobile device, such as making a phone call or setting reminders.

To get started with the Pandorabots AIaaS platform, you need to register for an account. (The AIaaS account is separate and distinct from your Playground account). You can choose between a freebie option and several paid plans. The freebie option offers you 2 bots and up to 25 API calls per day. The paid plans start for as low as $9 a month for 10 bots and up to 250 API calls per day. More robust plans are available.

When you activate your account, an app is created for you. Once the Pandorabots team approves your app, it acts as your gateway into the Pandorabots API. You can use the APIs to access and control your bot from a website, mobile app, or social media site. The bot must be hosted on the Pandorabots hosting platform. The APIs are RESTful (adhering to REST architectural principles), so you can use client-side code to access all the functions of your server-side bot.  Software Development Kits (SDKs) are available for several common web programming languages that provide methods for all of the Pandorabots APIs.

Pandorabots APIAs part of your app, you’re issued a unique User Key and Application ID. You use these two parameters when you make calls to the Pandorabots APIs. The API Documentation provides a basic overview of how everything works. It also provides access for testing out the API operations, which include: Create bot, Delete bot, Upload file, Compile bot, and Talk to bot, among others. You can try most of them out from the documentation platform by providing your User Key and App ID.

To actually build and deploy your bots, you’ll want to leverage the detailed documentation available in the Pandorabots Blog. For example, there’s a post on Creating a Virtual Service Representative that walks you through all the steps of building and deploying a simple conversational assistant. There’s even a basic template that you can leverage to provide your virtual assistant with the core information it needs to answer frequently asked questions about your business. While you’ll want to give your bot more information over time, the template can get your assistant up and running quickly.

DIYers should definitely take a look at the Pandorabots Playground and the newly launched AIaaS. If you’d rather leave the scripting, programming, and configuring to the experts, It seems that Pandorabots also offers consulting and other engineering services.

Virtual Humans to the Rescue

Ada and GraceForget about the Singularity for a moment. While we may be able to map our brains into software one day or benefit from machines that outsmart us, those are dreams for the future. While we’re at it, forget about humanoid robots or clever C-3PO clones. In the here and now, a technology already exists that can give us human-like beings capable of helping us in amazing ways. Virtual humans are digitally rendered human actors that have already proven their potential. The only thing holding virtual humans back is our ability to create them and learn how to leverage their possibilities.

That’s where Arno Hartholt and the team at the University of Southern California’s Institute for Creative Technologies (ICT) come in. After speaking with Hartholt recently on the phone, I sensed that he and the ICT team are on a mission to get virtual humans into the mainstream where they can work their magic. The ICT has been working on virtual humans for a decade and they’ve had great success. Sergeant Star is a virtual human that’s used by the Army to answer questions from prospective recruits. Ada and Grace are engaging twins who interact with children at Boston’s Museum of Science. Other ICT virtual humans help soldiers prepare for situations in battle, train health workers to interact effectively with patients, and teach battlefield arbitrators the skills of negotiation. But these first generations of virtual humans barely scratch the surface of the possibilities.

Hartholt indicated that a big hurdle to the progress of virtual humans is their inherent complexity. Not many people have the expertise or resources to build a complete, well-rounded virtual human. An effective virtual human has to be able to understand language and meaning, speak intelligently, perceive and react to other people, and exhibit realistic emotions and movements. To create all those capabilities from scratch would require a huge investment in time and resources.

So what did the ICT decide to do? Over the past decade, they’ve been working on a Virtual Human Toolkit. The toolkit contains all the components that a builder of virtual humans might need to construct their own fully capable character. Since users of the toolkit are able to leverage these pre-built pieces, they can focus on the personality and functions of the virtual human, instead of sweating the technical details. In our conversation, Hartholt stated the importance of including people from a broad range of disciplines and interests in the development of virtual humans. The toolkit can enable psychologists, educators, medical professionals and others to develop and experiment with virtual humans. The more people and perspectives applied to discovering the potential benefits of virtual humans, the better.

Virtual Human ToolkitOne question I pondered with Hartholt was: what makes a virtual human work? The current generation of intelligent digital assistants like Apple’s Siri, Google Now and others offer a lot of useful features. Yet while they can provide helpful answers, they aren’t truly engaging personalities. Few people develop a real connection with these assistants. So why would someone be more drawn in by a virtual human? Hartholt postulates that part of the deficiency of current mobile personal assistants is simply their lack of a physical presence. They are disembodied voices. These assistants also don’t have any real sense of who we are or how we might be feeling when we push the button that activates their digital ears. They can’t express empathy.

A convincing virtual human needs a general awareness of the person it’s interacting with. You’re not going to spend a lot of time with a pretend human if it doesn’t acknowledge any cues you give it. The ICT has developed technology that it calls SimSensei that can detect facial expressions and body language in real time. When the technology is paired with a virtual interviewer, it results in a virtual character who can engage effectively with a real person. The SimSensei character can respond convincingly to the interviewee’s smiles, body language, and voice tones, for example. The virtual interviewer can even be trained to detect stress in the subject and adjust its responses accordingly.

Now that we live in a connected world, we could surround ourselves with smart, helpful virtual humans. Imagine a world where children had a set of virtual teachers or smart virtual playmates available to interact with them whenever they were bored or had a question. They could ask as many questions as they wanted and their virtual human would never get frustrated or tell them to go watch TV. They could even turn to their virtual human for empathy and encouragement, in the sad event that they weren’t able to find these critical acts of reinforcement from the real humans in their lives. Imagine a world where an ill person could have his personal virtual human contact his doctor and send in all his relevant vital statistics and either get a prescription or make an appointment. What about a companion virtual human for a senior living alone, or a virtual human coach for someone learning a new language, or a virtual human tutor for a child struggling with math?

The possibilities for virtual humans are as limitless as their potential benefits. Now all we need to do is get busy building them.

Kickstarter Chatbot Campaign

KickstarterLooking for a way to combine your enthusiasm for chatbot / virtual agent technologies and your addiction to Kickstarter? Well, you’re in luck! Mercer Engineering Research Center (MERC) has recently launched a Kickstarter campaign to gain funding for their Histochat project.  The campaign is set to end in 23 days and they’re a long way from reaching their goal, so have a look and see if this is something that deserves your support.

Based on the Kickstarter videos, it looks like Histochat is an educational tool that will provide students with an interactive experience with real historical figures. The MERC team is looking to use ChatScript to build out conversational chatbots representing possibly five historical personalities: Albert Einstein, Amelia Earhart, Mahatma Gandhi, Martin Luther King, Jr., and Susan B. Anthony.

Students will apparently use a smartphone to access the chatbot agent representing one of these historical figures. They’ll be able to engage the historical personality in a conversation by asking questions about the person’s life and accomplishments. Check out the Kickstarter videos. The demo isn’t particularly exciting, but the idea of creating chatbots to bring history to life for students is a good one. Hopefully the Kickstarter campaign will get more momentum in the coming days.

Creating Your Own Virtual Agent Chatbot using AIML

AIMLWe wrote in an earlier post about two virtual agent software vendors that offer tools you can use to quickly get a virtual agent up and running for your business’s website. If you have loftier ambitions and more time, you can construct a virtual agent from the ground up. There are several chatbot scripting language frameworks available that you can use to develop anything from a simple conversational chatbot to a more complex virtual customer support assistant. In this post, we’ll take a quick look at AIML.

AIML, which stands for Artificial Intelligence Markup Language, is the creation of Dr. Richard Wallace and is offered as an open source chatbot scripting framework by ALICE AI Foundation. AIML is similar to HTML or XML, in that it consists standard and extensible tags that you use to mark up text so that it can be understood by an the AIML interpreter.

Pandorabots offers an extensive tutorial on how to build your chatbot using AIML. The concept behind AIML and other similar frameworks if straightforward. As the botmaster, you need to try to predict all the possible inputs that your chatbot will have to respond to. For every input, you write a matching output. The art of writing good AIML lies in this predictive reasoning, but also in using the tools of AIML to try to account for all the different ways in which a human can say basically the same thing. For example, if your chatbot only recognizes the greeting “Hello,” it won’t have a good response if someone says “Hi,” “Howdy,” Hey,” or “Good Morning.” This multiplicity of common inputs is one of the challenges that botmasters face and that scripting languages like AIML are equipped to deal with.

In my experience, an effective way to build your AIML virtual assistant and test it out is to sign up for a free user account on Pandorabots. Pandorabots has been around for many years and provides both a free AIML bot hosting platform, as well as a more robust platform for commercial use for a monthly fee. I found the free environment to be easy to use and a good way to debug my first chatbots to help me better understand why some patterns weren’t matching up as I had expected.

Building your personal virtual assistant requires time. You’ll need to create enough input and matching response patterns to give your chatbot the ability to have at least a rudimentary conversation. Pandorabots offers you the option of beginning your virtual agent with pre-populated AIML templates. You’ll need to examine this content to determine if you want to use it, especially if you’re creating a chatbot to represent your business. Some of the default responses may not align with the message or tone that you’d like for your virtual agent, so it may be better to start from scratch.

AIML offers quite a bit of flexibility. There are techniques that enable your chatbot to remember the last thread of a conversation and respond appropriately. This response can be conditional. For example, you can have the virtual chatbot ask “How are you feeling today?” and it can offer a different response, depending on how the other party answers the question.

Skipper-Bot is an example of a fairly simple AIML chatbot that I created. Skipper-Bot’s only function is to test people’s seamanship and boating knowledge. The chatbot randomly asks a series of True or False questions and lets the quiz taker know whether their response was correct or not. Give Skipper-Bot a try and test your boating knowledge. At the end of this article you’ll find a short sample of the AIML mark-up that controls Skipper-Bot’s conversational ability:

As you add more patterns and work on training your virtual AIML agent, there are numerous forums you can turn to for help from other AIML developers. One such forum is located on Chatbots.org.

Once your conversational chatbot is ready to deploy, you have the option of using a hosting platform that provides a speaking avatar to represent your virtual agent. SitePal is an example of an intelligent agent hosting provider that offers a choice of animated, talking avatars. Research by experts such as Amy L. Baylor has shown that people are much more likely to make a meaningful connection with a life-like avatar than with a disembodied voice. If your virtual agent communicates via a simple text interface, then you should at least consider personalizing the chatbot with a representational photo.

In future posts, we’ll introduce some alternative virtual agent chatbot development frameworks that you might also want to consider for constructing virtual support agents to assist your online customers.

Sample AIML Snippet from Skipper-Bot

<?xml version=”1.0″ encoding=”UTF-8″?>

<aiml version=”1.0″>

<category>

<pattern>ASK</pattern>

<template>

<random>

<li>True or False: Midchannel buoys are always even numbered</li>

<li>True or False: The right side of the boat is called the port side</li>

<li>True or False: Boats 16 feet or more must carry at least two throwable PFDs on board</li>

</random>

</template>

</category>

<category>

<pattern>TRUE</pattern>

<that>Midchannel buoys are always even numbered</that>

<template>Nope. Trick question! Midchannel buoys aren’t numbered at all!</template>

</category>

<category>

<pattern>FALSE</pattern>

<that>Midchannel buoys are always even numbered</that>

<template>Very good! They aren’t numbered at all</template>

</category>

</aiml>

Creating a Virtual Agent Chatbot for Your Business

Build Your ChatbotWhile it’s possible to develop a smart virtual agent from scratch, there are a number of software companies that provide easy-to-use and cost effective options for creating a customized virtual agent, or what is commonly referred to as a chatbot. I’m not affiliated with any of these companies. I’ve tried out some of the virtual agent products and I’ve chosen two at random to spotlight in this blog post so that you can get a feel for what’s involved in creating a conversational virtual agent for your business.

The chatbot companies we’re looking at in this post are MyCyberTwin and Chatbot4U.com.  At first glance, the companies seem quite different. MyCyberTwin presents itself as a virtual assistant vendor with products geared towards businesses. Chatbot4U looks more like a social site geared towards a younger crowd interested in creating and talking to chatbots impersonating popular teen idols. When I looked a bit further, though, I found that these two virtual agent providers have relatively similar business models, tools, and pricing structures.

Building Your Custom Chatbot

Both MyCyberTwin and Chatbot4U.com offer fairly straightforward user interfaces that allow you to program, or ‘train’, your chatbot without having to write any code or markup.  Both offer chatbots that you communicate with via typed input. You don’t speak directly to the virtual agent, but rather talk to it via text messages. Once you’ve created your free user account, you can create a blank virtual agent chatbot and then start filling its knowledge base with input (questions) and output (response) phrases.

With MyCyberTwin, you can start by specifying a website that you want your chatbot to reference to see if it can find answers to questions. This is a great feature, because it means that your chatbot will have at least some limited ability to successfully respond to questions that you might not be able to predict, or exactly replicate, in advance. For example, if someone asks the chatbot how to contact you, but you didn’t think to include this question in the chatbot’s knowledge base, there’s a good chance the chatbot may be able to point the person to your website’s “Contact Us” page, since it will use keywords to locate the appropriate content.

MyCyberTwin allows you to select one of several very life-like avatars to represent your virtual chatbot. When you embed the chatbot code into your website, the animated avatar appears in a separate window and invites the visitor to engage in conversation by typing in messages.

With Chatbot4U, you can set your virtual agent’s avatar by uploading a photo. The avatar is not animated. As you train your chatbot, you have the ability to add multiple layers, or ‘go backs’, to an ongoing conversation. For example, if the visitor types in the question “How are you?,” you can train the chatbot to respond “Fine. And how are you?” Then you can have the chatbot say something more or less appropriate when the visitor responds. These types of meaningful threads are typical and essential to human dialog. They’re difficult to recreate with current chatbot technology, however, because a chatbot has a very limited memory and can’t remember what it said beyond its last utterance.

Another useful feature of the Chatbot4U platform is that it allows you to add knowledge modules to your virtual agent. These modules endow your chatbot with the ability to tell jokes, to provide current weather information for any location, and search Wikipedia.

Training your chatbot is a simple procedure on both of these platforms, but it’s a time consuming endeavor. I recommend that you pick an area of your business that you want to concentrate on, such as your FAQs. You can also use my blog post Does Your Business Need a Virtual Agent? for some ideas on how to train your virtual assistant. You’ll want to create as many possible questions as you can think of and provide the best answer to the question. Training the virtual agent is simply a means of defining what the chatbot will say in response to pre-defined questions. To liven things up a bit, you can provide more than one answer to the same question and the virtual agent will randomly vary which response it uses.

Testing Your Chatbot Trial Version

MyCyberTwin and Chatbot4U.com both offer a free, personal version of their chatbot technology that you can try out with no time limit. The personal version lacks some of the features of the business version. Starting with a personal virtual agent will give you practice in using the platform and help you get a feel for creating conversational inputs and outputs.

Both vendors also offer you the option of running a 30-day trial of the full business chatbot. You can take advantage of the complete functionality available for training your virtual agent, including providing it access to web-based information sources, adding apps, and creating go-backs for more realistic conversations. I recommend that you converse with your chatbot at least a dozen times before you publish it to your website. Make a note of any questions you can think of that the virtual agent can’t answer. Converse with the agent as you would with an actual person and make sure that it has good responses for typical greetings and questions. You can also train the chatbot to direct the conversation towards its preferred topics about your business.

How Much Will Your Chatbot Cost?

At the time I’m writing this post, both MyCyberTwin and Chatbot4U.com offer basic, introductory chatbot solutions at the low-end of the price range for intelligent digital agents. Both will host your chatbot for around $25 a month. The fee includes some level of reporting, which will allow you to track conversations and train your virtual assistant to answer questions that it missed.

In future posts, we’ll look at the process for coding your own customized chatbot from scratch.  We also recommend that you visit Chatbots.org if you’re interested in seeing a thorough listing of virtual agent vendors available on the market today.