Artificially Intelligent Virtual Agentsx
Download
Report
Transcript Artificially Intelligent Virtual Agentsx
Michele McNeal
Akron-Summit County Public Library
David Newyear
Lakeland Community College Library
Mentor Public Library
Conversational Agent, Artificial Intelligence, Chatbot, Interactive Agent
Virtual Employee, Web Agent, Cognitive Agent , Computerized Avatar...
Virtual agents or Chatbots are a type of
software designed to interact with and help
users. They provide automated assistance
with questions about an organization’s
products and services.
Natural Language Processing: the bot can
interpret and respond in normal language –
thus they don’t need to use or be familiar
with a specific search language or syntax.
Just for fun and to develop the programming
for additional purposes…
To provide information and improve
customer service.
Bringing the advantages of Chatbots to
Public Libraries.
How they’re different
Goal – Get the answer vs. chatting or keep user on
the site.
Connecting to other websites – finding the best
answer to the question, no matter where it is.
Balancing Chat with Answering – finding the right
combination of chat and linking
▪ Examining a different set of parameters
They are in keeping with automation in other
areas of the library
Online Indices and Information Databases
Self Checkout
Self Registration
Online Payment
Ebooks and other Emedia
Don’t let libraries be left behind…
Librarians need to be in the forefront of using and
directing this new technology
If not, someone else will… for example
Personal Assistant programs
▪ Evi – Android Based
▪ Siri – Apple Based
▪ Call Mom – Pandorabot’s entry into this arena
The Brain, The Face, & the “Catbox”...
The Brain
This is the real AI component
Written in AIML
▪ Simple
▪ Open Source
▪ Inexpensive
▪ Adaptable
Similar to HTML
The Brain
Pandorabots Hosting
▪ Pandorabots offers a free “sandbox” for creating bots
▪ They also offer a secure hosted server environment
▪ Initial AIML reduction files are included
▪ Additional Superbot files are available
The Brain
Properties
▪ This is like your bots user profile on Facebook or
YouTube.
▪ Gives you a chance to start customizing the bot.
▪ Creative use of Properties settings can simplify later
code writing
The Brain
Basic AIML structure:
▪ categories = basic unit
▪ pattern = input
▪ template = response
<?xml version="1.0" encoding="UTF-8"?>
<aiml version="1.0">
<category>
<pattern>What are library fines</pattern>
<template>Fines for overdue books are ten cents per day</template>
</category>
<category>
<pattern>How much are library fines</pattern>
<template>Fines for overdue books are ten cents per day</template>
</category>
</aiml>
The Brain
Making coding more efficient
▪ Wildcards
▪ * asterisk (matching text takes priority)
▪ _ underscore (takes priority over a text match)
<category>
<pattern>* library fines</pattern>
<template>Fines for overdue books are ten cents per day</template>
</category>
The Brain
Making coding more efficient
▪ SRAI – (Symbolic Reduction Artificial Intelligence)
<category>
<pattern>fines</pattern>
<template>Fines for overdue books are ten cents per day</template>
</category>
<category>
<pattern>How much are library fines</pattern>
<template><srai>fines</srai></template>
</category>
The Brain
Condition Statements
▪
▪
▪
▪
Reduce the number of categories
Improve pattern matching
Reduce or eliminate “yes/no” responses by users
Improve use of <topic>
Temporal Awareness
▪ Formatted date tag
▪ Locale, format, timezone
▪ Hours of operation, Holiday closings, fun responses for late
night visitors
The Face (& Voice)
This is the “window dressing” for the brain and is
entirely optional!
▪
▪
▪
▪
▪
Provides personality
“Coolness” or “Wow factor
User comfort
Branding
Accessibility if voice synthesis is enabled
Can be simple or complex (or different for
different implementation of the same bot)
The Face
SitePal offers a demo via the Pandorabots
interface consisting of 4 avatar/face choices and
13 voice selections.
We choose to have a non-human avatar
▪ Automatically avoided issues of race/class
▪ Cats have a long history of association with books and
libraries
▪ They have a “cute”/”fun” appeal
Based on years of
living with cats
Likes sushi and spider
webs
Engages in cat-like
behavior
Stanislaw Lem
Fiasco
Tales of Pirx the Pilot
The Cyberiad
infoTabby (Emma)
writes Cowboy
Poetry
Kuroshitsuji
Jonathan Strange
and Mr. Norrell
Upkeep & Improvement
Upkeep & Improvement
Conversation Logs – The Catbox
▪ Continual review of logs provides feedback
▪
▪
▪
▪
Stats on use and correct answers
Missing categories/questions
New or changing language
Question flow
Upkeep & Improvement
Development/Maintenance time
▪ Initial development 6+ hours per week
▪ Currently 2-3 hours per week
Upkeep & Improvement
Re-thinking the Paradigm
▪ We’re constantly trying to balance the “chat” side of the
bot with the “informational” side.
▪ Trying to find the most efficient way to get people to the
information they need
▪ People don’t have much patience… even 3 questions is
too much…
“How can I help you?”
Problems – single word vs multiple word
input
2-5% of input invokes the UDC
One could write mountains of code to
address these issues or…
Remove “yes/no” prompts
Easier to add or edit knowledgebase
Search arguments may be passed
automatically to new categories.
Must be very careful using the <topic> tags
and with wildcards!
<topic name="DBS">
<category>
<pattern>_</pattern>
<template>
<think>
<set name="answr"><star/></set>
<set name="message">no match</set>
<condition name="answr">
<li value="ALLDATA"><set name="message">alldata</set></li>
<li value="* ALLDATA"><set name="message">alldata</set></li>
<li value="ALLDATA *"><set name="message">alldata</set></li>
<li value="* ALLDATA *"><set name="message">alldata</set></li>
</condition>
<think><set name="topic"></set></think>
</think>
<condition name="message">
<li value="no match"><srai>NOMATCH</srai></li>
<li value="alldata">We have AllData available at all of our locations. You have to be in the library to use it. We have auto repair manuals, too, take a look
in our catalog.
<think>
<set name="searcharg">AUTO REPAIR</set>
<set name="search">catkey</set>
</think></li>
</condition>
</template>
</category>
</topic>
One large category using conditions
User input matched against a list of keywords
Keyword list can be unlimited
When input matches keywords, a meaningful
response is invoked, usually by using the
<srai> tags.
Originally the first step in guiding queries to
meaningful responses, now removed.
Borrow from the library, know about the
library, or best answered by numbers?
Even three questions were too much for our
users!
Input invoking UDC is now sorted:
Category containing library services and
policies.
“Is this something you want to borrow from
the library?”
If “yes,” input is sent to the catalog as a
keyword search.
If “no,” input is directed to “facts and figures,”
the most likely resource based on input.
Wolfram|Alpha matches
keywords like “population,”
“how far,” “how many,” etc.
DBpedia matches keywords like
“history,” “who is,” “who are,”
“who were,” etc.
Ohio Web Library matches
keywords like “article,”
“articles,” obituary,” etc.
This file is under constant
updating and refinement.
Patrons
Positive response
Use consistently good
Popular with children and teens
Marriage proposals
Staff
Mixed response
Positive
▪ Eases burden of routine questions
▪ Allows more time for “real” questions
Negative
▪ Resistance to technology/change
▪ Erosion of reference services
▪ Replacement by machine
Cost per Use – 14 cents.
7116 conversation in 2011 (each conversation may
have contained multiple questions)
2287 library related questions
2560 catalog or database searches
WebPac
Full Avatar
Mini Avatar
Information
Kiosk
Mobile Site
Desktop
Icon
Phone App
Emma has become “infoTabby”
infoTabby AIML is available on Google Code:
http://code.google.com/p/aiml-en-us-ovrp-infotabby/
or on the infoTabby website:
http://www.infotabby.org
Open source - Apache 2.0 license
Two ways to participate
Non-Sharing path:
Modify the library bot without regard to sharing your
modifications. If you want to get started immediately, you
can simply download a zip file containing the infoTabby
AIML files (as well as the custom HTML files) on the
downloads page of the project.
There are two reasons why this approach will limit you
however:
▪ You won’t have access to the latest changes to the AIML made by
others in the library community, and
▪ The work that you do to improve the infoTabby AIML can not easily
be used or shared with other library community members.
Sharing path:
Another path that is more beneficial to you and all
other libraries involved in creating bots is to create
what is called a “repository” of the AIML on your
computer. With this repository, you can make changes
and improvements to the AIML and share those
widely with the rest of the library community.
Step by step instructions for using Mercurial and
creating your own repository can be found on the
Google Code Project site:
http://code.google.com/p/aiml-en-us-ovrp-infotabby/
Michele McNeal
Akron-Summit County Public Library
[email protected]
David Newyear
Lakeland Community College Library
Mentor Public Library
[email protected]