一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于双通道超图兴趣建模的对话推荐算法

2022-11-30 10:52:46 来源:中国专利 TAG:


1.本发明涉及对话推荐算法,尤其是涉及一种基于双通道超图兴趣建模的对话推荐算法。


背景技术:

2.现有技术通过基于知识图谱的语义融合提升了对话推荐算法的性能。该技术引入实体级别和词汇级别的知识图谱,通过互信息最大化算法进行预训练,对实体和词汇的表示进行语义融合,在此基础上利用门控机制得到用户表示。基于得到的用户表示,该技术提出了知识增强的推荐模块和对话模块,以分别生成精确的推荐结果,以及附带有价值信息实体的回复语句。
3.但是,现有技术在对用户进行兴趣建模时,只考虑到当前正在进行对话的上下文信息,对用户理解的信息来源非常受限,面临比较严重的冷启动问题。这种情况下,系统推荐的结果难以符合用户真实的兴趣偏好,从而影响用户体验。
4.公开于该背景技术部分的信息仅仅旨在加深对本发明的总体背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。


技术实现要素:

5.本发明的目的在于提供一种基于双通道超图兴趣建模的对话推荐算法,本发明设计了一种基于双通道超图卷积神经网络对用户兴趣偏好进行建模的方法,通过将用户的历史对话记录进行结构化建模,得到基于对话的超图和基于知识的超图,通过超图卷积进行高阶信号传递,获取用户表示从而进行推荐。本技术有效缓解了对话推荐场景中面临的冷启动问题,提升了系统的推荐性能。
6.为了实现上述目的,本发明采用以下技术方案:
7.本发明提供一种基于双通道超图兴趣建模的对话推荐算法,包括如下步骤:
8.s1:首先对知识图谱的实体进行编码,通过知识图谱引入外部知识提升推荐性能;
9.s2:抽取用户历史对话中的物品信息,通过双通道超图建模的方式进行增强其表示;
10.s3:为了让推荐结果首先关注当前的对话内容,避免过度拟合到历史兴趣上去,利用多头注意力机制进行检索与权衡;
11.s4:构建了一个编码器-解码器框架,根据用户的兴趣偏好生成有意义的回复。
12.作为一种进一步的技术方案,步骤s1中对知识图谱的实体进行编码的具体方法如下:
13.使用关系型图卷积神经网络r-gcn进行编码:
14.15.其中,是节点e在第l层的向量表示,表示节点e在关系r下的邻居节点的集合,是邻居节点e

在第l层的向量表示,和w
(l)
分别是与关系相关和无关的权重参数矩阵;最终本发明得到知识图谱上所有实体的向量表示,它们组成矩阵n。
16.作为一种进一步的技术方案,步骤s1中为进一步提升模型对实体的表示能力,引入了基于对比学习的预训练过程;具体来说采用预训练任务是子图实例判别任务,从大量子图中判定相似子图和不相似子图;子图通过带重启的随机游走获得,随机游走序列从知识图谱上随机采样得到的点开始,每次游走以一定概率返回原点,最终从随机游走序列节点构建子图;两个起点相同的序列构成的子图构成相似子图,否则为不相似子图;设置两个独立的图编码器fq和fk,分别将查询子图和被查询子图序列编码为向量q和向量集合{k0,...,kk},使用如下目标函数进行优化:
[0017][0018]
其中为损失函数,q
t
为查询向量的转置,k

为正例键值向量,ki为被查询键值向量,τ为温度超参数。在训练时还采用基于动量的参数更新方式,记fq和fk的参数分别为θq和θk,更新规则为θk←
mθk (1-m)θq,其中m为动量超参数,最终只保留fq作为下游微调的图编码器。
[0019]
作为一种进一步的技术方案,步骤s2具体为:
[0020]
超图是图概念的扩展,其中的一条超边能够连接多个节点;超图的关联矩阵h表述了超边和节点的关系,其行数为节点个数,列数为超边个数;如果某行表示的节点在某列表示的超边中,则关联矩阵该位置的值为1,否则为0;超图节点的度定义为其所在超边个数,超边的度定义为其包含节点的个数,由此可得节点度矩阵d和超边度矩阵b;在此基础上,定义如下超图卷积层:
[0021]
x
(l 1)
=d-1
hb-1ht
x
(l)
θ
(l)

[0022]
其中x
(l)
是第l层所有节点的向量表示构成的矩阵,θ是可学习参数矩阵;
[0023]
为了对用户的历史兴趣偏好进行建模,将基于用户的历史物品构建两个超图;首先是基于对话的超图,它仅由历史物品构成,按照不同的历史对话划分为不同的超边,于是不同超边可能共享部分节点;该超图对应的关联矩阵、节点度矩阵和超边度矩阵分别为hs、ds、bs,从n中抽取历史物品对应的表示构成xh,经过超图卷积之后得到对话增强的物品表示:
[0024]ns
=hconv(hs,ds,bs,xh),
[0025]
其中hconv(
·
)为上述定义的超图卷积层;
[0026]
其次是基于知识的超图,它由历史物品和它们在知识图谱上的一跳邻居构成,单个历史物品及其邻居构成一个超边,不同超边共享一些描述物品属性的实体节点;该超图对应的关联矩阵、节点度矩阵和超边度矩阵分别为hk、dk、bk,从n中抽取历史物品及其一跳邻居对应的表示构成xk,经过超图卷积的到知识增强的物品表示为:
[0027]
x
′k=hconv(hk,dk,bk,xk),
[0028]
再将其中每条超边进行平均池化得到各历史物品的表示nk;双通道超图卷积作用
于定义的两个超图上得到不同视角下增强的物品表示;其中,对话增强的物品表示代表对于用户历史对话信息的充分利用,而知识增强的物品表示代表对用户历史兴趣的深入探索。
[0029]
作为一种进一步的技术方案,步骤s3具体为:利用多头注意力机制进行检索与权衡:
[0030]nsk
=mha(nc,[ns;nk],[ns;nk]),
[0031]
其中nc是当前对话实体的表示,mha是经典的多头注意力层;在当前对话信号的监督下,多头注意力层从两类历史信号中检索信息,实现了对于利用和探索的权衡;最终利用平均池化操作mean获得最终的用户表示向量:
[0032]
u=mean([mean(n
sk
);nc]),
[0033]
其中u为用户表示向量。计算将某件物品推荐给该用户的概率:
[0034]
p
rec
=softmax(mask(u
·nt
)),
[0035]
其中,mask将非物品实体的得分设置为负无穷;最终通过交叉熵损失函数作为目标函数来训练推荐模型:
[0036][0037]
式中是对用户j推荐物品i的概率,nb是批处理大小,y
ij
∈{0,1}是目标标签。
[0038]
作为一种进一步的技术方案,步骤s4具体为:
[0039]
应用两个标准的transformer编码器分别对于用户当前对话上文和历史对话进行编码,并输入到解码器中作为交叉注意力的监督信号;为了让解码器生成的对话能够体现用户兴趣偏好,基于transformer构建了用户兴趣感知的解码器;解码器的每一层首先需要经过自注意力和对于历史物品表示的交叉注意力:
[0040][0041][0042]
其中r
n-1
是解码器在第n-1层输出的矩阵;接着将两个编码器输出的表示融入到解码器的表示中;为了避免对话过度拟合到历史信号上从而忽视当前任务,引入超参数β来权衡两个编码器信号之间的关系:
[0043][0044][0045][0046]
其中xc是当前对话编码器的输出,xh是历史对话编码器的输出,β是衡量历史信号与当前信号各自重要性的权重参数;最后经过一个前馈神经网络的到解码器每一层的输出:
[0047][0048]
为了让生成的对话文本中带有多样化的推荐物品,引入用户兴趣偏置以及拷贝机制得到的物品相关的偏置;给定预测序列y1,...,y
i-1
,下一个词的概率可以通过如下方式计算:
[0049]
p
gen
(yi|y1,...,y
i-1
)=p1(yi|ri) p2(yi|u) p3(yi|ri,u),
[0050]
其中p1(
·
)是将解码器的输出ri作为输入的到的词汇概率,p2(
·
)是根据用户的表示u生成的词汇概率偏置,p3(
·
)是拷贝机制的到的词汇概率偏置,其中非物品的词汇概率都被设为0;使用交叉熵损失函数作为目标函数训练对话模块:
[0051][0052]
其中nb是批处理大小,t是文本截断长度,用于避免生成的文本过长。
[0053]
采用上述技术方案,本发明具有如下有益效果:
[0054]
现有的绝大部分对话推荐算法并没有考虑利用用户的历史对话增强对于用户偏好的理解,使得系统与用户的每次对话都是从零开始理解用户,面临比较严重的冷启动问题。本专利提出的算法将用户的历史对话考虑进来,并将其结构化地建模为两类超图,通过超图卷积进行图上的高阶信号传递,让模型充分挖掘和探索用户的兴趣偏好。本专利提出的用户兴趣引导的推荐模块能够给用户推荐符合其长期兴趣偏好的物品,用户兴趣感知的对话生成模块能够生成带有丰富推荐结果的对话,提升了对话推荐场景下的用户体验。
附图说明
[0055]
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0056]
图1为本发明的算法流程图。
具体实施方式
[0057]
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0058]
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
[0059]
结合图1所示,本实施例提供一种基于双通道超图卷积神经网络对用户兴趣偏好进行建模的方法,通过将用户的历史对话记录进行结构化建模,得到基于对话的超图和基于知识的超图,通过超图卷积进行高阶信号传递,获取用户表示从而进行推荐。本技术有效缓解了对话推荐场景中面临的冷启动问题,提升了系统的推荐性能。具体方案如下:
[0060]
整体方案分为四个模块:基于对比学习预训练的知识图谱编码模块,基于双通道
超图卷积的用户兴趣建模模块,用户兴趣引导的推荐模块,用户兴趣感知的回复生成器模块。
[0061]
首先是基于对比学习预训练的知识图谱编码模块。知识图谱能够引入外部知识提升推荐性能,因此首先对知识图谱的实体进行编码。本发明使用关系型图卷积神经网络r-gcn进行编码:
[0062][0063]
其中是节点e在第l层的向量表示,表示节点e在关系r下的邻居节点的集合,和w
(l)
分别是与关系相关和无关的权重参数矩阵。最终本发明得到知识图谱上所有实体的向量表示,它们组成矩阵n。
[0064]
为进一步提升模型对实体的表示能力,本发明引入基于对比学习的预训练过程。具体来说采用的预训练任务是子图实例判别任务,从大量子图中判定相似子图和不相似子图。子图通过带重启的随机游走获得,随机游走序列从知识图谱上随机采样得到的点开始,每次游走以一定概率返回原点,最终从随机游走序列节点构建子图。两个起点相同的序列构成的子图构成相似子图,否则为不相似子图。设置两个独立的图编码器fq和fk,分别将查询子图和被查询子图序列编码为向量q和向量集合{k0,...,kk},使用如下目标函数进行优化:
[0065][0066]
其中为损失函数,q
t
为查询向量的转置,k

为正例键值向量,ki为被查询键值向量,τ为温度超参数。在训练时还采用基于动量的参数更新方式,记fq和fk的参数分别为θq和θk,更新规则为θk←
mθk (1-m)θq,其中m为动量超参数,最终只保留fq作为下游微调的图编码器。
[0067]
在基于双通道超图卷积的用户兴趣建模模块中,本发明抽取用户历史对话中的物品信息,通过双通道超图建模的方式进行增强其表示。超图是图概念的扩展,其中的一条超边能够连接多个节点。超图的关联矩阵h表述了超边和节点的关系,其行数为节点个数,列数为超边个数。如果某行表示的节点在某列表示的超边中,则关联矩阵该位置的值为1,否则为0。超图节点的度定义为其所在超边个数,超边的度定义为其包含节点的个数,由此可得节点度矩阵d和超边度矩阵b。在此基础上,可以定义如下超图卷积层:
[0068]
x
(l 1)
=d-1
hb-1ht
x
(l)
θ
(l)

[0069]
其中x
(l)
是第l层所有节点的向量表示构成的矩阵,θ是可学习参数矩阵。
[0070]
为了对用户的历史兴趣偏好进行建模,本发明将基于用户的历史物品构建两个超图。首先是基于对话的超图,它仅由历史物品构成,按照不同的历史对话划分为不同的超边,于是不同超边可能共享部分节点。该超图对应的关联矩阵、节点度矩阵和超边度矩阵分别为hs、ds、bs,从n中抽取历史物品对应的表示构成xh,经过超图卷积之后得到对话增强的
物品表示:
[0071]ns
=hconv(hs,ds,bs,xh),
[0072]
其中hconv(
·
)为上述定义的超图卷积层。
[0073]
其次是基于知识的超图,它由历史物品和它们在知识图谱上的一跳邻居构成,单个历史物品及其邻居构成一个超边,不同超边共享一些描述物品属性的实体节点。该超图对应的关联矩阵、节点度矩阵和超边度矩阵分别为hk、dk、bk,从n中抽取历史物品及其一跳邻居对应的表示构成xk,经过超图卷积的到知识增强的物品表示为:
[0074]
x
′k=hconv(hk,dk,bk,xk),
[0075]
再将其中每条超边进行平均池化得到各历史物品的表示nk。双通道超图卷积作用于定义的两个超图上得到不同视角下增强的物品表示。其中,对话增强的物品表示代表对于用户历史对话信息的充分利用,而知识增强的物品表示代表对用户历史兴趣的深入探索。
[0076]
在用户兴趣引导的推荐模块中,为了让推荐结果首先关注当前的对话内容,避免过度拟合到历史兴趣上去,本发明利用多头注意力机制进行检索与权衡:
[0077]nsk
=mha(nc,[ns;nk],[ns;nk]),
[0078]
其中nc是当前对话实体的表示,mha是经典的多头注意力层。在当前对话信号的监督下,多头注意力层从两类历史信号中检索信息,实现了对于利用和探索的权衡。最终本发明利用平均池化操作mean获得最终的用户表示向量:
[0079]
u=mean([mean(n
sk
);nc]).
[0080]
得到用户的表示之后,可以计算将某件物品推荐给该用户的概率:
[0081]
p
rec
=softmax(mask(u
·nt
)),
[0082]
其中,mask将非物品实体的得分设置为负无穷。本发明最终通过交叉熵损失函数作为目标函数来训练推荐模型:
[0083][0084]
式中nb是批处理大小,y
ij
∈{0,1}是目标标签。
[0085]
用户兴趣感知的回复生成器模块构建了一个编码器-解码器框架,能够根据用户的兴趣偏好生成有意义的回复。本发明应用两个标准的transformer编码器分别对于用户当前对话上文和历史对话进行编码,并输入到解码器中作为交叉注意力的监督信号。为了让解码器生成的对话能够体现用户兴趣偏好,本发明基于transformer构建了用户兴趣感知的解码器。解码器的每一层首先需要经过自注意力和对于历史物品表示的交叉注意力:
[0086][0087][0088]
其中r
n-1
是解码器在第n-1层输出的矩阵。接着将两个编码器输出的表示融入到解码器的表示中。为了避免对话过度拟合到历史信号上从而忽视当前任务,本发明引入超参数β来权衡两个编码器信号之间的关系:
[0089][0090][0091][0092]
其中xc是当前对话编码器的输出,xh是历史对话编码器的输出。最后经过一个前馈神经网络的到解码器每一层的输出:
[0093][0094]
为了让生成的对话文本中带有多样化的推荐物品,本发明引入用户兴趣偏置以及拷贝机制得到的物品相关的偏置。给定预测序列y1,...,y
i-1
,下一个词的概率可以通过如下方式计算:
[0095]
p
gen
(yi|y1,...,y
i-1
)=p1(yi|ri) p2(yi|u) p3(yi|ri,u),
[0096]
其中p1(
·
)是将解码器的输出ri作为输入的到的词汇概率,p2(
·
)是根据用户的表示u生成的词汇概率偏置,p3(
·
)是拷贝机制的到的词汇概率偏置,其中非物品的词汇概率都被设为0。本发明使用交叉熵损失函数作为目标函数训练对话模块:
[0097][0098]
其中nb是批处理大小,t是文本截断长度,用于避免生成的文本过长。
[0099]
本专利的关键点在于引入用户的历史对话作为先验知识,并将其中的实体信息构造为两类超图进行建模,从而提升模型对于用户兴趣的理解。两类超图中,基于对话的超图体现了对用户对话历史的充分利用,而基于知识的超图则体现对用户历史偏好的深入探索,二者通过注意力网络进行权衡,并通过兴趣融合层构建最终的用户表示来提供合适的推荐结果。
[0100]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献