[发明专利]一种基于静态-动态注意力变分网络的对话生成方法有效
申请号: | 201911250610.6 | 申请日: | 2019-12-09 |
公开(公告)号: | CN111143509B | 公开(公告)日: | 2023-06-30 |
发明(设计)人: | 贺瑞芳;王瑞芳;常金鑫;王龙标;党建武 | 申请(专利权)人: | 天津大学 |
主分类号: | G06F16/33 | 分类号: | G06F16/33;G06F16/332;G06F40/30;G06F40/205 |
代理公司: | 天津市北洋有限责任专利代理事务所 12201 | 代理人: | 刘子文 |
地址: | 300072*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 静态 动态 注意力 网络 对话 生成 方法 | ||
1.一种基于静态-动态注意力变分网络的对话生成方法,其特征在于,包括以下步骤:
(1)构建上下文理解模块:
上下文理解模块是利用句子编码器和上下文编码器对训练语料中的对话上下文进行编码得到关于对话上下文的历史向量ln;该模块中给定对话上下文x=(x1,x2,…xi,…,xn),其中n表示上下文中句子的个数,xi=(xi,1,xi,2,…,xi,Ni)表示句子xi中有Ni个单词;生成回复y=(y1,y2,…,yi,…,ym),其中yi表示回复中的第i个单词,m表示回复中单词的个数;
句子编码器由双向GRU构成,针对上下文中每一个句子xi进行编码得到句子向量hi,其具体计算公式如下:
分别表示上下文句子xi中第j个单词在前向GRU和后向GRU中的潜在状态,Ni表示句子xi中单词的个数;表示句子编码器中的前向GRU,表示句子编码器中的后向GRU;hi,j则为上下文句子xi中第j个单词在双向GRU中的状态向量;hi是表示上下文句子xi的句子向量;同理可得到回复y的向量表示hy;
上下文编码器由GRU构成,将上下文中每一个句子的句子向量按顺序作为输入,计算得到关于对话上下文的历史向量ln;具体计算公式如下:
其中表示GRU构成的上下文编码器,h1,h2,…,hn表示输入的句子向量,n为输入句子向量的个数,为上下文编码器得到的n个潜在向量,将上下文编码器最后的潜在向量ln作为关于对话上下文的历史向量;
(2)构建主旨提取模块:
主旨提取模块利用基于vMF分布的识别/先验recognition/prior网络得到全局结构信息潜在表示z并利用静态注意力机制提炼出一个能够代表回复中心思想的主旨表示csta;主旨提取模块由基于vMF分布的识别/先验网络和静态注意力机制组成;具体包括以下步骤:
首先,利用基于vMF分布的识别/先验网络采样得到关于上下文的全局结构信息的潜在表示z;vMF分布即von Mises-Fisher分布,用于表示单位球面上的概率分布,其密度函数如下:
上述公式中,d表示空间的维度,z表示d维的单元随机向量;表示单位球面上的方向向量,||μ||=1;κ≥0表示浓度参数;Iρ表示ρ阶的修正Bessel函数,其中ρ=d/2-1;上述分布指出了单位向量在球面上的分布情况;
全局结构信息的潜在表示z,根据如下公式进行采样:
其中,ω∈[-1,1];
利用基于vMF分布的识别/先验网络的损失函数表示如下:
由上述公式可知,损失中包含两个分布,qφ(z|x,y)为后验分布用于表示识别网络,具体表示为qφ(z|x,y)=vMF(μre,kre);pθ(z|x)为先验分布用于表示先验网络,具体表示为pθ(z|x)=vMF(μprior,kprior);KL(qφ(z|x,y)||pθ(z|x))用于计算识别网络和先验网络之间的KL散度;其中kre,kprior为常量,μre是后验分布的参数,μprior是先验分布的参数,具体计算如下:
其中fre(·)和fprior(·)是两个线性函数,||·||用于确保正则化;
其次,利用静态注意力机制得到关于回复中心思想的主旨表示csta;
在通过基于vMF分布的识别/先验网络采样得到全局结构信息的潜在表示z后,利用z与作为静态注意力机制的输入得到权重α,计算如下:
α=spftmax(e) (15)
其中,vsta,Wl,Wz,bsta是待学习的参数,α=(α1,α2,…,αn)是通过softmax函数计算得到的关于的权重,它衡量了每个句子对于中心思想所做的贡献;
通过以下公式计算主旨表示csta:
csta=∑iαihi (16);
(3)构建回复生成模块:
基于主旨的回复生成模块利用了动态注意力机制;该模块中的解码器以历史向量ln、全局结构信息潜在表示z和主旨表示csta作为初始潜在状态,最终生成语义相关且多样性的回复;
具体步骤如下:
首先利用动态注意力机制在每个时间步t学习上下文向量目的是选择解码器在生成下一个单词yt时应该关注的信息;在每个时间步t,解码器都会处理前一个单词的嵌入,并产生解码器状态st,用于确定上下文向量
利用st与h′i作为动态注意力机制的输入得到βt,计算如下:
βt=softmax(dt) (18)
其中,h′i表示整个上下文中第i个词的潜在向量;βt表示在第t时间步由softmax函数得到的动态注意力分布;vdyn,Wh′,Ws,bdyn是待学习的参数;计算如下:
表示在时间t学习到的上下文向量;
其次,将主旨表示csta、上下文向量和解码器状态st结合在一起,最终计算得到词表分布pvocab:
V′,V,b,b′都是待学习的参数,Pvocab是整个词表的概率分布,该概率分布用于学习回复中生成单词的概率pvocab(yt);最终回复的生成概率如下:
上述解码过程中的损失函数表示如下:
表示重构误差;
整个过程的损失函数表示:
2.根据权利要求1所述一种基于静态-动态注意力变分网络的对话生成方法,其特征在于,步骤(1)中为得到训练语料包括以下步骤:
(101)规范对话长度,保留原始训练语料中对话长度为2-10轮的对话;
(102)将(101)中得到的对话中最后一句视为回复,其余句子视为上下文。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津大学,未经天津大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911250610.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种网页搜索方法及装置
- 下一篇:一种女性阴道杀菌结构