目录
- 前言
- 总体设计
- 系统整体结构图
- 系统流程图
- 运行环境
- Python 环境
- Pycharm 环境
- ChatterBot 环境
- 模块实现
- 1. 模型构建
- 2. 服务器端
- 3. 客户端
- 4. 语音录入
- 5. 接口调用
- 6.模型训练及保存
- 系统测试
- 1. 模型效果
- 2. 模型应用
- 源代码下载地址
- 其它资料下载
本项目基于机器学习和语义识别技术,让机器人理解文本并进行合适的答复。伙伴们可以通过该工程源码,进行个人二次开发,比如使用语音与机器人交流,实现智能问答、智能音箱及智能机器宠物等等。
当然针对现在最火爆的ChatGPT等通用大语言模型,伙伴们可以直接将其应用在模块实现第6部分,其它详细的接口使用操作,大家可以关注我博客的其它关于ChatGPT接口使用的说明。
本部分包括系统整体结构图和系统流程图。
系统整体结构如图所示。
系统流程如图所示。
本部分包括 Python 环境、Pycharm 环境和 ChatterBot 环境。
需要 Python 3.6 及以上配置,进入 python 官方网站:www.python.org,选择自己所需版本号,单击 DownLoad,添加环境变量。
PyCharm 是 一 款 功 能 强 大 的 Python 编辑器,具有跨平台性 , 下 载 地 址 :
http://www.jetbrains.com/pycharm/download/#section=windowsPyCharm ,把 pycharm和 python解释器进行连接。
基于 chatterbot 0.8.7 开发,打开 cmd 进入 python 所在的磁盘,输入:
等待安装即可。
本项目包括 6 个模块:模型构建、服务器端、客户端、语音录入、接口调用、模型训练
及保存,下面分别给出各模块的功能介绍及相关代码。
进入百度云官网:https://ai.baidu.com/,进入我的控制台,打开百度语音进入语音应用
管理界面,创建一个新的应用,如图所示。
记录 APPID、API Key 和 Secret Key 三个值。
请求方式和参数网址:https://cloud.baidu.com/doc/SPEECH/s/Qk38y8lrl
通过调用百度语音 API 实现相应的转换功能,在百度云应用管理中心可以看到记录,即为调用成功。
此模块主要处理用户的登录校验,房间的人员消息处理,通过 config.py 中配置的列表PORT 生成几个不同房间,相关代码如下:
在开启客户端前,运行服务器端,CommandHandler 类拆解 client 客户端发送信息中的命令,并绑定函数。通过 config.py 中配置列表 PORT = range(1, 3)生成两个房间,地址分别是 127.0.0.1:1 和 127.0.0.1:2,如图所示。
该模块提供登录窗口、聊天窗口以及各种响应事件,相关代码如下:
1)登录窗口设计
设计登录窗口的 GUI 界面,添加包括标题、地址栏、用户信息栏和登录退出按钮的几个控件并绑定登录、退出等各种事件。
2)聊天窗口设计
设计聊天窗口的 GUI 界面,添加包括当前用户显示、信息输入框、语音输入按钮、发送和关闭按钮等各种控件并绑定发送消息、输入消息等事件。
该模块提供录音功能并将文件保存在本地, Recorder 的采样率与百度语音转文字的采样率相同,相关代码如下:
语音录入时,控制面板输出如图所示。
此时在相应路径中可以看到录制成功的语音文件,格式为.Wav,如图所示。
该模块调用 chatbot 返回文本信息、百度 API 语音识别、百度 API 转文本为语音,相关代码如下:
该模块主要训练 chatbot 机器人,保存在本地 sqlite 数据库,提供两种语料训练方法。如果使用ChatGPT的话,可以将此步省略,直接使用其API接口
1) 语句训练
直接写训练语句,也可开启通过聊天时的语句自动,相关代码如下:
2) 语料库训练
通过自定义语料库训练。
安装chatbot后默认提供的中文语料格式E:Python36Libsitepackageschatterbot_corpusdataChinese。参照格式,写入自己的语料文件。
本部分包括模型效果和模型应用。
将所需语料库数据带入模型进行训练,如图所示。
训练结果如图所示。
本部分包括程序运行、应用使用说明和程序功能实现。
1) 程序运行
- rainChat.py 训练本地 chatbot 机器人(每次更新训练内容,运行一次即可);如果使用ChatGPT的话,可以将此步省略,直接使用其API接口
- server.py 开启服务器;
- client.py 运行客户端,每次运行都可登陆一个用户。
2) 应用使用说明
运行程序后,用户初始登录界面如图所示。界面从上至下,两个文本框:一个输入服务地址,一个输入用户名;两个按钮:一个用于登录,一个用于项目退出。
用户输入服务地址和登录后进入聊天界面。主体为聊天展示框,底部从左到右分别有语音输入按钮、文字输入文本框、发送按钮和聊天室关闭按钮,如图所示。
3) 程序功能实现
(1)在聊天框输入“机器人”可以呼叫语音助手,输入“用户聊天”退出语音机器人模式,如图所示。
(2)长按“语音”按钮录入语音与机器人进行对话,如图所示。
(3)退出机器人聊天模式还可实现多人聊天,如图所示。
基于Python+百度语音的智能语音ChatGPT聊天机器人(机器学习+深度学习+语义识别)含全部工程源码
如果大家想继续了解人工智能相关学习路线和知识体系,欢迎大家翻阅我的另外一篇博客《重磅 | 完备的人工智能AI 学习——基础知识学习路线,所有资料免关注免套路直接网盘下载》
这篇博客参考了Github知名开源平台,AI技术平台以及相关领域专家:Datawhale,ApacheCN,AI有道和黄海广博士等约有近100G相关资料,希望能帮助到所有小伙伴们。