ChatterBot
1.0.8
ChatterBot 是一个用 Python 构建的基于机器学习的对话引擎,可以根据已知对话的集合生成响应。 ChatterBot 的语言独立设计使其可以接受任何语言的训练。
典型输入的示例如下:
用户:早上好!你好吗?
bot:我做得很好,谢谢你的提问。
用户:不客气。
机器人:你喜欢帽子吗?
未经训练的 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 附带一个数据实用程序模块,可用于训练聊天机器人。目前该模块中有十多种语言的训练数据。如果提供额外的训练数据或其他语言的训练数据,我们将不胜感激。如果您有兴趣做出贡献,请查看 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")
欢迎语料库贡献!请提出拉取请求。
在阅读文档中查看 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 条款许可证获得许可。