chatterbot语音对话引擎
chatterbot是python自带的基于机器学习的语音对话引擎,可以基于已知的对话库来产生回应。chatterbot独特的语言设计可以使它可以通过训练来用任何一种语言进行对话。
典型输入样例:
用户:早上好!怎么样啊?
bot:我很好,谢谢关心。
用户:不客气。
bot:你喜欢帽子吗?
chatterbot是如何工作的
一个未训练的chatterbot的样例在zui开始是没有任何关于如何与人交流的先验知识的。每次用户输入一句话,语料库就会自动存下他们输入的文本内容以及这句话回应的文本内容。chatterbot收到的输入文本要比回复文本多,所以它可以进行回答,并且回答内容与输入内容相关的准确率也会提高。算法通过在语料库中搜索与输入内容zui匹配的已知文本,来选择出zui匹配的回复,然后它会基于与机器人和用户对话内容频繁程度,来输出对应该输入内容的zui合适的回复。
如何安装chatterbot
可以通过pypi来安装,运行:
基本使用方法
怎样训练数据
chatterbot提供一个数据公用模块,可以用来训练聊天机器人。目前该模块集成七种训练语言,包括英语,西班牙语,葡萄牙语,法语、印尼语、意大利语和中文(根据zui新进展校对)。也欢迎大家分享贡献其他的训练数据或者其他语言的语料库。如果您有兴趣为数据库增加内容,可以看下chatterbot-corpus包(gunthercox/chatterbot-corpus)中的数据文件。
欢迎大家贡献语料库!请发起合并请求。
参考资料
需要建立自己的参考文档请使用sphinx(overview-sphinx1.5.4documentation),运行:
示例
更多示例包含在该项目git仓库的“examples”目录下(gunthercox/chatterbot)
这里是djangoprojectusingchatterbot的示例链接(gunthercox/chatterbot)。以及flaskprojectusingchatterbot.的示例链接(chamkank/flask-chatterbot)。
历史版本
更改版本说明:gunthercox/chatterbot
贡献者开发模式
1.在github上创建chatterbot本地仓库的分支函数.
2.新命名分支,不要命名为“master”,在分支内进行你的改动。例如创建新的分支为“我的合并请求”。
3.创建合并请求。
4.请参考pythonpep-8编码规范。
5.使用项目内部的自动检测来确保你的贡献不会出错。