CN113139140B - 基于时空感知gru并结合用户关系偏好的旅游景点推荐方法 - Google Patents
基于时空感知gru并结合用户关系偏好的旅游景点推荐方法 Download PDFInfo
- Publication number
- CN113139140B CN113139140B CN202110534464.0A CN202110534464A CN113139140B CN 113139140 B CN113139140 B CN 113139140B CN 202110534464 A CN202110534464 A CN 202110534464A CN 113139140 B CN113139140 B CN 113139140B
- Authority
- CN
- China
- Prior art keywords
- user
- preference
- vector
- model
- gru
- 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 46
- 230000008447 perception Effects 0.000 title claims abstract description 19
- 239000013598 vector Substances 0.000 claims abstract description 111
- 230000000737 periodic effect Effects 0.000 claims abstract description 29
- 238000012549 training Methods 0.000 claims abstract description 23
- 230000007774 longterm Effects 0.000 claims abstract description 20
- 239000011159 matrix material Substances 0.000 claims description 13
- 238000010586 diagram Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 238000012360 testing method Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 8
- 238000005295 random walk Methods 0.000 claims description 8
- 238000013528 artificial neural network Methods 0.000 claims description 7
- 238000007781 pre-processing Methods 0.000 claims description 4
- 230000004931 aggregating effect Effects 0.000 claims description 3
- 230000007704 transition Effects 0.000 claims description 3
- 238000002474 experimental method Methods 0.000 abstract description 12
- 238000005065 mining Methods 0.000 abstract description 3
- 230000004913 activation Effects 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 238000011160 research 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/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- 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/9535—Search customisation based on user profiles and personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于时空感知GRU并结合用户关系偏好的旅游景点推荐方法,主要由三个部分组成:用户关系挖掘、用户偏好建模以及模型的训练。本发明解决了现有方法只考虑用户朋友关系而缺乏用户偏好相似的问题,有效提高了推荐模型的准确率。本发明把得到预训练的用户关系向量、用户长期偏好向量、当前偏好向量和周期偏好向量进行拼接当做用户最终的总偏好向量,最终旅游景点推荐的概率是由最终总偏好向量与旅游景点集合向量的内积形式表示。本发明在两个公开真实的数据集上进行实验,实验结果表明提出的模型显著优于当前主流模型。
Description
技术领域
本发明属于神经网络和推荐***的技术领域,尤其涉及一种基于时空感知GRU并结合用户关系偏好的旅游景点推荐方法。
背景技术
移动网络的迅速发展和智能设备的普遍应用,使得大量包含位置信息和文本信息的空间-文本对象涌现在Web上,推动了基于位置的社交网络发展,这些空间-文本对象表示了现实中的兴趣点,如餐厅、景点、宾馆等地点,以空间-文本对象为背景的兴趣点推荐技术正成为当前时空数据库、推荐***和基于位置的服务领域备受关注的研究热点。
然而现有的关于旅游路线推荐模型没有对影响旅游景点推荐准确性的用户关系和用户偏好进行深入探索。而实际上,用户访问的下一个兴趣点会受到多方面因素影响,包括用户历史签到、兴趣点的序列信息、用户偏好、朋友关系、空间位置和签到时间信息的影响。
发明内容
基于以上现有技术的不足,本发明所解决的技术问题在于提供一种基于时空感知GRU并结合用户关系偏好的旅游景点推荐方法,准确的对用户关系和用户偏好进行深入探索,同时使推荐的旅游路线具有时空性。
为了解决上述技术问题,本发明通过以下技术方案来实现:
本发明提供的基于时空感知GRU并结合用户关系偏好的旅游景点推荐方法,包括以下步骤:
步骤S1:对数据进行预处理,获得用户的历史签到序列;
步骤S2:根据朋友关系和用户历史签到记录数据分别建立朋友关系表和偏好相似关系表;
步骤S3:根据构建的图模型然后使用嵌入的方法对用户关系序列进行预训练,得到用户关系向量;
步骤S4:将用户偏好被细分为长期用户偏好(长期偏好),短期用户偏好(短期偏好)和当前用户偏好(当前偏好),并用不同的模型对其进行建模;
步骤S5:为了获得用户的周期偏好表示,利用时空感知GRU模型并加入分层注意力机制捕获用户的周期偏好信息;
步骤S6:将用户关系向量、用户历史偏好向量、当前偏好向量和周期偏好向量进行拼接作为用户最终偏好表示。最终偏好向量与兴趣点向量的内积形式将用于表示用户最后访问旅游景点的推荐;
步骤S7:模型代码的实现。
优选的,所述步骤S1的具体步骤为:
步骤S11:使用两个公开数据集,即Foursquare和Gowalla数据集。删除访问次数少于10次的用户和访问次数少于10次的位置。我们将训练和测试数据分割如下:对于每个单独的用户,(1)聚集每个位置的登记;(2)根据用户首次入住的时间对位置进行排序;(3)选择最早的80%来训练模型,并使用接下来的20%作为测试。
进一步的,所述步骤S2的具体步骤为:
S21、由S1预处理之后的历史签到序列的数据建立朋友关系表;
S22、建立偏好相似关系表,偏好相似关系表由数据集中每个用户历史访问过得兴趣点的记录建立,如果用户访问过某一个兴趣点,那么偏好关系表中相应位置的数值为1,否则为0;
S23、建立用户关系图,用户关系图根据步骤S21中的朋友关系表和步骤S22中的偏好相似表得到。
进一步的,所述步骤S3的具体步骤为:
步骤S31:整合偏好相似关系图和朋友关系图。为了得到最终的用户关系图,选择使用权重的方式来计算用户最终关系紧密程度,即计算两种用户关系边上的权重。最终整合两类用户关系图边权重的计算方式如下:
其中表示在相似关系表和朋友关系表中用户i与j有边相连的权值之和,α控制两类用户关系的权重参数。在实验中α设置为0.8;
步骤S32、DeepWalk方法被用来对用户关系图进行预训练,利用重启随机游走方法来评估图中两个节点之间的相关性。从一个用户到另一个用户的随机游走的概率可定义为:
其中,probability(ui|uj)表示图中节点i到节点j的转移概率,f(ui,uj)表示从ui到uj边的权值,um表示与ui有边相连的节点,执行以上步骤之后,可获得用于模型训练的序列的输入数据;
步骤S33、基于HierarchicalSoftmax的Skip-gram语言模型的每个输入样本形式为(u,context(u)),其中u表示序列中的一个用户,context(u)是序列中与u邻近的用户,u的嵌入向量表示为xu,根节点到u所在的叶子节点的总路径长度表示为lu,表示用户u在路径中相应的哈夫曼树编码,在此基础上,用户u预测context(u)的可能性表示为:
其中p(w|u)可表示为:
语料库中所有用户的联合概率用对数似然形式表示为:
U表示数据集中所有用户的集合,σ(·)是sigmoid函数,是对应于/>的参数,为了得到最优向量,要把L最大化,需要对/>和xu分别求偏导:
用户的嵌入向量xu的更新公式可以写成:
在用Skip-Gram模型的训练过程中,滑动窗口大小设置为5,用户关系嵌入向量的长度设置为100维。通过以上嵌入过程,可将每个用户与其他用户的关系用一个100维向量表示。
可选的,所述步骤S4的具体步骤为:
步骤S41、对长期偏好的建模:表示用户访问过的兴趣点的嵌入向量,/>表示用户在ti时刻的签到ID的嵌入向量表示,|P|表示用户访问过的兴趣点总数。公式如下:
长期访问的旅游景点可以由用户之前访问过的所有旅游景点来共同表示。
步骤S42、当前偏好的建模;以前的模型未充分挖掘移动序列中蕴藏的用户主要行为意图,一个用户的历史签到序列中不同时间的信息对预测用户未来移动行为并不是同等重要,需要进一步关注序列中更重要的信息。所以在此以GRU网络为基础进行扩展并构建了时空感知GRU,将连续的地理距离和时间间隔信息同时融入时空感知GRU网络中。时空感知GRU模型使用用户最近6个小时内签到序列信息的最后一个时刻的输出向量作为当前偏好的建模。
步骤S43、短期偏好与当前偏好只是输入信息的时间段不同,使用时空感知GRU模型捕获近期签到序列信息作为用户的短期偏好表示,并利用分层注意力机制捕获用户当前偏好和短期偏好的周期影响,从而对周期偏好建模。
可选的,所述步骤S42中把旅游景点用v表示,兴趣点集合表示为Q={v1,v2,…},每个兴趣点均关联唯一的一个经纬度地理坐标。在位置社交网络中,用户签到记录通常包含用户ID、兴趣点ID、签到时间、签到内容等信息,用户ID是辨别用户身份的唯一标识;兴趣点为一个具体的地点,并关联了唯一的经纬度坐标,兴趣点ID是辨别地点的唯一标识;签到时间表示具体的时间信息;签到内容包括评论文本以及图片等信息。每个用户的签到记录可以按时间顺序排列构成一个连续签到序列。专利中,用户u的签到序列表示为表示用户u在tN时刻的签到记录。本步骤定义了连续签到序列。
时空上下文包含了空间上下文和时间上下文。在发明中,空间上下文是指用户当前签到与上一次以及下一次签到的空间关系。由于不同的用户存在不同的空间偏好,所以本发明采用连续移动的地理距离作为空间上下文,为的是捕获这种个性化空间偏好关系。本步骤定义了时空上下文。
本发明采用标准GRU作为基础的网络结构。GRU的隐藏单元中的重置门和更新门用于控制信息流动,具体计算公式如下:
UzUrUcWzWrWc作为转换矩阵,bzbrbc作为偏置向量。表示用户u的输入向量,tk表示时间步。/>表示通过tanh(·)计算元素激活的候选状态。/>表示隐藏向量。σ表示Sigmoid激活函数σ(x)=1/(1+e-x)。⊙为哈达玛积,表示两个向量间对应元素相乘。
把地理距离和时间间隔信息加入GRU模型使其成为时空感知GRU模型。具体计算公式如下:
式中,和/>分别表示/>和/>之间的地理距离和时间间隔的向量。WsrWszWsh为/>的转换矩阵,WgzWgrWgh为/>的转换矩阵。因此,/>包含原始输入信息/>空间上下文信息/>和时间上下文信息/>用户在每个隐藏状态下的偏好得到了更充分的学习。
为了解决数据稀疏性问题,具体计算公式如下:
式中,U(δs)和L(δg)分别表示特定地理距离δs的最大值和最小值。同理,L(δs)U(δg)分别表示特定时间间隔δg的最大值和最小值。WL(δs)WU(δs)表示空间因子矩阵,WU(δg)WL(δg)表示时间因子矩阵。
可选的,所述步骤S5的具体步骤为:
S51、用户的短期建模与当前建模只是输入信息的时间段不同,短期建模使用用户最近2个月内的签到信息进行建模。被时空感知GRU模型训练的作为其短期偏好的输出向量。/>作为当前偏好的输出向量。
S52、本发明利用分层注意力机制捕获用户当前偏好和短期偏好的周期影响。使用分层注意力的公式建模可以用下式表示:
式中表示短期偏好模型的每一时刻的输出,/>是/>经过一层全连接神经网络后的向量表示。/>向量被随机初始化,在本文模型中,/>使用当前偏好模型的最后一个时刻输出向量表示,/>表示用户的周期偏好向量。
可选的,所述步骤S6的具体步骤为:
步骤S61、将以上所有求出的向量包括用户关系向量、用户长期偏好向量、当前偏好向量和周期偏好向量进行整合并与兴趣点向量进行内积得到下一个旅游路线的推荐概率。具体公式为:
式中,xu是嵌入了用户关系的向量,ulong为用户的长期偏好,为当前偏好模型的最后一个时刻输出向量,/>为用户的周期偏好。/>为输出层的权重参数,WvWsWg为转换矩阵。
之后通过如下公式计算模型的损失。模型最终的训练目标是优化下面的损失函数:
1(P,Qt)表示若果在输入序列为Qt的条件下模型能够正确预测真实的兴趣点P,那么1(P,Qt)=1,否则为0。θ表示所有可训练参数,λ为正则化系数,实验中设置为0.0001。
针对旅游景点推荐的Top-k排序问题,采用两类最为常用的评价指标,即Recall和F1-score。
式中,k表示向用户推荐的兴趣点的数量,实验中,分别设置k={5,10,20}。
可选的,所述步骤S7代码实现的具体步骤为:
步骤S71、数据预处理。
运行Foursquare数据集预处理文件.py”:该文件赛选掉小于10个不常访问的兴趣点和兴趣点点签到小于10个的文件。输入“checkin_Foursquare_venues.txt“和”fs_friendship_Foursquare.txt两个文件。输出“my_Foursquare-dataset-less10.txt””new_friendship_ca.txt”两个文件。
步骤S72、生成用户关系嵌入文件;
运行“2-01根据用户的签到数据生成用户关系嵌入数据.py”:该文件生成用于预训练用户关系的输入数据。输入:“my_Foursquare-dataset-less10.txt”和”new_friendship_ca.txt”两个文件。输出:“随机游走序列—100次—50步“
运行“2-02训练嵌入数据.py”文件:该文件对用户关系进行嵌入。输入:“随机游走序列—100次—50步.txt“输出:“sum_relation_100.kv”和“sum_relation_100.model”文件。
步骤S73、生成神经网络输入的数据
运行“生成神经网络输入数据.py”:该文件用户生成升级网络输入的相关文件。输入“my_Foursquare-dataset-less10.txt”输出“user_check.txt”、”target.txt”、”session.txt”和”month.txt”。
步骤S74、运行神经网络模型:改模型用于运行和测试推荐效果。输入:“user_check.txt”、”target.txt”、”session.txt”和”month.txt”和“sum_relation_100.kv”和“sum_relation_100.model”文件。输出:在程序的控制台会输出相关准确率等评价和程序的迭代过程。
由上,本发明将用户关系划分为相似用户偏好关系和朋友关系,并通过嵌入的方法学习用户关系向量表示。本发明把用户偏好细分为用户长期偏好、短期偏好和当前偏好,并对三种偏好进行建模。加入了分层注意力机制来捕获用户的周期影响,使用了时空感知GRU模型对用户的序列签到行为建模,最后整合用户关系,用户长期偏好,当前偏好以及周期偏好并且和具有时空上下文信息的兴趣点向量进行内积运算最终得到了旅游路线的推荐。
本发明在最后在两个真实的数据集上用许多最先进的基线方法和评估指标进行了广泛的实验,实验结果证明了该发明的有效性。该发明改进了传统的旅游路线推荐***,提高了推荐的准确性,对多样性旅游路线的发展具有实际意义。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下结合优选实施例,并配合附图,详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例的附图作简单地介绍。
图1为本发明的基于时空感知GRU并结合用户关系偏好的旅游景点推荐方法的流程图;
图2为结合了用户偏好相似和朋友关系的用户关系图;
图3为引入了时空上下文信息并且加入了分层注意力机制的时空感知GRU模型图;
图4为使用分层注意力获取用户周期偏好图;
图5为不同特征向量维度下的对比实验图。
具体实施方式
下面结合附图详细说明本发明的具体实施方式,其作为本说明书的一部分,通过实施例来说明本发明的原理,本发明的其他方面、特征及其优点通过该详细说明将会变得一目了然。在所参照的附图中,不同的图中相同或相似的部件使用相同的附图标号来表示。
在本发明中,为了测试对兴趣点的推荐的准确性。在Gowalla和Foursquare数据集上进行实验,Gowalla包含2009年1月至2010年8月的入住数据,Foursquare包含2009年12月至2013年6月居住在加州的用户的入住数据。数据集中的每个登记记录包括一个用户标识、一个位置标识和一个时间戳,其中每个位置都有纬度、经度和类别信息。Gowalla和Foursquare总共分别有262个和10个类别。
为了评估模型的冷启动推荐性能,对于每个数据集,将其分为三个步骤。首先,删除访问次数少于10次的用户和访问次数少于10次的位置。将训练和测试数据分割如下:对于每个单独的用户,(1)聚集每个位置的登记;(2)根据用户首次入住的时间对位置进行排序;(3)选择最早的80%来训练模型,并使用接下来的20%作为测试。第二,在其余的登记中(即,被少于10个用户访问并且不包括在训练中的位置),使用那些其位置被训练数据中的用户访问的登记来评估模型对于下一个兴趣点推荐的性能。第三,在其余的签到中(即访问过少于10个地点的用户),使用那些用户不在训练数据中的签到来评估用户冷启动推荐性能。数据统计如表1所示。
表1
数据集 | 用户 | 旅游景点 | 签入 | 训练 | 测试 | 稀疏性 |
Gowalla | 52216 | 98351 | 2577336 | 2049630 | 527706 | 0.0399% |
Foursquare | 2551 | 13474 | 124933 | 100033 | 24900 | 0.2910% |
如图1至图5所示,本发明的基于时空感知GRU并结合用户关系偏好的旅游景点推荐方法,其整体处理流程包括如下步骤:
步骤1:根据朋友关系和用户历史签到记录数据分别建立朋友关系表和偏好相似关系表,通过两个表建立用户关系图,具体步骤如下:
步骤1.1:建立朋友关系表,朋友关系表由数据集提供的用户朋友关系数据集建立。用户关系表中的每行表示两个用户在社交软件中为朋友关系。朋友关系表如表2所示:
表2:朋友关系表
用户ID | 用户ID |
1 | 2 |
2 | 1 |
3 | 4 |
4 | 3 |
说明:表中第一行数值表示用户ID=1的朋友是用户ID=2。朋友间是互相的关系。
步骤1.2:建立偏好相似关系表,偏好相似关系表由数据集中每个用户历史访问过得兴趣点的记录建立。如果用户访问过某一个旅游景点,那么偏好关系表中相应位置的数值为1,否则为0。偏好关系表如表3所示:
表3:偏好相似关系表
旅游景点 | 用户1 | 用户2 | 用户3 | 用户4 | 用户5 |
A | 1 | 1 | 0 | 1 | 1 |
B | 0 | 1 | 0 | 0 | 0 |
C | 1 | 1 | 0 | 1 | 0 |
D | 1 | 0 | 1 | 1 | 1 |
说明:表中用户1-5表示不同的用户编号,ABCD表示不同的旅游景点,图中的数值表示用户是否访问过该兴趣点。
步骤1.3:建立用户关系图,用户关系图根据步骤1.1中的朋友关系表和步骤1.2中的偏好相似表得到。选择使用权重的方式来计算用户最终关系紧密程度,即计算两种用户关系边上的权重。最终整合两类用户关系图边权重的计算方式如下:
其中表示在相似关系表和朋友关系表中用户i与j有边相连的权值之和,α控制两类用户关系的权重参数。在实验中α设置为0.8。具体计算步骤图2所示。
步骤2:DeepWalk方法被用来对用户关系图进行预训练,利用重启随机游走方法来评估图中两个节点之间的相关性。从一个用户到另一个用户的随机游走的概率可定义为:
其中,probability(ui|uj)表示图中节点i到节点j的转移概率,f(ui,uj)表示从ui到uj边的权值,um表示与ui有边相连的节点,执行以上步骤之后,可获得用于模型训练的序列的输入数据。
步骤2.1:基于HierarchicalSoftmax的Skip-gram语言模型的每个输入样本形式为(u,context(u)),其中u表示序列中的一个用户,context(u)是序列中与u邻近的用户,u的嵌入向量表示为xu,根节点到u所在的叶子节点的总路径长度表示为lu,表示用户u在路径中相应的哈夫曼树编码,在此基础上,用户u预测context(u)的可能性表示为:
其中p(w|u)可表示为:
语料库中所有用户的联合概率用对数似然形式表示为:
U表示数据集中所有用户的集合,σ(·)是sigmoid函数,是对应于/>的参数,为了得到最优向量,要把L最大化,需要对/>和xu分别求偏导:
用户的嵌入向量xu的更新公式可以写成:
在用Skip-Gram模型的训练过程中,滑动窗口大小设置为5,用户关系嵌入向量的长度设置为100维。通过以上嵌入过程,可将每个用户与其他用户的关系用一个100维向量表示。
步骤3:对不同时期用户偏好的建模。
步骤3.1对长期偏好的建模:表示用户访问过的兴趣点的嵌入向量,/>表示用户在ti时刻的签到ID的嵌入向量表示,|P|表示用户访问过的兴趣点总数。公式如下:
步骤3.2如图3所示,介绍了在GRU的基础之上加入了时空上下文的变体时空感知GRU模型,并用此对用户的当前偏好进行建模。
旅游景点用v表示,旅游景点集合表示为Q={v1,v2,…},每个兴趣点均关联唯一的一个经纬度地理坐标。在位置社交网络中,用户签到记录通常包含用户ID、兴趣点ID、签到时间、签到内容等信息,用户ID是辨别用户身份的唯一标识;兴趣点为一个具体的地点,并关联了唯一的经纬度坐标,兴趣点ID是辨别地点的唯一标识;签到时间表示具体的时间信息;签到内容包括评论文本以及图片等信息。每个用户的签到记录可以按时间顺序排列构成一个连续签到序列。发明中,用户u的签到序列表示为表示用户u在tN时刻的签到记录。定义了连续签到序列。
时空上下文包含了空间上下文和时间上下文。在发明中,空间上下文是指用户当前签到与上一次以及下一次签到的空间关系。由于不同的用户存在不同的空间偏好,所以本发明采用连续移动的地理距离作为空间上下文,为的是捕获这种个性化空间偏好关系。
本发明采用标准GRU作为基础的网络结构。GRU的隐藏单元中的重置门和更新门用于控制信息流动,具体计算公式如下:
UzUrUcWzWrWc作为转换矩阵,bzbrbc作为偏置向量。表示用户u的输入向量,tk表示时间步。/>表示通过tanh(·)计算元素激活的候选状态。/>表示隐藏向量。σ表示Sigmoid激活函数σ(x)=1/(1+e-x)。⊙为哈达玛积,表示两个向量间对应元素相乘。
把地理距离和时间间隔信息加入GRU模型使其成为时空感知GRU模型。具体计算公式如下:
式中,和/>分别表示/>和/>之间的地理距离和时间间隔的向量。WsrWszWsh为/>的转换矩阵,WgzWgrWgh为/>的转换矩阵。因此,/>包含原始输入信息/>空间上下文信息/>和时间上下文信息/>用户在每个隐藏状态下的偏好得到了更充分的学习。
为了解决数据稀疏性问题,具体计算公式如下:
/>
式中,U(δs)和L(δg)分别表示特定地理距离δs的最大值和最小值。同理,L(δs)U(δg)分别表示特定时间间隔δg的最大值和最小值。WL(δs)WU(δs)表示空间因子矩阵,WU(δg)WL(δg)表示时间因子矩阵。
作为当前偏好的输出向量。
步骤3.2:用户的短期建模与当前建模只是输入信息的时间段不同,短期建模使用用户最近2个月内的签到信息进行建模。把用时空感知GRU模型训练的作为其短期偏好的输出向量。
步骤3.3受到DeepMove模型启发,用户的周期偏好对于下一个兴趣点具有一定的影响。获取周期偏好的过程如图4所示。
本发明利用分层注意力机制捕获用户当前偏好和短期偏好的周期影响。使用分层注意力的公式建模可以用下式表示:
式中表示短期偏好模型的每一时刻的输出,/>是/>经过一层全连接神经网络后的向量表示。/>向量被随机初始化,然而在本发明模型中,/>使用当前偏好模型的最后一个时刻输出向量表示,/>表示用户的周期偏好向量。
步骤4:将以上所有求出的向量包括用户关系向量、用户长期偏好向量、当前偏好向量和周期偏好向量进行整合并与兴趣点向量进行内积得到下一个旅游路线的推荐概率。具体公式为:
式中,xu是嵌入了用户关系的向量,ulong为用户的长期偏好,为当前偏好模型的最后一个时刻输出向量,/>为用户的周期偏好。/>为输出层的权重参数。WvWsWg为转换矩阵。
之后通过如下公式计算模型的损失。模型最终的训练目标是优化下面的损失函数:
1(P,Qt)表示若果在输入序列为Qt的条件下模型能够正确预测真实的兴趣点P,那么1(P,Qt)=1,否则为0。θ表示所有可训练参数,λ为正则化系数,实验中设置为0.0001。
针对旅游景点推荐的Top-k排序问题,采用两类最为常用的评价指标,即Recall和F1-score。
式中,k表示向用户推荐的兴趣点的数量,实验中,分别设置k={5,10,20}。如图五所示,地点特征向量的维度越高表示具有更好的特征表达能力。随着特征向量的增加,本模型召回率和F1值也逐渐增加。当特征向量维度在80~200时,该地点推荐算法的召回率和F1值趋向于稳定,所以本实验中潜在特征向量的维度取80。不同特征向量维度下的本发明方法的召回率和F1值如图3所示。
实验结果证明了该发明的有效性,该发明改进了传统的旅游路线的推荐***,在一定程度上提高了推荐***的准确率和神经网络的收敛速度。对基于时空上下文的旅游路线推荐的发展具有实际意义。
本发明主要由三个部分组成:用户关系挖掘、用户偏好建模以及模型的训练。用户关系挖掘使用DeepWalk用于学习用户关系的向量表示。学习过程又可分为两步,第一步:根据用户的朋友关系和签到行为构建用户关系图,第二步根据构建的图模型然后使用嵌入的方法对用户关系序列进行预训练,最终得到用户关系向量的表示。解决了现有方法只考虑用户朋友关系而缺乏用户偏好相似的问题,有效提高了推荐模型的准确率。本发明把用户偏好细分为长期用户偏好(长期偏好),周期偏好(短期偏好)和当前用户偏好(当前偏好),而且本发明加入了分层注意力机制捕获用户当前偏好和短期偏好的周期影响,这样的好处是避免了对签到记录进行按天划分而导致的签到信息的连续性缺失的问题。最后把得到预训练的用户关系向量、用户长期偏好向量、当前偏好向量和周期偏好向量进行拼接当做用户最终的总偏好向量。最终旅游景点推荐的概率是由最终总偏好向量与旅游景点集合向量的内积形式表示。本发明在两个公开真实的数据集上进行实验,实验结果表明提出的模型显著优于当前主流模型。
以上所述是本发明的优选实施方式而已,当然不能以此来限定本发明之权利范围,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和变动,这些改进和变动也视为本发明的保护范围。
Claims (8)
1.基于时空感知GRU并结合用户关系偏好的旅游景点推荐方法,其特征在于,包括以下步骤:
步骤S1:对数据进行预处理,获得用户的历史签到序列;
步骤S2:根据朋友关系和用户历史签到记录数据分别建立朋友关系表和偏好相似关系表;
步骤S3:根据构建的图模型然后使用嵌入的方法对用户关系序列进行预训练,得到用户关系向量;
步骤S4:将用户偏好被细分为长期用户偏好,短期用户偏好和当前用户偏好,并用不同的模型对其进行建模;
步骤S5:为了获得用户的周期偏好表示,利用时空感知GRU模型并加入分层注意力机制捕获用户的周期偏好信息;
步骤S6:将用户关系向量、用户历史偏好向量、当前偏好向量和周期偏好向量进行拼接作为用户最终偏好表示,最终偏好向量与兴趣点向量的内积形式将用于表示用户最后访问旅游景点的推荐;
步骤S7:模型代码的实现。
2.如权利要求1所述的基于时空感知GRU并结合用户关系偏好的旅游景点推荐方法,其特征在于,所述步骤S1的具体步骤为:
步骤S11:使用两个公开数据集,即Foursquare和Gowalla数据集;删除访问次数少于10次的用户和访问次数少于10次的位置,将训练和测试数据分割如下:对于每个单独的用户,聚集每个位置的登记;根据用户首次入住的时间对位置进行排序;选择最早的80%来训练模型,并使用接下来的20%作为测试。
3.如权利要求1所述的基于时空感知GRU并结合用户关系偏好的旅游景点推荐方法,其特征在于,所述步骤S2的具体步骤为:
S21、由步骤S1预处理之后的历史签到序列的数据建立朋友关系表;
S22、建立偏好相似关系表,偏好相似关系表由数据集中每个用户历史访问过得兴趣点的记录建立,如果用户访问过某一个兴趣点,那么偏好关系表中相应位置的数值为1,否则为0;
S23、建立用户关系图,用户关系图根据步骤S21中的朋友关系表和步骤S22中的偏好相似表得到。
4.如权利要求1所述的基于时空感知GRU并结合用户关系偏好的旅游景点推荐方法,其特征在于,所述步骤S3的具体步骤为:
步骤S31:整合偏好相似关系图和朋友关系图,选择使用权重的方式来计算用户最终关系紧密程度,即计算两种用户关系边上的权重,最终整合两类用户关系图边权重的计算方式如下:
其中表示在相似关系表和朋友关系表中用户i与j有边相连的权值之和,α控制两类用户关系的权重参数;
步骤S32、DeepWalk方法被用来对用户关系图进行预训练,利用重启随机游走方法来评估图中两个节点之间的相关性,从一个用户到另一个用户的随机游走的概率可定义为:
其中,probability(ui|uj)表示图中节点i到节点j的转移概率,f(ui,uj)表示从ui到uj边的权值,um表示与ui有边相连的节点,执行以上步骤之后,可获得用于模型训练的序列的输入数据;
步骤S33、基于Hierarchical Softmax的Skip-gram语言模型的每个输入样本形式为(u,context(u)),其中u表示序列中的一个用户,context(u)是序列中与u邻近的用户,u的嵌入向量表示为xu,根节点到u所在的叶子节点的总路径长度表示为lu,表示用户u在路径中相应的哈夫曼树编码,在此基础上,用户u预测context(u)的可能性表示为:
其中p(w|u)可表示为:
语料库中所有用户的联合概率用对数似然形式表示为:
U表示数据集中所有用户的集合,σ(·)是sigmoid函数,是对应于/>的参数,为了得到最优向量,要把L最大化,需要对/>和xu分别求偏导:
用户的嵌入向量xu的更新公式可以写成:
在用Skip-Gram模型的训练过程中,滑动窗口大小设置为5,用户关系嵌入向量的长度设置为100维,通过以上嵌入过程,可将每个用户与其他用户的关系用一个100维向量表示。
5.如权利要求1所述的基于时空感知GRU并结合用户关系偏好的旅游景点推荐方法,其特征在于,所述步骤S4的具体步骤为:
步骤S41、对长期偏好的建模:表示用户访问过的兴趣点的嵌入向量,/>表示用户在ti时刻的签到ID的嵌入向量表示,|P|表示用户访问过的兴趣点总数,公式如下:
长期访问的旅游景点可以由用户之前访问过的所有旅游景点来共同表示;
步骤S42、当前偏好的建模;以前的模型未充分挖掘移动序列中蕴藏的用户主要行为意图,一个用户的历史签到序列中不同时间的信息对预测用户未来移动行为并不是同等重要,需要进一步关注序列中更重要的信息;
步骤S43、短期偏好与当前偏好只是输入信息的时间段不同,使用时空感知GRU模型捕获近期签到序列信息作为用户的短期偏好表示,并利用分层注意力机制捕获用户当前偏好和短期偏好的周期影响,对周期偏好建模。
6.如权利要求5所述的基于时空感知GRU并结合用户关系偏好的旅游景点推荐方法,其特征在于,所述步骤S42中把旅游景点用v表示,兴趣点集合表示为Q={v1,v2,…},每个兴趣点均关联唯一的一个经纬度地理坐标,在位置社交网络中,用户签到记录通常包含用户ID、兴趣点ID、签到时间、签到内容等信息,用户ID是辨别用户身份的唯一标识;兴趣点为一个具体的地点,并关联了唯一的经纬度坐标,兴趣点ID是辨别地点的唯一标识;签到时间表示具体的时间信息;签到内容包括评论文本以及图片等信息;每个用户的签到记录可以按时间顺序排列构成一个连续签到序列。
7.如权利要求1所述的基于时空感知GRU并结合用户关系偏好的旅游景点推荐方法,其特征在于,所述步骤S5的具体步骤为:
S51、用户的短期建模与当前建模只是输入信息的时间段不同,短期建模使用用户最近2个月内的签到信息进行建模,被时空感知GRU模型训练的作为其短期偏好的输出向量;/>作为当前偏好的输出向量;
S52、利用分层注意力机制捕获用户当前偏好和短期偏好的周期影响,使用分层注意力的公式建模可以用下式表示:
式中表示短期偏好模型的每一时刻的输出,/>是/>经过一层全连接神经网络后的向量表示,/>向量被随机初始化,然而在本文模型中,/>使用当前偏好模型的最后一个时刻输出向量表示,/>表示用户的周期偏好向量。
8.如权利要求1所述的基于时空感知GRU并结合用户关系偏好的旅游景点推荐方法,其特征在于,所述步骤S6的具体步骤为:
步骤S61、将以上所有求出的向量包括用户关系向量、用户长期偏好向量、当前偏好向量和周期偏好向量进行整合并与兴趣点向量进行内积得到下一个旅游路线的推荐概率,具体公式为:
式中,xu是嵌入了用户关系的向量,ulong为用户的长期偏好,为当前偏好模型的最后一个时刻输出向量,/>为用户的周期偏好,/>为输出层的权重参数,Wv Ws Wg为转换矩阵;
之后通过如下公式计算模型的损失,模型最终的训练目标是优化下面的损失函数:
1(P,Qt)表示若果在输入序列为Qt的条件下模型能够正确预测真实的兴趣点P,那么1(P,Qt)=1,否则为0,θ表示所有可训练参数,λ为正则化系数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110534464.0A CN113139140B (zh) | 2021-05-17 | 2021-05-17 | 基于时空感知gru并结合用户关系偏好的旅游景点推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110534464.0A CN113139140B (zh) | 2021-05-17 | 2021-05-17 | 基于时空感知gru并结合用户关系偏好的旅游景点推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113139140A CN113139140A (zh) | 2021-07-20 |
CN113139140B true CN113139140B (zh) | 2024-01-16 |
Family
ID=76817210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110534464.0A Active CN113139140B (zh) | 2021-05-17 | 2021-05-17 | 基于时空感知gru并结合用户关系偏好的旅游景点推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113139140B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114036380A (zh) * | 2021-11-08 | 2022-02-11 | 重庆邮电大学 | 一种基于时间门控循环单元的跨领域序列智能推荐方法 |
CN114579893B (zh) * | 2022-05-09 | 2023-04-07 | 山东大学 | 一种连续poi推荐方法及*** |
CN116049579B (zh) * | 2023-03-06 | 2023-06-02 | 中南大学 | 基于视觉偏好特征的个性化旅游路线推荐方法及装置 |
CN117763492B (zh) * | 2023-12-04 | 2024-06-11 | 淮阴工学院 | 基于时序空间特征和偏好波动的网络安全工具智能推荐方法及装置 |
CN117633371B (zh) * | 2024-01-25 | 2024-04-12 | 云南大学 | 基于多注意力机制的推荐方法、设备和可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101871747B1 (ko) * | 2017-04-07 | 2018-06-27 | 주식회사 화성 | 유사성향 기반 사용자-관광상품 추천 방법 및 시스템 |
CN108921657A (zh) * | 2018-06-25 | 2018-11-30 | 中国人民大学 | 一种基于知识增强记忆网络的序列推荐方法 |
CN110287335A (zh) * | 2019-06-17 | 2019-09-27 | 桂林电子科技大学 | 基于知识图谱和用户长短期偏好的个性化景点推荐方法及装置 |
CN110929164A (zh) * | 2019-12-09 | 2020-03-27 | 北京交通大学 | 一种基于用户动态偏好与注意力机制的兴趣点推荐方法 |
CN111241419A (zh) * | 2020-01-09 | 2020-06-05 | 辽宁工程技术大学 | 一种基于用户关系嵌入模型的下一个兴趣点推荐方法 |
CN112380426A (zh) * | 2020-10-23 | 2021-02-19 | 南京邮电大学 | 一种基于图嵌入与用户长短期兴趣融合的兴趣点推荐方法、*** |
CN112425181A (zh) * | 2018-07-13 | 2021-02-26 | 三星电子株式会社 | 用于预测用户对泛在设备的动作的电子设备和方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190139092A1 (en) * | 2011-04-19 | 2019-05-09 | Jagadeshwar Nomula | Advanced techniques to improve content presentation experiences for businesses and users |
US11443346B2 (en) * | 2019-10-14 | 2022-09-13 | Visa International Service Association | Group item recommendations for ephemeral groups based on mutual information maximization |
-
2021
- 2021-05-17 CN CN202110534464.0A patent/CN113139140B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101871747B1 (ko) * | 2017-04-07 | 2018-06-27 | 주식회사 화성 | 유사성향 기반 사용자-관광상품 추천 방법 및 시스템 |
CN108921657A (zh) * | 2018-06-25 | 2018-11-30 | 中国人民大学 | 一种基于知识增强记忆网络的序列推荐方法 |
CN112425181A (zh) * | 2018-07-13 | 2021-02-26 | 三星电子株式会社 | 用于预测用户对泛在设备的动作的电子设备和方法 |
CN110287335A (zh) * | 2019-06-17 | 2019-09-27 | 桂林电子科技大学 | 基于知识图谱和用户长短期偏好的个性化景点推荐方法及装置 |
CN110929164A (zh) * | 2019-12-09 | 2020-03-27 | 北京交通大学 | 一种基于用户动态偏好与注意力机制的兴趣点推荐方法 |
CN111241419A (zh) * | 2020-01-09 | 2020-06-05 | 辽宁工程技术大学 | 一种基于用户关系嵌入模型的下一个兴趣点推荐方法 |
CN112380426A (zh) * | 2020-10-23 | 2021-02-19 | 南京邮电大学 | 一种基于图嵌入与用户长短期兴趣融合的兴趣点推荐方法、*** |
Also Published As
Publication number | Publication date |
---|---|
CN113139140A (zh) | 2021-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113139140B (zh) | 基于时空感知gru并结合用户关系偏好的旅游景点推荐方法 | |
CN110929164B (zh) | 一种基于用户动态偏好与注意力机制的兴趣点推荐方法 | |
CN110928993B (zh) | 基于深度循环神经网络的用户位置预测方法及*** | |
CN105532030B (zh) | 用于分析目标实体的移动的装置、***和方法 | |
CN109062962B (zh) | 一种融合天气信息的门控循环神经网络兴趣点推荐方法 | |
Wang et al. | Towards real-time demand-aware sequential POI recommendation | |
Zhuang et al. | Understanding People Lifestyles: Construction of Urban Movement Knowledge Graph from GPS Trajectory. | |
Jiao et al. | A novel next new point-of-interest recommendation system based on simulated user travel decision-making process | |
Lu et al. | On successive point-of-interest recommendation | |
CN110570044A (zh) | 基于循环神经网络和注意力机制的下一个地点预测方法 | |
CN111241419A (zh) | 一种基于用户关系嵌入模型的下一个兴趣点推荐方法 | |
CN111949877B (zh) | 一种个性化兴趣点推荐方法及*** | |
CN113158038B (zh) | 基于sta-tcn神经网络框架的兴趣点推荐方法及*** | |
CN109948066A (zh) | 一种基于异构信息网络的兴趣点推荐方法 | |
Zhou et al. | Deepmove: Learning place representations through large scale movement data | |
CN111695046B (zh) | 基于时空移动数据表征学习的用户画像推断方法及装置 | |
CN114780866B (zh) | 一种基于时空上下文兴趣学习模型的个性化智能推荐方法 | |
CN115774819A (zh) | 一种基于层次循环神经网络的兴趣点推荐方法及*** | |
Liu et al. | POI Recommendation Method Using Deep Learning in Location‐Based Social Networks | |
CN117271899A (zh) | 一种基于时空感知的兴趣点推荐方法 | |
Quan et al. | An optimized task assignment framework based on crowdsourcing knowledge graph and prediction | |
CN115329211B (zh) | 一种基于自监督学习和图神经网络的个性化兴趣推荐方法 | |
He et al. | Personalized next point-of-interest recommendation via latent behavior patterns inference | |
Jiang et al. | Adversarial neural trip recommendation | |
CN115510333A (zh) | 一种基于时空感知并结合局部和全局偏好的poi预测方法 |
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 |