You can get reasonably good results pretty quickly with it, but like Mojave said (paraphrased), simple solutions can only yield simple results. That kind of system bottlenecks after a few thousand messages if it learns, and is a pretty poor system for various reasons already talked about above if you preprogram responses in.
Hmm... It seems like noone here has even read my post, because it was clear i proposed a combination of both recursion and reduction, where 'problem sentences' can be matched and handled in a different way. Anyhow, i explained it all above so i'm not going into it right now.
Concerning your 'bottleneck' after a few thousand words: It's all a matter of putting the data in a place where it can easily be queried from. Certainly, writing them all out to a textfile is a quick and easy way to handle it, it is also the slowest way. Use specific tools for the job, and this one needs a fast database which might scale with the amount of data you are working with. I suggest going into some form of sql server with mysql or postgres being the obvious choice.
These things can also be scaled up later on if the amount of data reaches some point where it gets slow (believe me, that would be something like 300000 records or more). Using some smart placed indexes on the db would greatly increase search performance as well. Consider learning the inside out of your chosen database before you wander on, a little knowledge of how these indexes improve performance can't hurt much and it may be intresting to reuse this information in future, even more resource hogging applications.
I actually created a recursive script just recently, it was one to search a directory of folders and subfolders, giving me a list of the full paths to all Image-Type files.
Each time it found a new folder inside of the current folder, it would call &scanDir again using the path to the new folder. That's recursion. _________________ Current Site (2008) http://www.cuvou.com/
My old bot, Tiler, did exactly that: got a sentence down to its keywords, and looked up a response based on it. He also learnt new replies automatically based on what people told him. So, after having done considerable work on trying to make changes to improve that system I think I have some right to say that it doesn't work. You can get reasonably good results pretty quickly with it, but like Mojave said (paraphrased), simple solutions can only yield simple results. That kind of system bottlenecks after a few thousand messages if it learns, and is a pretty poor system for various reasons already talked about above if you preprogram responses in.
Odd, my AIML has over 60K responses using reduction and recursion, no bottlenecks here and his responses are far from simple in most cases. _________________ Check out Botworld! A dev resource for things bot.
Downloads, articles, news, fourm and more.
http://botworld.marzopolis.com
Odd, my AIML has over 60K responses using reduction and recursion, no bottlenecks here and his responses are far from simple in most cases. [right][snapback]46161[/snapback][/right]
I think what he (and I) was saying is that using reduction alone looks great to start with but ultimately doesn't get you very far. AIML doesn't use just reduction, it uses patterns, so it's a little more advanced and you can get much better responses.
Also, I don't want to speak for shmookey, but by "bottlenecks", I don't think he was referring to performance issues, but instead to the "results" of reduction/keyword searching becoming stale after the AI has learned a certain amount.
Joined: 21 Dec 2004 Posts: 49 Location: Western Australia
Posted: Thu Mar 03, 2005 8:14 am Post subject:
QUOTE(Mojave @ Mar 2 2005, 08:54 PM)
Also, I don't want to speak for shmookey, but by "bottlenecks", I don't think he was referring to performance issues, but instead to the "results" of reduction/keyword searching becoming stale after the AI has learned a certain amount. [right][snapback]46175[/snapback][/right]
Yeah, pretty much. It doesn't make sense to have a performance bottleneck because added results can only increase checking time linearly in that kind of situation. Plus, AIML is a highly developed system, far beyond what I have written or any other amatuers I've spoken to, so even if there was a performance bottleneck the AIML authors would have found some way around it. The way I meant it was that with each learnt message in a pure reduction / lookup system there would be an increasing chance of it being (according to the lookup index) an appropriate reply. It is also likely that a large number of similar messages get stored, and because they share keywords, therefore are likely matches.
Maybe I don't know what I am talking about here, but it seems to me like we do know how the brain processes language... if I am not mistaken, that is the basis of grammatical study. If we give the AI certain precise grammatical rules it could develop vocabulary itself by communicating (given it has a certain standard vocabulary) and could even be taught words that do not exist. Absolute synonyms and relatively similar words would be difficult to distinguish between, and that is only a fraction of a fraction of the difficulties of mapping grammatical systems. A more obvious problem is that not all successful communication follows precise grammatical rules. However, for the communication to be successful, there must be a certain threshhold of logical clarity, so it is not an unsolvable dillema. I know this is nothing new, as AI have been theorized and developed that far exceed what I could possibly imagine, but so far there are very few if any really solid AI systems that will work for AIM bots, it seems. Another intriguing problem manifests itself in the use of sarcasm, and it is possible to program an understanding of sarcasm, of course, but that would be one of many considerations that is far past the status quo AIM AI. I would like to converse with any bots that you have made that you feel are especially advanced, especially if you believe that they have dealt with any of what I just brought up. And, BTW, this is really fascinating stuff!