[发明专利]基于Transformer的中文智能对话方法有效
申请号: | 202011579830.6 | 申请日: | 2020-12-28 |
公开(公告)号: | CN112612881B | 公开(公告)日: | 2022-03-25 |
发明(设计)人: | 杨波;巩固;郑文锋;刘珊 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F16/332 | 分类号: | G06F16/332;G06F16/33;G06F40/126;G06F40/30;G06N3/04;G06N3/08 |
代理公司: | 成都行之专利代理事务所(普通合伙) 51220 | 代理人: | 温利平 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 transformer 中文 智能 对话 方法 | ||
1.一种基于Transformer的中文智能对话方法,其特征在于,包括以下步骤:
(1)、使用大规模的中文闲聊语料库LCCC(Large-scale Cleaned ChineseConversation)构建训练数据集;
(1.1)、构建长度为N的输入序列;
以[CLS]标签作为输入序列的开始符,然后从LCCC语料库中提取连续对话句,按照语句顺序将字填入输入序列,每个句子之间插入[SEP]标签,每次填入句子时,判定加入当前句总长度m是否大于N,若大于N,则停止填入;若小于N则继续填入,并将未填充部分设置为空值0,从而得到输入序列Sin;
(1.2)、构建等长的期望输出序列Sout;
从输入序列Sin的第2个字符开始依次填入至输出序列,输出序列的最后一个字符设置为空值0;
(1.3)、对输入序列和期望输出序列中的字符均用One-hot列向量进行编码,编码完成后将输入序列记为X,将期望输出序列记为Y,从而构建出训练数据集{X,Y},其中,X,Y∈RV×N,N表示输入序列的长度,V表示经过独热编码后字符向量的维度;
(2)、搭建Transformer模型
Transformer模型由若干层Decoder单元堆叠,在每个Decoder单元中又包括自注意力模块、残差连接模块和层归一化处理模块;
(3)、利用中文闲聊语料库提供字嵌入网络对输入序列X进行嵌入操作;
将输入序列X输入至字嵌入网络,经字嵌入网络编码后得到D×N的字嵌入矩阵XWE=WX,D表示字嵌入向量的维度,W为字嵌入矩阵;
(4)、用全0或全1填充的D维列向量,其中,0或1分别表示问或答者,从而构成D×N的段嵌入矩阵XSE;
(5)、计算段嵌入后矩阵XE=XWE+XSE;
(6)、将XE输入Transformer模块,用于提取语义信息;
(6.1)、将XE分别与三个D×D的权重矩阵WQ、WK、WI相乘,得到查询矩阵Q、键矩阵K和值矩阵V;
Q=WQXE=[q1,q2,…,qN]
K=WKXE=[k1,k2,…,kN]
V=WVXE=[v1,v2,…,vN]
然后,基于矩阵Q、K、V,引入相对位置编码,计算注意力矩阵Z,设矩阵Z的i列向量为zi,i=1,2,…,N,则有:
其中,qi、ki、vi分别为矩阵Q、K、V对应的列向量,pij是输出位置i和输入位置j的相对位置编码向量,pij的偶数和奇数元素计算公式为:
(6.2)、残差连接;
将注意力矩阵Z与段嵌入后矩阵XE相加,得到矩阵XA=Z+XE,再对XA进行标准归一化处理,得到X'A,设x′i和xi分别为X'A和XA的第i列向量,则有:
其中,μi和σi分别为xi各元素的均值和标准差,ε为一极小常数,α,β为弥补归一化引起的信息损失值;
(6.3)、将X'A输入至权重矩阵为WH的前馈线性映射层,并经过ReLU激活,得到输出矩阵XH=ReLU(WHX'A);
(6.4)、将矩阵XH再进行残差连接,得到矩阵X'H=X'A+XH,对矩阵X'H进行标准归一化处理,输出新的嵌入矩阵
(6.5)、重复步骤(6.1)~(6.4),经过多层Decoder单元处理后输出D×N的矩阵XTE;
(7)、利用反转嵌入模型W对XTE进行解码操作,从而将XTE重新转换回原One-hot编码空间,再经过SoftMax激活函数激活,输出预测矩阵
(8)、根据与期望输出矩阵Y计算损失函数值||·||F表示求F范数,然后将损失值反向传播,更新Transformer模块;
(9)、重复步骤(3)~(8),利用训练数据集反复对Transformer模型进行训练,在训练过程中,使用的一定学习率和权重衰减率的Adam优化器进行训练,每一轮完整的训练称为一次epoch,epoch中包括多个训练样本,每次epoch完成后,判断样本的累加损失值小于等于预设阈值,则训练结束,得到训练完成的Transformer模型;否则,继续重复步骤(3)~(8)进行下一轮训练,直至样本的累加损失值小于等于预设阈值;
(10)、基于Transformer模型的中文智能实时对话;
将待对话的输入序列输入至Transformer模型,通过Transformer模型实时输出期望输出序列,从而实现中文智能实时对话。
2.根据权利要求1所述的基于Transformer的中文智能对话方法,其特征在于,所述步骤(6.1)中注意力矩阵Z为多头注意力矩阵Z*;
将Q、K、V通过线性映射分成若干组{Qκ,Kκ,Vκ}κ=1,2,…,然后对每组进行步骤(6.1)操作,计算出多个Zκ,最后将多个Zκ拼接再进行线性投影,得到多头注意力矩阵Z*。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011579830.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:立式永磁调速器
- 下一篇:一种web端实现三维互动的方法
- 基于Transformer+LSTM神经网络模型的商品销量预测方法及装置
- 一种基于Transformer模型自然场景文字识别方法
- 一种深度Transformer级联神经网络模型压缩算法
- 点云分割方法、系统、介质、计算机设备、终端及应用
- 基于Transformer的中文智能对话方法
- 一种基于改进Transformer模型的飞行器故障诊断方法和系统
- 一种基于Transformer模型的机器翻译模型优化方法
- 基于Transformer和增强交互型MPNN神经网络的小分子表示学习方法
- 基于U-Transformer多层次特征重构的异常检测方法及系统
- 基于EfficientDet和Transformer的航空图像中的飞机检测方法