一种基于位置服务的旅游推荐方法

文档序号:9788074阅读:1162来源:国知局
一种基于位置服务的旅游推荐方法
【技术领域】
[0001] 本发明涉及云计算和大数据的应用,尤其涉及个体人员信息的位置建模及对现有 低维信息融入新建模加权应用的方法,特别是指基于位置服务的旅游推荐方法。
【背景技术】
[0002] 首先,在现有在大数据环境下,基于移动终端的位置记录软件及装置已不计胜数, 然而,在众多软件记录的一般为个体位移迹象,形成个体及群体的线状网络;常见的具备地 理位置信息追踪功能的设备产品包括有手机、运动手环、运动手表等等,这些现有的、具有 广泛市场和海量用户的设备已经累积了大量的地理位置数据。
[0003] 其次,现有的数据推送或客户数据获取多为基于发起终端首先访问留下的地址进 行意向性推送,而不能达到类似性需求和习惯性需求及类比性需求的推送。

【发明内容】

[0004] 本发明提出一种基于位置服务的旅游推荐方法,为集成海量用户数据并用协同过 滤算法在不同位置找出相似的用户和活动,用张量对用户-位置-活动之间的相互关系建模 并提出一个正则化张量/矩阵分解算法,该算法可以有效挖掘用户的移动模式。
[0005] 为了实现上述技术方案,本发明提供一种基于位置服务的旅游推荐方法,包括如 下步骤,步骤1,获取实体轨迹-事件信息,以三维张量对实体信息进行用户-位置-活动关联 建模;步骤2,记录用户轨迹-事件信息;步骤3,通过用户类比进行相似度匹配,主动推送较 高相似度用户轨迹-事件信息,其中,用户轨迹-事件信息(手机、运动手环、运动手表的位 置信息)整合后,匹配用户轨迹-事件信息的推送。
[0006] 步骤3中,相似度匹配包括位置特征匹配和活动匹配,其中,位置特征匹配和活动 匹配进行加权定义,优选高指数、高相似度推送。
[0007] 加权定义以正则化张量和矩阵分解方法评定。
[0008] 步骤1中,建模包括建模张量Z,其中,构建张量Z e ,m表示用户数目,n表示位 置数目,:r表示活动数目;其中,任意张量有实体Zijk,表示用户i在位置j进行活动Κ的频率。
[0009 ]位置信息整合包括有稀疏张量,稀疏张量通过协同过滤填补稀疏张量。
[0010]稀疏张量的协同过滤填补包括将张量分解为矩阵集填补。
[0011] 步骤1中,获取实体轨迹-事件信息,其中,获取的实体轨迹-事件信息过滤用户轨 迹中家庭和工作地数据。
[0012] 用户搜索位置信息时,通过用户历史轨迹和张量Z推送用户活动列表。
[0013] 与现有技术相比,本发明提供的一种指基于位置服务的旅游推荐方法,该方法以 现有位置数据为基础,进行数据建模。在数据建模过程中进行对现有数据进行加工,进行加 权处理,对新数据进行建模填充,能够达到快速的应用和实现地理位置及事件信息的推荐, 具有重要意义。
【附图说明】
[0014] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。
[0015] 图1为本发明创造提供的张量分解成低维表的二维表的示意图;
[0016] 图2为参数Μ对位置推荐的影响示意图;
[0017] 图3为参数Μ对活动推荐的影响示意图。
【具体实施方式】
[0018] 下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施 例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通 技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范 围。
[0019] 本发明提供的包括如下步骤,步骤1,获取实体轨迹-事件信息,以三维张量对实体 信息进行用户-位置-活动关联建模;步骤2,记录用户轨迹-事件信息;步骤3,通过用户类比 进行相似度匹配,主动推送较高相似度用户轨迹-事件信息,其中,用户轨迹-事件信息(手 机、运动手环、运动手表的位置信息)整合后,匹配用户轨迹-事件信息的推送。步骤3中,相 似度匹配包括位置特征匹配和活动匹配,其中,位置特征匹配和活动匹配进行加权定义,优 选高指数、高相似度推送。
[0020] 本发明从GPS数据中可以提取三个实体:用户、位置、活动,表示某用户在某地做了 某事。以一个三维张量对用户-位置-活动建模,每一个实体表示一个维度。具体而言,构建 张量ZER mXn'其中m表示用户数目,η表示位置数目,r表示活动数目。张量Ζ中的一个实体 z ljk表示用户i在位置j进行活动k的频率。因为用户只有很少的位置和活动标注,从GPS数据 中构建的张量非常稀疏。因此,我们可以利用协同过滤思想填补稀疏的张量,完成推荐。
[0021] 加权定义以正则化张量和矩阵分解方法评定。
[0022] 步骤1中,建模包括建模张量Z,其中,构建张量ZeRmXnX%m表示用户数目,n表示位 置数目,:r表示活动数目;其中,任意张量有实体Zijk,表示用户i在位置j进行活动k的频率。
[0023] 位置信息整合包括有稀疏张量,稀疏张量通过协同过滤填补稀疏张量。协同过滤 推荐系统采用统计计算方式搜索目标用户的相近似用户,并根据相近似的用户权重来预测 目标用户的最接近用户-事件-信息对指定项目产生靠前排位的结构,相近似用户的旅游作 为推荐结果反馈给用户。
[0024] 具体地,首先用张量Z对用户-位置-活动建模。因为张量是稀疏的,主要工作就是 填补缺失值,以完成位置/活动推荐。为了在张量上应用协同过滤,该方法对张量实体做了 进一步探究。具体而言,构建了用户关系矩阵示了一个社交网络中用户之间的相 似度。用这个相似度来寻找相似的用户。另外还有一个位置特征矩阵C e RnXP,每一个特征表 示某位置的有趣程度。对于活动,用矩阵表示活动之间的关系,表示活动之间的关联 程度。这个矩阵可以用基于搜索引擎的相似性算法通过网络信息获取。除了对用户-位置- 活动建模,还从GPS数据中提取了另一个矩阵EeRmXn表示用户-位置之间的关系。这对一种 情景是有帮助的:知道一个用户去过哪里却不知道他在那些地方干什么。上面的所有四个 矩阵都是事先构建的,然后输入进该模型。通过在实验中调整模型中的相应参数,学习这些 矩阵的具体影响。
[0025]如图1所示,为了填补张量Z中的缺失值,根据基于模型的方法把张量Z分解成如上 表所示的几种低维表,即每一个张量值(用户、位置、活动)基于不完整的张量(因为张量是 稀疏的)。在分解过程中,我们强制性地把低维表示分享给附加信息矩阵,以此利用它们的 信息。获取到这样的低维表示后,我们就可以通过填补缺失值重新构建张量。在我们的模型 中,提出了一种针对旅游推荐的张量分解框架,可以把张量和附加信息矩阵集成在一起进 行正则分解,具体而言,我们的目标函数如下:
[0027] 其中变量X=[xi,x2, · · · · .yk]ERnXk,Z=[zi,Z2, · · .Zk]ERr
其中。表示外积。另外一个变量UeRPxk。表示矩阵B的拉普拉斯 矩阵,其定义为Lb = Q_B,其中Q是对角线矩阵,其对角线元素为Qn=2疋&tr( ·)表示矩阵 的迹。Ld是D的拉普拉斯矩阵。I I · I I表示Euclid范数。λχ-λδ是模型参数,当λρλρλρλ* =〇的时候,模型就退化成了标准PARAFAC张量分解,这说明本发明创造的模型在利用目标 项的附加信息方面更加灵活。
[0028] 在(1)中,第一项分解用户-位置-活动张量Α为三个低维表示的外积(X代表用户,Υ 代表位置,Z代表活动)。第二项针对用户提出正则化项,如果两个用户像附加信息所揭示的 那样具有相似性,则迫使两个用户的低维表示尽可能接近。第三项则借用了矩阵协同因式 分解的思想,将位置低维表示Y与张量分解共享。第四项和第二项一样是一个正则化项,迫 使两个活动的低维表示尽可能接近。第五项和第三项一样,分享用户低维表示X和位置低维 表示Y给张量分解。最后一项是一个正则化项,防范过拟合。
[0029] -般而言,不存在关于方程(1)的现成解法,所以我们采用梯度下降算法来求解。 对目标函数求导可得:
[0030] VXL = -A(1) (Z*Y) +X [ (ΖΤΖ) θ (γτγ) ] +λ^ΒΧ+ (ΧΥΤ-Ε) Υ+λ5Χ
[0031] VyL = -A(2)(Z*Y)+Y[ZtZ θ (χτχ)+λ2(Υυτ-0υ+λ4(ΧΥ τ-Ε)τΧ+λ5Υ
[0032] VzL = -A(3)(Y*X)+Z[YtY0 (XtX)]+A3LdZ+A5Z
[0033] VuL = -A5(YUt-C)tY+A5U
[0034] (2)
[0035] 其中,别表示不同张量,A(1)erXnr,A(2)er Xnr,A(3)erx'具体而言,一个张 量数据项在每一个模式的展开都有一个相应的位置对模式-l,j = i2+(i3-l)n;对 模式-2,j = ii+(i3_l )m;对模式-3,j = ii+(i2_l)m。(2)式中,表示Khatri-Rao积:两个矩 阵V= [vi,v2......vj] eRlX:i7fPff= [ ωi, ω2......0:|]已1?1'><:|的1(11&1:1';[-1^0积定义为¥*¥=[¥1口 wi,V2dw2, · · ·,VjlZlwj][尺工丁幻其中 表不Kronecker积0θ"表不Hadamard积。
[0036] 稀疏张量的协同过滤填补包括将张量分解为矩阵集填补。协同过滤看做一个缺失 值预测问题,以张量的形式对三个维度的数据关系进行建模,并且超越标准张量分解,进一 步探究了正则分解的矩阵输入。
[0037]算法及其复杂性
[0038]输入:一个不完整的张量A(位置-活动-用户)和四个附加信息矩阵1(:,〇3,输出: 补齐后的张量A,记为/]
[0039] begin
[0040] 1 : t = 1 ;
[0041] 2:while t〈T且Lt>Lt+i do
[0044] 5: if Lt<Lt+ithen break; end if<
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1