Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I was having sometime making an application that deals with many of chatterbots APIs, That made me wonder, how these bots are exactly made?

How they develop an answer for your questions? Do they rely on previous conversations with you/other poeple to develop a more reliable answer?

share|improve this question
    
Depends. Different chatterbots do different things. –  Winston Ewert Nov 13 '11 at 5:19
    
the general idea maybe? –  Sherif Maher Eaid Nov 13 '11 at 5:31
3  
add comment

1 Answer

You can give Pandorabot a try.

For a "from scratch" programming, you can start up by building a small database of keywords and store them in a file. Train your bot for basic questions like "Who is your creator?"; "Who is your father?". Then, you can set-up the basic questioning words set, like "What", "Who" and "When".

I haven't created one but one of my friends did. For every question raised, the bot made a Google query about the noun where it settles to by eliminating prepositions and "What" & "When", e.g, for a question like "Who is Brad Pitt?", the bot eliminates the words like "Who" and "is". So all that the bot is left with is "Brad" "Pitt" and a Google query is thus made. He did give preference to Wikipedia though. This is how you can begin.

Note: This is just a hint on how you can begin. The intelligent AIs like IBM's Watson API are much more complicated to code.

share|improve this answer
    
so it's basically about stem/opinion/entity extraction and analysis ? so I could use something like AlchemyAPI for this? alchemyapi.com/api –  Sherif Maher Eaid Nov 13 '11 at 11:34
    
Nice :) Does anyone know of some API(Python/C++/Java) that can be used to talk to Prolog? I'd like to build a bot that relies on Prolog for its intelligence. –  yati sagade Nov 13 '11 at 11:47
    
AlchemyAPI appears to be a content and entity extractor. So may be you can deploy that for picking out your keywords. One thing to mention here, though, is that I have just shown a way how one can proceed. Going off the topic, researches are on to understand the whole sentence structure formation. Stanford for an [instance] [1] has built has online parser to understand the grammatical structures of the sentences. [1]: nlp.stanford.edu:8080/parser –  Harsh Nov 13 '11 at 12:35
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.