AI Zone Admin Forum Add your forum

NEWS: Chatbots.org survey on 3000 US and UK consumers shows it is time for chatbot integration in customer service!read more..

What are your steps for building a bot?
 
 

Do you have a standard process for building bots? What is it?

I keep getting lost in the different components of my bot and lose focus. I tend to start with the conversational part, language understanding, then move to more sophisticated actions, but as I work I jump back into the conversation building because I think of some new way someone may approach the bot.

How about you?

 

 
  [ # 1 ]

Kevin,

Welcome! There are a lot of chatbots that you can get involved in, experiment with and create a nicely functional chatbot, in spite of what some other nay sayers might tell you.

There’s Pandorabots, RiveScript, Program AB, ChatScript and others that you can learn to use fairly easily. The vast majority for a conversational bot is about 80 to 90% creative scripting and 10 to 20 % programing.

Given the fact that most of the programing is already done for you in those above mentioned programs, the rest should be in your court and how you’d like to bot to sound or what persona you’d like it to have.

Some of these you can easily get up and running in a single evening (not perfect but running…) wink.

Bear in mind that you might see a few that require you have them “hosted” on someone’s server somewhere while others you can download to Your computer and run them from there, for your amusement or host them yourself…whatever floats your boat! Best of luck!

 

 
  [ # 2 ]

Hi and welcome, Kevin. smile

One thing that I do is to create an outline of a specific topic that I want my bot to address, starting with generalities and working toward specifics. Once I have a list of concepts I write down as many ways to ask/talk about each concept as I can (even “farming out” the list to others who may have different points of view on the subject), grouping them by similarities. Having access to a thesaurus can prove very useful at this point. Please note that at this point you aren’t thinking about your bot’s responses; only potential user inputs. Once you have a list of potential inputs, it’s time to “simplify” the list by using whatever “wildcard” options your chosen bot platform has available. I’m most familiar with AIML since I’m one of the developers for Program O, so I’ll use those in my examples, below.

Let’s say your bot needs to discuss pizza. Some potential concepts to discuss might be the history of pizza, various styles of pizza (e.g. New York, Chicago, Sicilian, etc.), toppings, sauces and so on. Other things to be discussed could be favorite types of pizza, preferred pizza parlors, the virtues of cold pizza and more. A brief list of potential inputs (BEFORE simplification) might look like this:

What do you know about pizza
Tell me about pizza
what about pizza makes it so popular
I want to know about pizza
what types of pizza are there
tell me about the different types of pizza
what toppings go on pizza
which pizza toppings do you like
tell me about pizza topings
{etc.}

The above list could then be simplified through the use of “wildcard” characters, like this:

* about pizza
* types of pizza
* types of pizza *
* toppings * pizza
* pizza toppings
* pizza toppings *

For this example (and within AIML in general) the “star” wildcard replaces one or more words in the input so that “* about pizza” matches both “tell me about pizza” and “what do you know about pizza”. It won’t, however, match “what about pizza makes it so popular”.

Anyway, when you have your “simplified” list of inputs, you can then work out the responses your bot will give for each input. With AIML (and other platforms as well, but I’m not well versed with them) there are ways to have a single response for multiple inputs, which can make for less work, and I’m happy to discuss it if you’re interested, but it’s a bit wordy, and my hands are already complaining a little. wink

I hope this helps.

 

 
  login or register to react