1.神器wxpy库
首先,
wxpy是在 itchat库 的根本上,通过大量接口优化,让模块变得大略易用,并进行了功能上的扩展。什么是接口优化呢,大略来说便是用户直接调用函数,并输入几个参数,就可以利用了,不须要关心函数的底层实现。
Chatterbot是一个基于机器学习的谈天机器人引擎,基于python编写而成,它可以自可以从已有的对话中进行影象匹配。
Wxpy由于采取大量的接口集成,以是在利用的时候非常方便,下图是大略的wxpy利用,通过进入交互式界面,可以与指定的好友进行交谈。代码及效果如下图所示:
上述的代码中print_msg函数采取了wxpy库的装饰器,装饰器在这里的浸染可以查阅其源码进行查看,紧张是用于注册的配置。例如print_msg函数,可以将对方的回答进行输出。而在手机微信上我们同样看到了双方之间互换,以是从某个层面上来讲,wxpy便是PC真个微信。
2.图灵谈天机器人
下面我们将会实现第一个谈天机器人,该机器人是wxpy内集成的图灵机器人,由于图灵机器人的高度专业,以是制作出来的谈天机器人互换也非常的顺畅。那如何将图灵机器人嵌入到我们的互换中呢?首先我们须要去图灵机器人官网注册得到我们自己的机器人,注册完成后,我们便可以天生图灵机器人,并得到一个api_key,如下图所示:
这个api_key便是我们后续制作谈天机器人的关键。图灵谈天机器人的代码和效果图如下图所示:
由上图右边的谈天记录来看,依托图灵机器人的谈天机器人效果非常的出色,而且还可以进行景象查询等功能。
3.自己演习的谈天机器人
下面我们不依托于图灵机器人,而是依赖ChatterBot来制作一款机器人,这款机器人,虽然效果较上一款性能差距较大,但是它可以演习我们自己的语料库,下面是代码和效果的展示。
由上图可以看出,或许是受制于语料库资源过少,而且也不能够主动上网查询。以是要想使其能够回答和提问基本吻合还须要大量的事情。
难道除了这些我们就没有其它可以做的了吗?当然不是,ChatterBot为我们供应了可以演习的办法,我们可以供应素材来让其进行演习。代码和效果如下图所示:
我们首先定义了一个chatbot,然后将演习数据加入进去,让模型匹配我们的问题,得到演习的结果。
右边的图展示了我们的结果,由结果可以看出,由于我们的演习集中没有“在”这个数据,以是得到的回答很莫名其妙,而对付“你好”和“你叫什么名字?”这两个问题的回答则得到了很完美的答复,这便是加入演习数据集的上风所在。
trainer.train([ \公众你好\公众, \"大众你好,很高兴认识你\"大众, \"大众你叫什么名字?\"大众, \公众我叫chat-robot-2.\公众,])
(演习集的数据)
你也可以加入你想要演习的语料库进行演习,一样会得到不错的效果。有的同学可能会问这是如何演习的呢?答案就在chatterbot的源码里,打开源码我们可以这里的chatbot选择的演习方法是“BestMatch”,也即最匹配办法,从演习的对话中找到最相识的语句,然后根据对话供应回答。
Python做机器学习的项目是不是很有趣,以上便是