ChatterBot は、Python で構築された機械学習ベースの会話ダイアログ エンジンで、既知の会話のコレクションに基づいて応答を生成できます。 ChatterBot は言語に依存しない設計なので、あらゆる言語を話すようにトレーニングできます。
一般的な入力の例は次のようになります。
ユーザー:おはようございます!お元気ですか?
ボット:とても順調です、ご質問いただきありがとうございます。
ユーザー:どういたしまして。
ボット:帽子は好きですか?
トレーニングされていない ChatterBot インスタンスは、通信方法の知識がない状態から始まります。ユーザーがステートメントを入力するたびに、ライブラリはユーザーが入力したテキストとステートメントが応答したテキストを保存します。 ChatterBot がより多くの入力を受け取ると、応答できる応答の数と、入力ステートメントに対する各応答の精度が向上します。プログラムは、入力に一致する既知のステートメントに最も近い一致を検索することによって、最も一致する応答を選択し、ボットが通信する相手によって各応答が発行される頻度に基づいて、そのステートメントに対する最も可能性の高い応答を返します。
このパッケージは、次を実行して PyPi からインストールできます。
pip install chatterbot
from chatterbot import ChatBot
from chatterbot.trainers import ChatterBotCorpusTrainer
chatbot = ChatBot('Ron Obvious')
# Create a new trainer for the chatbot
trainer = ChatterBotCorpusTrainer(chatbot)
# Train the chatbot based on the english corpus
trainer.train("chatterbot.corpus.english")
# Get a response to an input statement
chatbot.get_response("Hello, how are you today?")
ChatterBot には、チャット ボットのトレーニングに使用できるデータ ユーティリティ モジュールが付属しています。現時点では、このモジュールには 12 を超える言語のトレーニング データが含まれています。追加のトレーニング データや他の言語のトレーニング データの貢献をいただければ幸いです。貢献に興味がある場合は、chatterbot-corpus パッケージ内のデータ ファイルを参照してください。
from chatterbot.trainers import ChatterBotCorpusTrainer
# Create a new trainer for the chatbot
trainer = ChatterBotCorpusTrainer(chatbot)
# Train based on the english corpus
trainer.train("chatterbot.corpus.english")
# Train based on english greetings corpus
trainer.train("chatterbot.corpus.english.greetings")
# Train based on the english conversations corpus
trainer.train("chatterbot.corpus.english.conversations")
コーパスの貢献は大歓迎です!プルリクエストをしてください。
Read the Docs で ChatterBot のドキュメントを参照してください。
Sphinx を使用してドキュメントを自分で構築するには、次のコマンドを実行します。
sphinx-build -b html docs/ build/
例については、このプロジェクトの git リポジトリのサンプル ディレクトリを参照してください。
ChatterBot を使用した Django プロジェクトの例と、ChatterBot を使用した Flask プロジェクトの例もあります。
変更点についてはリリースノートを参照してください https://github.com/gunthercox/ChatterBot/releases
master
とは異なる名前のブランチで変更を加えます。たとえば、新しいブランチmy-pull-request
を作成します。ChatterBot は、BSD 3 条項ライセンスに基づいてライセンスされています。