您好,欢迎来到飒榕旅游知识分享网。
搜索
您的当前位置:首页基于图神经网络与用户长短期偏好的兴趣点推荐方法[发明专利]

基于图神经网络与用户长短期偏好的兴趣点推荐方法[发明专利]

来源:飒榕旅游知识分享网
(19)中华人民共和国国家知识产权局

(12)发明专利申请

(10)申请公布号 CN 111949865 A(43)申请公布日 2020.11.17

(21)申请号 2020107951.4(22)申请日 2020.08.10

(71)申请人 杭州电子科技大学

地址 310018 浙江省杭州市钱塘新区白杨

街道2号大街(72)发明人 王东京 张新 俞东进 王兴亮 

完颜文博 (74)专利代理机构 浙江千克知识产权代理有限

公司 33246

代理人 周希良(51)Int.Cl.

G06F 16/9535(2019.01)G06F 16/9537(2019.01)

权利要求书2页 说明书6页 附图1页

()发明名称

基于图神经网络与用户长短期偏好的兴趣点推荐方法(57)摘要

本发明提出了一种基于图神经网络与用户长短期偏好的兴趣点推荐方法。本发明通过将用户的历史签到数据中的每一天访问的兴趣点序列作为一个会话序列;基于这些会话构造有向图,其中每个会话序列视为子图,每个节点代表一个兴趣点,每个有向边表示用户在访问此边的源兴趣点之后访问了指向的兴趣点。基于此图,通过图神经网络捕获兴趣点之间的联系并准确地生成兴趣点的向量表示。而基于这些兴趣点的表示向量,之后通过结合注意力机制为用户推荐下一步要访问的兴趣点。本发明分别从用户和兴趣点的角度进行融合成一个更好的地理信息模型。为此,在该模型中使用了用户和兴趣点之间的地理距离和用户在相邻兴趣点上的签到频次,解决了签到数据稀疏问题。

CN 111949865 ACN 111949865 A

权 利 要 求 书

1/2页

1.基于图神经网络与用户长短期偏好的兴趣点推荐方法,其特征在于该方法的具体步骤是:

步骤(1)输入用户的历史签到数据,其中签到数据包括用户的ID、兴趣点ID以及签到的时间;

步骤(2)读取历史签到数据,将每个用户的访问序列按照时间先后排序;创建一个用户会话序列文件,每一行为某个用户单日的兴趣点会话序列,其中用户的ID排在行首,该用户在该日访问过的兴趣点ID按访问先后顺序排在用户的ID之后;

步骤(3)构建会话有向图:将每个会话序列s建模为有向图Gs(Vs,Es),在此图中,每个节点代表一个兴趣点的向量vs,每条边(vs,vs,i,i-1,i)表示一位用户在访问兴趣点(i-1)之后访问了兴趣点i;

步骤(4)计算各边的权重:加权值等于该条边出现的次数除以该边起始节点的出度,所有边的加权值As,(i,j)组成矩阵As;

步骤(5)训练兴趣点向量表示:将每个兴趣点嵌入到统一的嵌入空间中,向量v表示通过图神经网络学习的兴趣点的向量;通过图神经网络训练兴趣点的向量,并且进行更新;

步骤(6)用户长期偏好建模:对于用户u,其对应的会话序列表示为Su=(s1,s2,...,sm),m表示会话序列个数;取s1,...,sm-1作为用户的长期偏好信息来源,通过引入注意力机制,计算不同兴趣点向量的注意力权重,然后将所有兴趣点向量通过注意力权重进行加权求和,得到用户长期偏好;

步骤(7)用户短期偏好建模:对于用户u,其对应的会话序列表示为Su=(s1,s2,...,sm);取该用户的最后一个会话序列sm作为用户的短期偏好信息来源,通过引入注意力机制,计算不同兴趣点向量的注意力权重,然后将所有兴趣点向量通过注意力权重进行加权求和,得到用户短期偏好;

步骤(8)通过将用户的长期偏好与短期偏好的组合进行线性转化得出用户最终的偏好表示:

步骤(9)计算用户对各个兴趣点的偏好

将用户偏好向量进行转置然后与各个兴趣点向量相乘,得到用户对各个兴趣点的偏好;

对于得到的偏好向量,应用softmax函数得到用户在当前会话序列中下一步访问各个兴趣点的概率;

步骤(10)训练模型:采用交叉熵损失进行训练推荐模型。

2.根据权利要求1所述的基于图神经网络与用户长短期偏好的兴趣点推荐方法,其特征在于:步骤(2)中用户ID与兴趣点ID之间使用空格分隔,形式为{用户ID:兴趣点ID}。

3.根据权利要求1所述的基于图神经网络与用户长短期偏好的兴趣点推荐方法,其特征在于:步骤(5)中对于图Gs中的节点代表的兴趣点的向量vs,其更新函数为:i,

2

CN 111949865 A

权 利 要 求 书

2/2页

其中:为连接矩阵As中对应vs,i的两列;

为会话序列s中t-1时刻的兴趣点向量列表;H为加权矩阵;b为偏置项;

为会话序列s中节点i在t时刻的状态;和分别是t时刻的重置门和更新门;Wz和Uz

分别为更新门的第一权重和第二权重;Wr和Ur分别为重置门的第一权重和第二权重;Wo和Uo分别为激活函数的第一权重和第二权重;tanh为神经网络激活函数;为在t时刻候选的兴趣点向量;σ(·)为sigmoid函数;⊙表示逐元素相乘;

为在t-1时刻的兴趣点向量。

3

CN 111949865 A

说 明 书

1/6页

基于图神经网络与用户长短期偏好的兴趣点推荐方法

技术领域

[0001]本发明属于数据挖掘与推荐系统技术领域,具体涉及一种基于图神经网络与用户长短期偏好的兴趣点推荐方法。

背景技术

[0002]近年来随着Foursquare、Gowalla、大众点评等基于位置的社交网络服务的快速增长,越来越多的用户通过大量的地理位置签到行为来分享他们喜好的兴趣点。这些在线签到数据为分析用户的签到行为模式提供了一个很好的机会,我们可以根据用户的历史兴趣点访问轨迹来分析和预测用户下一步将会去往何处。此外,商家通过对用户签到数据的挖掘分析可以捕获用户的偏好,为用户推荐他们感兴趣的内容,进而提高用户的使用体验。因此,针对用户的签到数据进行分析和推荐受到了大量的研究。[0003]一般兴趣点推荐通常采用协同过滤技术、矩阵分解技术和生成概率模型来模拟用户的偏好以及地理影响。其中基于用户的协同过滤是最流行的协同过滤算法之一,它通过利用相似用户的签到信息进行推荐。另一种协同过滤方法是矩阵分解,它通过分解用户-兴趣点的偏好矩阵来学习用户的偏好。当矩阵分解技术最初应用于兴趣点推荐时,它的性能要比基于用户的协同过滤和基于兴趣点的协同过滤方法差。协同过滤和矩阵分解方法比较适合于非零值的签到数据。通常在这些方法中,由于存在大量的兴趣点,而每个用户只能访问其中的很少的兴趣点,因此协同过滤中的用户-兴趣点签到矩阵将会变得非常稀疏,导致推荐效果变差。同时,随着神经网络的发展,一些相关的基于神经网络兴趣点推荐方法展现出了相对于传统推荐算法的巨大优势。通过神经网络可以挖掘用户签到序列中更深层次的隐含信息,从而可以更加全面的为用户的行为模式进行建模,最终得到更好的兴趣点推荐的效果。

发明内容

[0004]本发明针对现有技术的不足,提出了一种基于图神经网络与用户长短期偏好的兴趣点推荐方法。

[0005]本发明通过将用户的历史签到数据中的每一天访问的兴趣点序列作为一个会话序列,然后基于这些会话构造有向图,其中每个会话序列视为子图,每个节点代表一个兴趣点,每个有向边表示用户在访问此边的源兴趣点之后访问了指向的兴趣点。基于此图,通过图神经网络捕获兴趣点之间的联系并准确地生成兴趣点的向量表示。而基于这些兴趣点的表示向量,之后通过结合注意力机制为用户推荐下一步要访问的兴趣点。[0006]本发明方法的具体步骤是:

[0007]步骤(1)输入用户的历史签到数据,其中签到数据包括用户的ID、兴趣点ID以及签到的时间。

[0008]步骤(2)读取签到数据,将每个用户的访问序列按照时间先后排序。创建一个用户会话序列文件,其中每一行为某个用户的兴趣点单日访问序列,其中用户的ID排在行首,该

4

CN 111949865 A

说 明 书

2/6页

用户在该日访问过的兴趣点ID按访问先后顺序排在用户的ID之后,用户ID与兴趣点ID之间使用空格分隔。

[0009]步骤(3)构建会话有向图:将每个会话序列s建模为有向图Gs(Vs,Es),在此图中,每个节点代表一个兴趣点的向量vs,每条边(vs,vs,i∈V,i-1,i)∈Es表示一位用户在访问兴趣点(i-1)之后访问了兴趣点i。

[0010]步骤(4)计算各边的权重:由于会话序列中一个兴趣点可能出现多次,因此为会话中每条边都赋予一个归一化的加权值。其中加权值等于该条边出现的次数除以该边起始节点的出度,所有边的加权值As,其中As,Es)中边(vs,(i,j)组成矩阵。(i,j)为由有向图Gs(Vs,i,vs,连接矩阵j)的权重;

定义图中的节点与其他节点的联系程度,由图中边的加

权值As,(i,j)组成。

[0011]步骤(5)训练兴趣点向量表示:将每个兴趣点嵌入到统一的嵌入空间中,向量

表示通过图神经网络学习的兴趣点的向量,其中d是向量维度。之后通过图神经网

络训练兴趣点的向量,并且进行更新。[0012]步骤(6)用户长期偏好建模:对于用户u,其对应的会话序列表示为Su=(s1,s2,...,sm),m表示会话序列个数。取s1,...,sm-1作为用户的长期偏好信息来源,引入注意力机制,计算不同兴趣点向量的注意力权重,然后将所有兴趣点向量通过注意力权重进行加权求和,得到用户长期偏好。

[0013]步骤(7)用户短期偏好建模:对于用户u,其对应的会话序列表示为Su=(s1,s2,...,sm)。取该用户的最后一个会话序列sm作为用户的短期偏好信息来源,引入注意力机制,计算不同兴趣点向量的注意力权重,然后将所有兴趣点向量通过注意力权重进行加权求和,得到用户短期偏好。

[0014]步骤(8)通过将用户的长期偏好与短期偏好的组合进行线性转化得出用户最终的偏好表示。

[0015]步骤(9)计算用户对各个兴趣点的偏好:将用户偏好向量进行转置然后与各个兴趣点向量相乘,得到用户对各个兴趣点的偏好。之后对于得到的偏好向量,应用softmax函数得到用户在当前会话序列中下一步访问各个兴趣点的概率。[0016]步骤(10)训练模型:本方法采用交叉熵损失进行训练推荐模型,损失函数定义为:

[0017]

[0018]其中:yi表示用户真实访问的下一个兴趣点的one-hot编码的向量表示,表示用

户在当前会话序列中下一步访问第i个兴趣点的概率,n为所有兴趣点向量的数量。[0019]本发明具有的有益效果:

[0020]首先是通过图神经网络训练兴趣点的向量表示,从而可以更好地捕捉用户兴趣点访问序列中兴趣点之间的联系。

[0021]其次是每个用户在签到数据中连续的兴趣点,在地理位置上会受到相互影响。为了捕获兴趣点之间的这种地理影响,通过参考自然语言处理技术中的Skip-gram词向量模型,对用户和兴趣点进行建模,分别训练用户及兴趣点的词向量进行兴趣点推荐。

5

CN 111949865 A[0022]

说 明 书

3/6页

本发明分别从用户和兴趣点的角度进行融合成一个更好的地理信息模型。为此,

在该模型中使用了用户和兴趣点之间的地理距离(从用户的角度来看)和用户在相邻兴趣点上的签到频次(从兴趣点的角度来看)。通过考虑到相邻兴趣点在模型推荐策略中的影响,解决了签到数据稀疏问题。

[0023]本发明通过真实数据集的实验表明,基于图神经网络与用户长短期偏好的兴趣点推荐方法相比于传统的模型具有更好的推荐能力,在多项指标(Recall、MRR等)中均超过传统的兴趣点推荐算法。附图说明

[0024]图1模型示意图。

具体实施方式

[0025]下面将对本发明所提供的基于图神经网络与用户长短期偏好的兴趣点推荐方法做具体说明,如图1所示,本发明包括:

[0026]步骤(1)输入用户的历史签到数据,其中签到数据包括用户的ID、兴趣点ID以及签到的时间。

[0027]步骤(2)读取签到数据,将每个用户的访问序列按照时间先后排序。创建一个用户会话序列文件,其中每一行为某个用户单日的兴趣点会话序列,其中用户的ID排在行首,该用户在该日访问过的兴趣点ID按访问先后顺序排在用户的ID之后,用户ID与兴趣点ID之间使用空格分隔;形式为{用户ID:兴趣点ID}。[0028]步骤(3)构建会话有向图:将每个会话序列s建模为有向图Gs(Vs,Es),如图1最左侧Gs所示,在此图中,每个节点代表一个兴趣点的向量vs,每条边(vs,vs,i∈V,i-1,i)∈Es表示一位用户在访问兴趣点(i-1)之后访问了兴趣点i。当用户与所有兴趣点中的某个兴趣点的地理距离越近,那么用户访问该兴趣点的可能性就越大,则在生成的有向图中出现该节点与到该节点的边的概率就越高。当用户在某个兴趣点的签到频次越高,那么这个兴趣点代表的节点在有向图中出现的次数就越多,与该节点相连的边也就越多。[0029]步骤(4)计算各边的权重:加权值等于该条边出现的次数除以该边起始节点的出度,所有边的加权值As,当某个兴趣点代表节点在有向图中出现的次数越(ij)组成矩阵As。多,那么一般来说连接该节点的边也越多,那么该边

[0030][0031]

其中:As,Es)中边(vs,vs,num(vs,vs,(i,j)为由有向图Gs(Vs,i,j)的权重;i,j)为边(vs,vs,O(vs,vs,i,j)出现的次数;i)为边(vs,i,j)起始节点vs,i的出度。[0032]步骤(5)训练兴趣点向量表示:将每个兴趣点嵌入到统一的嵌入空间中,如图1中所示的嵌入层与图神经网络,向量

表示通过图神经网络学习的兴趣点的向量,其中

d是向量维度。之后通过图神经网络训练兴趣点的向量表示,生成如图1中所示的向量,对于图Gs中的节点代表的兴趣点的向量vs,其更新函数为:i,

[0033]

6

CN 111949865 A[0034][0035][0036][0037][0038]

说 明 书

4/6页

其中:连接矩阵定义图中的节点与其他节点的联系程度,由图中边的为As中对应vs,i的两列;

为加权矩阵;b为偏置项;

为会话序列s中为会话序列s中节点i

加权值As,(i,j)组成;t-1时刻的兴趣点向量列表;在t时刻的状态;和

分别是t时刻的重置门和更新门,分别决定要丢弃和保留什么信

息;Wz和Uz分别为更新门的第一权重和第二权重;Wr和Ur分别为重置门的第一权重和第二权重;Wo和Uo分别为激活函数的第一权重和第二权重;tanh为神经网络激活函数;为在t时刻候选的兴趣点向量;σ(·)为sigmoid函数;⊙表示逐元素相乘;为在t时刻的兴趣点向量。

步骤(6)用户长期偏好建模:对于用户u,其对应的会话序列表示为Su=(s1,

s2,...,sm),m表示会话序列个数。取s1,...,sm-1作为用户的长期偏好信息来源,通过引入注意力机制,用户的长期偏好表示为:

[0040][0039]

[0041][0042][0043]

如图1中所示的pl向量。其中:

分别为长期偏好会话序列中,兴趣点向量的第一权

为q1的转置;b1为偏置项;αn1为长期偏好会话序列i表示注意力权重;

重和第二权重,其中

中,兴趣点向量的数量;vi为节点i代表的兴趣点向量;pl表示用户的长期偏好。[0044]步骤(7)用户短期偏好建模:对于用户u,其对应的会话序列表示为Su=(s1,s2,...,sm)。取该用户的最后一个会话序列sm作为用户的短期偏好信息来源,通过引入注意力机制,将用户的短期偏好表示为:

[0045]

[0046][0047][0048]

如图1中所示的ps向量。其中:

分别为短期偏好会话序列中,兴趣点向量的第一权

为q2的转置;b2为偏置项;βn2为短期偏好会话序列i表示注意力权重;

重和第二权重,其中

中,兴趣点向量的数量;ps表示用户的短期偏好。

7

CN 111949865 A[0049]

说 明 书

5/6页

步骤(8)通过将用户的长期偏好与短期偏好的组合进行线性转化得出用户最终的

偏好表示:

[0050]p=W3[pl:ps]

[0051]如图1中所示的p向量。

[0052][0053][00][0055][0056][0057][0058][0059][0060][0061][0062][0063]

其中:为权重;p为用户偏好向量。

步骤(9)计算用户对各个兴趣点的偏好

其中:表示用户对所有候选兴趣点的偏好;pT代表p的转置。

之后应用softmax函数得到用户对各个兴趣点的偏好:如图1中所示各个y节点。

其中:表示用户在当前会话序列中下一步访问各个兴趣点的概率。步骤(10)训练模型:采用交叉熵损失进行训练推荐模型,损失函数定义为:

如图1中所示的交叉熵损失模块。

其中:yi表示用户真实访问的下一个兴趣点的one-hot编码的向量表示,表示用

户在当前会话序列中下一步访问第i个兴趣点的概率,n为所有兴趣点向量的数量。

[00]以下给出本发明与其他方法的对比效果表

[0065]

[0066]

其中:Recall@5代表召回5个兴趣点,Recall@10代表召回10个兴趣点,Recall@15

代表召回15个兴趣点。

8

CN 111949865 A[0067]

说 明 书

6/6页

对比方法介绍:

[0068]LRT:一种基于观察签到数据的时间特性的兴趣点推荐模型,通过引入了四种时间聚合策略,以整合用户在不同时间状态下对兴趣点的偏好。[0069]LMF:一种挖掘数据中的隐式反馈信息的矩阵分解概率模型。通过模拟用户对特定兴趣点的偏爱来进行兴趣点推荐。[0070]LMFT:一种将空间、时间和社会影响纳入协同过滤算法的兴趣点推荐方法。[0071]FPMC-LR矩阵分解模型,通过在用户移动约束下对兴趣点转移概率进行分解,从而扩展了因子化个性化马尔可夫链(FPMC)模型。[0072]LGLMF:一种基于地理模型的兴趣点推荐方法,该方法分别从用户和兴趣点的观点考虑对推荐性能改进。首先通过分析用户的主要活动区域以及该区域内每个兴趣点的相关性,提出了一种地理模型。然后将提出的地理模型与逻辑矩阵分解方法融合,从而提高兴趣点推荐的准确性。

[0073]由上表可说明本发发明在多项指标(Recall、MRR等)中均超过传统的兴趣点推荐算法。

9

CN 111949865 A

说 明 书 附 图

图1

10

1/1页

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sarr.cn 版权所有 赣ICP备2024042794号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务