About

Download

Features

Learning

Privacy

Pandorabots

CallMom BASIC Learning

CallMom BASIC supports two modes of learning: persistent predicates and category learning. Persistent predicates retain a description of your profile attributes: name, age, gender and so on. As you chat with the bot, it gathers more and more specific profile information about you. These persistent predicate values are stored in the SD card on your device. Pandorabots does not collect your profile information.

Category learning refers to the capability for the bot to learn new patterns and responses. You can teach the bot to substitute nicknames for contact names, tell it to change its response to any input, and even train it to respond to questions about simple facts.

CallMom BASIC also includes an "Edit Brain" feature that allows you to manually enter new knowledge in AIML, or to modify or delete the AIML the bot stores through category learning.

Persistent Predicates

The bot attempts to build a personal profile through conversation. If you tell the bot your age, for example, it will save it as the value of the "age" predicate. These values are stored in a file on your device's SD card, so that every time the app launches, it remembers your personal information.

If you have GPS enabled, the app will try to fill in the geographic predicates (city, country, street etc.) with values from location services. The app will try initially to guess your name and email address from your Google account.

The following table summarize many of the profile attributes saved by CallMom BASIC - ALICE 2.0.

address
age
baby
bestfriend
birthday
birthplace
boyfriend
brother
cat
city
country
county
daughter
dog
email
employer
father
favorite actor
favorite actress
favorite band
favorite book
favorite car
favorite color
favorite drink
favorite food
favorite ice cream
favorite movie
favorite song
favorite sport
favorite tv show
first name
friend
gender
girlfriend
grandfather
grandmother
hair
has
husband
last name
latitude
likes
location
longitute
middlename
mother
nephew
niece
orientation
province
religion
residence
road
sister
state
status
street
town
wife

Familiar Names

Once you teach the bot a familar name, such as your wife, son, or boyfriend's name, then you can use CallMom BASIC to communicate with that person by referrring to the familar name. If you say "Call my wife" before teaching the app your wife's name, it will ask for her name. Once the familiar names are learned, you can communicate with statements like:

Call my wife.
Tell my wife I'm running late.
What is the weather? Tell that to my wife.
Where is my boyfriend?
Tell my sister where I am.

Category Learning

"Category Learning" refers to teaching the bot to respond to new inputs. The basic unit of knowledge in AIML is called a "Category", and it consists of an input pattern and a response template. You can teach the CallMOM BASIC bot new categories through a variety of interactions, including teaching the bot new facts, training it to correct speech recognistion errors, and creating new responses to specific inputs.

Facts

You can teach the bot basic facts and then ask it questions about them. We are really just getting started with this feature in CallMom BASIC. You can expect that app upgrades will be able to learn a wider variety of facts and be able to respond to even more questions about them.

A mooncake is a Chinese pastry.
Is a mooncake a Chinese pastry?
What is a mooncake?

Monopoly is a board game.
What is Monopoly?
Is Monopoly a board game?

John thinks Mary is pretty.
What does John think?
Does John think Mary is pretty?
Who thinks Mary is pretty?

Speech Recognition Error Correction

The speech recognition system is surprisingly accurate, but occasionally it fails to recognize words familiar to us, especially proper names. If you say "Call Shawn", the speech recognizer may detect your input as "Call Sean". Generally these errors are repeatable: every time you say "Shawn" it will detect "Sean". You can train the bot to overcome these errors by typing in a statement like:

Sean means Shawn
When I say Sean I mean Shawn
Sean is spelled Shawn

It's important to note that training for speech error correction necessarily involves typing the inputs, rather than speaking them. If you try to say "Sean means Shawn", the speech recognizer will read it as "Sean means Sean".

Teaching New Responses

You can teach the bot a new response to anything. If you don't like one of the bot's built-in replies, or you just want it to say something else, just say "bad answer" or "wrong answer". The bot will ask you what you want it to say instead. Next time you try the same input, it will respond with the reply you taught it.

Editing the Bot Brain

Sometimes when you teach the bot a new reply, the results are unexpected or you'd like to further modify the response. CallMom BASIC allows you to dig deep into the bot's AIML knowledge base and make these changes with the Edit Brain feature.

Teach the botSelect Menu-->SettingsEdit the bot brain

Every new category the bot learns through conversation can be edited with the Edit Brain feature. You can also use Edit Brain to add new AIML categories directly. Activate the Edit Brain feature from the Android Menu button.

The following table summarizes the fields and functions of the Edit Brain feature.

FieldDescription
PatternAIML input pattern -- should not be blank, must contain at least the wildcard *.
ThatAIML that pattern -- should not be blank, must contain at least the wildcard *.
TopicAIML topic pattern -- should not be blank, must contain at least the wildcard *.
TemplateAIML response template, containing the bot's reply.
FunctionDescription
Prev/NextBrowse to previous/next learned category.
NewCreate a new blank category.
SaveSave this category to bot brain.
DeleteDelete this category from bot brain.
SearchSearch for a learned category containing the search term.

For more information about AIML, consult: