融合稀疏图和多跳注意力的会话推荐系统

文档序号:30925046发布日期:2022-07-29 23:36阅读:446来源:国知局
融合稀疏图和多跳注意力的会话推荐系统

1.本发明涉及推荐技术领域,特别是涉及一种融合稀疏图和多跳注意力的会话推荐系统。


背景技术:

2.会话推荐系统是一种通过对话向用户推荐物品的系统。图神经网络是知识图谱表示框架。然而,与对话相对应的知识图谱不仅规模大,且存在噪声节点,它会影响主节点与相邻节点的聚合。此外,尽管递归神经网络可以对单词序列进行编码,但可能难以记住单词序列间的长期依赖关系。


技术实现要素:

3.本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种融合稀疏图和多跳注意力的会话推荐系统。
4.为了实现本发明的上述目的,本发明提供了一种融合稀疏图和多跳注意力的会话推荐系统,包括:对话状态跟踪模块、推荐模块、整合机制模块,对话状态跟踪模块的数据输出端与推荐模块的数据输入端相连,推荐模块的数据输出端与整合机制模块的数据输入端相连;
5.对话状态跟踪模块:采用基于多跳注意力网络的编码器来对对话上下文进行编码,该网络可以快速地对长对话序列进行编码,以捕获长期依赖关系。再利用topicrnn模型捕捉文档中的全局语义信息;因为语言中的大量长期依赖源于语义连贯。在多轮多主题对话中,子主题的捕获将影响对话生成的质量。
6.推荐模块:利用稀疏图注意力网络sgat对知识图谱进行特征捕捉并正则化稀疏图,根据图生成的项目嵌入,以计算与对话上下文匹配的分数;最后,得到物品的概率;稀疏图注意力网络不仅能避免图神经网络出现过拟合,还能捕捉各个属性的显式和潜在关系。
7.整合机制模块:根据对话上下文,通过对话状态跟踪模块预测下一个单词,并利用基于sgat的推荐模型获得推荐项。
8.进一步地,所述采用基于多跳注意力网络的编码器来对对话上下文进行编码包括:
9.将uh={w
h,1
,w
h,2
,...,w
h,mh
}中每个单词w
h,j
映射到单词向量θ
h,j
,将对话d编码为高阶表示β={β1,β2,...,βn},其中uh表示对话d中的第h句话,βn表示对话d中第n句话的张量形式,β被称为记忆张量,w
h,j
表示uh中的第j个单词,j=1,2,...,mh;
10.然后,将查询向量q作为读取的头部,以跳数l进行迭代,并计算记忆张量第l跳的注意力权重,计算公式为:
11.q
l+1
=q
l
+o
l
12.q
l+1
表示第l+1跳的查询向量q;
13.q
l
表示第l跳的查询向量q;
14.o
l
表示第l跳的记忆向量;
[0015][0016]
表示第k个记忆分量第l跳的注意力权重;
[0017]
表示第k个记忆分量第l跳的内容;
[0018]
·
t
表示转置;
[0019]
softmax(
·
)为softmax激活函数;
[0020]
再采用以下公式用于衡量记忆内容和查询向量q
l
之间的关联度:
[0021][0022]
该值介于0和1之间,记忆分数越接近1,关联度越大。
[0023]
其中e表示自然底数;
[0024]
zk表示数组z中第k个位置的元素;
[0025]zu
表示数组z中第u个位置的元素;
[0026]
然后,该模型通过将加权到求和来读取记忆向量o
l

[0027][0028]
表示第k个记忆分量第l+1跳的内容。
[0029]
进一步地,所述topicrnn模型包括:
[0030]
输入全局语义信息,全局语义信息包括用户输入u和上下文c,用户输入u为一句话,上下文c为之前的对话;
[0031]
数据处理:s-1,将数据输入分层递归编码-解码模型hred,得到h=hred(u,c),h表示隐藏状态;
[0032]
s-2,然后从用户输入u和上下文c得到一个主题向量φ,φ服从正态分布;
[0033]
s-3,再初始化解码器,即将h赋值给h0,h0为解码器初始化状态;
[0034]
s-4,c中包含t=(t1,t2,...,t
n-1
),其中t代表c中的一个单词序列,t1表示第1个单词,t2表示第2个单词,t
n-1
表示第n-1个单词,
[0035]
s-5,为计算单词tn进入循环:计算解码器的隐藏状态hn=fw(h
n-1
,t),其中fw()为解码器,h
n-1
为解码器第n-1轮的隐藏状态;
[0036]
s-6,从上下文c中得到一个停止词指示器ln,ln~bernoulli(sigmoid(w
thn-1
)),bernoulli()表示伯努利分布(01分布),sigmoid()为sigmoid激活函数,w
t
为权重矩阵的转置,ln即对应图1中的l
n,s
,表示第n轮第s步的停用词指示器;
[0037]
s-7,最后得到tn~p(tn|hn,φ,ln,b),此时,b),此时其中b即bernoulli(sigmoid(w
thn-1
)),~表示服从,hn为即解码器第n轮的隐藏状态,φ为主题向量,ln为停止词指示器,b表示伯努利分布,wj表示第j个单词,表示wj的转置;
[0038]
s-8,输出预测标记tn,tn表示第n个单词。
[0039]
进一步地,所述稀疏注意网络sgat包括:
[0040]
采用了多层卷积模块聚集一阶邻域节点的特征信息,得到一个包含知识图信息的项目的高阶表示。目的是学习如何有选择性地过滤出需要参与聚合操作的节点,以及如何聚合邻域信息。
[0041]
给每条边e
ij
分配一个二进制门b
ij
∈{0,1}来识别每个将参与聚合操作的边,并剪裁与任务无关的边,其中e
ij
表示连接节点i、j的边,b
ij
表示边e
ij
的二进制门;sgat模型中的二进制门实现了边裁剪。
[0042]
如果b
ij
等于1,则该边参与聚合操作;如果b
ij
等于0,则该边不参与聚合操作,这相当于将一组二进制掩码加到邻接矩阵a:
[0043][0044]
其中表示加入二进制掩码b的邻接矩阵a;
[0045]
b表示二进制掩码;
[0046]

表示拼接操作;
[0047]
n是图g中的边数;
[0048]
{0,1}n表示二进制掩码的集合,一共有n个;
[0049]
由于我们希望在半监督节点分类中使用尽可能少的边,以达到减少计算资源消耗,降低图的稀疏度的效果,则通过最小化l0范数化,与经验风险的和来训练模型参数p和二进制掩码b,过程如下:
[0050][0051]
其中r(p,b)表示模型风险;
[0052]
n表示训练样本的个数;
[0053]
l(
·
)表示经验风险;
[0054]fi
(
·
,
·
,
·
)表示第i个节点的预测值;即对第i个节点进行二分类

[0055]
x表示节点特征矩阵;
[0056]
a表示邻接矩阵;
[0057]
b表示二进制掩码;
[0058]
||
·
||0表示l0范数;
[0059]
p表示模型训练参数;
[0060]
yi表示第i个样本的标签;
[0061]
λ是一个正则化的超参数;用来平衡数据损失和边缘稀疏性。
[0062]
||b||0表示二进制掩码b的l0范数,即b中非零元素的个数;
[0063]
是一个指示器,满足条件z
ij
≠0值为1,否则为0;
[0064]zij
表示二进制掩码b第i行j列的元素;
[0065]
对于求取预测值的编码器函数f(x,a

b,p),则将基于注意力系数的聚合函数定
义为:
[0066][0067]
表示节点i在第l+1层的隐藏状态;
[0068]
σ(
·
)为softmax激活函数;
[0069]
ni表示节点i的邻居节点集合;
[0070]aij
是边e
ij
的注意力系数,e
ij
表示连接节点i、j的边;
[0071]
表示节点j在第l层的隐藏状态;
[0072]w(l)
表示第l层的权重;
[0073]
注意力系数a
ij
的计算公式如下:
[0074][0075]aij
表示邻接矩阵第i行第j列的元素;
[0076]bij
表示二进制掩码矩阵第i行第j列的元素;
[0077]
ni表示节点i的邻居节点集合;
[0078]
进一步地,增加了与gat类似的多头注意力,用于增强sgat模型的能力,多头sgat层定义为:
[0079][0080]
表示节点i在第l+1层的隐藏状态;
[0081]
||表示连接;
[0082]
其中o是头的数量;
[0083]
σ(
·
)为softmax激活函数;
[0084]aij
是边e
ij
的注意力系数;
[0085]
是l层第o个头的权重矩阵。
[0086]
多头指的是多个自注意力层的堆叠。
[0087]
进一步地,所述整合机制模块包括:
[0088]
在第n轮的第s步解码中,gru将先前生成的单词和先前生成的隐藏状态作为输入,以生成新的隐藏状态,模型生成一个单词和一个隐藏状态后,再将生成的这些的数据送入模型生成下一个。
[0089][0090]
其中h
n,s
表示第n轮的第s步得到的隐藏状态;
[0091]
gru(
·
,
·
)表示门控循环单元;
[0092]hn,s-1
表示第n轮的第s-1步得到的隐藏状态;
[0093]
表示在第n轮的第s-1步解码生成的单词的张量表示;
[0094]
在获得新的隐藏状态h
n,s
之后,它被传递给两个分支,然后生成下一个单词,并获得排名靠前的项目名称,具体步骤如下:
[0095]
在一个分支中,h
n,s
用作对话状态跟踪模块的输入,以生成下一个单词,生成下一个单词的概率计算如下:
[0096][0097]
其中表示的单词概率;
[0098]

为正比例符号;
[0099]
exp(
·
)是高等数学里以自然常数e为底的指数函数;
[0100]
w表示模型参数;
[0101]
·
t
表示转置;
[0102]hn,s
表示第n轮的第s步得到的隐藏状态;
[0103]
l
n,s
表示第n轮第s步的停用词指示器;
[0104]
b表示二进制掩码;
[0105]
φ表示主题向量;
[0106]
在另一个分支中,h
n,s
传递给基于sgat的推荐器,预测项目的概率计算如下:
[0107][0108]
其中表示作为实体词的概率;
[0109]
表示在第n轮s步的预测词t;
[0110]
r表示经过稀疏图注意力机制得到的隐藏状态。
[0111]
整合机制即将h
n,s
分别送入两个分支,一个做单词预测,一个做实体预测,最后通过gate选择下一个词是实体or普通单词。
[0112]
进一步地,所述系统的会话推荐方法包括以下步骤:
[0113]
s1,首先使用基于gru和对话状态跟踪模块的基于多跳注意力网络的编码器分别对文本进行单词级别和上下文级别的编码,分别得到token-embedding对应图1中的和context-embedding即记忆向量o
l
,对应图1中的h
n,s-1
,然后通过gru得到隐藏状态h
n,s

[0114]
s2,对话状态跟踪模块的topicrnn通过对话文本得到去除停止词后的语义信息m;
[0115]
s3,将外部知识图谱通过推荐模块的稀疏图注意力网络得到nodes-embeddingin,对应图1的location emnedding,location emnedding因节点根据项目的不同可能是地点或其他元素;然后将它与隐藏状态h
t
结合通过推荐模块整合机制中的softmax层后得到物品的概率;
[0116]
所述外部知识图谱为不同的项目具有其对应的外部知识图谱。
[0117]
s4,m和隐藏状态h
t
通过对话状态跟踪模块的解码器经解码得到单词通过对话状态跟踪模块的解码器经解码得到单词表示在第n轮的第s步解码生成的单词的张量表示;
[0118]
s5,将物品插入到语句中的对应槽点得到机器的应答。对应推荐模块的整合机制。
[0119]
进一步地,所述解码器为lstm或gru。
[0120]
综上所述,由于采用了上述技术方案,本发明能够降低稀疏图的计算复杂度,并捕获局部语义依赖关系和全局语义依赖关系。
[0121]
具体来说,我们设计了一个多跳注意力网络来编码对话上下文,它可以快速捕获对话序列的长期依赖关系,此外,我们还开发了一个基于稀疏图注意力机制的推荐模型来将物品与对话进行匹配,从而降低了图计算的复杂性和噪声节点的干扰。在旅游、电影对话数据集上进行的大量实验表明,我们提出的模型在推荐质量和对话生成方质量均比现有的方法有了显著的提升。
[0122]
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0123]
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0124]
图1是本发明的系统框图。
具体实施方式
[0125]
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0126]
会话推荐系统(conversational recommender systems,crs)已经成为一个新兴的研究课题,旨在通过自然语言交互为用户提供高质量的推荐。与传统的推荐系统不同,crs利用对话数据完成推荐任务。crs通常由对话模块和推荐模块组成。大多数现有的crs都专注于自然语言处理或为对话系统提供语义丰富的搜索解决方案。传统上的crs主要槽填充方式来获取用户的偏好,以提出建议。或者利用自然语言与用户互动来实现物品推荐。最近,一种流行趋势是将知识或强化学习融入用户建模与对话交互,以提高crs的性能。例如,面向任务的对话系统(例如mem2seq)使用基于多跳注意力的存储网络,将知识和用户输入结合起来。此外,为了满足多主题的需要,深度会话推荐模型(dcr)利用图卷积网络(gcn)来捕捉不同场地之间的关系以及匹配场地与对话上下文。然而,这些方法存在两个问题。首先,基于gcn的深度会话推荐模型不能充分捕获空间信息,因为利用图卷积网络模型的会话推荐系统给邻居节点分配完全相同的权重,除此之外,图中存在大量的噪声,这可能导致基于gcn的会话推荐模型过拟合。此外,基于rnn的深度会话推荐模型在生成会话主题时存在捕获长期依赖性困难问题。在此基础上,采用基于rnn的层次递归编码器(hred)解决自然语言处理任务中的长依赖问题。但是,这种方法仍然难以生成语义正确、连贯的句子。特别是同一句话中的两个词相距甚远时,模型无法准确捕捉到两个词之间的依存关系问题,影响了句子的整体结构,这会给用户与代理之间的顺畅沟通造成障碍。为了解决这两个问题,我们发现稀疏图注意力网络(sgat)可以有效地去除图中与任务无关的的边。sgat利用分配给每个边的二进制掩码来过滤噪声节点。另外,不同的注意力分数可以解决一阶相同权重带来的空间局限性。此外,我们还注意到记忆网络和mem2seq中的多跳注意力的结合增强了捕获长期依赖关系的能力。其原因是嵌入向量存储在外部存储器中,查询向量可以方便地访
问“存储器”。受已有的图注意力网络和存储网络的启发,我们提出了一种稀疏多跳会话推荐系统(smcr)。模型主要的思想是将增强型记忆网络和稀疏图注意力网络集成到会话推荐系统中。具体来说,我们通过融合多跳注意力机制的编码器编码对话文本,以获得文本的高阶表示。此外,推荐模块还利用sgat匹配候选项和用户偏好。综上所述,本文的主要贡献如下:我们提出了一种基于稀疏图注意力机制的推荐模型,将项目与对话上下文匹配,从而准确识别知识图谱中的重要边,降低图计算的复杂度和噪声节点的干扰。我们设计了一个多跳注意力编码器,通过将基于多跳注意力机制的编码器和基于rnn的编码器结合起来,对上下文进行编码,从而快速编码长对话序列,以捕获长期依赖性。我们在multiwoz、redial数据集上进行了大量的实验来进行模型对比评估,实验表明我们的方法优于现有方法。
[0127]
1.相关工作
[0128]
对话系统。根据不同的应用场景,对话系统分为三类:面向任务的对话系统(例如cortana和siri)、聊天对话系统(例如小冰)和问答对话系统(例如在线商店助理)。传统的对话系统通常基于规则或模板。例如,weizenbaum等人开发了eliza系统,模拟心理治疗师对精神病人的治疗。随后,wallace等人开发了基于aiml和xml语言的alice系统,以创建刺激响应聊天机器人。然而,这些方法依赖于大量的人工标签。为了解决这个问题,debayser等人设计了基于机器学习和规则的多方对话系统,利用支持向量机进行决策。此外,得益于深度学习和自然语言技术的快速发展,越来越多的研究者将目光投向基于深度学习的对话系统。例如,dhinga等人结合强化学习和知识图,开发知识库infobot模型,它是一个对话代理,通过交互查询功能,为用户提供知识库中的实体。lipton等人提出bbq网络,该网络在对话系统中加入强化学习。这些对话系统的研究可以实现非常顺利的人机交互,但是我们认为通过对话发现用户兴趣,引导用户完成购买、订阅和其他行为,具有更大的商业价值。因此,构建一个基于对话的推荐制度尤为重要。
[0129]
会话推荐系统。近年来,随着深度学习的迅速发展,交互推荐系统越来越受到研究者的关注。例如,christakopoulu等人提出了一种新颖的观点,认为推荐是一个互动过程。greco等人利用层次强化学习将crs目标建模为目标特定表示模块。孙晓明等人提出了整合推荐系统和对话系统的统一框架,构建智能对话推荐系统。由于缺乏公开的大规模对话数据集,李亚杰等人提供了真实对话数据集redial。为实现机器与人之间的问答,张永峰等人不仅引入了会话搜索和推荐的system ask user response(saur)范式,还设计了电子商务产品搜索和推荐的统一实施框架。虽然这些研究取得了一定的成功,但它们只使用对话信息来建模,导致缺乏足够的上下文来表达用户偏好。总体而言,构建一个基于对话的推荐系统至关重要。为了解决这些问题,许多研究者都集中在基于知识的会话推荐系统上,它可以提供外部知识,缩小对话系统与推荐系统之间的差距,以提高推荐者模型的性能。
[0130]
基于知识的会话推荐系统。知识图(kg)能够表示实体间的结构化关系,并已成功地应用于会话推荐系统中。chen等人提出了一个新的端到端框架,并引入了关于用户偏好的知识信息。moon等人提出了一种dialkg walker模型,它将对话上下文中的单词转换为对kg结构的遍历,给定先前对话上下文的基础上,通过一个基于注意力的图形路径解码器预测自然实体。liao等人将序列到序列模型与神经潜在主题分量和图卷积网络相结合,在旅游领域推荐。雷文强等人利用图形解决多轮对话推荐问题,提出了会话路径推理框架,将对话与基于图的路径推理同步。该模型使属性的使用更加明确,极大地提高了会话建议的解
释能力。周志刚等人采用互信息最大化方法,将词级和实体级语义空间对齐,弥合自然语义间隙。
[0131]
总之,这些工作利用知识图的路径来模拟对话过程或利用知识图来建模。然而,在现实世界中,对话具有多层次、多轮、多主题的特点,对话中的子对话之间存在着复杂的依赖关系。此外,对话中涉及许多项,每个项都有许多属性,这将为建模添加大量计算。因此,我们认为,从知识图是复杂而稀疏的,在提取和聚合图信息的过程中一直存在一些噪声节点,这些噪声节点对聚合结果没有贡献。有效区分噪声节点和重要节点将提高聚合效率并节省计算空间。基于这些假设,我们开发了一个稀疏图注意力网络的推荐模型来匹配项目与对话上下文,以降低图计算的复杂性和噪声节点的干扰。此外,我们还设计了一个多跳注意力网络来对对话上下文进行编码,该网络可以快速地对长对话序列进行编码,以捕获长期依赖关系。
[0132]
2.提出的模型
[0133]
我们提出的会话推荐方法(smcr),它结合了推荐系统和会话系统。我们将说明基于多跳注意力的编码器如何把会话信息映射到向量,以及它如何将外部知识引入上下文。smcr方法由两部分组成:对话状态跟踪模块和基于sgat的推荐模块。模型的详细结构如图1所示。
[0134]
2.1对话状态跟踪模块
[0135]
采用分层循环编码-解码器(hred)建模对话状态跟踪。首先,我们使用hred构建了一个基于句子级和单词级rnn的编码器即图1中的topicrnn,分别对上下文和单词进行编码;然后使用基于lstm或gru的解码器对其进行解码。其中hred对应编码过程中融合多跳注意力和topicrnn。
[0136]
2.1.1多跳编码器
[0137]
在对话生成建模中,使用基于rnn的编码器很难解决长期依赖的问题。受sukhbatar等人提出的端到端记忆网络的启发,我们开发了一个基于多跳注意力的编码器来编码对话上下文,基于一个事实,即在编码阶段使用注意力机制有助于处理长期依赖关系。除了外部记忆外,记忆网络还能增强记忆的持久性。具体而言,我们认为对话d是n句话d={u1,u2,u3,...,un}的序列,un表示第n句话。每个un∈d为一个含有mn个单词的序列,即un={w
n,1
,w
n,2
,...,w
n,mn
},其中w
n,mn
是一个随机变量,取值于单词表v中,代表在d中第n句话第m个位置的单词。
[0138]
uh∈d,编码器将对话uh={w
h,1
,w
h,2
,...,w
h,mh
}中每个单词w
h,j
映射到单词向量θ
h,j
。照此下去,编码器将对话d编码为高阶表示β={β1,β2,...,βn},βn表示对话d中第n句话的张量形式,
[0139]
β被称为记忆张量。然后,我们将查询向量q作为读取的头部。该模型以跳数l进行迭代,并计算记忆张量第l跳的注意力权重。计算公式为,
[0140]ql+1
=q
l
+o
l
[0141]ql+1
表示第l+1跳的查询向量q;
[0142]ql
表示第l跳的查询向量q;
[0143]ol
表示第l跳的记忆向量;
[0144]
[0145]
表示第k个记忆分量第l跳的内容,β为记忆张量。
[0146]
采用以下公式用于衡量记忆内容和查询向量q
l
之间的关联度。
[0147][0148]
该值介于0和1之间,记忆分数越接近1,关联度越大。其中e表示自然底数,zk表示数组z中第k个位置的元素,zu表示数组z中第u个位置的元素;
[0149]
然后,该模型通过将加权到求和来读取记忆向量o
l

[0150][0151]
表示记忆张量位置k第l跳的注意力权重;
[0152]
其中是k位置的记忆内容;
[0153]
结果就是记忆向量o
l
,它将成为解码器的输入之一,对应图1中的h
n,s-1

[0154]
2.1.2 topicrnn学习
[0155]
尽管rnn模型能够很好地捕捉句子的局部关系,但它缺乏捕捉长序列中单词的依赖关系,而topicrnn模型能够很好地捕捉文档中的全局语义信息。因为语言中的大量长期依赖源于语义连贯。在多轮多主题对话中,子主题的捕获将影响对话生成的质量。topicrnn模型的生成学习过程可以描述为算法1。
[0156][0157]
解码器的输出受主题向量φ的影响,其输出被视为偏差,从而使我们能够将全局
语义与局部动态语义分离。停止词指示符ln确定主题向量φ如何影响输出结果。具体来说,如果指示符ln等于1,则表示该字是一个停止字,输出将不受影响。此外,这意味着这个词属于主题φ。引入权重以增加输出中属于主题φ的单词的比例,以及更好地模拟停止词和非停止词。权重由偏置bj和主题向量φ的转置的点积获得。可以看出,主题向量φ捕获了对输出有直接影响的远程语义信息,并进行相加。其中token(令牌)代表单词,文中ln对应图1中的l
n,s

[0158]
2.2基于sgat的推荐模块
[0159]
2.2.1 sgat推荐器
[0160]
通常,一个项目具有许多属性。例如,当新的访客查询酒店时,酒店有地址、区域、网络、名称、免费停车位等,非常适合利用图结构数据对项目进行建模。当用户发送一个他想要一家中餐餐厅的请求时,用户会清楚地向系统提供“中式”和“餐厅”两个约束条件。因此,系统不仅能准确捕捉到它们,而且考虑到位置和营业时间等潜在的限制,因为用户更愿意考虑酒店附近的餐馆。为了捕捉这些地方之间的显式和潜在关系,我们使用稀疏图注意机制。与图卷积网络不同,它可以为图中顶点的邻域节点分配不同的权重,增强模型的空间信息。然而,在现实世界中,图是庞大而复杂的,最重要的是图是稀疏和充斥有噪声。因此,如果不适当地正则化,图注意力容易出现过度拟合的现象。而稀疏图注意机制是图注意力机制的一种,正则化技术用在图注意力之中,sgat可以在保持高分类精度的同时,从图中删除至少20%的无用边。另外,sgat模型中的二进制门巧妙地实现了边裁剪。我们定义一个无向图g=(v,e),节点集合v={v1,v2,..,vw}和边集合来连接这些节点,其中vw表示第w个节点。稠密矩阵表示节点特征,矩阵的一行表示一个节点的特征向量。我们用a表示邻接矩阵,并对每个节点增加一个自循环,以保存节点自身的信息。具体来说,将1添加到邻接矩阵的对角线上。a

=a+iw表示带有自连接的邻接矩阵,其中是一个单位矩阵。其中表示w
×
w维的实数。
[0161]
给定这样的一个图g=(v,e),我们生成项目嵌入,以计算与对话上下文匹配的分数。最后,我们得到了推荐的项目。一般来说,为了聚集一阶邻域节点的特征信息,我们采用了多层卷积模块。因此,我们得到了一个包含大量知识图信息的项目的高阶表示。目的是学习如何有选择性地过滤出需要参与聚合操作的节点,以及如何聚合邻域信息。我们给每条边e
ij
分配一个二进制门b
ij
∈{0,1}来识别每个将参与聚合操作的边,并剪裁与任务无关的边。其中e
ij
表示连接节点i、j的边,b
ij
表示边e
ij
的二进制门。
[0162]
简而言之,如果b
ij
等于1,则意味着该边参与聚合操作。如果b
ij
等于0,则表示该边不参与聚合操作。这相当于将一组二进制掩码加到邻接矩阵a:
[0163][0164]
其中b表示二进制掩码,n是图g中的边数,{0,1}n表示二进制掩码的集合。由于我们希望在半监督节点分类中使用尽可能少的边,我们通过最小化l0范数化与经验风险的和来训练模型参数p和二进制掩码b,优化过程如下:
[0165][0166]
其中r(p,b)表示模型风险,n表示训练样本的个数,yi表示样本的标签,l(
·
)表示经验风险,a表示邻接矩阵,p表示模型训练参数,b表示二进制掩码,x表示节点特征矩阵,||b||0表示二进制掩码b的l0范数,即b中非零元素的个数,是一个指示器,满足条件为1,否则为0,λ是一个正则化的超参数,用来平衡数据损失和边缘稀疏性。对于编码器函数f(x,a

b,p),我们将以下基于注意力的聚合函数定义为:
[0167][0168]
表示节点i在第l+1层的隐藏状态;
[0169]
σ(
·
)为softmax激活函数;
[0170]
j∈ni表示j属于i节点的邻居节点集合;
[0171]
表示j节点在第l层的隐藏状态;
[0172]w(l)
表示第l层的权重;
[0173]
这里a
ij
是边e
ij
的注意力系数。sgat为l层边e
ij
指定一个单独的注意力系数,其中l为卷积层数。
[0174]
我们通过按行标准化a

b来计算标准化的注意力系数,
[0175][0176]aij
表示邻接矩阵第i行第j列的元素;
[0177]bij
表示二进制掩码矩阵第i行第j列的元素;
[0178]
ni表示节点i的邻居节点集合;
[0179]
为了增强sgat模型的能力,我们增加了与gat类似的多头注意力。因此,我们将多头sgat层定义为:
[0180][0181]
表示节点i在第l+1层的隐藏状态;
[0182]
其中o是头的数量,||表示连接,a
ij
是边e
ij
的注意力系数,是l层第o个头的权重矩阵。
[0183]
2.2.2整合机制
[0184]
给定对话的上下文,我们可以通过对话状态跟踪模块预测下一个话语,并利用基
于sgat的推荐模型获得推荐项。我们采用集成机制来实现上述两项任务。门控循环单元(gru)广泛应用于端到端对话系统中。具体地说,在第n轮的第s步解码中,gru将先前生成的单词和先前生成的隐藏状态作为输入,以生成新的隐藏状态,
[0185][0186]
其中h
n,s
表示第n轮的第s步得到的隐藏状态;
[0187]
表示在第n轮的第s-1步解码生成的单词的张量表示;
[0188]
n此处代表第n轮;
[0189]
在获得新的隐藏状态h
n,s
之后,它被传递给两个分支。我们分别说明如何生成下一个单词,并获得排名靠前的项目名称。
[0190]
在一个分支中,h
n,s
用作对话状态跟踪模块的输入,以生成下一个单词,生成下一个单词的概率计算如下:
[0191][0192]
其中表示的单词概率;
[0193]

为正比例符号;
[0194]
exp(
·
)是高等数学里以自然常数e为底的指数函数;
[0195]
w表示模型参数;
[0196]
b表示二进制掩码;
[0197]
φ表示主题向量;
[0198]
·
t
表示转置;
[0199]
在另一个分支中,h
n,s
传递给基于sgat的推荐器。预测项目的概率计算如下:
[0200][0201]
表示作为实体词的概率;
[0202]
表示在第n轮s步的预测词t;
[0203]
r表示经过稀疏图注意力机制得到的隐藏状态。
[0204]
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1