python制作聊天机器人原理_用 Python 来做一个聊天机器人吧!(一)

在我的一个回答里,我提到了用 Python 搭建聊天机器人。从今天开始,我就带着大家从0开始搭建一个聊天机器人。

(顺便说一句,我喜欢把链接像上面这样加在文字里,如果找不到文中所说的资源,可以看看周围有没有链接。)

准备工作

首先,你要有一台安装了 Python 的电脑,推荐 Python3.6+。另外,系统最好使用 Windows 系统,因为把机器人和 QQ 对接的软件 CoolQ 只有 Windows 版,虽然使用 Docker 和 wine 可以在其它系统上运行,但不能保证稳定性。

然后,你需要在系统中安装并运行 MongoDB 数据库服务。安装方法可以看这里。记得安装完成之后运行 MongoDB 服务,也就是把 MongoDB 作为服务安装到系统中,以保持后台运行。

其次,你可能会需要一个好看的控制台,最好像 Conemu 一样既方便又美观的。毕竟写累了还可以舔舔老婆(划去

Chatterbot

Chatterbot 是一个 Python 库,我们的聊天机器人就是主要基于这一个库。

安装和其他的 Python 库一样简单:

pip3 install chatterbot chatterbot_corpus

其中 chatterbot_corpus 是 Chatterbot 自带的语料库。

现在简单说一下 Chatterbot 的原理。Chatterbot 是比较简单的聊天机器人,它需要大量对话语料来支撑它的运行。当用户给它一个输入时,它会在所有的语料库中寻找和这句话最相似的一句话,然后返回语料库中的下一句。

所以,在使用 Chatterbot 前,我们需要先进行训练。

from chatterbot import ChatBot

from chatterbot.trainers import ChatterBotCorpusTrainer

bot = ChatBot(

'Sakura',

storage_adapter='chatterbot.storage.MongoDatabaseAdapter'

)

trainer = ChatterBotCorpusTrainer(bot)

trainer.train("chatterbot.corpus.chinese")

trainer.train("chatterbot.corpus.english")

我们分析一下这几行代码。

bot = ChatBot(

'Sakura',

storage_adapter='chatterbot.storage.MongoDatabaseAdapter'

)

这是创建一个聊天机器人,名字叫 Sakura(你也可以改成自己起的名字),使用 MongoDB 中的数据。(其实 Chatterbot 还支持 SQL,但是速度太慢了。)

这句代码里面有一个单词 adapter,官方翻译为“适配器”。其实它更准确的含义是“组件”。创建 Chatbot 时还有很多 xxx_adapter 这样的参数,可以为机器人开启各种各样的功能。不过有一点要注意,有些功能可能只对于英语进行了适配,对其他语言支持并不好。

trainer = ChatterBotCorpusTrainer(bot)

trainer.train("chatterbot.corpus.chinese")

trainer.train("chatterbot.corpus.english")

这几行就是具体的训练代码了。注意,这是最新版(2019/8/18)的写法,之前版本有所不同,使用的是bot.set_trainer(ChatterBo

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值