一种基于用户关系嵌入模型的下一个兴趣点推荐方法技术

技术编号:24410298 阅读:24 留言:0更新日期:2020-06-06 08:53
本发明专利技术公开了一种基于用户关系嵌入模型的下一个兴趣点推荐方法,步骤为:根据朋友关系和用户历史签到记录数据分别建立朋友关系表和偏好相似关系表,通过这两个表建立用户关系图;根据建立的用户关系图采用随机游走算法得到用户关系序列,用户关系序列经过Word2Vec词嵌入模型得到每个用户的低纬嵌入向量;利用用户的低纬嵌入向量对神经网络的用户嵌入层参数进行初始化,使用门控循环单元给出下一个兴趣点推荐。本发明专利技术的基于用户关系嵌入模型的下一个兴趣点推荐方法将偏好相似关系引入到推荐模型中,增强了用户关系的表示,解决了现有方法只考虑用户朋友关系的片面性导致推荐模型的局限性问题,有效提高了推荐模型的准确率。

A recommendation method of next interest point based on user relationship embedding model

【技术实现步骤摘要】
一种基于用户关系嵌入模型的下一个兴趣点推荐方法
本专利技术属于神经网络和推荐系统的
,尤其涉及一种基于用户关系嵌入模型的下一个兴趣点推荐方法。
技术介绍
随着基于位置的社交网络软件(如gowalla,foursquare等)的普遍应用,大量的签到信息已经被收集,利用这些丰富的签到数据给推荐用户感兴趣的下一个兴趣点(如景点,宾馆,饭店等)将会提升用户的服务体验和用户的忠诚度,同时也会给企业提升巨大的利润。现有的推荐方法只考虑用户的社交关系(即朋友关系),这些研究是基于这种假设“在社交网络中,朋友经常具有相同或相似的品味”。然而,朋友关系不能很好的表示用户偏好,利用朋友关系进行推荐存在以下缺陷,比如(1)社交软件上的朋友关系不能准确表示现实生活中的朋友关系,由于种种原因,在生活中为朋友关系的用户可能并没有在社交软件中互加好友,并且社交软件中两个好友也存在彼此并不认识或者完全没有联系的情况;(2)两个用户为朋友关系他们可能具有不同的偏好,因此在推荐用户访问下一个兴趣点的时候可能会受到朋友关系的负面影响。而且现有的研究都忽略非朋友关系,实际上,非朋友关系也能在一定程度上反应用户相似的偏好。比如美食爱好者通常会访问一些相同或者相似的兴趣点,因此他们在历史签到兴趣点中通常具有更多相同的访问兴趣点。
技术实现思路
针对现有技术无法对用户关系进行有效的建模,忽略了偏好相似关系,本专利技术所解决的技术问题在于提供一种基于用户关系嵌入模型的下一个兴趣点推荐方法,能够有效的对用户关系进行建模,考虑复杂的用户关系,通过利用本专利技术来整合用户关系能够有效提升推荐系统的准确率。为了解决上述技术问题,本专利技术通过以下技术方案来实现:本专利技术提供一种基于用户关系嵌入模型的下一个兴趣点推荐方法,包括以下步骤:步骤S1:根据朋友关系和用户历史签到记录数据分别建立朋友关系表和偏好相似关系表,通过这两个表建立用户关系图;步骤S2:根据建立的用户关系图采用随机游走算法得到用户关系序列,用户关系序列经过Word2Vec词嵌入模型得到每个用户的低纬嵌入向量;步骤S3:利用用户的低纬嵌入向量对神经网络的用户嵌入层参数进行初始化,使用门控循环单元给出下一个兴趣点推荐。可选的,所述步骤S1的具体步骤为:S11、建立朋友关系表,朋友关系表由数据集提供的用户朋友关系数据集建立;S12、建立偏好相似关系表,偏好相似关系表由数据集中每个用户历史访问过得兴趣点的记录建立,如果用户访问过某一个兴趣点,那么偏好关系表中相应位置的数值为1,否则为0;S13、建立用户关系图,用户关系图根据步骤S11中的朋友关系表和步骤S12中的偏好相似表得到。进一步的,S21、根据用户关系图,首先从图中的任意一个节点开始,利用n次随机游走算法在此节点上进行随机游走,随机游走的步长为c,通过随机游走算法,最终能够得到n条序列长度为c的用户关系序列;S22、利用Word2Vec词嵌入技术对用户关系序列进行预训练,通过将用户关系序列中的用户看成是语言模型中的词,对用户关系序列进行预训练,得到每一个用户的低纬嵌入向量,利用Skip-gram语言模型对用户关系序列进行预训练。可选的,所述步骤S3的具体步骤如下:S31、GRU模型训练,GRU模型的每步输入对应着用户签到序列中的每次签到,用户的嵌入向量和签到兴趣点的嵌入向量分别由神经网络对应的不同的嵌入层得到,其中用户的嵌入层参数是由步骤S22中预训练用户的嵌入向量初始化得到;S32、利用GRU模型进行下一个兴趣点推荐,得到用户历史签到序列,将序列数据送入训练后的GRU模型后会得到一个输出向量,通过得到的输出向量与每一个兴趣点的嵌入向量内积的方式得到用户下一步访问每一个兴趣点可能性;S33、推荐准确率计算,选择Acc@N评价方法作为模型准确率的标准。进一步的,所述步骤S21中计算图中一个节点到另一个节点的随机游走算法的公式如下:其中,probability(ui|uj)表示图中节点i到节点j的转移概率,f(ui,uj)表示从ui到uj边的权值,um表示与ui有边相连的节点。所述步骤S22中利用Skip-gram对用户关系进行训练的过程为:使用基于HierarchicalSoftmax的Skip-gram语言模型学习用户的嵌入向量,基于HierarchicalSoftmax的Skip-gram语言模型的每个输入样本形式为(u,context(u)),其中u表示序列中的一个用户,context(u)是序列中与u邻近的用户,u的嵌入向量表示为xu,根节点到u所在的叶子节点的总路径长度表示为lu,表示用户u在路径中相应的哈夫曼树编码,在此基础上,用户u预测context(u)的可能性表示为:其中p(w|u)可表示为:其中,xuT表示xu的转置操作,之后,用对数似然形式得到语料库中所有用户的联合概率为:其中σ(·)是sigmoid函数,是对应于的参数,为了得到用户u的最优向量表示,需要将上述目标L最大化,因此,需要用函数L对和xu分别求偏导:用户的嵌入向量xu的更新公式可以写成:至此,可以得到用户低维嵌入向量表示,其中,η为模型训练时的学习率,被设置为0.025,滑动窗口大小设置为5,用户关系嵌入向量的长度设置为64维,通过以上嵌入过程,每个用户可以用1个64维的向量表示。进一步的,所述步骤S31中一个用户签到序列可定义为S={(u,p1,t1),(u,p2,t2),(u,p3,t3)...},其中p表示签到兴趣点,t表示签到时间,在t时刻,GRU的状态更新由以下公式计算得到:其中,{U1,U2,U3,W1,W2,W3}∈Rd×d和{b1,b2,b3}∈Rd是神经网络需要训练的参数矩阵,ht-1表示前一时刻的隐层状态,rt和zt分别为重置门和更新门,为候选状态,ht表示隐藏层输出向量,向量表示用户在t时刻用户签到的输入向量。进一步的,所述步骤S32中给用户推荐下一步将要访问的兴趣点的计算公式如下:其中,表示兴趣点p的嵌入向量,T表示向量转置,表示用户u在t+1时刻将会访问兴趣点p的可能性。可选的,所述步骤S33中Acc@N的计算公式如下:其中,|L|表示测试集中总的测试实例个数,#hit@N表示整个测试集中推荐成功的次数,所有测试实例的平均值作为最终准确率的计算结果。由上,本专利技术的基于用户关系嵌入模型的下一个兴趣点推荐方法将偏好相似关系引入到推荐模型中,增强了用户关系的表示,解决了现有方法只考虑用户朋友关系的片面性导致推荐模型的局限性问题,有效提高了推荐模型的准确率。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其他目的、特征和优点本文档来自技高网...

【技术保护点】
1.一种基于用户关系嵌入模型的下一个兴趣点推荐方法,其特征在于,包括以下步骤:/n步骤S1:根据朋友关系和用户历史签到记录数据分别建立朋友关系表和偏好相似关系表,通过这两个表建立用户关系图;/n步骤S2:根据建立的用户关系图采用随机游走算法得到用户关系序列,用户关系序列经过Word2Vec词嵌入模型得到每个用户的低纬嵌入向量;/n步骤S3:利用用户的低纬嵌入向量对神经网络的用户嵌入层参数进行初始化,使用门控循环单元给出下一个兴趣点推荐。/n

【技术特征摘要】
1.一种基于用户关系嵌入模型的下一个兴趣点推荐方法,其特征在于,包括以下步骤:
步骤S1:根据朋友关系和用户历史签到记录数据分别建立朋友关系表和偏好相似关系表,通过这两个表建立用户关系图;
步骤S2:根据建立的用户关系图采用随机游走算法得到用户关系序列,用户关系序列经过Word2Vec词嵌入模型得到每个用户的低纬嵌入向量;
步骤S3:利用用户的低纬嵌入向量对神经网络的用户嵌入层参数进行初始化,使用门控循环单元给出下一个兴趣点推荐。


2.如权利要求1所述的基于用户关系嵌入模型的下一个兴趣点推荐方法,其特征在于,所述步骤S1的具体步骤为:
S11、建立朋友关系表,朋友关系表由数据集提供的用户朋友关系数据集建立;
S12、建立偏好相似关系表,偏好相似关系表由数据集中每个用户历史访问过得兴趣点的记录建立,如果用户访问过某一个兴趣点,那么偏好关系表中相应位置的数值为1,否则为0;
S13、建立用户关系图,用户关系图根据步骤S11中的朋友关系表和步骤S12中的偏好相似表得到。


3.如权利要求2所述的基于用户关系嵌入模型的下一个兴趣点推荐方法,其特征在于,所述步骤S2的具体步骤如下:
S21、根据用户关系图,首先从图中的任意一个节点开始,利用n次随机游走算法在此节点上进行随机游走,随机游走的步长为c,通过随机游走算法,最终能够得到n条序列长度为c的用户关系序列;
S22、利用Word2Vec词嵌入技术对用户关系序列进行预训练,通过将用户关系序列中的用户看成是语言模型中的词,对用户关系序列进行预训练,得到每一个用户的低纬嵌入向量,利用Skip-gram语言模型对用户关系序列进行预训练。


4.如权利要求1所述的基于用户关系嵌入模型的下一个兴趣点推荐方法,其特征在于,所述步骤S3的具体步骤如下:
S31、GRU模型训练,GRU模型的每步输入对应着用户签到序列中的每次签到,用户的嵌入向量和签到兴趣点的嵌入向量分别由神经网络对应的不同的嵌入层得到,其中用户的嵌入层参数是由步骤S22中预训练用户的嵌入向量初始化得到;
S32、利用GRU模型进行下一个兴趣点推荐,得到用户历史签到序列,将序列数据送入训练后的GRU模型后会得到一个输出向量,通过得到的输出向量与每一个兴趣点的嵌入向量内积的方式得到用户下一步访问每一个兴趣点可能性;
S33、推荐准确率计算,选择Acc@N评价方法作为模型准确率的标准。


5.如权利要求3所述的基于用户关系嵌入模型的下一个兴趣点推荐方法,其特征在于,所述步骤S21中计算图中一个节点到另一个节点的随机游走算法的公式如下:



其中,probability(ui|uj)表示图中节点i到节点j的转移概率,f(ui,uj)表示从ui到uj边的权值,um表示与ui有边相连的节点。


6.如权利要求3...

【专利技术属性】
技术研发人员:柴瑞敏殷臣孟祥福关昕张霄雁齐雪月朱尧
申请(专利权)人:辽宁工程技术大学
类型:发明
国别省市:辽宁;21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1