【编程实践】利用 Python 调用图灵机器人 API 实现实时语音聊天及自动回复
前言
什么是图灵机器人
在人工智能技术飞速发展的今天,很多以前科幻电影里面的高科技都已经变为现实,而且充斥着我们生活的方方面面,比如说机器人,说说话就能把很多时办了。生活中最常见机器人的有:小米的小爱同学,天猫精灵,华为的小艺,苹果的 siri,微软的小冰以及我们今天用到的图灵机器人等等,他们能够模拟人类对话,这是这类机器人最基本的功能
介绍之前先附上图灵的官网:http://www.turingapi.com
图灵机器人是一款可定制的多场景智能聊天机器人的开放平台,通过调用图灵机器人的 API 即可构建属于自己聊天机器人,我们可以创建一个微信机器人或者 QQ 聊天机器人以供我们娱乐,给无聊的时光带来一丝欢乐。目前图灵机器人对中文语义理解准确率已达 90%,并且具备准确,流畅,自然的中文对话能力,可以满足自然语言对话的需求。完成自动聊天机器人需要了解图灵机器人的知识与原理。
对话体验
流畅自然 自研的增强学习模型,让机器人聊天对话更接近真人
情感交互 23 类情绪识别及多维情感表达,让机器人更拟人化
记忆系统 通过深度记忆系统与用户画像,让机器人更懂你
更多其它介绍可到官网了解,本文主要实现图灵机器人的聊天功能
1.使用之前当然是先要注册,以及实名制(以前图灵接口是免费的,现在需要收费基础版本要 19.9,可到官网了解)
2.然后获取图灵机器人 API:创建一个机器人,并配置机器人相关参数
自动回复
要实现自动回复需要大量的文本数据来训练机器人.提供大量的问答对话训练,让机器人学习其中的对话规律,训练过程也是在构建和丰富机器人的词库,我们常说的词穷,就是我们词汇量储备不足,所以机器人要想能更流畅对话需要更丰富的词库来训练.这样我们就可以实现一个能够与人流畅对话的聊天机器人.比如:当我们收到微信好友发来的消息时,我们如果没有空回复,我们可以将这个消息,传给图灵机器人的 API,他会根据消息做相应的答复,我们再将答复返回给微信好友.
特别提示
特别提示:itchat 大多微信基本用不了,特别是 2017 年后新注册的微信,虽然不能使用 itchat 库进行微信自动回复,如果 itchat 无法使用还可以使用 wechat-hook 进行微信的相关操作.感兴趣的同学可以自行了解,本文主要针对图灵机器人 API 的使用,对于 wechat-hook 的使用这里不展开,有机会可以单独唠唠,除了上述方法,你还可以通过控制电脑的的方式进行自动操作,特别强调的是,WeChat-hook 或者其他微信操作接口一定要谨慎使用,以免被封号,最终要的是,不要做非法或者违法操作.
安装 itchat 模块
itchat 模块是 Python 实现的微信接口,itchat 的安装命令如下:
pip3 install itchat
pip3 install itchat itchat-uos
itchat 介绍
itchat.content 中包含的所有的消息类型参数如下:
TEXT:文本内容
MAP:位置文本/位置分享
CARD:推荐人字典
SHARING:分享名称
RECORDING:语音的下载方法
VIDEO:小视频的下载方法
ATTACHMENT:附件的下载
NOTE:通知文本
SYSTEM:更新内容用户
itchat 登录流程
itchat 提供了登陆所需的每一步的方法,登陆的过程按顺序为: 获取二维码 uuid->获取二维码->判断是否已经登陆成功->获取初始化数据->更新微信相关信息(通讯录、手机登陆状态)->循环扫描新信息(开启心跳)
获取二维码 uuid
获取生成二维码所需的 uuid,并返回。
方法名称: get_QRuuid 所需值:无返回值:成功->uuid,失败->None
获取二维码
根据 uuid 获取二维码并打开,返回是否成功。
方法名称: get_QR 所需值:uuid 返回值:成功->True,失败->False
判断是否已经登陆成功
判断是否已经登陆成功,返回扫描的状态码。
方法名称: check_login 所需值:uuid 返回值:登陆成功->'200',已扫描二维码->'201',二维码失效->'408',未获取到信息->'0'
获取初始化数据
获取微信用户信息以及心跳所需要的数据。
方法名称: web_init 所需值:无返回值:存储登录微信用户信息的字典
获取微信通讯录
获取微信的所有好友信息并更新。
方法名称: get_contract 所需值:无返回值:存储好友信息的列表
更新微信手机登陆状态
在手机上显示登录状态。
方法名称: show_mobile_login 所需值:无返回值:无
循环扫描新信息(开启心跳)
循环扫描是否有新的消息,开启心跳包。
方法名称: start_receiving 所需值:无返回值:无
编程实践
导入 itchat 和 requests 模块
使用 requests 库进行的接口的请求,通过请求调用执行图灵的机器人接口,实现聊天对话内容获取
将得到的内容返回给好友
扫描二维码登录客户端,连接程序自动回复消息
代码实现
导入 itchat 和 requests 库
通过 API 连接图灵机器人,并接收从图灵机器人返回的消息
定义图灵机器人回复方法,将接受到的信息进行编辑然后返回,并发送消息给朋友
手机扫屏幕弹出的二维码,在电脑上进行登录,登录成功后即可实现自动回复
实现机器人语音聊天
也许微信自动聊天无法使用,但是娱乐操作不能少,你还可以使用 Python 实现语音聊天
完整代码如下:
版权声明: 本文为 InfoQ 作者【迷彩】的原创文章。
原文链接:【http://xie.infoq.cn/article/22eee74a510f32857ecbf2fa6】。文章转载请联系作者。
评论