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

一种基于捕捉用户长短期兴趣异构超图的会话推荐方法

2022-05-06 09:20:58 来源:中国专利 TAG:


1.本发明属于互联网服务技术领域,尤其是涉及一种基于捕捉用户长短期兴趣异构超图的会话推荐方法。


背景技术:

2.会话(session)指一段时间内用户交互的物品序列,一般通过用户行为之间的时间间隔进行划分。会话推荐方法(session-based recommendation)是指基于会话中的物品序列,对用户兴趣进行建模,给用户推荐下一个感兴趣的物品。会话推荐方法被分为单会话推荐方法(single-session based recommendation models) 和多会话推荐方法(multi-session based recommendation models)。单会话推荐方法指只利用当前会话中的物品序列,捕捉用户当前兴趣,并进行推荐。多会话推荐方法把用户历史上所有的物品序列,划分成若干个会话,不仅使用当前的会话对用户当前兴趣进行建模,还利用用户之前发生的会话对用户长期兴趣进行建模,本方法是一种多会话推荐方法。
3.多会话推荐方法既可以捕捉到用户当前的兴趣,又可以捕捉到用户长期的静态兴趣,有效地缓解了推荐场景的数据稀疏性。现有的会话推荐方法在从当前会话中抽取用户当前兴趣时,有的认为会话内的物品序列是有序的,因此采用循环神经网络这一类有序序列建模方法对会话进行建模;有的不考虑会话内物品序列之间的时间先后性,采用注意力机制这类基于集合的方法对会话进行建模。本方法认为,不同用户在不同会话中的行为模式不同,当用户抱着随便逛逛的心态且目的性不强时,会话中的物品序列较长、物品种类更为丰富,使用基于集合的方法进行建模较为合适。当用户购买意愿较为强烈、时间较少时,会话中的物品序列较短,物品种类更为单一,转移规律更明显,采用基于有序序列的方法进行建模更为合适。因此,本方法同时基于有序序列建模方法和集合建模方法两种方法,对用户当前兴趣进行建模。
4.现有的捕捉用户长短期兴趣的会话推荐方法,采用两个独立的模块分别对用户的长期和短期兴趣进行建模。而同一用户的长期兴趣和短期兴趣是有联系的,单独对用户的长期和短期兴趣建模,无法捕捉两者的联系。因此,本方法在统一的框架里对用户和会话进行建模,对用户进行建模是为了捕捉用户的长期兴趣,对会话进行建模是为了捕捉用户的短期兴趣。本方法采用超图来同时对用户的长期和短期兴趣进行建模。超图(hypergraph)是普通图(normal graph)的更一般化的表示。在普通图中,一个边只能连接两个节点,而超图中的超边(hyperedge)可以连接两个或者两个以上的节点(node)。本方法中,超图的节点是物品。超图的超边有两种,分别是用户超边和会话超边。用户超边代表用户的长期兴趣,会话超边代表用户的短期兴趣。本方法中的超图含有两种类型的超边,因此是一种异构超图。现有的超图神经网络方法采用“节点-超边-节点”这样的信息传输方式,先把节点的信息传递给包含该节点的超边,再把超边的信息传递给被该超边包含的节点。而本方法中的异构超图的超边有两种,分别是会话超边和用户超边,当这两种超边传递信息给物品节点时,传递的信息语义不同,重要程度不同,且两种超边的个数也不同。会话代表了用户短时
间内较为单一的兴趣,因此传递信息和物品更为接近;而用户代表的兴趣更为丰富且稳定,因此传递给物品的信息更为多样。且会话的数量比用户的数量多。平衡不同类型的超边信息是异构超图神经网络的重点。本方法采用基于目标物品节点的注意力机制对会话超边和用户超边这两种不同类型信息进行选择。本方法通过异构超图神经网络得到物品向量、会话向量和用户向量后,再采用有序序列建模方式对用户当前会话建模,得到用户当前兴趣。最后结合用户当前兴趣、会话向量和用户向量给用户推荐物品。


技术实现要素:

5.本方法的问题定义为基于用户所有会话中的交互物品序列,给用户推荐下一个感兴趣的物品。也就是,基于用户ui的历史会话序列和当前会话预测用户下一个交互物品。其中,历史会话序列是按照时间先后顺序排序的,用户ui的当前会话下标是会话内物品序列的长度,vj是用户ui在会话内第j个交互的物品。现有的工作忽略了不同用户在不同会话中行为模式的差异性,统一采用基于有序序列的模型或者基于集合的模型来对会话进行建模,且忽略了用户的长期兴趣和短期兴趣之间的联系。为此,本发明采用以下技术方案:
6.一种基于捕捉用户长短期兴趣异构超图的会话推荐方法,包括以下步骤:
7.从所有用户的会话序列中构建包含用户超边和会话超边的异构超图。对于用户ui的当前会话的当前会话下标是会话内物品序列的长度,vj是用户ui在会话内第j个交互的物品。会话内的所有物品构成异构超图的物品节点,会话构成异构超图中的会话超边且会话超边连接会话内的所有物品。系统中所有会话都采用同样的方式在异构超图中构建会话超边和物品节点。用户ui的所有会话序列是该会话序列包含了历史会话序列和当前会话,将用户ui作为异构超图中的用户超边用户超边连接用户ui交互过的物品。
8.利用异构超图神经网络得到物品向量、会话向量和用户向量。本方法中,物品根据物品id被初始化为d维向量,对于物品vj,初始向量为异构超图神经网络会经过很多层的信息传递,通过每一层的信息传递,节点学习到距离更远的其他节点信息。经过l层的信息传递后,物品vj的向量是为了描述方便,把异构超图中的会话超边和用户超边统一用ei表示,而超边ei经过l层的信息传递后,向量是异构超图神经网络传递的层数由模型超参数l控制,由异构超图神经网络更新l层后,最终得到物品vj的向量是超边ei的向量是用户ui构成的用户超边是超边的一种,用户ui最终的向量表示为会话构成的会话超边是超边的一种,会话最终的向量表示为超边ei包含的物品节点集合用b(ei)表示,包含物品节点vj的用户超边集合用eu(vj)表示,包含物品节点vj的会话超边集合用es(vj)表示。以下是异构超图中超边和物品节点的信息传递过程:
9.[0010][0011]
其中,函数将超图中物品节点的信息聚集到超边中,函数采用自注意力机制来实现。函数具体公式如下:
[0012][0013][0014]
其中,a1是模型向量,w1是转移矩阵,a1和w1在模型训练时更新。σ是sigmoid激活函数,tanh是tanh激活函数。在计算l层超边ei的向量时,给b(ei)内的任一物品vk计算注意力值α
ik
,α
ik
表示物品vk的重要程度。
[0015]
函数将超图中超边的信息聚集到物品节点中,函数包含了两层结构,会话超边和用户超边代表两种类型的语义信息,先分别聚集会话超边和用户超边中的信息,再根据聚集之后的会话超边和用户超边信息和目标节点之间的相关性,将两种语义信息融合并传递给物品节点。采用基于目标物品节点的注意力机制来聚集用户超边集合eu(vj)内的信息得到并同时采用基于目标物品节点的注意力机制来聚集会话超边集合es(vj)内的信息得到再对两个语义进行选择,给其分配不同的重要性,并进行信息融合,最终得到物品vj第l层的向量第l层的向量融合了用户超边集合eu(vj)和会话超边集合es(vj) 内的信息。函数具体公式如下:
[0016][0017][0018][0019][0020][0021][0022]
其中,a2、a3和q是模型向量,w1、w2和w3是转移矩阵。σ是sigmoid激活函数,tanh是tanh激活函数,[
·
]是向量连接操作。是用户超边集合eu(vj)内用户超边ek的注意力值,代表了超边ek对于物品vj的重要程度,使用用户超边ek的注意力值乘以对应超边向量,得到eu
(vj)传递给物品vj的信息的信息是会话超边集合es(vj)内会话超边e
τ
的注意力值,代表了超边e
τ
对于物品vj的重要程度,用会话超边e
τ
的注意力值乘以对应超边向量,得到es(vj)传递给物品vj的信息再采用基于物品vj的加法注意力机制对和进行融合,也就是模型学习和与物品vj第l-1层向量之间的相关度,公式中γu代表从用户超边集合聚集的和物品vj的相关度,1-γu代表从会话超边集合聚集的和物品vj的相关度。使用公式融合两种信息,得到物品vj第l层的向量
[0023]
根据用户当前会话,基于门循环单元网络得到用户当前兴趣。用户ui的当前会话的当前会话由异构超图神经网络得到任一物品vj的向量是本方法采用传统的门循环单元网络gru对当前会话建模,得到用户当前兴趣z
l

[0024][0025]
结合用户当前兴趣、会话向量和用户向量,得到用户兴趣。用户ui的当前会话的当前会话由异构超图神经网络得到用户ui的向量为会话向量为用户ui的向量代表了用户稳定的长期兴趣,会话向量代表了采用集合的建模方式得到的用户当前兴趣,用户当前兴趣z
l
代表了采用有序序列的建模方式得到的用户当前兴趣。结合z
l
和计算用户兴趣:
[0026][0027]
其中,w4和w5是转移矩阵,在模型训练时更新。[
·
]是向量连接操作。
[0028]
根据用户兴趣,给用户推荐物品。将物品集合中的物品v
τ
的向量乘以用户兴趣zs,再应用softmax函数计算出物品v
τ
的分数:
[0029][0030]
其中,zs代表用户兴趣,是物品v
τ
的向量,表示物品v
τ
成为下一个交互物品的可能性。损失函数为:
[0031][0032]
其中,y
τ
代表物品v
τ
的one-hot编码。函数用梯度下降法来最优化。
[0033]
本发明的有益技术效果如下:
[0034]
(1)本发明考虑到现有的工作忽略了不同用户在不同会话中行为模式的差异性,本方法同时采用基于有序序列的模型以及基于集合的模型来对用户的会话进行建模,捕捉用户的兴趣。
[0035]
(2)本发明考虑到现有工作忽略了用户的长期兴趣和短期兴趣之间的联系,本方法将用户长期兴趣和短期兴趣用统一的异构超图来建模,学习两者的联系。
附图说明
[0036]
图1为本发明一种基于捕捉用户长短期兴趣异构超图的会话推荐方法的流程示意
图;
[0037]
图2为本发明一种基于捕捉用户长短期兴趣异构超图的会话推荐方法的模型框架图。
具体实施方式
[0038]
为了进一步理解本发明,下面结合具体实施方式对本发明提供的一种基于捕捉用户长短期兴趣异构超图的会话推荐方法进行具体描述,但本发明并不限于此,该领域技术人员在本发明核心指导思想下做出的非本质改进和调整,仍然属于本发明的保护范围。
[0039]
本方法的问题定义为基于用户所有会话中的交互物品序列,给用户推荐下一个感兴趣的物品。也就是,基于用户ui的历史会话序列和当前会话预测用户下一个交互物品。其中,历史会话序列是按照时间先后顺序排序的,用户ui的当前会话下标是会话内物品序列的长度,vj是用户ui在会话内第j个交互的物品。一种基于捕捉用户长短期兴趣异构超图的会话推荐方法的向前传播部分主要由五个部分组成。第一部分是从所有用户的会话序列中构建包含用户超边和会话超边的异构超图;第二部分是利用异构超图神经网络得到物品向量、会话向量和用户向量;第三部分是根据用户当前会话,基于门循环单元网络得到用户当前兴趣;第四部分是结合用户当前兴趣、会话向量和用户向量,得到用户兴趣;第五部分是根据用户兴趣,给用户推荐物品。
[0040]
如图1所示,按照本发明的一个实施例,本方法包括如下步骤:
[0041]
s100,从所有用户的会话序列中构建包含用户超边和会话超边的异构超图。对于用户ui的当前会话下标是会话内物品序列的长度,vj是用户ui在会话内第j个交互的物品。会话内的所有物品构成异构超图的物品节点,会话构成异构超图中的会话超边且会话超边连接会话内的所有物品。系统中所有会话都采用同样的方式在异构超图中构建会话超边和物品节点。用户ui的所有会话序列是该会话序列包含了历史会话序列和当前会话,将用户ui作为异构超图中的用户超边用户超边连接用户ui交互过的物品。如图2所示,基于用户u1的会话和以及u2的会话构建了异构超图。
[0042]
s200,利用异构超图神经网络得到物品向量、会话向量和用户向量。本方法中,物品根据物品id被初始化为d维向量,对于物品vj,初始向量为异构超图神经网络会经过很多层(layer)的信息传递,通过每一层的信息传递,节点学习到距离更远的其他节点信息。经过l层的信息传递后,物品vj的向量是为了描述方便,把异构超图中的会话超边和用户超边统一用ei表示,而超边ei经过l层的信息传递后,向量是异构超图神经网络传递的层数由模型超参数l控制,由异构超图神经网络更新l层后,最终得到物品 vj的向量是超边ei的向量是用户ui构成的用户超边是超边的一种,用户ui最终的向量表示为会话构成的会话超边是超边的一种,会话最终的向量表示为在本实验中l=2。超
边ei包含的物品节点集合用b(ei)表示,包含物品节点vj的用户超边集合用eu(vj)表示,包含物品节点vj的会话超边集合用es(vj)表示。以下是异构超图中超边和物品节点的信息传递过程:
[0043][0044][0045]
其中,函数将超图中物品节点的信息聚集到超边中,函数采用自注意力机制来实现。函数具体公式如下:
[0046][0047][0048]
其中,a1是模型向量,w1是转移矩阵,a1和w1在模型训练时更新。σ是sigmoid激活函数,tanh是tanh 激活函数。在计算l层超边ei的向量时,给b(ei)内的任一物品vk计算注意力值α
ik
,α
ik
表示物品vk的重要程度。
[0049]
函数将超图中超边的信息聚集到物品节点中,函数包含了两层结构,会话超边和用户超边代表两种类型的语义信息,先分别聚集会话超边和用户超边中的信息,再根据聚集之后的会话超边和用户超边信息和目标节点之间的相关性,将两种语义信息融合并传递给物品节点。采用基于目标物品节点的注意力机制来聚集用户超边集合eu(vj)内的信息得到并同时采用基于目标物品节点的注意力机制来聚集会话超边集合es(vj)内的信息得到再对两个语义进行选择,给其分配不同的重要性,并进行信息融合,最终得到物品vj第l层的向量第l层的向量融合了用户超边集合eu(vj)和会话超边集合es(vj) 内的信息。函数具体公式如下:
[0050][0051][0052][0053][0054]
[0055][0056]
其中,a2、a3和q是模型向量,w1、w2和w3是转移矩阵。σ是sigmoid激活函数,tanh是tanh激活函数,[
·
]是向量连接操作。是用户超边集合eu(vj)内用户超边ek的注意力值,代表了超边ek对于物品vj的重要程度,使用用户超边ek的注意力值乘以对应超边向量,得到eu(vj)传递给物品vj的信息的信息是会话超边集合es(vj)内会话超边e
τ
的注意力值,代表了超边e
τ
对于物品vj的重要程度,用会话超边e
τ
的注意力值乘以对应超边向量,得到es(vj)传递给物品vj的信息再采用基于物品vj的加法注意力机制对和进行融合,也就是模型学习和与物品vj第l-1层向量之间的相关度,公式中γu代表从用户超边集合聚集的和物品vj的相关度,1-γu代表从会话超边集合聚集的和物品vj的相关度。使用公式融合两种信息,得到物品vj第l层的向量
[0057]
s300,根据用户当前会话,基于门循环单元网络得到用户当前兴趣。用户ui的当前会话会话由异构超图神经网络得到任一物品vj的向量是本方法采用传统的门循环单元网络gru对当前会话建模,得到用户当前兴趣z
l

[0058][0059]
s400,结合用户当前兴趣、会话向量和用户向量,得到用户兴趣。用户ui的当前会话话由异构超图神经网络得到用户ui的向量为会话向量为用户ui的向量代表了用户稳定的长期兴趣,会话向量代表了采用集合的建模方式得到的用户当前兴趣,用户当前兴趣z
l
代表了采用有序序列的建模方式得到的用户当前兴趣。结合z
l
和计算用户兴趣:
[0060][0061]
其中,w4和w5是转移矩阵,在模型训练时更新。[
·
]是向量连接操作。
[0062]
s500,根据用户兴趣,给用户推荐物品。将物品集合中的物品v
τ
的向量乘以用户兴趣zs,再应用 softmax函数计算出物品v
τ
的分数:
[0063][0064]
其中,zs代表用户兴趣,是物品v
τ
的向量,表示物品v
τ
成为下一个交互物品的可能性。损失函数为:
[0065][0066]
其中,y
τ
代表物品v
τ
的one-hot编码。函数用梯度下降法来最优化。
[0067]
上述对实施例的描述是为方便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护
范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献