CN111241419B - 一种基于用户关系嵌入模型的下一个兴趣点推荐方法 - Google Patents
一种基于用户关系嵌入模型的下一个兴趣点推荐方法 Download PDFInfo
- Publication number
- CN111241419B CN111241419B CN202010022487.9A CN202010022487A CN111241419B CN 111241419 B CN111241419 B CN 111241419B CN 202010022487 A CN202010022487 A CN 202010022487A CN 111241419 B CN111241419 B CN 111241419B
- Authority
- CN
- China
- Prior art keywords
- user
- relation
- model
- vector
- sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 239000013598 vector Substances 0.000 claims abstract description 69
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 21
- 238000005295 random walk Methods 0.000 claims abstract description 20
- 238000010586 diagram Methods 0.000 claims abstract description 19
- 238000013528 artificial neural network Methods 0.000 claims abstract description 15
- 238000012549 training Methods 0.000 claims description 23
- 238000012360 testing method Methods 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 8
- 238000011156 evaluation Methods 0.000 claims description 4
- 239000011159 matrix material Substances 0.000 claims description 4
- 230000007704 transition Effects 0.000 claims description 3
- 238000002474 experimental method Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 235000019640 taste Nutrition 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Economics (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于用户关系嵌入模型的下一个兴趣点推荐方法,步骤为:根据朋友关系和用户历史签到记录数据分别建立朋友关系表和偏好相似关系表,通过这两个表建立用户关系图;根据建立的用户关系图采用随机游走算法得到用户关系序列,用户关系序列经过Word2Vec词嵌入模型得到每个用户的低纬嵌入向量;利用用户的低纬嵌入向量对神经网络的用户嵌入层参数进行初始化,使用门控循环单元给出下一个兴趣点推荐。本发明的基于用户关系嵌入模型的下一个兴趣点推荐方法将偏好相似关系引入到推荐模型中,增强了用户关系的表示,解决了现有方法只考虑用户朋友关系的片面性导致推荐模型的局限性问题,有效提高了推荐模型的准确率。
Description
技术领域
本发明属于神经网络和推荐系统的技术领域,尤其涉及一种基于用户关系嵌入模型的下一个兴趣点推荐方法。
背景技术
随着基于位置的社交网络软件(如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对用户关系进行训练的过程为:
使用基于Hierarchical Softmax的Skip-gram语言模型学习用户的嵌入向量,基于Hierarchical Softmax的Skip-gram语言模型的每个输入样本形式为(u,context(u)),其中u表示序列中的一个用户,context(u)是序列中与u邻近的用户,u的嵌入向量表示为xu,根节点到u所在的叶子节点的总路径长度表示为lu,表示用户u在路径中相应的哈夫曼树编码,在此基础上,用户u预测context(u)的可能性表示为:
其中p(w|u)可表示为:
其中,xu T表示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为本发明的基于用户关系嵌入模型的下一个兴趣点推荐方法的模型图;
图2为本发明的基于用户关系嵌入模型的下一个兴趣点推荐方法的用户关系图;
图3为本发明的实验模型对比图;其中,(a)为在Gowalla数据集上模型准确率对比图;(b)为在CA数据集上模型准确率对比图。
具体实施方式
下面结合附图详细说明本发明的具体实施方式,其作为本说明书的一部分,通过实施例来说明本发明的原理,本发明的其他方面、特征及其优点通过该详细说明将会变得一目了然。在所参照的附图中,不同的图中相同或相似的部件使用相同的附图标号来表示。
本事实例中,为了测试本发明利用两类用户关系对下一个兴趣点的推荐的准确性,本发明在Gowalla数据集和CA数据集上进行实验,说明本发明的准确性。其中,Gowalla数据集和CA数据集是全世界计算机领域英文文献数据集。CA数据集包括生活在美国加利福尼亚州的4163名使用者在Foursquare应用上的签到记录,包括483813个签到信息、121142个不同的兴趣点。Gowalla数据集包括2009年2月至2010年10月期间的196591个用户的6442890条签到记录,本发明提取在加利福尼亚州和内华达州两个地点的签到数据用于实验,因为这两个相邻的地区没有显著的文化差异。两个数据集都包括用户朋友关系数据,用户朋友关系在两个数据集中以一对无向边表示。
对于数据集的预处理,我们移除不活跃的用户和兴趣点,保留至少被10个不同用户访问过的兴趣点和至少有10次签到记录的用户。表1给出了处理后的数据集信息。在实验评价中,每个用户签到记录的前70%作为训练集,最后20%作为测试集,其余的10%作为验证集数据用于模型调参。
表1:实验数据集统计信息(数据处理后)
数据集 | 用户数 | 兴趣点数 | 签到数 |
CA | 2248 | 3092 | 109280 |
Gowalla | 5762 | 8028 | 274476 |
如图1至图3所示,本发明的基于用户关系嵌入模型的下一个兴趣点推荐方法,主要应用于当前热门的基于位置的服务(LBS)系统和空间兴趣点推荐领域,其整体处理流程包括如下步骤:
步骤1:根据朋友关系和用户历史签到记录数据分别建立朋友关系表和偏好相似关系表,通过这两个表建立用户关系图,具体步骤如下:
步骤1.1:建立朋友关系表,朋友关系表由数据集提供的用户朋友关系数据集建立。用户关系表中的每行表示两个用户在社交软件中为朋友关系。朋友关系表如表2所示:
表2:朋友关系表
User ID | User ID |
1 | 2 |
2 | 1 |
1 | 4 |
4 | 1 |
说明:表中User ID表示用户的编号,如表中第一行数值表示User ID=1的朋友是User ID=2。
步骤1.2:建立偏好相似关系表,偏好相似关系表由数据集中每个用户历史访问过得兴趣点的记录建立。如果用户访问过某一个兴趣点,那么偏好关系表中相应位置的数值为1,否则为0。偏好关系表如表3所示:
表3:偏好相似关系表
POI | User1 | User2 | User3 | User4 | User5 |
P1 | 1 | 0 | 1 | 1 | 1 |
P2 | 0 | 1 | 0 | 1 | 0 |
P3 | 1 | 1 | 0 | 1 | 0 |
说明:表中User1-User5表示不同的用户编号,P1-P 3表示不同的兴趣点,图中的数值表示用户是否访问过该兴趣点。
步骤1.3:建立用户关系图,用户关系图根据步骤1.1中的朋友关系表和步骤1.2中的偏好相似表得到。用户关系图为无向图,图中的不同的节点表示不同的用户,边上的权值表示用户关系的强弱。根据用户朋友关系表(表2),如果两个用户是朋友关系,我们就将图中相应的两个用户节点之间的边的权重增加1。需要注意的是:用户朋友表中如果两个用户是朋友关系(如user1-user2,user2-user1),他们在朋友关系中表示两条不同的数据,我们也只在用户关系图相应的边的权值加1。根据偏好相似关系表(表3),如果任意两个用户访问过同一个地点,那么图中相应边的权值也增加1。最终能够得到两类用户关系的用户关系图。用户关系图如图2所示。
步骤2:根据建立的用户关系图采用随机游走算法得到用户关系序列。通过用户关系序列,利用Word2Vec词嵌入技术中的Skip-gram语言模型对用户关系序列进行预训练学习,从而得到每一个用户的低纬嵌入向量。具体步骤如下:
步骤2.1:得到用户关系序列。根据用户关系图,首先从图中的任意一个节点开始,利用n次随机游走算法在此节点上进行随机游走,随机游走的步长为c。通过随机游走算法,最终能够得到n条序列长度为c的用户关系序列。
进一步地,所述步骤2.1中计算图中一个节点到另一个节点的随机游走算法的公式如下:
其中,probability(ui|uj)表示图中节点i到节点j的转移概率,f(ui,uj)表示从ui到uj边的权值,um表示与ui有边相连的节点。需要注意的是,f(ui,uj)与f(uj,ui)不一定相同。
步骤2.2:利用Word2Vec词嵌入技术对用户关系序列进行预训练。通过将用户关系序列中的用户看成是语言模型中的词,这样就能对用户关系序列进行预训练,得到每一个用户的低纬嵌入向量。利用Skip-gram语言模型对用户关系序列进行预训练。
进一步地,所述步骤2.2中利用Skip-gram对用户关系进行训练的过程可描述如下:本发明使用基于Hierarchical Softmax的Skip-gram语言模型学习用户的嵌入向量表示。Skip-gram模型用当前的用户预测序列中当前用户周围的用户。用户嵌入向量的训练过程是在用户关系序列中最大化预测其邻近用户的概率。通过这样的过程,用户关系将被引入到嵌入向量中。基于Hierarchical Softmax的Skip-gram语言模型的每个输入样本形式为(u,context(u)),其中u表示序列中的一个用户,context(u)是序列中与u邻近的用户,u的嵌入向量表示为xu,根节点到u所在的叶子节点的总路径长度表示为lu,表示用户u在路径中相应的哈夫曼树编码,在此基础上,用户u预测context(u)的可能性表示为:
其中p(w|u)可表示为:
其中,xu T表示xu的转置操作。之后,用对数似然形式得到语料库中所有用户的联合概率为:
其中U表示数据集中所有用户的集合,σ(·)是sigmoid函数,是对应于/>的参数,为了得到用户u的最优向量表示,需要将上述目标L最大化,因此,需要用函数L对/>和xu分别求偏导:
用户的嵌入向量xu的更新公式可以写成:
至此,可以得到用户低维嵌入向量表示,其中,η为模型训练时的学习率,被设置为0.025,滑动窗口大小设置为5,用户关系嵌入向量的长度设置为64维,通过以上嵌入过程,每个用户可以用1个64维的向量表示。
步骤3:利用门控循环单元(Gated Recurrent Unit,GRU)结合步骤2.2得到的每一个用户的低纬嵌入向量以及用户的签到历史序列进行下一个兴趣点推荐。根据得到的用户嵌入向量对模型的用户嵌入层参数进行初始化,通过GRU模型对用户的历史签到记录进行训练,利用训练后的GRU模型给出用户最终的下一个兴趣点推荐结果列表,具体步骤如下:
步骤3.1:GRU模型训练。GRU模型的每步输入对应着用户签到序列中的每次签到。用户的嵌入向量和签到兴趣点的嵌入向量分别由神经网络对应的不同的嵌入层得到。其中用户的嵌入层参数是由步骤2.2中预训练用户的嵌入向量初始化得到,并且用户嵌入层参数在神经网络模型的训练中无法进行训练。
进一步地,所述步骤3.1中一个用户签到序列可定义为S={(u,p1,t1),(u,p2,t2),(u,p3,t3)..,其中u表示用户,p表示签到兴趣点,t表示签到时间。下面我们对GRU模型的进行介绍:
GRU是循环神经网络(Recurrent Neural Network,RNN)的一种变体,可以解决RNN网络中的长依赖问题,包括重置门(rt)和更新门(zt)两种类型的门控单元,没有存储单元,它们共同控制信息在神经网络中的流动状态。在t时刻,GRU的状态更新由以下公式计算得到:
其中,{U1,U2,U3,W1,W2,W3}∈Rd×d和{b1,b2,b3}∈Rd是神经网络需要训练的参数矩阵,ht-1表示前一时刻的隐层状态,为候选状态,ht表示隐藏层输出向量,向量/>表示用户在t时刻用户签到的输入向量。
步骤3.2:利用GRU模型进行下一个兴趣点推荐,得到用户历史签到序列,将序列数据送入训练后的GRU模型后会得到一个输出向量,通过得到的输出向量与每一个兴趣点的嵌入向量内积的方式我们可以得到用户下一步访问每一个兴趣点可能性(分数)。然后(根据得到的分数)按排名顺序给出一个包含用户下一步将要访问的前10个兴趣点列表。
进一步地,所述步骤3.2中给用户推荐下一步将要访问的兴趣点的计算公式如下:
其中ht表示GRU模型中t时刻隐藏层的输出,表示兴趣点p的嵌入向量,T表示向量转置,/>表示用户u在t+1时刻将会访问兴趣点p的可能性。
步骤3.3:推荐准确率计算。Acc@N评价方法经常用于评价推荐任务或者预测任务的准确率,因此我们选择Acc@10作为本发明模型准确率的标准。只要用户下一个访问的兴趣点出现在含有top-10个兴趣点的列表中,我们就认为做出正确推荐,结果为1。
进一步地,所述步骤3.3中Acc@N的计算公式如下:
其中,|L|表示测试集中总的测试实例个数,#hit@N表示整个测试集中推荐成功的次数(数量),所有测试实例的平均值作为最终准确率的计算结果。
下面我们介绍模型参数更新的训练过程:我们应用广泛使用的贝叶斯个性化排序(Bayesian Personalized Ranking,BPR)和时序反向传播算法(Back PropagationThrough Time,BPTT)来训练我们的模型参数。BPR算法是一种矩阵因式分解方法,它使用成对排序损失。BPR的基本假设是用户倾向于选择的项目比未选择的项目。在BPR算法中,给定一个用户访问过的兴趣点p和一个用户未访问过的兴趣点可以给出成对偏好概率为:
其中θ表示所有需要学习的参数的集合,σ(·)是sigmoid函数,可以定义为:y=1/(1+e-x)。结合负对数似然,我们可以求解下列目标函数:
其中λ是正则化系数。此外,利用BPTT算法可以进一步学习GRU中的参数。根据公式(11),给出推导即可计算出隐藏层中所有参数对应的梯度。
本实施例中,我们将不采用用户关系嵌入的模型作为基线,与本发明中利用两类用户关系的嵌入模型的推荐算法进行对比,推荐用户的top-10个下一个兴趣点作为准确率计算的结果。其中模型的参数设置如下,GRU神经网络隐藏层具有80个神经元,用户嵌入向量的维度和地点嵌入向量的维度都为64维,学习率为0.001。两个模型实验准确率对比结果如图3所示。图中横坐标表示模型训练的迭代次数,纵坐标显示的是模型的准确率。
从图3可以看出,结合用户关系嵌入模型的下一个兴趣点推荐算法明显优于基线算法,说明本发明的模型能够充分学习到复杂的用户关系,进而利用结合用户关系给用户提供更为准确的下一个兴趣点推荐。同时,从图3中可以看出,应用本发明的模型能够使GRU具有更快的收敛速度,在很少的迭代次数情况下就能达到较优的推荐效果,因此能够节省大量的时间成本,更具有现实的商业应用价值。
在推荐系统中,一些研究已经证明社交关系/朋友关系可以有效提高推荐系统的准确率,现有的推荐系统方法只考虑用户的社交关系(即在社交软件中两个用户为朋友关系)。然而,在现实生活中,即使两个用户不是朋友关系,他们(如美食爱好者,运动爱好者)也分别具有相同的偏好,本发明把这种关系称为偏好相似关系。由于现有的推荐方法对用户关系考虑不充分,本发明提出了一个新颖的用户关系嵌入模型,该模型能够充分考虑这两类用户关系。为了有效的对用户关系建模,该模型首先对两类用户关系分别建立用户关系表,然后整合这两类用户关系表建立用户关系图。之后,根据建立的用户关系图,利用重启动随机游走算法得到用户关系序列,通过用户关系序列用Word2Vec词嵌入技术来学习用户低纬嵌入向量的表示。如果两个用户的用户关系很紧密,那么这两个用户对应的低纬嵌入向量在嵌入空间中也具有更近的距离。为了评价本发明提出的用户关系嵌入模型的有效性,本发明应用循环神经网络模型结合本发明提出的用户关系模型在两个公开的数据集上进行实验,实验结果表明,结合本发明提出的用户关系嵌入模型,在一定程度上提高了推荐系统的准确率和神经网络的收敛速度。
以上所述是本发明的优选实施方式而已,当然不能以此来限定本发明之权利范围,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和变动,这些改进和变动也视为本发明的保护范围。
Claims (4)
1.一种基于用户关系嵌入模型的下一个兴趣点推荐方法,其特征在于,包括以下步骤:
步骤S1:根据朋友关系和用户历史签到记录数据分别建立朋友关系表和偏好相似关系表,通过这两个表建立用户关系图;
步骤S2:根据建立的用户关系图采用随机游走算法得到用户关系序列,用户关系序列经过Word2Vec词嵌入模型得到每个用户的低维嵌入向量;
步骤S3:利用用户的低维嵌入向量对神经网络的用户嵌入层参数进行初始化,使用门控循环单元得到推荐的下一个兴趣点;
所述步骤S1的具体步骤为:
S11、建立朋友关系表,朋友关系表由数据集提供的用户朋友关系数据集建立;
S12、建立偏好相似关系表,偏好相似关系表由数据集中每个用户历史访问过的兴趣点的记录建立,如果用户访问过某一个兴趣点,那么偏好关系表中相应位置的数值为1,否则为0;
S13、建立用户关系图,用户关系图根据步骤S11中的朋友关系表和步骤S12中的偏好相似表得到;
所述步骤S2的具体步骤如下:
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对用户关系进行训练的过程为:
使用基于Hierarchical Softmax的Skip-gram语言模型学习用户的嵌入向量,基于Hierarchical Softmax的Skip-gram语言模型的每个输入样本形式为(u,context(u)),其中u表示序列中的一个用户,context(u)是序列中与u邻近的用户,u的嵌入向量表示为xu,根节点到u所在的叶子节点的总路径长度表示为lu,表示用户u在路径中相应的哈夫曼树编码,在此基础上,用户u预测context(u)的可能性表示为:
其中p(w|u)表示为:
其中,xu T表示xu的转置操作,之后,用对数似然形式得到语料库中所有用户的联合概率函数为:
其中σ(·)是sigmoid函数,是对应于/>的参数,为了得到用户u的最优向量表示,需要将上述联合概率函数L最大化,因此,需要用联合概率函数L对/>和xu分别求偏导:
用户的嵌入向量xu的更新公式写成:
至此,可以得到用户低维嵌入向量表示,其中,η为模型训练时的学习率,被设置为0.025,滑动窗口大小设置为5,用户关系嵌入向量的长度设置为64维,通过以上嵌入过程,每个用户用1个64维的向量表示。
2.如权利要求1所述的基于用户关系嵌入模型的下一个兴趣点推荐方法,其特征在于,所述步骤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时刻用户签到的输入向量。
3.如权利要求1所述的基于用户关系嵌入模型的下一个兴趣点推荐方法,其特征在于,所述步骤S32中给用户推荐下一步将要访问的兴趣点的计算公式如下:
其中,表示兴趣点p的嵌入向量,T表示向量转置,/>表示用户u在t+1时刻将会访问兴趣点p的可能性。
4.如权利要求1所述的基于用户关系嵌入模型的下一个兴趣点推荐方法,其特征在于,所述步骤S33中Acc@N的计算公式如下:
其中,|L|表示测试集中总的测试实例个数,#hit@N表示整个测试集中推荐成功的次数,所有测试实例的平均值作为最终准确率的计算结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010022487.9A CN111241419B (zh) | 2020-01-09 | 2020-01-09 | 一种基于用户关系嵌入模型的下一个兴趣点推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010022487.9A CN111241419B (zh) | 2020-01-09 | 2020-01-09 | 一种基于用户关系嵌入模型的下一个兴趣点推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111241419A CN111241419A (zh) | 2020-06-05 |
CN111241419B true CN111241419B (zh) | 2023-11-24 |
Family
ID=70872491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010022487.9A Active CN111241419B (zh) | 2020-01-09 | 2020-01-09 | 一种基于用户关系嵌入模型的下一个兴趣点推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111241419B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949865A (zh) * | 2020-08-10 | 2020-11-17 | 杭州电子科技大学 | 基于图神经网络与用户长短期偏好的兴趣点推荐方法 |
CN112380426B (zh) * | 2020-10-23 | 2023-10-13 | 南京邮电大学 | 一种基于图嵌入与用户长短期兴趣融合的兴趣点推荐方法、系统 |
CN113763014B (zh) * | 2021-01-05 | 2024-09-20 | 北京沃东天骏信息技术有限公司 | 物品共现关系确定方法和装置及判定模型获得方法和装置 |
CN113139140B (zh) * | 2021-05-17 | 2024-01-16 | 辽宁工程技术大学 | 基于时空感知gru并结合用户关系偏好的旅游景点推荐方法 |
CN113486237B (zh) * | 2021-06-07 | 2023-06-27 | 海南太美航空股份有限公司 | 一种航班信息的推荐方法、系统、存储介质和电子设备 |
CN113626697A (zh) * | 2021-08-05 | 2021-11-09 | 辽宁工程技术大学 | 一种基于anchor-LDA和卷积神经网络的兴趣点推荐方法 |
CN113590971B (zh) * | 2021-08-13 | 2023-11-07 | 浙江大学 | 一种基于类脑时空感知表征的兴趣点推荐方法及系统 |
CN113901319B (zh) * | 2021-10-18 | 2024-03-26 | 桂林电子科技大学 | 一种基于序列语义与属性图特征学习的地点推荐方法 |
CN114398537A (zh) * | 2021-12-06 | 2022-04-26 | 北京思特奇信息技术股份有限公司 | 一种基于动态关系嵌入的营销业务推荐方法及系统 |
CN114282120A (zh) * | 2021-12-06 | 2022-04-05 | 中电万维信息技术有限责任公司 | 融合多维关系的图嵌入兴趣点推荐算法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9857177B1 (en) * | 2012-06-20 | 2018-01-02 | Amazon Technologies, Inc. | Personalized points of interest for mapping applications |
CN108804689A (zh) * | 2018-06-14 | 2018-11-13 | 合肥工业大学 | 面向问答平台的融合用户隐连接关系的标签推荐方法 |
CN109062962A (zh) * | 2018-06-27 | 2018-12-21 | 华南理工大学 | 一种融合天气信息的门控循环神经网络兴趣点推荐方法 |
CN109726336A (zh) * | 2018-12-21 | 2019-05-07 | 长安大学 | 一种结合出行兴趣与社交偏好的poi推荐方法 |
CN109800350A (zh) * | 2018-12-21 | 2019-05-24 | 中国电子科技集团公司信息科学研究院 | 一种个性化新闻推荐方法及系统、存储介质 |
CN110119475A (zh) * | 2019-01-29 | 2019-08-13 | 成都信息工程大学 | 一种poi推荐方法及推荐系统 |
CN110287335A (zh) * | 2019-06-17 | 2019-09-27 | 桂林电子科技大学 | 基于知识图谱和用户长短期偏好的个性化景点推荐方法及装置 |
CN110399565A (zh) * | 2019-07-29 | 2019-11-01 | 北京理工大学 | 基于时空周期注意力机制的递归神经网络兴趣点推荐方法 |
-
2020
- 2020-01-09 CN CN202010022487.9A patent/CN111241419B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9857177B1 (en) * | 2012-06-20 | 2018-01-02 | Amazon Technologies, Inc. | Personalized points of interest for mapping applications |
CN108804689A (zh) * | 2018-06-14 | 2018-11-13 | 合肥工业大学 | 面向问答平台的融合用户隐连接关系的标签推荐方法 |
CN109062962A (zh) * | 2018-06-27 | 2018-12-21 | 华南理工大学 | 一种融合天气信息的门控循环神经网络兴趣点推荐方法 |
CN109726336A (zh) * | 2018-12-21 | 2019-05-07 | 长安大学 | 一种结合出行兴趣与社交偏好的poi推荐方法 |
CN109800350A (zh) * | 2018-12-21 | 2019-05-24 | 中国电子科技集团公司信息科学研究院 | 一种个性化新闻推荐方法及系统、存储介质 |
CN110119475A (zh) * | 2019-01-29 | 2019-08-13 | 成都信息工程大学 | 一种poi推荐方法及推荐系统 |
CN110287335A (zh) * | 2019-06-17 | 2019-09-27 | 桂林电子科技大学 | 基于知识图谱和用户长短期偏好的个性化景点推荐方法及装置 |
CN110399565A (zh) * | 2019-07-29 | 2019-11-01 | 北京理工大学 | 基于时空周期注意力机制的递归神经网络兴趣点推荐方法 |
Non-Patent Citations (4)
Title |
---|
基于时序和距离的门控循环单元兴趣点推荐算法;夏永生;王晓蕊;白鹏;李梦梦;夏阳;张凯;;计算机工程(第01期);全文 * |
结合地点类别和社交网络的兴趣点推荐;唐浩然;曾骏;李烽;文俊浩;;重庆大学学报(第07期);全文 * |
融合时空感知GRU和注意力的下一个地点推荐;李全;许新华;刘兴红;陈琦;;计算机应用(第03期);全文 * |
融合社交关系与地理信息的兴趣点推荐模型;张进;孙福振;王绍卿;王帅;鹿祥志;;计算机工程与应用(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111241419A (zh) | 2020-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111241419B (zh) | 一种基于用户关系嵌入模型的下一个兴趣点推荐方法 | |
Feng et al. | Poi2vec: Geographical latent representation for predicting future visitors | |
CN110363282B (zh) | 一种基于图卷积网络的网络节点标签主动学习方法和系统 | |
Wang et al. | Towards real-time demand-aware sequential POI recommendation | |
CN111949865A (zh) | 基于图神经网络与用户长短期偏好的兴趣点推荐方法 | |
CN113705772A (zh) | 一种模型训练方法、装置、设备及可读存储介质 | |
CN103745105B (zh) | 一种社交网络中用户属性的预测方法及系统 | |
CN109062962B (zh) | 一种融合天气信息的门控循环神经网络兴趣点推荐方法 | |
CN109508428B (zh) | 基于兴趣点真流行度与隐式信任挖掘的兴趣点推荐方法 | |
CN113139140B (zh) | 基于时空感知gru并结合用户关系偏好的旅游景点推荐方法 | |
CN109933720B (zh) | 一种基于用户兴趣自适应演化的动态推荐方法 | |
CN116010684A (zh) | 物品推荐方法、装置及存储介质 | |
CN113422761B (zh) | 基于对抗学习的恶意社交用户检测方法 | |
CN116244513B (zh) | 随机群组poi推荐方法、系统、设备及存储介质 | |
CN109948066A (zh) | 一种基于异构信息网络的兴趣点推荐方法 | |
CN115270007B (zh) | 一种基于混合图神经网络的poi推荐方法及系统 | |
Xiong et al. | A point-of-interest suggestion algorithm in Multi-source geo-social networks | |
CN115329211B (zh) | 一种基于自监督学习和图神经网络的个性化兴趣推荐方法 | |
CN114298851A (zh) | 基于图表征学习的网络用户社交行为分析方法、装置及存储介质 | |
Sivaramakrishnan et al. | An effective user clustering-based collaborative filtering recommender system with grey wolf optimisation | |
Zhao et al. | GT-SEER: geo-temporal sequential embedding rank for point-of-interest recommendation | |
CN109684561B (zh) | 基于用户签到行为变化的深层语义分析的兴趣点推荐方法 | |
CN114238773A (zh) | 基于对比学习和双边协同的下一个兴趣点推荐方法和装置 | |
Li et al. | Multi-modal representation learning for successive poi recommendation | |
Rezaeipanah et al. | Link prediction in social networks using the extraction of graph topological features |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |