Jump to content
  • Advertisement
Sign in to follow this  
ErUs

extendable chatbot ( ? opensource ? )

This topic is 4799 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

hi im looking for an extendible chatbot that i could use to make bots ( for games like counter-strike ) more useful. for example you could ask, " how many guys round that corner?" and they would reply with an appropriate answer ( NOT like alice bot, with some pointless sircastic answer ). I realise i would have to send events to the chatbot module thing like when an enemy is spotted or when he has to reload or whatever. so, does anyone know a chatbot that would fit my needs? ( i will be able to extend quite a bit :) )

Share this post


Link to post
Share on other sites
Advertisement
ok has anyone got any information about parsing commands?

like "go over there"

or whatever

Share this post


Link to post
Share on other sites
That's a pretty tall order. You could do what NiceCoder did with his MatrixBot and compare input/events to a user-editable database. Adding weights to each keyword of input could come up with a more 'right' answer. The only problem is that you would have to input/train the bot to a reasonable degree. well, thats my 2c.

Share this post


Link to post
Share on other sites
You might find some of the discusion going on within the alpa project interesting.
OR you might have some ideas we might find interesting.

Either way, goodness will ensue.

From,
Nice coder

Share this post


Link to post
Share on other sites
hi guys, thanks for help.

NiceCoder: i didnt find anything on google about 'alpa project', do you have a url or something?

Share this post


Link to post
Share on other sites
what does alpha bot do?

is it going to be a chatbot?

i did download it btw.

Share this post


Link to post
Share on other sites
Yep its a chatbot/infobot.

(the version up on the site is just a gui demo, were going to be putting up v1, once we've finished it).

From,
Nice coder

Share this post


Link to post
Share on other sites
Quote:
Original post by ErUs
ok has anyone got any information about parsing commands?

like "go over there"

or whatever



You can probably get by with most of the available chat bots, even for dealing with text input like "go over there". Unfortunately most chat bots are based on AIML (a markup language) that allows you to group input and responses and has some support for placing things in context. Unfortunately you have to create a very large set of scripts in order for the bot to "appear" intelligent. That doesn't mean they aren't useful as they can be used to monitor, record, and later analyze interactions with real people. This can be very beneficial but you are still limited in what can be done with the bot.

The suggestion to put a certain amount of 'weight' on particular words is a good start but not necessarily the best approach. If you are wanting to parse text and as a result put it into some sort of contextual representation you will want to do look over some of the research in Natural Language Processing (NLP). The approaches in NLP are vastly different from chat bots using AIML in that many NLP systems use parts of speech (PoS) dictionaries and (for English) parses input in a way similar diagramming sentences. Each word in the dictionary is tagged as a verb, adjective, noun, etc. and usually also have additional attributes such as transitive and intransitive. The advantage is that you can deconstruct a particular sentence into context which gives you a better chance of accurately acting on it. Consider the following:

"he kicked the dog"
"he kicked the bucket"

If you don't put it into context all you may know is that "someone kicked something". With systems such as AIML it would be trivial to continue adding rule sets but it doesn't necessarily mean it will present or determine the context. On the other hand NLP systems can be (and usually are) more difficult to implement. The good thing though is that there are a considerable number of existing PoS dictionaries, parsers, research, and papers so the information is there.

Regardless of whether you choose an AIML based bot or take an NLP approach you may have to deal with spelling issues. With AIML based systems it's usually much harder because everything is based on predefined sets of rules (made of up input and response). You can of course convert those rules during initialization but I haven't seen anyone take that approach. For either system if you encounter a word that is not in the dictionary or rule set you have the option of converting the word into a phonetical representation and finding the best match in the dictionary or word set. You will certainly run into situations where a word is misspelled and there are several words to choose from (ambiguities). In AIML you just pick one and hope it's the correct one. In NLP you have a better chance of picking the correct word if you can determine the context in which it is used.

Each approach has it's own advantages and disadvantages. NLP can be more complex and usually is - it's definitely uses a lot more CPU resources.


If you're interested in researching NLP here are a couple of links to get you started:

http://www-nlp.stanford.edu/links/statnlp.html
http://www-a2k.is.tokushima-u.ac.jp/member/kita/NLP/nlp_tools.html


You can also do a google or wikipedia search on the following:

natural language processing
NLP
computational linguistics
parts of speech tagging
statistical speech analysis
morphological analyzer
natural language tools

You'll probable get better results if you enclose the above phrases in quotes.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!