首页 / 专利库 / 人工智能 / 人工神经网络 / 前馈神经网络 / 一种基于用户动态偏好与注意力机制的兴趣点推荐方法

一种基于用户动态偏好与注意机制的兴趣点推荐方法

阅读:369发布:2020-05-13

专利汇可以提供一种基于用户动态偏好与注意机制的兴趣点推荐方法专利检索,专利查询,专利分析的服务。并且本 发明 实施例 提供了一种基于用户动态偏好与注意 力 机制的兴趣点推荐方法,包括以下步骤:S1、获取用户的历史行为记录,构建用户历史行为序列,并将用户历史行为序列划分为长期历史行为序列和短期历史行为序列;S2、将长期历史行为序列和短期历史行为序列分别输入到长期偏好模型和短期偏好模型学习用户的长期偏好和短期偏好;S3、将用户的长期偏好和短期偏好进行整合得到用户最终偏好;S4、通过所述用户最终偏好计算用户对地点的评分,根据用户对地点的评分对用户进行兴趣点推荐。本发明既实现了用户偏好的动态建模,又能获得用户偏好精确地表示,提高兴趣点推荐的效果。,下面是一种基于用户动态偏好与注意机制的兴趣点推荐方法专利的具体信息内容。

1.一种基于用户动态偏好与注意机制的兴趣点推荐方法,其特征在于,包括以下步骤:
S1、获取用户的历史行为记录,构建用户历史行为序列,并将所述用户历史行为序列划分为长期历史行为序列和短期历史行为序列;
S2、将所述长期历史行为序列和短期历史行为序列分别输入到长期偏好模型和短期偏好模型学习用户的长期偏好和短期偏好;
S3、将所述用户的长期偏好和短期偏好进行整合得到用户最终偏好;
S4、通过所述用户最终偏好计算用户对地点的评分,根据用户对地点的评分对用户进行兴趣点推荐。
2.根据权利要求1所述的方法,其特征在于,所述S1包括:
将每个用户的历史记录按时间进行排序,假设按时间排序后用户u的历史行为序列为其中 表示用户u访问的第i个地点,|h|表示用户访问地点的数目;
将用户访问的最后一个地点 作为预测的目标地点,将剩余历史记录作为用户的长期历史行为序列,取最近的k个历史记录作为用户的短期历史行为序列,其中1≤k≤10。
3.根据权利要求1所述的方法,其特征在于,所述S2包括:
S21、对用户短期偏好进行建模;
S22、对用户长期偏好进行建模。
4.根据权利要求3所述的方法,其特征在于,所述S21包括:
S211、位置编码:
为了捕捉短期历史行为序列中地点之间的位置关系,创建一个可学习的位置嵌入矩阵Ep∈Rk×d,为短期历史行为序列中的每一个位置都分配一个向量,在短期偏好模型的最底层将用户短期历史行为序列的向量与位置向量相加:
其中, 表示用户短期历史行为序列的向量化表示,k表示短期历史行为序列的长度,d表示向量的维度;
S212、多头自注意力计算:
将添加了位置信息的 进行多头自注意力计算,利用不同的线性转换矩阵将d维度输入向量 转化成dk维度的查询向量Query、键向量Key和值向量Value,并进行自注意力计算,将上述操作并行的进行h次,得到h个输出,将h个头的输出进行拼接得到最后输出向量多头自注意力的表达式如下所示:
其中, 表示多头自注意力的输出, 表示在第i个子空间进行自注
意力计算的输出结果, 为线性转换矩阵,dk=d/h,h表示头的数目,T表示向量转置;
S213、构建前馈神经网络
将多头自注意力的输出 输入到全连接的前馈神经网络中学习不同潜在特征的非线性交互,并且在前馈神经网络前后加入残差连接和层归一化,具体表达式如下所示:
其中,W1,W2∈Rd×d,b1,b2∈Rd为模型参数,W1、W2表示前馈神经网络的权重矩阵,b1、b2表示偏置向量, 表示前馈神经网络的输出;
S214、基于目标地点的注意力整合得到用户的短期偏好:
经过自注意力网络后用户短期行为序列中的地点获得了新的向量表示,将目标地点向量作为查询向量,计算目标地点与用户短期历史行为序列中地点的相关度,并利用softmax函数将相关度转化成目标地点在用户短期序列中的注意力分布,注意力分布的计算公式如下:
其中,et∈Rd表示目标地点所对应的向量表示, 表示经过前馈神经网络后用户短期历史行为序列中第i个地点的向量表示,αi表示经过基于目标地点的注意力计算后用户短期历史序列中第i个地点所对应的注意力权重;
使用计算得到的注意力分布对用户短期历史行为序列中的地点向量进行加权求和作为用户的短期偏好表示,
5.根据权利要求3或4所述的方法,其特征在于,所述S22包括:
将用户的偏好向量作为查询向量,计算用户在长期历史行为序列中的注意力分布,计算公式如下所示:
其中,eu∈Rd表示用户u所对应的向量表示, 表示用户长期历史行为序列中第i个地点所对应的向量表示,l表示用户长期历史行为序列的长度,βi表示经过用户注意力计算之后用户长期历史序列中第i个地点所对应的注意力权重;
利用用户在长期历史行为序列中的注意力分布对用户长期历史行为序列中的地点向量进行加权求和得到用户的长期偏好,在用户的长期偏好表示中加入用户的整体偏好向量从而获得用户的长期偏好表示,
6.根据权利要求1所述的方法,其特征在于,所述S3包括:
利用用户短期偏好表示和长期偏好表示计算得到权重向量,计算公式如下:
其中,w∈Rd为权重向量,表示短期偏好在用户最终偏好中所占的比重,激活函数σ(z)=
1/(1+e-z),Wl,Ws∈Rd×d为线性转换矩阵,将长期偏好表示和短期偏好表示转化到同一语义空间,bw∈Rd为偏置向量;
利用计算得到的权重向量对用户长期偏好的和短期偏好进行加权求和得到用户的最终偏好表示,计算公式如下:
其中,⊙表示向量之间对位相乘。
7.根据权利要求1所述的方法,其特征在于,所述S4包括:
获得用户的最终偏好表示之后通过用户偏好表示向量与地点向量的点积来计算用户对地点的评分,
其中, 表示用户u对地点i的评分,T表示向量转置;
将二分类交叉熵作为模型训练的目标函数,并使用Adam算法训练兴趣点推荐模型,定义的目标函数如下所示:
其中,激活函数σ(z)=1/(1+e-z),R+为正样本集合,R-为负样本集合,N为训练过程中所有样本总数;
在对用户进行兴趣点推荐时,将以用户当前的位置为中心,距离d为半径的圆内用户没有访问过的地点作为向用户推荐的候选地点集合,再利用训练好的兴趣点推荐模型计算用户对推荐候选集合中地点的评分,按照评分的大小进行排序,向用户推荐评分较高的前K个地点。

说明书全文

一种基于用户动态偏好与注意机制的兴趣点推荐方法

技术领域

[0001] 本发明涉及序列推荐技术领域,尤其涉及一种基于用户动态偏好与注意力机制的兴趣点推荐方法。

背景技术

[0002] 随着移动智能设备、定位技术和移动互联网技术的快速发展,基于位置的社交网络(Location-Based Social Network,LBSN)开始出现并变得越来越流行。用户可以在社交网络中通过签到的方式分享自己当前所在的地点以及和地点相关的内容信息,如文本或图像,用户分享的地点又称为兴趣点(Point Of Interest,POI)。利用LBSN中用户丰富的历史记录挖掘用户的行为习惯和兴趣偏好,并向用户推荐其可能感兴趣的地点称为兴趣点推荐。兴趣点推荐在LBSN中具有非常重要的作用,既可以满足用户出行的个性化需求又可以为商家带来商业价值,因此兴趣点推荐收受到了工业界和学术界的广泛关注具有非常重要的研究价值。
[0003] 现有的兴趣点推荐方法大致分为三类:基于协同过滤的方法、基于嵌入学习的方法和基于深度学习的方法。近年来深度学习广泛的应用到兴趣点推荐中,基于深度学习的方法较其他的方法能够挖掘从数据中挖掘更深层次的结构关系,取得了很好的进展。比如循环神经网络(Recurrent Neural Network,RNN)被广泛的研究和使用在兴趣点推荐中对用户的历史行为序列进行建模挖掘用户的偏好,而现有的基于RNN的兴趣点推荐方法大多将用户历史记录压缩到一个固定隐含向量中,一方面限制了该方法的推荐性能,另一方面无法很好的捕捉用户行为序列中地点之间的相关性,存在许多有待研究和改进的问题。
[0004] 目前注意力机制在计算机视觉自然语言处理等领域的迅速发展与广泛的应用,开始被引入到兴趣点推荐中极大的改进了现有方法的不足,注意力机制是一种自上而下的信息选择机制来过滤掉大量的无关信息,它表示将注意力放在系统中更重要或更相关的信息上而不是所有的信息。自注意力作为注意力机制的一种特殊情况,经过改进后开始代替RNN对用户的历史序列进行建模,自注意力模型既可以对用户的历史记录进行序列化建模,又可以显式的捕捉历史序列中地点之间的相关性。
[0005] 上述兴趣点推荐方法虽然取得了很好的效果,但仍存在以下几个问题:其一,用户的兴趣是复杂多样的,多数研究都将用户访问过的地点同等看待,没有区分不同地点对表达用户兴趣的重要性,因此在用户偏好建模的过程中引入很多噪声。其二,用户的兴趣是随着时间动态变化的,多数方法只对用户长期稳定的偏好进行建模,忽略了用户存在短期的兴趣和需求,以致无法精确的捕捉用户的兴趣偏好。

发明内容

[0006] 本发明的实施例提供了一种基于用户动态偏好与注意力机制的兴趣点推荐方法,以克服现有技术缺陷
[0007] 为了实现上述目的,本发明采取了如下技术方案。
[0008] 一种基于用户动态偏好与注意力机制的兴趣点推荐方法,包括以下步骤:
[0009] S1、获取用户的历史行为记录,构建用户历史行为序列,并将所述用户历史行为序列划分为长期历史行为序列和短期历史行为序列;
[0010] S2、将所述长期历史行为序列和短期历史行为序列分别输入到长期偏好模型和短期偏好模型学习用户的长期偏好和短期偏好;
[0011] S3、将所述用户的长期偏好和短期偏好进行整合得到用户最终偏好;
[0012] S4、通过所述用户最终偏好计算用户对地点的评分,根据用户对地点的评分对用户进行兴趣点推荐。
[0013] 优选地,所述S1包括:
[0014] 将每个用户的历史记录按时间进行排序,假设按时间排序后用户u的历史行为序列为 其中 表示用户u访问的第i个地点,|h|表示用户访问地点的数目;
[0015] 将用户访问的最后一个地点 作为预测的目标地点,将剩余历史记录作为用户的长期历史行为序列,取最近的k个历史记录作为用户的短期历史行为序列,其中1≤k≤10。
[0016] 优选地,所述S2包括:
[0017] S21、对用户短期偏好进行建模;
[0018] S22、对用户长期偏好进行建模。
[0019] 优选地,所述S21包括:
[0020] S211、位置编码:
[0021] 为了捕捉短期历史行为序列中地点之间的位置关系,创建一个可学习的位置嵌入矩阵Ep∈Rk×d,为短期历史行为序列中的每一个位置都分配一个向量,在短期偏好模型的最底层将用户短期历史行为序列的向量与位置向量相加:
[0022]
[0023] 其中, 表示用户短期历史行为序列的向量化表示,k表示短期历史行为序列的长度,d表示向量的维度;
[0024] S212、多头自注意力计算:
[0025] 将添加了位置信息的 进行多头自注意力计算,利用不同的线性转换矩阵将d维度输入向量 转化成dk维度的查询向量Query、键向量Key和值向量Value,并进行自注意力计算,将上述操作并行的进行h次,得到h个输出,将h个头的输出进行拼接得到最后输出向量 多头自注意力的表达式如下所示:
[0026]
[0027]
[0028]
[0029] 其中, 表示多头自注意力的输出, 表示在第i个子空间进行自注意力计算的输出结果, 为线性转换矩阵,dk=d/h,h表示头的数
目,T表示向量转置;
[0030] S213、构建前馈神经网络
[0031] 将多头自注意力的输出 输入到全连接的前馈神经网络中学习不同潜在特征的非线性交互,并且在前馈神经网络前后加入残差连接和层归一化,具体表达式如下所示:
[0032]
[0033]
[0034]
[0035] 其中,W1,W2∈Rd×d,b1,b2∈Rd为模型参数,W1、W2表示前馈神经网络的权重矩阵,b1、b2表示偏置向量, 表示前馈神经网络的输出;
[0036] S214、基于目标地点的注意力整合得到用户的短期偏好:
[0037] 经过自注意力网络后用户短期行为序列中的地点获得了新的向量表示,将目标地点向量作为查询向量,计算目标地点与用户短期历史行为序列中地点的相关度,并利用softmax函数将相关度转化成目标地点在用户短期序列中的注意力分布,注意力分布的计算公式如下:
[0038]
[0039] 其中,et∈Rd表示目标地点所对应的向量表示, 表示经过前馈神经网络后用户短期历史行为序列中第i个地点的向量表示,αi表示经过基于目标地点的注意力计算后用户短期历史序列中第i个地点所对应的注意力权重;
[0040] 使用计算得到的注意力分布对用户短期历史行为序列中的地点向量进行加权求和作为用户的短期偏好表示,
[0041]
[0042] 优选地,所述S22包括:
[0043] 将用户的偏好向量作为查询向量,计算用户在长期历史行为序列中的注意力分布,计算公式如下所示:
[0044]
[0045] 其中,eu∈Rd表示用户u所对应的向量表示, 表示用户长期历史行为序列中第i个地点所对应的向量表示,l表示用户长期历史行为序列的长度,βi表示经过用户注意力计算之后用户长期历史序列中第i个地点所对应的注意力权重;
[0046] 利用用户在长期历史行为序列中的注意力分布对用户长期历史行为序列中的地点向量进行加权求和得到用户的长期偏好,在用户的长期偏好表示中加入用户的整体偏好向量从而获得用户的长期偏好表示,
[0047]
[0048] 优选地,所述S3包括:
[0049] 利用用户短期偏好表示和长期偏好表示计算得到权重向量,计算公式如下:
[0050] w=σ(WlPlu+WsPsu+bw)
[0051] 其中,w∈Rd为权重向量,表示短期偏好在用户最终偏好中所占的比重,激活函数σ(z)=1/(1+e-z),Wl,Ws∈Rd×d为线性转换矩阵,将长期偏好表示和短期偏好表示转化到同一语义空间,bw∈Rd为偏置向量;
[0052] 利用计算得到的权重向量对用户长期偏好的和短期偏好进行加权求和得到用户的最终偏好表示,计算公式如下:
[0053] Pu=(1-w)⊙Plu+w⊙Psu
[0054] 其中,⊙表示向量之间对位相乘。
[0055] 优选地,所述S4包括:
[0056] 获得用户的最终偏好表示之后通过用户偏好表示向量与地点向量的点积来计算用户对地点的评分,
[0057]
[0058] 其中, 表示用户u对地点i的评分,T表示向量转置;
[0059] 将二分类交叉熵作为模型训练的目标函数,并使用Adam算法训练兴趣点推荐模型,定义的目标函数如下所示:
[0060]
[0061] 其中,激活函数σ(z)=1/(1+e-z),R+为正样本集合,R-为负样本集合,N为训练过程中所有样本总数;
[0062] 在对用户进行兴趣点推荐时,将以用户当前的位置为中心,距离d为半径的圆内用户没有访问过的地点作为向用户推荐的候选地点集合,再利用训练好的兴趣点推荐模型计算用户对推荐候选集合中地点的评分,按照评分的大小进行排序,向用户推荐评分较高的前K个地点。
[0063] 由上述本发明的实施例提供的技术方案可以看出,本发明实施例提供了一种基于用户动态偏好与注意力机制的兴趣点推荐方法,将用户的历史行为序列划分为长期历史行为序列和短期历史行为序列,通过设计长期偏好模型和短期偏好模型两种模型从不同的度对用户偏好建模,既能学习用户长期稳定的偏好又能捕捉用户短期内存在的兴趣需求,实现了用户偏好的动态建模。同时恰当的将注意力机制的使用在长短期偏好模型当中,从而实现更高效、准确的兴趣点推荐。
[0064] 本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明
[0065] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0066] 图1为一种基于用户动态偏好与注意力机制的兴趣点推荐方法的结构示意图;
[0067] 图2为一种基于用户动态偏好与注意力机制的兴趣点推荐方法的流程示意图;
[0068] 图3为一种划分用户长期历史行为序列和短期历史行为序列的示意图;
[0069] 图4为一种自注意力网络的结构示意图。

具体实施方式

[0070] 下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0071] 本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
[0072] 本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
[0073] 为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
[0074] 本发明实施例提供了一种基于用户动态偏好与注意力机制的兴趣点推荐方法,其中,兴趣点推荐模型包括:嵌入层向量化表示、长期偏好模型、短期偏好模型和长短期偏好整合。由图1可知,该方法将用户的历史行为序列划分为长期历史行为序列和短期历史行为序列,分别利用长期偏好模型和短期偏好模型从不同的角度对用户偏好建模,既能学习用户长期稳定的偏好又能捕捉用户短期内存在的兴趣需求。同时设计基于注意力机制的长短期偏好模型,从而实现更高效、准确的兴趣点推荐。
[0075] 本发明实施例提供了一种基于用户动态偏好与注意力机制的兴趣点推荐方法,如图2所示,包括以下步骤:
[0076] S1、获取用户的历史行为记录,构建用户历史行为序列,并将用户历史行为序列划分为长期历史行为序列和短期历史行为序列。
[0077] 首先,获取用户的历史行为记录,将每个用户的历史记录按时间进行排序,并将用户的历史行为序列划分为长期历史行为序列和短期历史行为序列。具体如图3所示,假设按时间排序后用户u的历史行为序列为 其中 表示用户u访问的第i个地点,|h|表示用户访问地点的数目。将用户访问的最后一个地点 作为预测的目标地点,将剩余历史记录作为用户的长期历史行为序列,取最近的k个历史记录作为用户的短期历史行为序列,其中1≤k≤10。
[0078] 其次,利用嵌入层对用户和地点进行向量化表示,具体为:将用户集合中每一个用户和地点集合中每一个地点都使用一个向量来表示,用随机初始化的方式创建一个用户嵌m×d n×d u v入矩阵Eu∈R 和一个地点嵌入矩阵Ev∈R ,e 表示矩阵Eu的第u行,e 表示矩阵Ev的第v行,d表示向量的维度,m和n分别表示数据集中用户的数目和地点的数目。通过向量表示可以将用户长期历史行为序列中的每个地点转化为该地点所对应的嵌入向量,得到用户长期历史行为序列的向量化表示 同理可得到用户短期历史行为序列的向量化表示[0079] S2、将长期历史行为序列和短期历史行为序列分别输入到长期偏好模型和短期偏好模型学习用户的长期偏好和短期偏好。
[0080] 本发明实施例提供了两种方法分别对用户短期偏好和长期偏好进行建模,下面将分别对用户短期偏好建模过程和长期偏好建模过程进行详细的介绍。
[0081] 短期偏好模型主要是为了捕捉用户短期行为序列中地点之间的相关性以及在预测时减小无关行为的影响。短期偏好模型包括自注意力网络和基于目标地点的注意力两个部分。
[0082] 自注意力网络这一部分主要是用来捕捉用户短期行为序列中地点的序列相关性获得地点更丰富的表示,自注意力网络的结构如图4所示,包括:位置编码、多头自注意力以及前馈神经网络三个部分。
[0083] S21、对用户短期偏好进行建模,包括以下步骤:
[0084] S211、位置编码
[0085] 由于自注意力网络不包含任何的循环和卷积结构,无法捕捉用户短期行为序列中地点之间的位置关系,首先创建一个可学习的位置嵌入矩阵Ep∈Rk×d,为短期序列中每一个位置都分配一个向量,在短期模型的最底层将用户短期历史行为的向量与位置向量相加捕捉短期历史行为序列中地点之间的位置关系。
[0086]
[0087] 其中, 表示用户短期历史行为序列的向量化表示,k表示短期历史行为序列的长度,d表示向量的维度。
[0088] S212、多头自注意力计算
[0089] 自注意力是注意机制的一种特殊情况,它将序列自身作为查询、键和值向量进行注意力的计算,以下公式为注意力的计算方式,这里使用的计算方式是缩放的点积注意力。
[0090]
[0091] 用户的兴趣受到多方面的影响,而单一的自注意力网络无法捕捉地点之间多方面的关系,而多头自注意力可以捕捉地点在不同表示子空间的关系并且可以从多个角度对用户偏好进行建模。
[0092] 将添加了位置信息的 进行多头自注意力计算,首先利用不同的线性转换矩阵将d维度输入向量 转化成dk维度的查询向量(Query)、键向量(Key)和值向量(Value),并进行自注意力计算,将上述操作并行的进行h次,得到h个输出,最后将h个头的输出进行拼接得到最后输出向量 因此通过多头自注意力捕捉了序列自身在不同子空间的关系。多头自注意力的表达式如下所示:
[0093]
[0094]
[0095] 其中, 表示多头自注意力的输出, 表示在第i个子空间进行自注意力计算的输出结果, 为线性转换矩阵,dk=d/h,h表示头的数
目,T表示向量转置。
[0096] S213、构建前馈神经网络
[0097] 由于多头自注意力部分是线性模型,因此在多头自注意力部分输出之后使用全连接的前馈神经网络学习不同潜在特征的非线性交互,前馈神经网络包括两个线性转换和一个非线性激活函数。并且在前馈网络前后加入残差连接和层归一化。残差连接将低层次的特征传入高层并且避免了训练过程中的梯度消失,层归一化有利于稳定和加速模型训练。具体表达式如下所示:
[0098]
[0099]
[0100]
[0101] 其中,W1,W2∈Rd×d,b1,b2∈Rd为模型参数,W1、W2表示前馈神经网络的权重矩阵,b1、b2表示偏置向量,Fsu∈Rk×d表示前馈神经网络的输出。
[0102] S214、基于目标地点的注意力整合得到用户的短期偏好
[0103] 经过前馈神经网络之后获得了用户短期序列中地点新的向量表示,使用基于目标地点的注意力方式得到用户的短期偏好。将目标地点向量作为查询向量,计算目标地点与用户短期序列中地点的相关度,并利用softmax函数将相关度转化成目标地点在用户短期序列中的注意力分布,注意力分布的计算公式如下:
[0104]
[0105] 其中,et∈Rd表示目标地点所对应的向量表示,Fsu[i]∈Rd表示经过步骤三后用户短期行为序列中第i个地点的向量表示,αi表示经过基于目标地点的注意力计算后用户短期历史序列中第i个地点所对应的注意力权重;
[0106] 最后使用计算得到的注意力分布对用户短期序列中的地点向量进行加权求和作为用户的短期偏好表示,利用这种方式可以根据目标地点动态的获取用户短期偏好。
[0107]
[0108] S22、对用户长期偏好进行建模
[0109] 长期偏好模型主要用于捕捉用户长期稳定的兴趣偏好,该部分模型将用户访问过的地点作为用户的兴趣表示,对用户行为历史中的地点表示向量进行加权求和,对重要的能够表现用户偏好的地点赋予更大的权重,这里使用基于用户的注意力方式区分不同地点对用户的重要程度。在这里将用户的偏好向量作为查询向量,计算用户在长期历史序列中的注意力分布,计算公式如下所示:
[0110]
[0111] 其中,eu∈Rd表示用户u所对应的向量表示, 表示用户长期历史行为序列中第i个地点所对应的向量表示,l表示用户长期历史行为序列的长度,βi表示经过用户注意力计算之后用户长期历史序列中第i个地点所对应的注意力权重;
[0112] 得到用户在长期历史行为序列中的注意力分布后对用户长期历史行为序列中的地点向量进行加权求和得到用户的长期偏好,由于用户的历史记录有限,在用户的长期偏好表示中加入用户的整体偏好向量从而获得用户更精确和丰富的长期偏好表示。
[0113]
[0114] S3、将用户的长期偏好和短期偏好进行整合得到用户最终偏好。
[0115] 长期偏好表示的是用户主要稳定的偏好,而短期偏好捕捉到的是用户短期内兴趣需求,在兴趣点推荐过程中起到了不同的作用,因此需要对用户的短期偏好和长期偏好进行有效的整合。
[0116] 本发明借鉴循环神经网络中的函数首先根据学习到的用户短期偏好表示和长期偏好表示计算得到权重向量,计算公式如下:
[0117] w=σ(WlPlu+WsPsu+bw)
[0118] 其中,w∈Rd为权重向量,表示短期偏好在用户最终偏好中所占的比重,激活函数σ(z)=1/(1+e-z),Wl,Ws∈Rd×d为线性转换矩阵,将长期偏好表示和短期偏好表示转化到同一语义空间,bw∈Rd为偏置向量;
[0119] 利用计算得到的权重向量对用户长期偏好的和短期偏好进行加权求和得到用户的最终偏好表示,计算公式如下:
[0120] Pu=(1-w)⊙Plu+w⊙Psu
[0121] 其中,⊙表示向量之间对位相乘;
[0122] S4、通过用户最终偏好计算用户对地点的评分,根据用户对地点的评分对用户进行兴趣点推荐。
[0123] 获得用户最终的偏好表示之后通过用户偏好表示向量与地点向量的点积来计算用户对地点的评分。
[0124]
[0125] 其中, 表示用户u对地点i的评分,T表示向量转置。
[0126] 在进行模型训练时,将学习该兴趣点推荐模型看做一个二分类问题,数据集中用户真正访问的地点作为正样本,在用户没有访问的地点集合中随机采样作为负样本,因此将二分类交叉熵作为兴趣点推荐模型训练的目标函数,并使用Adam算法训练兴趣点推荐模型,定义的目标函数如下所示:
[0127]
[0128] 其中,激活函数σ(z)=1/(1+e-z),R+为正样本集合,R-为负样本集合,N为训练过程中所有样本(包括正负样本)总数。
[0129] 在兴趣点推荐阶段,首先将以用户当前的位置为中心,距离d为半径的圆内用户没有访问过的地点作为向用户推荐的候选地点集合。再利用训练好的兴趣点推荐模型计算用户对推荐候选集合中地点的评分,按照评分的大小进行排序,向用户推荐评分较高的前K个地点。
[0130] 综上所述,本发明实施例提出的一种基于用户动态偏好与注意力机制的兴趣点推荐方法,该方法将用户的历史行为序列划分为长期历史行为序列和短期历史行为序列,通过设计长期偏好模型和短期偏好模型两种模型从不同的角度对用户偏好建模,既能学习用户长期稳定的偏好又能捕捉用户短期内存在的兴趣需求,既实现了用户偏好的动态建模,又能获得用户偏好精确地表示,提高兴趣点推荐的效果;同时恰当的将注意力机制使用在长短期偏好模型当中,使得在学习用户偏好的过程中过滤序列中无关的信息,并利用自注意力模型捕捉了用户短期历史的序列相关性,从而实现更高效、准确的兴趣点推荐。
[0131] 本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模或流程并不一定是实施本发明所必须的。
[0132] 通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0133] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0134] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈