Re: Just starting out.. newbie help :)
[email protected] ("Ken Williams")
| Newsgroups | perl.ai |
|---|---|
| Message-ID | <[email protected]> |
[email protected] (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 >> inputted data. > ><snip> > >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/ simply says "Discussions of Artificial Intelligence in Perl." It doesn't say anything about newbies being unwelcome. ------------------- ------------------- Ken Williams Last Bastion of Euclidity [email protected] The Math Forum