# 1、前言
基于小黄鸡50w对话语料构建的SequenceToSequence生成式单轮对话模型。
本项目是参照慕课网“NLP实践TensorFlow打造聊天机器人”实战课程实现了一个基于SequenceToSequence模型的单轮聊天机器人,对模型进行了一定改进优化,使其回答效果大大提高。
我们先来看看模型效果:
![image](http://chatbot.xielin.top/img/test.png)
# 2、我的工作
## 2.1、替换了一个全新的语料库
本例采用的是网络上公布的小黄鸡50w对话语料,相比于项目原有的电影对话语料,它语料库更为精简,对话质量更高,数据噪音较少,处理起来较为轻松
## 2.2、全新的数据清洗规则
根据语料库的特点,增加更具针对性的数据清洗规则,关于数据清洗部分,请看DataProcessing.py。
## 2.3、对模型网络结构进行修改
借鉴项目原有的网络结构与其他一些SequenceTosequence模型构建时的操作,对原有的模型结构进行一定修改。详情可参照在SequenceToSequence.py中关于模型构建的部分
## 2.4、超参数调优
基本的参数列表如下:
```
# 训练轮数
n_epoch = 200
# batch样本数
batch_size = 256
# 训练时dropout的保留比例
keep_prob = 0.8
# 有关语料数据的配置
data_config = {
# 问题最短的长度
"min_q_len": 1,
# 问题最长的长度
"max_q_len": 20,
# 答案最短的长度
"min_a_len": 2,
# 答案最长的长度
"max_a_len": 20,
# 词与索引对应的文件
"word2index_path": "data/w2i.pkl",
# 原始语料路径
"path": "data/xiaohuangji50w_fenciA.conv",
# 原始语料经过预处理之后的保存路径
"processed_path": "data/data.pkl",
}
# 有关模型相关参数的配置
model_config = {
# rnn神经元单元的状态数
"hidden_size": 256,
# rnn神经元单元类型,可以为lstm或gru
"cell_type": "lstm",
# 编码器和解码器的层数
"layer_size": 4,
# 词嵌入的维度
"embedding_dim": 300,
# 编码器和解码器是否共用词嵌入
"share_embedding": True,
# 解码允许的最大步数
"max_decode_step": 80,
# 梯度裁剪的阈值
"max_gradient_norm": 3.0,
# 学习率初始值
"learning_rate": 0.001,
"decay_step": 100000,
# 学习率允许的最小值
"min_learning_rate":1e-6,
# 编码器是否使用双向rnn
"bidirection":True,
# BeamSearch时的宽度
"beam_width":200
}
```
如果你想要对相应参数进行调参,可以在CONFIG.py文件中进行修改。
## 2.5、使用tornado作为web容器来向外暴露api接口
# 3、部署指南
部署SequenceToSequence模型构建项目。大体步骤如下:
1、安装好python3.6开发环境
2、本项目中使用的是TensorFlow-GPU 1.6.0的版本,根据各自的显卡配置,安装好cuda和cnDnn
3、(可跳过自行选择)启动命令行,使用以下命令安装虚拟环境:
```
pip install virtualenvwrapper-win -i https://pypi.mirrors.ustc.edu.cn/simple/
```
```
mkvirtualenv nlp (nlp为虚拟环境名,可自己取)
```
4、进入nlp项目根路径,此处有一个requestments.txt的包文件使用以下命令批量安装包:
```
pip install -r requestments.txt -i https://pypi.mirrors.ustc.edu.cn/simple/
```
5、使用Pycharm或其他Python开发工具打开nlp项目(记得选择刚刚创建的虚拟环境作为项目环境)
![image](http://chatbot.xielin.top/test.jpg)
6、项目运行:
(1)如果你想要自己训练一个模型出来,可以删除data文件夹下的两个pkl文件,然后运行程序Train.py。
它会帮你去重新构建词表和进行模型的训练与保存。
(2)直接使用的话,模型由于github的限制上传大于100m的文件,可以在此处下载我训练好的模型。
链接:https://pan.baidu.com/s/1wmgRH_lmGQdzsit6gBlJzQ
提取码:wdwt
然后将其解压放到项目的model文件夹下。
(3)运行文件RestfulAPI.py开启web容器,监听8000端口。(启动并没有日志信息)
7、模型测试
使用postman来测试一下模型是否能够正常使用:如下图:
![image](http://chatbot.xielin.top/test01.jpg)
后端日志信息
![image](http://chatbot.xielin.top/test02.jpg)
8、前端网页
前端网页可参考我的另一份开源库:https://github.com/15727763396/chatbot_html
没有合适的资源?快使用搜索试试~ 我知道了~
实战课程-基于小黄鸡50w对话语料构建的SequenceToSequence生成式对话模型+源代码+文档说明
![preview](https://csdnimg.cn/release/downloadcmsfe/public/img/white-bg.ca8570fa.png)
共19个文件
py:5个
xml:4个
pyc:3个
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 170 浏览量
2024-05-10
13:13:23
上传
评论
收藏 19.81MB ZIP 举报
温馨提示
<项目介绍> - 本项目是参照慕课网“NLP实践TensorFlow打造聊天机器人”实战课程实现了一个基于SequenceToSequence模型的单轮聊天机器人,对模型进行了一定改进优化,使其回答效果大大提高。 - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
资源推荐
资源详情
资源评论
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
共 19 条
- 1
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/319fe2009f1d4d3884139b13f19c0c65_ldxxxxll.jpg!1)
mldxxxxll5
- 粉丝: 3599
- 资源: 888
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)