开发者

Conversation bot source or API

I would like to make a bot that can carry on a simple conversation. I would like to be able to supply the bot with parameters about the things it knows and how it responds to certain subjects. I am wondering if anyone knows of any freely available source code or an API for a decent conversational bot.

I would like to use this to facilitate gaming by having computer-controlled characters that interact with the real players without having completely pre-scripted, static dialog. I am hoping that I can find something capable of holding a simple, generic conversation unless asked about a specific topic, at which point it can give specific replies to a pre-set list of specific topics.

I am asking more about the conversational-processing aspect and not so much about a front end or hooks to other apps or anything like that. Initially, I will 开发者_运维问答just make this a local command-line based thing, then if satisfied I am looking into libpurple as an API to access various communication networks once I have the dialog processing ready.

So, does anyone know of any source code or API for something like this? Google brings up mostly tools for things like imified. I'm not expecting there to be a lot. A source code for something that exists that can handle various emotions and topics and such would be awesome, but I'd be happy with something that just holds the simplest of conversations, as there should be something somewhere that does this, seeing how there are multiple IM bots in existence.

In the absence of a good source or API, would anyone happen to know of any good materials about programming an AI that can have a conversation? Again, I'm not talking about PhD papers discussing robots that can pass believably as humans or anything like that; I mean materials that discuss some simple programming techniques that common conversational bots use to hold rudimentary conversations.

Because of the libpurple API, I'll probably be doing this in C++. So C++ resources are preferable but not required.

(edit) I just stumbled onto AIML (Artificial Intelligence Markup Language). I am currently looking into that, and it sounds like it might be promising, especially if there are any pre-made conversational resources available for it, as then I could just add topics to it in the manner I mentioned, if I am understanding it correctly.


AIML is old, obsolete and is a torture to create his database. I suggest you follow this gamasutra's article about chatbot languages. This article describes the ChatScript language, is a great alternative for AIML.

Another language is RiveScript that have a cool clean style, but it seem like a copy of AIML with the same bad concepts.

I'm developing the Aerolito language that is based on YAML, it's just a hobby project and it's not usable yet. =]

In my opinion, ChatScript is the best option for now.


I understand this question is old, but things have changed in the time since the question has posted. Check out the following projects, these bots learn from either text files, irc chat logs or in the case of triplie, they can read websites (albeit not perfectly).

triplie-ng: https://github.com/spion/triplie-ng

cobe: https://github.com/pteichman/cobe


Giorgio Robino mentioned http://superscriptjs.com/ but it's more than just chatscript - it's a superset of rivescript and chatscript and also includes a built-in triple store to implement WordNet etc.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜