1 An
Introduction to GeckoChat
User:
"Emily, this is David."
Emily: "Good
afternoon David, what can I do for you?"
User: "Emily,
what time is it?"
Emily: "3:30
PM"
User: "Emily,
stop."
Emily: "I'll
wait right here."
User: "Emily,
set a reminder."
Emily:
"OK. On what date will this reminder be?"
User: "Today."
Emily: "Now,
tell me the time for this reminder."
User: "At
6:00 PM"
Emily: "Who
do you want me to remind, and what do you want me to remind about?"
User: "Emily,
remind me to feed the cat."
Emily: "OK.
I will set a reminder for Friday, December 11th at 6:00PM
with the following message: remind David to feed the cat."
User: "Emily,
are we going anywhere today?"
Emily: "Yes,
we are going to the doctor's office at 11:00 AM"
User: "Emily,
let's play a game"
Emily: "What
kind of game do you want to play?"
Note
that the conversation between Emily and User appears natural. Now
consider that the above is an actual conversation between a real
person (the User) and GeckoChat, a premier conversational artificial
intelligence developed by GeckoSystems, Inc.! Watch and listen to new CareBot MSR 3.0 GeckoChat interactions in our Video Gallery. In providing a
natural language interface, we present an easy and convenient method
for interacting with both computer and robot systems. While we are
not yet at the level of general language understanding (which is
still an open, unsolved topic in both philosophy and computer
science), the learning curve for interacting with GeckoChat in
limited natural English is much smaller compared with any other
method of interaction.
GeckoChat
is a modular system that
allows the user to verbally interact with whatever system(s) GeckoChat
is incorporated into. For instance, in the domain of mobile service
robots (MSRs),
GeckoChat can provide voice command communication with a pre-defined ambient user.
Through
GeckoChat, the MSR has way to relate information it observes about
both its world and its internal state. By combining these
system-specific capabilities with the standalone functionality of
GeckoChat, GeckoSystems,
Inc. provides a robust method to increase interactivity and autonomy
in any domain where automated speech recognition and synthesis would
be beneficial.
While
GeckoChat was originally intended as a conversational AI agent to be
incorporated into GeckoSystems Mobile Service Robot platforms, it can also serve as a
computer application or in a standalone appliance. With the advent
of inexpensive, low-power hardware and the drastic improvement in
real-time noise reduction, voice recognition and speech synthesis
technologies, we are now in a position to offer a truly utilitarian
conversational AI tool. The first GeckoChat
application GeckoSystems has focused on is elder-care assistance and
verbal companionship. However, other possible applications include
youth educational assistance, home automation and automated
secretarial work.
The
crucial functionality of GeckoChat is the verbal interface. With
GeckoChat, it is possible to command and control a Mobile Service Robot, to have a
virtual administrative assistant, to provide a verbal playmate and
educator for children, and/or to give an elderly loved one virtual
companionship and care. All this can be achieved without any other
input other than speech - the most natural form of human
communication.
The
current version of GeckoChat yields positive progression towards the
above goals. GeckoChat can speak monologues ranging from jokes to
quotes to custom monologues defined in the Monologue Editor Tool. It
can answer basic questions ranging from "What time is it?" to
custom questions managed by the Free-Form Dialogue Editor Tool. A
sophisticated reminder system provides for timely utterance of both
recurrent reminders and one-time reminders, which can be set easily
through verbal conversational interfaces or from the Reminder Editor Tool. GeckoChat even includes
games and heralds in a new genre for real-time verbal gaming. A
powerful feature of GeckoChat that evolved from the need for verbal
control of GeckoSystems Mobile Service Robots is the ability to control
network-enabled devices. With GeckoChat operating as a speech
server, computers or other devices distributed across a wired or
wireless network can be controlled by voice.
2 GeckoChat Abstract Architecture
GeckoChat
is a system of interdependent modules that serve collectively to
produce a conversational AI engine. Initially intended for use in
our mobile robot platforms, this system can also serve as a
standalone command, control and conversational system for PC
end-users.
GeckoChat
Modules
Synthesis
- provides
for real-time synthesis of speech
- allows
for real-time customization of voices
- voice
priority with interruption and resumption
Recognition
- provides
for real-time recognition of ambient speech
- based on the concept of
switchable constrained grammars to facilitate
recognition accuracy
- support for both basic and
dynamic grammars; basic grammars can be
modified and re-compiled at runtime using an integrated GUI utility
- speaker recognition biometric
allows dynamic switching of training sets
- parsing can be performed during
recognition using recognition grammar
annotations, or can be
performed post-recognition using an advanced
natural language understanding module written in Prolog
Memory
- symbolic
storage of pertinent synthesis and recognition data
- divided
into working, short and long-term memory
- examples:
reminders, surrogate short-term memory
Knowledgebase
- basic
factual and procedural knowledge storage
- interfaces directly with memory module to allow complex temporal
behaviors
3 Savants as Building Blocks to Intelligence
How
is this for a definition of (conversational) intelligence: a set of
domain experts that act cooperatively to collectively produce complex
verbal behaviors?
Let
us take an example from biology to illustrate how simple behaviors
can combine to create a complex system. Desert ants, like most ants,
forage by laying down pheromones, which serve as a trail to and from
the nest for all the ants in the colony. Note that pheromones are
volatile organic compounds; therefore, they are susceptible to fast
evaporation in hot and dry environments. How does the desert ant
deal with this problem? By triangulating on the position of the sun
in the sky, the ant always has a reference point to various targets
(such as a food location or the nest) in an otherwise featureless
environment. Furthermore, when nighttime arrives, the ant switches
back to the old pheromone system - one environmental mapping
behavior overriding another at the appropriate time! This system
allows the ant to be a savant, or an expert, in determining
position in the hostile desert environment. The ant also has other
capabilities: it is able to differentiate members of its colony from
others, it can tunnel and, with the help of other ants, build complex
structures, etc. Each behavior corresponds to individual expertise
each ant is preprogrammed to know; what makes a desert ant a desert
ant is its expertise over several crucial domains, thus, the ant is a
collection of savants.
We,
as individual humans, like to declare personal expertise over one or
several domains. For example, an engineer who also happens to be a
businessman could be characterized as a composite interaction between
savants representing accounting, marketing, electronics and physics.
Certain savants within the collection will become active as
environmental context dictates, with the crux of intelligent behavior
being timely and appropriate savant activation, interaction and
subsumption.
GeckoSystems
utilizes the notion of collective savants in many of its systems
including robot control and conversational AI.
We will describe GeckoChat's functionality in terms of savants, and
also present GeckoChat's role in the overarching goal of
GeckoSystems: to provide practical, mobile robot solutions for
personal, business and government use.
4 GeckoChat: A Collection of Conversational
Savants
GeckoChat
is divided into several savants exhibiting
certain behaviors, all of which have a defined pattern of precedence
according to importance in context. For example, reminders take
precedence over game playing, whereby a reminder will always
interrupt a game playing session. GeckoChat shows expertise in the
domains of robot control, verbal game playing, reminders, general
dialogue, general monologue and joke telling.
Furthermore, GeckoSystems is continually adding additional
conversational savants and expanding the expertise of existing
GeckoChat savants. Below, we describe two of several mature savants.
4.1 GeckoChat
Reminder Savant: More than an Electronic Calendar
The
reminder savant currently handles two types of reminders: one-time
reminders and recurrent reminders. One-time reminders are fired once
at user-defined dates and times, while recurrent reminders are set to
fire repeatedly over a user-defined period. For example, a caregiver
may want the CareBot to remind the patient to take
medicine every four hours, while the caregiver may want the CareBot
to state that "it is time to watch your favorite show" five
minutes before the show comes on. As an option, the caregiver can
require the patient to confirm the reminder; without confirmation,
the reminder will be repeated after a defined interval.
4.2 GeckoChat
Free-Form Dialogue Savant
The
free-form dialogue savant manages simple two-part conversations such
as question-answering. For example, the caregiver could input
several potential questions the patient may ask the
CareBot throughout the day, along with corresponding answers. The
beauty of the Free-Form Dialogue Savant is that it never tires of
answering the same question over and over, thus relieving the
caregiver of potentially frustrating repetition. Because the Free-Form
Dialogues are input using a GUI tool, the caregiver
does not need to know the underlying transformations required to
format the questions and answers for the recognition and synthesis
modules; the caregiver only needs to input the set of questions and
answers into a table. This savant, like all the other conversational
savants, is able to log conversations into a file, from which a
report on the number of times a particular question was asked and a
sampling of conversational text can be generated. This is
particularly relevant because current AI studies are under way in
various academic and corporate institutions to enable diagnosis of
mental disorders such as schizophrenia from language structure.
5 Incorporation into the GeckoSystems
CareBot MSR
While
GeckoChat is a collection of conversational savants, we can go a
level higher and state that GeckoChat itself is an expert in the
domain of natural language. When combining GeckoChat with other
GeckoSystems nodes such as GeckoNav and GeckoTrak,
we create a composite intelligence (like the desert ant or the
business-oriented engineer) capable of complex and pragmatic
interactions with its world.
Imagine
having a robot in a residential setting that can respond to commands
such as: "Emily, answer the front door" or "Emily, go check on
the kids." Performance of these actions requires a complex
interaction between a system that understands the semantics or
meaning behind a given command, which then directs underlying systems
on how to achieve the goal. Because of the hierarchical and
subsumptive architecture underlying all of GeckoSystems' software
and firmware products, execution of this type of abstract goal is now
possible.
User-friendliness
is a definite goal for all of our products, with emphasis placed on
the CareBot, our home care robot. By combining the graphical interface of
GeckoNav with the verbal and graphical interfaces of GeckoChat, the operator has a
robust and intuitive method of defining and communicating intricate
goals without having to appeal to complex programming or scripting.
|