|
Build Your Own Bot, But Don't Create A Monster
[ Second of two parts
]
By
Birrell Walsh
Software that communicates. Programs that carry out your
chores while you drink coffee. The idea delights some with its power and
makes others tremble with memories of the sorcerer's apprentice. This
month, we look at programs that take on human functions, and find
bot-making programs you can download and use now.
 |
Intelligent
agents, or "bots," are semiautonomous programs that do tasks for you. They
are not globally intelligent, as we pretend to be. Instead, they are
clever and flexible at a single task. Turned loose on the Internet, they
act for all the world like simple, specialized living beings. Whether the
idea of (somewhat) self-directing software makes you grin or tremble, such
products are here and at work among us.
Last month, we looked at the kind
of pre-built agents that one can meet on the Internet. Search engines are
full of bots. "Spiders" go out to the Web and discover what sites exist.
Other bots create indexes of the
information that the spiders have found, and still others use those
indexes to create a presentation page with your answers. Shopping bots
compare prices among sites. "Alerts" remember what you want to know,
repeat the searches and notify you periodically of the results.
This month, we examine just two of
the many products that let you create your own bots. It's fun and perhaps
very profitable, but there is a serious side as well. When you create a
bot, you become accountable for its actions, you have a duty to take care
of others. When you use agents that others have created, you need to watch
out only for yourself. Whenever
you sic an agent on the world, it is wise to ask just what its effect on
others will be. Will it give correct information? Will it overuse the
resources of someone's Web server? Will it accidentally pick up and
redistribute copyrighted material? When you create an agent, it is your
responsibility to consider such issues.
Alice The
Chatterbot In the 1950s, Alan
Turing made good conversation the test of computer intelligence. While
other sorts of agents have gone from concept to front-line service,
conversational agents or "chatterbots" remain in their infancy. A
half-century after Turing proposed his test, chatterbots have not passed
it. That very failure means there
is a great opportunity for linguists and programmers to make a buck.
Graduate linguists need to find some way to pay for their
difficult-to-sell Ph.D.s If you
want to experiment with chatterbots for free, try downloading "Alice." She
is a talking engine (invented by Richard Wallace of San Francisco) that
you can modify and train to respond as you see fit. There are open-source
versions of Alice in several languages, and a community of users that
share experience and ideas. Many of the sites in the Resources box have
network versions of the program, so you can see how she performs.
Alice works by taking input speech
and running it through a set of filters, coded in a dialect of Extensible
Markup Language (XML) called AIML, the Artificial Intelligence Markup
Language. Alice is searching for patterns, and when she finds a match for
one, she responds from a template.
Both patterns and templates can
have a wild card in them, so if you say "My name is Joe," Alice remembers
it. Alice can store a few facts about the user, the conversation and
herself. She can carry on a discussion for a while before her
forgetfulness forces a subject change.
The designers of Alice
emphasize that her structure is minimalist. The program represents its
filter system as a huge spiral through which utterances travel, seeking a
pattern that will trigger a response. There are currently about 24,000
pattern-response categories in the basic coil. The program could probably
handle cocktail-party conversation though that might not be a very high
standard. AIML allows you to add
to and modify the patterns to which Alice responds. The engine will keep
track of conversations Alice has, so you can see what parts of her
vocabulary, her "responsory," need work.
Alice is not intended to be a
final chatterbot that interacts with the public. Instead, the Alice engine
and AIML are an experimental arena. Designers can try out ideas and get
their own inspirations before attempting to create the Great American
Chatterbot. And did I mention that Alice is free?
NQL: A LANGUAGE FOR AGENTS
At Internet.com's recent San
Francisco Bots 2001 show, I found a language designed for the building of
bots. Priced from $495 at the low end to $10,000 for the enterprise
edition, it is definitely not free though you can try it for 60 days for
no charge. It is called "NQL," the
Network Query Language, a deliberate play on "SQL," and it facilitates the
creation of very powerful agents to roam the Internet in your service.
The bad news is that NQL is a
language. It is not a Web page with a couple of buttons you push to get a
result. To use it, you must not be intimidated by programming. The good
news is that NQL is a language. It is the creation of NQL Inc. of Santa
Ana, CA, a company that has been designing and building agents for clients
for years. There are more than 550
functions in the NQL toolbox. The functions get data from the Internet
(Web pages, FTP and e-mail), process it in complex ways, and publish it to
your intranet, and then out to the world as mail or new Web pages.
In a first experiment, I created a
script to search incoming e-mail for keywords and report the result (also
by e-mail) to another address. That took about an hour from the first time
I opened the program, and made me want to try something more strenuous.
I then tested it on a tax project.
A large library was being donated to a university and the owner wanted a
book-by-book valuation. He had a
spreadsheet that had the name of the author and the title of each book.
The problem was to design an agent that would go on the Internet, research
book prices and give an average price for each volume to justify the
donation amount to the IRS. NQL
can speak to Excel through Object Linking and Embedding (OLE) automation,
so I used OLE commands to open the spreadsheet and read the title into one
NQL variable and the author's name into another. Next I used NQL's
"Browser Session Recorder" to automate much of my script writing.
I was able to complete a script to
find an average price for each book in just a few hours, working only in
moments stolen from other projects.
The program has been used to
create a number of complex multi-agent systems. NQL sells a rich
application called ContentAnywhere that allows corporate users to summon
Internet data through its NQL product and insert it into other programs.
There is also a rumorbot, a program to search for online mention of a
corporation's products, created with NQL by Agence Virtuelle of Geneva.
IT professionals could create very
powerful Internet agents and integrate them with their company's
knowledge-management system. A
talented consultant could perform seeming magic for a client who did not
know the power of the language. The variety of possible applications for
NQL is staggering.
Learning About
Bots To stay current with
developments in the intelligent agent world, you can subscribe to
Internet.com's Bot Spot newsletter. For a more academic and advanced user,
it is worthwhile to join the University of Maryland Baltimore County Agent
Web. So where do we stand on
agents? As intelligent machines begin their long companionship with us,
the opportunities and the tools for clever and thoughtful bot makers
are better than ever.
Birrell Walsh, a Ph.D. in Comparative Religion, has written
about the encounter between people and computers since 1984. He has been
published in Byte Magazine, AI Expert, Whole Earth
Review and Journal of Technology and Aging. He also does
technology commentaries for the Public Radio show Marketplace. He
has also written about religion for Gnosis, Unity and
Quest Magazine. He can be reached at birrell@well.com.
|