Sign in to follow this  
Numsgil

Chatbot literature?

Recommended Posts

I'd like to spend some time tinkering with writing a chatbot from scratch. Something that would try to diagram the sentence you send it (I did some sentence diagramming in elementary school way back in the day. Anyone else a veteran of Sherley English?), find the nouns and verbs, and build a database from the information you give it. Then form questions from what you send it to try and understand what you're saying. Something like the following: ME: Are you in love? BOT: What is "love"? ME: Love is an emotion, similar to hate in intensity but opposite in effect. BOT: How can you be "in" an emotion? The bot would link up a new idea (love) to existing ideas (emotions, hate) with relational paths (is-a, is-like), and some oddities it doesn't understand (can be "in" love?). It would use the oddities to form new questions in the future. Another example: ME: I'm a guy. BOT: What is a "guy"? ME: Guy is another word for man or male. BOT: So it's a synonym? I'm not expecting something all that astounding, but I think it's a different track from chatbots like George does, and I'd like to see what sort of relationships it could build. I figure I'd seed it with basic understanding of common English words and pronouns (a, the, me, you, I, etc.) and verb forms. At the very least I'd like to try and build something that can learn to tell and receive a knock knock joke :P Anyway, I tried searching for articles on the science behind chatbots, but I'm not finding much information. Certainly none that do more than link keywords to remembered responses (ie: sentence with "cat" in it triggers a response the bot learned once of "I have a cat."). Are there any articles on smarter methods?

Share this post


Link to post
Share on other sites
Just out of curiosity, was this interest sparked by anything from this thread ?
http://www.gamedev.net/community/forums/topic.asp?topic_id=450808

I just started working on some language things in the past few days as well, but so far I've just had success with getting an AI to match up nouns and adjectives to objects on the screen. It's not too hard to build up a matrix or graph of word associations, but I don't even know where to begin getting a bot to learn grammar. The best idea I've had so far is just to associate all words with everything possible using linear combinations and hope that things that aren't relevant will get zeroed out through training, but the more links there are the harder it'll be to train...

Share this post


Link to post
Share on other sites
I've managed to do a little bit of research into relevant fields. I found things like this. However, natural languages have alot of ambiguity associated with them that add overhead. The ambiguity is a problem in its own right, and not something you want to tackle as a side issue.

I think a better track would be to create a grammer structure related to English but that rigidly enforces sentence structures to be unambigous, and have the user learn it. It should be easy enough to use syntactic rules to determine the different parts of speech, and form an understaning of the links a user is making between concepts.

It is an interesting area, I think. You're basically trying to boot strap a program to learn a very complex problem space by interacting with it in that problem space.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this