[发明专利]一种融合基础知识与用户信息的对话生成方法在审
申请号: | 202310058399.8 | 申请日: | 2023-01-19 |
公开(公告)号: | CN116010575A | 公开(公告)日: | 2023-04-25 |
发明(设计)人: | 覃远年;黎桂成;吴冬雪;雷送强;宁波;卢玉胜 | 申请(专利权)人: | 桂林电子科技大学 |
主分类号: | G06F16/332 | 分类号: | G06F16/332;G06F18/25;G06F18/214;G06N3/0499;G06N3/084 |
代理公司: | 桂林市华杰专利商标事务所有限责任公司 45112 | 代理人: | 罗玉荣 |
地址: | 541004 广*** | 国省代码: | 广西;45 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 融合 基础知识 用户信息 对话 生成 方法 | ||
1.一种融合基础知识与用户信息的对话生成方法,其特征在于,包括如下步骤:
1)构建基于知识与角色信息的对话数据集:构建同时具有知识与角色信息的训练数据集,包括:基于基础知识数据库DBpedia的数据集D=[d1,d2,...,dn]、用户特征信息数据集P=(p1,p2,....,pn)、采用带有角色信息标注的语句进行人机交互获取对话数据,对话数据包括提问语句和回复语句lm表示提问语句,表示回复语句;
2)获取用户信息嵌入向量、基础知识嵌入向量:采用多输入Transformer结构通过词嵌入embedding将自然语言映射至向量空间,分别对基础知识序列D、角色信息P进行词嵌入编码,分别得到词嵌入序列向量X(D)和X(P),位置编码将词嵌入向量转变为包含各个频率的正弦和余弦向量表示,在高维向量空间捕捉词汇间的关系,得到带位置信息的词嵌入序列向量Xembed(D)和Xembed(P):
Xembed=Embedding+PositionalEncodering,
Embedding(D)=D·Wd,Embedding(P)=P·Wp,
其中,Embedding(·)表示词嵌入编码,Wd、Wp表示可学习的参数,PositionalEncodering(·)表示采用正、余弦函数的线性变换对词嵌入向量进行位置编码,T表示词嵌入序列中的任一位置,d表示向量维度,PositionalEncodering(T,2i)表示词嵌入序列T在2i维度下的位置编码,PositionalEncodering(T,2i+1)表示词嵌入序列T在2i+1维度下的位置编码,针对完成词嵌入与位置编码后得到的词嵌入向量Xembed(D)与Xembed(P),经过Encoder层进行计算获取源文本隐藏特征序列CE;
3)计算:采用多输入Transformer结构的编码器Encoder层对用户信息、基础知识嵌入向量进行编码,计算基础知识注意力向量与用户信息注意力向量,具体为:
Encoder层由两个子层组成,第一个子层为多头自注意力层Multi-Headed Attention,另一个为前馈神经网络FNN层,
计算多头注意力向量Attention(·),计算公式为:
Q=Linear(Xembed)=Xembed*Wq,
K=Linear(Xembed)=Xembed*Wk,
V=Linear(Xembed)=Xembed*Wv,
其中,Linear(·)表示线性变换操作,Q,K,V分别表示查询向量序列,键向量序列和值向量序列,Wq、Wk、Wv分别为不同的可学习参数矩阵、且Wq Wk Wv∈Rd,R表示实数,d为词嵌入向量Xembed的维度,Softmax表示归一化指数函数,KT是K的转置,多头表示多个不同的参数矩阵Wi,对Xembed做线性映射投影到各个特征空间i,分别乘上三个权重Wq、Wk、Wv,多头注意力层融合了来自于相同的注意力池化产生的不同的知识,这些知识的不同来源于相同的查询矩阵Q、键矩阵K和值矩阵V的h个不同的特征空间,具体表示为h组不同的参数矩阵这h组变换后的查询、键和值并行地进行注意力池化,将这h组注意力池化的输出headi拼接在一起,并且通过可以学习的线性投影矩阵Wh进行变换,产生最终基础知识多头注意力输出Xatt(D):
Xatt(D)=MultiHead(Q,K,V)=Concat(head1;head2;……;headh)Wh,
其中,MultiHead表示多头注意力函数,Concat表示级联操作,headi表示第i个子空间的注意力输出,i∈(1,h);表示第i个特征空间中查询向量Q的参数矩阵,表示第i个特征空间中键向量K的参数矩阵,表示第i个特征空间中值向量V的参数矩阵,i∈(1,h),Wh表示可学习的线性投影矩阵,对于用户信息注意力向量Xatt(P)的计算,与上述关于基础知识注意力向量Xatt(D)的计算相同;
4)获取源文本隐藏表示:融合知识注意力向量、角色信息注意力向量,经过前向神经网络获取源文本隐藏表示CE,具体为:
将步骤3)计算得到的基础知识注意力特征向量Xatt(D)与用户信息注意力特征向量Xatt(P)线性融合,输出编码器融合注意力向量Xhidden:
Xhidden=Linear{Xatt(D);Xatt(P)},
Linear(;)表示级联操作,输出的Xhidden通过前馈神经网络FFN,然后接一个残差链接,即Xhidden和FFN的输出对位相加,最后把相加的结果进行一次LayerNorm层归一化,计算公式为:
FFN=Linear{ReLU[Linear(Xhidden)]},
CE=LayerNorm(Xhidden+FFN),
其中,LayerNorm表示层归一化操作,FFN表示以ReLU作为激活函数的双层全连接网络,编码器源文本隐藏表示CE作为下一模块解码器的输入;
5)对语言生成模型进行优化:采用多输入Transformer结构的解码器Decoder对基础知识、用户信息与当前状态同时计算注意力向量,将三次计算结果经线性融合获取融合注意力特征表示,结合融合注意力特征表示与源文本隐藏表示CE获取上下文隐藏表示CD,根据上下文隐藏表示CD生成回复文本序列Y,定义损失函数对语言生成模型进行优化,如图3所示,具体为:
多输入Transformer结构的解码器Decoder由三个子层组成,第一个子层为掩码多头自注意层,第二个子层为编码器-解码器注意力层,第三个子层是前馈神经网络层,掩码多头注意力层中以历史对话数据为输入提取掩码注意力向量,计算公式为:
其中,表示掩码注意力向量,Xembed(L)表示经过词嵌入与位置编码的对话数据向量,接收编码器输出CE作为编码器-解码器多头注意力层的输入提取历史对话注意力特征向量E,E与基础知识注意力特征向量Xatt(D)与用户信息注意力特征向量Xatt(P)经线性融合输出解码器隐藏表示CD,计算公式为:
其中,E表示历史对话注意力特征向量,表示可学习投影矩阵,Xatt(D)表示基础知识注意力特征向量,Xatt(P)表示用户信息注意力特征向量,表示融合基础知识、用户信息与历史会话信息的融合注意力向量,Linear(;)表示级联操作,CD表示经层归一化操作后获取的解码器隐藏表示,前馈神经网络层部分与编码器部分相同,即一个两层的、带残差链接的全连接网络,后接一个归一化层,解码器的输出CD即最后一个解码器基本单元的输出经线性变换和Softmax函数映射为下一时刻预测单词的概率分布,在给定编码器输出CE和解码器前一时刻输出yt-1下,预测当前时刻单词的概率分布P(Y),生成回复序列文本Y的概率表示P(Y)的函数表达式为:
Y=(y1,y2,.....,yt-1,yt),
P(Y)=Softmax(FFN(CD)+CD),
其中,Y表示模型生成的回复文本,Softmax表示归一化指数函数,FFN表示以ReLU作为激活函数的双层全连接网络,采用最大似然估计作为损失函数,整体总损失函数采用权重参数将各项最大似然估计函数进行全连接:
Loss=α*LP+β*LD,
其中,m,n表示样本数;LP表示用户判定的损失函数,LD表示知识判定的损失函数;pi表示模型在预测中使用的第i个用户样本;di表示模型在预测中使用的第i条知识;表示模型对用户判定与知识判定的预测结果,Loss表示联合损失函数,α、β表示可调权重参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于桂林电子科技大学,未经桂林电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310058399.8/1.html,转载请声明来源钻瓜专利网。