Github: https://github.com/gunthercox/ChatterBot
チャッターボット
ChatterBotは、既知の会話の集合に基づいて応答を生成することを可能にする、機械学習ベースの会話型対話エンジンエンジンです。 ChatterBotの言語に依存しない設計により、あらゆる言語を話せるように訓練することができます。
典型的な入力の例は次のようなものです:
ユーザー:おはようございます! お元気ですか?
bot:私は非常にうまくやっています、お願いしてくれてありがとう。
ユーザー:あなたは大歓迎です。
ボット:あなたは帽子が好きですか?
使い方
ChatterBotの訓練されていないインスタンスは、通信の仕方を知らずに始まります。 ユーザが文を入力するたびに、ライブラリは入力したテキストとその文が応答したテキストを保存します。 ChatterBotは、より多くの入力を受け取るので、応答できる応答の数と、入力文に関連する各応答の精度が向上します。 プログラムは、入力と一致する最もよく一致する既知のステートメントを検索することによって、最も近い一致する応答を選択し、ボットが通信する各ユーザーが各応答を発行する頻度に基づいて、そのステートメントに最も可能性の高い応答を返します。
インストール
このパッケージはPyPiからインストールすることができます:
pip install chatterbot
基本的な使用法
from chatterbot import ChatBot
chatbot = ChatBot(
'Ron Obvious',
trainer='chatterbot.trainers.ChatterBotCorpusTrainer'
)
# Train based on the english corpus
chatbot.train("chatterbot.corpus.english")
# Get a response to an input statement
chatbot.get_response("Hello, how are you today?")
トレーニングデータ
ChatterBotには、チャットボットのトレーニングに使用できるデータユーティリティモジュールが付属しています。 現時点では、このモジュールには3つの言語、英語、スペイン語、ポルトガル語のトレーニングデータがあります。 他の言語での追加のトレーニングデータまたはトレーニングデータの寄与は非常に高く評価されます。 寄稿に興味がある場合は、 chatterbot-corpusパッケージのデータファイルを見てください。
# Train based on the english corpus
chatbot.train("chatterbot.corpus.english")
# Train based on english greetings corpus
chatbot.train("chatterbot.corpus.english.greetings")
# Train based on the english conversations corpus
chatbot.train("chatterbot.corpus.english.conversations")
コーパス寄稿は歓迎です! プルリクエストをしてください。
ドキュメンテーション
ドキュメントを読むChatterBotのドキュメントを参照してください。
Sphinxを使用してドキュメントを自分で作成するには、次のコマンドを実行します。
sphinx-build -b html docs/ build/
例
例については、このプロジェクトのgitリポジトリのexamplesディレクトリを参照してください。
ChatterBotを使ったDjangoプロジェクトの例と、 ChatterBotを使ったFlaskプロジェクトの例もあります。
歴史
変更点については、リリースノートを参照してください。https://github.com/gunthercox/ChatterBot/releases
貢献者のための開発パターン
- GitHubでメインChatterBotリポジトリの フォークを作成します。
-
master
は異なる名前のブランチで変更を行います。たとえば、新しいbranchmy-pull-request
作成します。 - プルリクエストを作成します 。
- PEP-8のPythonスタイルガイドに従ってください。
- プロジェクトに組み込まれた自動テストを使用して、投稿にエラーがないことを確認してください。
ライセンス
ChatterBotはBSD 3条項ライセンスの下でライセンスされています。