2011-07-06 9 views
1

私は簡単な会話を続けることができるボットを作りたいと思います。私は、ボットに、それが知っていることと、それが特定のテーマにどのように反応するかについてのパラメータを与えることができるようにしたいと考えています。まともな会話型ロボットのために、誰かが自由に利用できるソースコードやAPIを知っているかどうかは疑問です。会話のボットソースまたはAPI

私は完全にプレスクリプトされた静的なダイアログを持たずに、実際のプレイヤーと対話するコンピュータ制御のキャラクタを持つことによって、ゲームを容易にするためにこれを使いたいと思います。私は、特定の話題について尋ねられない限り、単純な一般的な会話を持つことができるものを見つけることができることを願っています。その時点で、特定のトピックのあらかじめ設定されたリストに特定の回答を与えることができます。

私は、対話処理の面ではなく、フロントエンドや他のアプリなどのフックについて詳しくは質問しています。最初は、これをローカルのコマンドラインベースのものにして、満足すれば、ダイアログ処理の準備ができたら、さまざまな通信ネットワークにアクセスするためのAPIとしてlibpurpleを検討しています。

誰かがこのような何かのソースコードやAPIを知っていますか? Googleは主にimifiedのようなもののためのツールを提供しています。私はそこにたくさんいるとは思っていません。いろいろな感情や話題を扱うことができるもののソースコードはすばらしいでしょうが、これを行うどこかに何かがあるはずなので、最も単純な会話があるだけで満足しています複数のIMボットが存在します。

良いソースやAPIがない場合、会話できるAIをプログラミングするための優れた資料を知っている人はいますか?繰り返しますが、私は博士論文を人間やそのようなものとして信じられないほどに渡すことができるロボットについて議論しているわけではありません。私は、一般的な会話型ボットが基本的な会話を保持するために使用する簡単なプログラミングテクニックについて議論する資料を意味します。

libpurple APIのため、おそらくC++でこれを行うことになります。だから、C++のリソースは望ましいが必須ではない。

(編集)私はちょうどAIML(人工知能マークアップ言語)につまずいた。私は現在それを検討しており、有望であるかもしれないように思えます。特に、事前に作成された会話リソースがあれば、それを理解していれば言及したようにトピックを追加できます正しく

答えて

6

AIMLは古く、時代遅れであり、彼のデータベースを作成するための拷問です。私はあなたのチャットボットの言語についてthis gamasutra's articleに従うことをお勧めします。この記事では、ChatScriptの言語について説明します。これはAIMLにとって最適な選択肢です。

もう1つの言語は、クールなクリーンスタイルを持つRiveScriptですが、同じような悪い概念を持つAIMLのコピーのようです。

私はYAMLをベースにしたAerolito languageを開発しています。これは単なるホビープロジェクトであり、まだ使用できません。 =]

私の意見では、ChatScriptは今のところ最良の選択肢です。

+0

投票された@renatoppと私はあなたに同意します:Chatscriptが最適です。今私たちはwww.superscriptjs.com(chatjの移植)をnodejsに持っています。また、オープンソース・ソリューションではないIBM Watson、WIT.ai、API.aiもあります。私の質問も参照してください:http://softwarerecs.stackexchange.com/questions/28426/open-source-dialog-system-natural-language-processing-engine –

2

この質問は古いものですが、質問が投稿されてから変更されています。次のプロジェクトをチェックしてください。これらのボットは、テキストファイル、ircのチャットログ、またはトリプルプライの場合はウェブサイトを読むことができます(完璧ではありません)。

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

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

1

ジョルジオRobinoがhttp://superscriptjs.com/を述べたが、それは単なるチャットスクリプトよりもだ - それはrivescriptとチャットスクリプトのスーパーセットだとさらに内蔵のトリプルストアのWordNetを実装するために含まれます