Paris Sinclair wrote:
On Wed, 23 May 2001, CIO wrote:
I'm brand new to real AI and was wondering if those on the list who
are interested in helping out a newbie could point me in the right
direction as to what I can read to get me up to speed with AI.
To be more specific my interests lye in creating a pole / response
program which can recognize human language and learn from its
My advice is not even think about doing actual tasks until you have an
understanding of the field and don't consider yourself a newbie.
I disagree. One should work on whatever project is interesting. CIO
(if that is your real name), I think this is a great project to start
out on. Paris, I don't think it's very helpful to scare people away
from working on projects they think will be fun.
I have a couple pieces of advice on the project. First, you should know
that lots of people have done projects like this, with varying degrees
of success. Most of the successful ones tend to create massive sets of
trigger->response data like the one you've described, and the success
of the system tends to lie in the quality and quantity of the data. The
program machinery tends to be very small and simple in comparison.
Your system does need to be flexible enough so that it can grow, though.
You'll probably become frustrated quickly with scanning for single
words, so you might decide to use arbitrary regular expressions as the
triggers. Then once you're using regular expressions, you'll probably
want to have a way to do transformations of the input, so that a
statement like "I like eggs" can be greeted with the response "Why do
you like eggs?". This might be done with Perl's substitution operator.
Or that might prove too limiting, so you might want to allow some
arbitrary subroutine to be run and generate the response.
As you can see, the complexity is only limited by what you're willing to
implement. There are the usual tradeoffs of flexibility vs. speed vs.
complexity vs. motivation, etc.
You also might want to check out some of the more successful projects
like yours, to see what approaches they've taken. The Loebner prize
contest is a good place to start:http://www.loebner.net/Prizef/loebner-prize.html
You mentioned learning, and for that you might want to take a look at
'purl', the infobot that hangs out on the #perl channel. It/she
observes people's conversations, learns facts (with varying degrees of
success), and spits those facts back out when it seems relevant. She's
sometimes useful and quite often entertaining.
This list is mainly for people with academic or pragmatic approaches to
problem solving in AI to flame each other, and for people who don't know
what namespace to put their modules... :)
What gave you the idea about flaming? I've never seen any flame wars on
this list. Traffic is so low that I've hardly seen much else either,
but flames are decidedly absent.
And while there are some academic types around here, I don't know
whether that's the norm. I don't know the backgrounds of most people.
But the description of this list on http://lists.perl.org/
"Discussions of Artificial Intelligence in Perl." It doesn't say
anything about newbies being unwelcome.
Ken Williams Last Bastion of Euclidity
email@example.com The Math Forum