基于深度学习模型构建智能聊天平台的方法及系统技术方案

技术编号:28420076 阅读:17 留言:0更新日期:2021-05-11 18:27
本发明专利技术公开了一种基于深度学习模型构建智能聊天平台的方法及系统,属于深度学习及大数据处理领域,本发明专利技术要解决的技术问题为如何提高模型预测输出语句的连贯性和积极性,提升用户体验,对外实现智能对话服务,采用的技术方案为:该方法具体如下:数据预处理:对从开源获取到的聊天语料数据进行数据预处理并训练词袋模型;构建并训练模型:构建深度学习模型seq2seq并对深度学习模型seq2seq进行训练,对训练后的深度学习模型seq2seq进行对话测试;对模型进行部署应用:根据训练后的深度学习模型seq2seq进行部署应用。该系统包括预处理单元、构建及训练单元和部署单元。

【技术实现步骤摘要】
基于深度学习模型构建智能聊天平台的方法及系统
本专利技术涉及深度学习及大数据处理领域,具体地说是一种基于深度学习模型构建智能聊天平台的方法及系统。
技术介绍
目前对话机器人是一个热门话题,大家熟知的应用和产品主要有3种,具体如下:①、虚拟助手:能对个人的输入完成相应的任务或提供相应服务的产品,如Siri、Cortana、度秘等;②、智能音箱:通过语音交互,完成用户任务,也能对智能家具设备进行控制,典型的商业产品包括echo、天猫精灵、小爱同学;③、闲聊对话:在开放领域与用户进行闲聊,典型商业产品如:微软小冰。对话机器人的任务类型可以分为3类,具体如下:第一类是任务型对话:主要解决如订机票、定酒店等问题,涉及的技术包括语义理解、意图识别、状态追踪、对话决策;第二类是知识型对话:在寿险客服的场景里用户可能会问“你这个保险要交多少钱?”,这类问题,涉及的技术包括文本表示、语义匹配、知识图谱等;第三类闲聊对话:用户可能只想找人聊聊天,对话不涉及到知识或业务,比如说“今天天气真好”,涉及到的技术包括文本生成模型、文本检索、排序技术等。以解决闲聊型任务为例,大家较为熟悉的使用seq2seq生成闲聊机器人。但普通seq2seq可能出现负面情感的回复、疑问句式的回复、回复的多样性较低等问题,导致用户体验差,对话上下文不够连贯。因此负面情感回复、疑问句式回复、回复多样性低、一致性低,都是聊天机器人需要攻克的难点。故如何提高模型预测输出语句的连贯性和积极性,提升用户体验,对外实现智能对话服务是目前亟待解决的问题,
技术实现思路
本专利技术的技术任务是提供一种基于深度学习模型构建智能聊天平台的方法及系统,来解决如何提高模型预测输出语句的连贯性和积极性,提升用户体验,对外实现智能对话服务的问题。本专利技术的技术任务是按以下方式实现的,一种基于深度学习模型构建智能聊天平台的方法,该方法具体如下:数据预处理:对从开源获取到的聊天语料数据进行数据预处理并训练词袋模型;构建并训练模型:构建深度学习模型seq2seq并对深度学习模型seq2seq进行训练,对训练后的深度学习模型seq2seq进行对话测试;对模型进行部署应用:根据训练后的深度学习模型seq2seq进行部署应用。作为优选,对从开源获取到的聊天语料数据进行数据预处理具体如下:结合语料实际情况和对话逻辑,对上下文语料中包含的特殊字符进行剔除;特殊字符包括表情、颜文字等字符;对语料中上下文少于3个汉字的聊天语料进行删除;分别训练语料中的上文模型和下文模型,筛选处聊天语料中词频大于5的token,保存上下文的词袋模型,以供深度学习模型使用。作为优选,所述深度学习模型seq2seq包括Encoder架构和Decoder架构。更优地,所述Encoder架构为2层双向的Bilstm结构,每一层拥有128个神经元,把Enoder输出的最后两层拼接起来构成一个(batch_size,seq_len,128*2)的矩阵,作为Encoder最后的输出。更优地,所述Decoder架构为1层的Bilstm结构,每一层拥有128*2个神经元,对第一个时间步使用Ecoder的输入,通过attention层进行矩阵转换,每一个时间步增加随机函数,随机使用teach-forcing层,对模型进行正确的指导,在每一个时间步最后添加soft_max函数,作为深度学习模型seq2seq本时间步的预测结果并进行保存,每个时间步采取同样的方法进行,直到深度学习模型seq2seq预测到终止符或到序列指定长度。更优地,对深度学习模型seq2seq进行训练具体如下:针对训练好的深度学习模型seq2seq构建词向量转化器:作为深度学习模型seq2seq的输入和输出的转化器,在深度学习模型seq2seq输入时把汉字转化为深度学习模型seq2seq可识别的数字;在深度学习模型seq2seq预测后,对深度学习模型seq2seq输出的数字进行转化,把深度学习模型seq2seq输出的数字转化为可读的汉字语句;辅加attention(注意力)层:使用dot-attention,初始化一个(128*2,seq_len,num_layer)的矩阵,与encoder的输出进行点乘,作为decoder每一个时间步的输入,提高模型对对话上下文的理解,增加模型的重点注意力;辅加teach-forcing层:使用下文中每一个时间步正确的文字转化后的向量替代上一个时间步预测的向量,起到加速优化模型参数,快速训练模型的目的;改进BeamSearch:由于每一步并非按照最大的概率去选一个,采取折中的方法,每次搜索只保留最优的K条路径,搜索结果优于贪心搜索;其中,时间复杂度能够根据k的设置进行控制,同时通过增加惩罚项,对短句子进行降权。作为优选,对模型进行部署应用具体如下:使用django和vue搭建前后端分离的项目框架对深度学习模型seq2seq进行部署应用;使用django框架搭建后端平台,接收前端传输的聊天内容,调用深度学习模型seq2seq进行预测,对预测的结果进行返回;使用vue搭建前端框架,用于用户交互及与后端交互。更优地,训练后的模型进行部署应用后,对深度学习模型seq2seq进行增量训练,通过后期丰富的聊天语料及用户聊天涉及到的各类情况,更新深度学习模型seq2seq。一种基于深度学习模型构建智能聊天平台的系统,该系统包括,预处理单元,用于对从开源获取到的聊天语料数据进行数据预处理并训练词袋模型;预处理单元包括,剔除模块,用于结合语料实际情况和对话逻辑,对上下文语料中包含的特殊字符进行剔除;特殊字符包括表情、颜文字等字符;删除模块,用于对语料中上下文少于3个汉字的聊天语料进行删除;筛选及保存模块,用于分别训练语料中的上文模型和下文模型,筛选处聊天语料中词频大于5的token,保存上下文的词袋模型,以供深度学习模型使用;构建及训练单元,用于构建深度学习模型seq2seq并对深度学习模型seq2seq进行训练,对训练后的深度学习模型seq2seq进行对话测试;构建及训练单元包括,构建模块一,用于针对训练好的深度学习模型seq2seq构建词向量转化器;其中,词向量转化器作为深度学习模型seq2seq的输入和输出的转化器,在深度学习模型seq2seq输入时把汉字转化为深度学习模型seq2seq可识别的数字;在深度学习模型seq2seq预测后,对深度学习模型seq2seq输出的数字进行转化,把深度学习模型seq2seq输出的数字转化为可读的汉字语句;构建模块二,用于构建Encoder架构,Encoder架构为2层双向的Bilstm结构,每一层拥有128个神经元,把Enoder输出的最后两层拼接起来构成一个(batch_size,seq_len,128*2)的矩阵,作为Encoder最后的输出本文档来自技高网
...

【技术保护点】
1.一种基于深度学习模型构建智能聊天平台的方法,其特征在于,该方法具体如下:/n数据预处理:对从开源获取到的聊天语料数据进行数据预处理并训练词袋模型;/n构建并训练模型:构建深度学习模型seq2seq并对深度学习模型seq2seq进行训练,对训练后的深度学习模型seq2seq进行对话测试;/n对模型进行部署应用:根据训练后的深度学习模型seq2seq进行部署应用。/n

【技术特征摘要】
1.一种基于深度学习模型构建智能聊天平台的方法,其特征在于,该方法具体如下:
数据预处理:对从开源获取到的聊天语料数据进行数据预处理并训练词袋模型;
构建并训练模型:构建深度学习模型seq2seq并对深度学习模型seq2seq进行训练,对训练后的深度学习模型seq2seq进行对话测试;
对模型进行部署应用:根据训练后的深度学习模型seq2seq进行部署应用。


2.根据权利要求1所述的基于深度学习模型构建智能聊天平台的方法,其特征在于,对从开源获取到的聊天语料数据进行数据预处理具体如下:
结合语料实际情况和对话逻辑,对上下文语料中包含的特殊字符进行剔除;
对语料中上下文少于3个汉字的聊天语料进行删除;
分别训练语料中的上文模型和下文模型,筛选处聊天语料中词频大于5的token,保存上下文的词袋模型,以供深度学习模型使用。


3.根据权利要求1所述的基于深度学习模型构建智能聊天平台的方法,其特征在于,所述深度学习模型seq2seq包括Encoder架构和Decoder架构。


4.根据权利要求3所述的基于深度学习模型构建智能聊天平台的方法,其特征在于,所述Encoder架构为2层双向的Bilstm结构,每一层拥有128个神经元,把Enoder输出的最后两层拼接起来构成一个(batch_size,seq_len,128*2)的矩阵,作为Encoder最后的输出。


5.根据权利要求3所述的基于深度学习模型构建智能聊天平台的方法,其特征在于,所述Decoder架构为1层的Bilstm结构,每一层拥有128*2个神经元,对第一个时间步使用Ecoder的输入,通过attention层进行矩阵转换,每一个时间步增加随机函数,随机使用teach-forcing层,对模型进行正确的指导,在每一个时间步最后添加soft_max函数,作为深度学习模型seq2seq本时间步的预测结果并进行保存,每个时间步采取同样的方法进行,直到深度学习模型seq2seq预测到终止符或到序列指定长度。


6.根据权利要求3-5中任一所述的基于深度学习模型构建智能聊天平台的方法,其特征在于,对深度学习模型seq2seq进行训练具体如下:
针对训练好的深度学习模型seq2seq构建词向量转化器:作为深度学习模型seq2seq的输入和输出的转化器,在深度学习模型seq2seq输入时把汉字转化为深度学习模型seq2seq可识别的数字;在深度学习模型seq2seq预测后,对深度学习模型seq2seq输出的数字进行转化,把深度学习模型seq2seq输出的数字转化为可读的汉字语句;
辅加attention层:使用dot-attention,初始化一个(128*2,seq_len,num_layer)的矩阵,与encoder的输出进行点乘,作为decoder每一个时间步的输入;
辅加teach-forcing层:使用下文中每一个时间步正确的文字转化后的向量替代上一个时间步预测的向量;
改进BeamSearch:采取折中的方法,每次搜索只保留最优的K条路径,搜索结果优于贪心搜索;其中,时间复杂度能够根据k的设置进行控制,同时通过增加惩罚项,对短句子进行降权。


7.根据权利要求1所述的基于深度学习模型构建智能聊天平台的方法,其特征在于,对模型进行部署应用具体如下:
使用django和vue搭建前后端分离的项目框架对深度学习模型seq2seq进行部署应用;
使用django框架搭建后端平台,接收前端传输的聊天内容,调用深度学习模型seq2seq进行预测,对预测的结果进行返回;
使用vue搭建前端框架,用于用户交互及与后端交互。

【专利技术属性】
技术研发人员:肖雪荣广胜李国涛
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1