CN106776928B - 基于内存计算框架、融合社交及时空数据的位置推荐方法 - Google Patents

基于内存计算框架、融合社交及时空数据的位置推荐方法 Download PDF

Info

Publication number
CN106776928B
CN106776928B CN201611090471.1A CN201611090471A CN106776928B CN 106776928 B CN106776928 B CN 106776928B CN 201611090471 A CN201611090471 A CN 201611090471A CN 106776928 B CN106776928 B CN 106776928B
Authority
CN
China
Prior art keywords
user
matrix
social
check
users
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
Application number
CN201611090471.1A
Other languages
English (en)
Other versions
CN106776928A (zh
Inventor
冯永
黄嘉敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing University
Original Assignee
Chongqing University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chongqing University filed Critical Chongqing University
Priority to CN201611090471.1A priority Critical patent/CN106776928B/zh
Publication of CN106776928A publication Critical patent/CN106776928A/zh
Application granted granted Critical
Publication of CN106776928B publication Critical patent/CN106776928B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (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)

Abstract

本发明提出一种基于内存计算框架、融合社交及时空数据的位置推荐方法,搭建形成包含master主机和slave从机的集群,处理用户签到数据得到用户签到矩阵;从社交网络中去获取用户的社交好友关系数据,得到用户之间的社交关系矩阵;对社交环境进行分析和量化;构建推荐模型,对用户签到矩阵按时间进行拆分,将多种社交因素作为约束条件对矩阵进行分解,得到用户隐特征矩阵和位置隐特征矩阵,将用户隐特征矩阵和位置隐特征矩阵进行合并预测用户在每个时间状态下的签到偏好矩阵,采用投票方案将不同时间状态下的预测矩阵合并为统一的位置偏好预测矩阵;将得到的位置偏好预测矩阵的数据提取,输出分析结果。该方法计算速度快,准确性高。

Description

基于内存计算框架、融合社交及时空数据的位置推荐方法
技术领域
本发明涉及计算机领域,具体涉及一种基于内存计算框架、融合社交及时空数据的位置推荐方法。
背景技术
随着城市快速发展,餐厅、影院等线下服务地点日益增加,极大丰富了人们的生活体验。然而琳琅满目的位置地点也增加了用户的选择成本,因此一种解决信息过载并改善用户体验的有效方法即提供个性化位置推荐方法被提出。
由于位置社交网络包含大量的位置,基于位置服务的推荐技术可以使用户更容易找到符合自己偏好的位置。因此,位置推荐有利于人们探索城市中的新地带,提高城市生活质量。特别是当用户身处在一个陌生环境的时候。也可以利用位置推荐为实体商店发现潜在客户,并为这些客户提供相关广告,促使客户访问商店,从而提高商家的利润。位置推荐还可以为用户推荐符合个人偏好的旅行路线,帮助用户避免信息过载、节约行程安排时间,以及提高旅行意愿,推动旅游业的发展。因为位置推荐能够过滤无用信息,也能提高服务商的利润,为大众、商家和旅行者带来便利和利益,所以,在位置社交网络中,为用户进行位置推荐是尤为重要的。
发明内容
为了克服上述现有技术中存在的缺陷,本发明的目的是提供一种基于内存计算框架、融合社交及时空数据的位置推荐方法,该方法计算速度快,准确性高。
为了实现本发明的上述目的,本发明提供了一种基于内存计算框架、融合社交及时空数据的位置推荐方法,包括以下步骤:
第一步,搭建形成包含master主机和slave从机的集群,将用户签到表数据导入master主机中,由master主机进行分割,并将数据的预处理任务分派给slave从机,同时追踪slave从机上的分布式计算,收集slave从机的反馈信息进行汇总统计,得到用户签到矩阵CIt
第二步,从社交网络中去获取用户的社交好友关系数据,并对用户签到矩阵CIt和用户的社交好友关系数据进行整理,得到用户之间的社交关系矩阵SN;
第三步,对社交环境进行分析,具体包括建立基于时间状态的社交圈、利用用户签到矩阵CIt和签到日志分析和量化个人偏好、个人偏好相似度、用户之间的社交信任以及社交亲近度;
第四步,对签到矩阵进行拆分并分解,得到用户隐特征矩阵Ut和位置隐特征矩阵L,并构建推荐模型目标函数得到用户隐特征矩阵Ut和位置隐特征矩阵L,将用户隐特征矩阵Ut和位置隐特征矩阵L进行合并预测用户在每个时间状态t下的签到偏好矩阵
Figure GDA0002716195950000021
采用投票方案将不同时间状态下的预测矩阵合并为统一的位置偏好预测矩阵
Figure GDA0002716195950000022
第五步,位置偏好预测矩阵
Figure GDA0002716195950000023
的数据,转换成可视化的形式,并输出分析结果。
本发明利用Apache Spark内存计算框架对庞大的用户历史签到历史记录数据进行处理以及利用Spark上的矩阵库进行矩阵运算,提高计算效率,提升算法在处理海量数据情况下的速度和容错能力,提高了给用户推荐位置的准确性和快速性。
进一步的,所述第二步包括以下几个步骤:
B1、整理用户签到表数据,数据包含用户社交关系、用户的签到的时空数据、用户签到的主题数据,得到用户签到集合U={u1,u2,...,un}和位置集合G={g1,g2,…,gm},u表示用户,n代表用户的ID,g表示签到位置,m代表签到位置的ID;
B2、对用户签到表数据统计,得出用户和位置之间关联关系,用Gu表示用户u历史签到过的位置集合,使用地理坐标<经度,纬度>对位置进行地理编码;
B3、对用户签到数据做预处理:统计用户在各位置的签到频率,记为用户-位置签到频率矩阵C∈Rn×m,用户-位置签到频率矩阵C∈Rn×m中的元素Cu,i代表用户u在位置i上的签到次数;
B4、统计用户社交关系表,得出用户之间是否存在好友关系,用户之间的社交关系用矩阵SN∈Rn×n表示。
该方法能准确快速的得到用户之间的社交关系。
进一步的,所述第三步包括以下几个步骤:
C1、建立社交圈
Figure GDA0002716195950000031
给定时间状态,同时满足下列两个条件的所有用户v构成用户u的社交圈
Figure GDA0002716195950000032
1)在原始社交网络中用户u和v之间存在直接社交关系,即SNu,v=1;
2)
Figure GDA0002716195950000033
其中
Figure GDA0002716195950000034
代表用户u在时间状态t下的历史签到集合,
Figure GDA0002716195950000035
代表u在时间状态t下有过签到记录;如果用户v在特定时间状态t下符合上述条件,则记为
Figure GDA0002716195950000041
否则记为
Figure GDA0002716195950000042
C2、分析个人偏好:
1)分析签到日志中包含的位置信息和主题信息,为日志中出现的每个位置计算主题分布向量,使用符号Dl表示位置l的主题分布向量,
Figure GDA0002716195950000043
其中,
Figure GDA0002716195950000044
代表主题标识;
2)为确定时间状态下的每个用户计算个人偏好分布向量
Figure GDA0002716195950000045
计算公式为:
Figure GDA0002716195950000046
其中*号表示归一化处理;
计算用户偏好分布和位置主题分布之间的相似度Qu,l,并将其视为用户u对位置l潜在访问的可能性,其中
Figure GDA0002716195950000047
C3、分析用户偏好相似度,计算公式为:
Figure GDA0002716195950000048
其中,
Figure GDA0002716195950000049
表示在特定时间状态t下,用户u和v之间的主题偏好相似度;
C4、分析用户之间的社交信任Su,v:用
Figure GDA00027161959500000410
代表用户u在时间状态t下的信任值,计算公式为:
Figure GDA00027161959500000411
其中
Figure GDA00027161959500000412
是用户u在时间状态t下的签到次数,
Figure GDA00027161959500000413
是v在时间状态t下社交圈的好友数量,d是衰减因子,0<d<1;
根据
Figure GDA0002716195950000051
计算用户之间的社交信任,计算公式为:
Figure GDA0002716195950000052
C5、分析用户之间的亲近度,首先计算用户之间的亲密程度,计算公式为:
Figure GDA0002716195950000053
得到用户之间的亲近度,计算公式为:
Figure GDA0002716195950000054
其中,
Figure GDA0002716195950000055
是时间状态t下用户u和v签到中心点之间的空间距离,利用用户签到位置的经纬度数据的平均值表示用户签到中心,将用户的位置投射到地球这个球面上,计算用户之间的距离
Figure GDA0002716195950000056
通过对社交圈
Figure GDA0002716195950000057
个人偏好分布向量
Figure GDA0002716195950000058
用户偏好相似度、用户之间的社交信任和用户之间的亲近度的分析,使得对社交环境的分析准确性更高,更全面。
进一步的,所述第四步包括以下几个步骤:
D1、对签到矩阵进行拆分:将一天分为Φ个时间状态,把社交关系矩阵SN和用户-签到频率矩阵CI分别拆分成Φ个子矩阵,每个子矩阵对应一个时间状态t,使用符号SNt表示子社交网络矩阵、CIt表示子用户签到矩阵;
D2、对用户签到矩阵CIt进行分解,将用户签到矩阵CIt分解成多个签到频率子矩阵相乘的形式,把每个签到频率子矩阵分解成用户隐特征矩阵Ut,Ut∈Rn×k和位置隐特征矩阵L,L∈Rm×k,k是隐空间的向量维度,分解方法为:
a、利用个人偏好Qt、偏好相似度Wt、社交信任St以及亲近度Ft四种社交因素建立推荐模型目标函数,具体为:
Figure GDA0002716195950000061
其中,*代表归一化的处理,α、λ、β、γ、μ、η代表设置的权重参数,
Figure GDA0002716195950000062
和Ll分别代表k维用户隐特征向量和k维位置隐特征向量,
Figure GDA0002716195950000063
是u在时间状态t下的规范化签到频率;
b、计算用户隐特征矩阵Ut和位置隐特征矩阵L:对推荐模型目标函数进行训练,将
Figure GDA0002716195950000064
和Ll看做变量并分别对它们求偏导,其中
Figure GDA0002716195950000065
的偏导如下:
Figure GDA0002716195950000071
Ll的偏导数如下:
Figure GDA0002716195950000072
偏导中
Figure GDA0002716195950000073
是指示因子,
Figure GDA0002716195950000074
代表u在时间状态t下对位置l有过签到,否则
Figure GDA0002716195950000075
求出偏导后,在梯度方向上更新隐特征向量,把每次更新后的向量代入到推荐模型目标函数中重新计算,让函数值以最快速度向下减小;不断迭代该过程直至推荐模型目标函数收敛为止,最后得到用户隐特征矩阵Ut和位置隐特征矩阵L;
D3、合并用户隐特征矩阵Ut和位置隐特征矩阵L:得到用户隐特征矩阵Ut和位置隐特征矩阵L后,按UtLT算法预测用户在每个时间状态t下的签到偏好矩阵
Figure GDA0002716195950000076
并使用投票方案将不同时间状态下的预测矩阵合并为统一的位置偏好预测矩阵
Figure GDA0002716195950000077
其中,T代表矩阵转置运算。
该计算方法简单,收敛速度快,能快速计算得到位置偏好预测矩阵
Figure GDA0002716195950000081
本发明利用内存计算框架加速了计算速度,在传统的模型位置推荐的方法上融入偏好相似度,亲进度和社交信任等多重社交因素,提高了推荐的准确度。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明流程图;
图2是基于内存计算的矩阵乘法架构图;
图3是模型训练过程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
本发明提供了一种基于内存计算框架、融合社交及时空数据的位置推荐方法,如图1-3所示,包括以下步骤:
第一步,Spark搭建形成包含master主机和slave从机的集群,将用户签到表数据导入master主机中,由master主机进行分割,并将数据的预处理任务分派给slave从机,进行统计整理,用列表示用户ID,用行表示签到地点,值为0,1,签到过则表示为1,没签到过表示为0,同时追踪slave从机上的分布式计算,收集slave从机的反馈信息进行汇总统计,具体为从机分别对用户签到位置和签到频率进行统计,然后主机收集从机反馈进行汇总,最终进行统计得到用户签到矩阵CIt
由于用户频繁进行社会活动让位置社交网络中积累了丰富的社交数据和位置签到数据,社交数据揭示了用户之间的内在联系,具有时空特性的签到数据反映了用户在真实世界的活动轨迹,并且两种数据之间相互关联,通过共同作用对用户行为产生影响。
因此第二步为:从社交网络中去获得用户的社交好友关系数据,并对用户签到矩阵CIt和用户的社交好友关系数据进行整理,行列都是用户ID,如果之间存在社交关系,则值为1,否则值为0,得到用户之间的社交关系矩阵SN。
对用户社交网络和历史签到数据进行分析,通过试验发现用户社会活动具有明显的时间周期性,为了将时间周期特性注入到推荐模型中,本方法提出构建基于时间状态的社交圈概念,将社交好友和签到行为按照时间状态重新划分。社交环境下用户个人偏好容易受好友影响,对于现有推荐方法未能将社交因素考虑全面的问题,为了提高推荐的准确度,本实施例又结合社交环境中存在的多种社交因素,包括个性化、偏好相似度、信任度以及亲近度因素。
因此第三步为:对社交环境进行分析,具体包括建立基于时间状态的社交圈、利用用户签到矩阵CIt和签到日志分析和量化个人偏好、个人偏好相似度、用户之间的社交信任以及社交亲近度。
第四步,对签到矩阵进行拆分并分解,得到用户隐特征矩阵Ut和位置隐特征矩阵L,并构建推荐模型目标函数得到用户隐特征矩阵Ut和位置隐特征矩阵L,将用户隐特征矩阵Ut和位置隐特征矩阵L进行合并预测用户在每个时间状态t下的签到偏好矩阵
Figure GDA0002716195950000101
采用投票方案将不同时间状态下的预测矩阵合并为统一的位置偏好预测矩阵
Figure GDA0002716195950000102
第五步,位置偏好预测矩阵
Figure GDA0002716195950000103
的数据转换成可视化的形式,并输出分析结果。
作为本实施例的优选方案,第二步包括以下几个步骤:
B1、整理用户签到表数据,数据包含用户社交关系,用户的签到的时空数据、用户签到的主题数据,得到用户签到集合U={u1,u2,...,un}和位置集合G={g1,g2,…,gm},其中,u表示用户,n代表用户的ID,g表示签到位置,m代表签到位置的ID,用户签到集合U表示这个数据集合中所包含的所有有签到记录的人;位置集合G则是代表数据集合中所有有过签到记录的位置。
B2、在spark上对用户签到表数据统计,得出用户和位置之间关联关系,例如用户小明在位置y进行签到,这里就在位置集合中加入这个位置y,作为集合中的一项,用Gu表示用户u历史签到过的位置集合,使用地理坐标<经度,纬度>对位置进行地理编码。
B3、对用户签到数据做预处理:统计用户在各位置的签到频率,记为用户-位置签到频率矩阵C∈Rn×m,用户-位置签到频率矩阵C∈Rn×m中的元素Cu,i代表用户u在位置i上的签到次数。
B4、统计用户社交关系表,得出用户之间是否存在好友关系,用户之间的社交关系用矩阵SN∈Rn×n表示,在该矩阵中,元素SNu,v=1代表用户u和v之间存在直接社交关系,SNu,v=0代表无直接关系。其中,用户社交关系表是一个在社交软件上有关系的用户,统计整理就可以得到用户之间是否在社交软件上存在直接的关系,有则表示1,没有则表示为0。
第三步包括以下几个步骤:
C1、建立社交圈
Figure GDA0002716195950000111
给定时间状态,同时满足下列两个条件的所有用户v构成用户u的社交圈
Figure GDA0002716195950000112
1)在原始社交网络中用户u和v之间存在直接社交关系,即SNu,v=1;
2)
Figure GDA0002716195950000113
其中
Figure GDA0002716195950000114
代表用户u在时间状态t下的历史签到集合,
Figure GDA0002716195950000115
代表u在时间状态t下有过签到记录;
如果用户v在特定时间状态t下符合上述条件,则记为
Figure GDA0002716195950000116
否则记为
Figure GDA0002716195950000117
C2、分析个人偏好:
1)分析签到日志中包含的位置信息和主题信息,为日志中出现的每个位置计算主题分布向量,使用符号Dl表示位置l的主题分布向量,
Figure GDA0002716195950000118
其中,签到日志里面包含签到位置和签到主题,
Figure GDA0002716195950000119
代表主题标识,从签到数据中可以得到,它是签到数据中的一项,签到的主题项,就是代表用户在这个位置所做的一些主要内容,例如可以是food,service等。
2)为确定时间状态下的每个用户计算个人偏好分布向量
Figure GDA00027161959500001110
首先对用户-位置签到频率矩阵CI进行归一化处理,将归一化后的签到频率作为主题偏好的权重,最后对用户签到过的位置主题分布向量求加权平均值得到个人偏好分布向量
Figure GDA0002716195950000121
计算公式为:
Figure GDA0002716195950000122
其中*号表示归一化处理,
Figure GDA0002716195950000123
指的是在时间状态t内用户u在位置l的签到矩阵。
计算用户偏好分布和位置主题分布之间的相似度Qu,l,并将其视为用户u对位置l潜在访问的可能性,其中
Figure GDA0002716195950000124
C3、分析用户偏好相似度,计算公式为:
Figure GDA0002716195950000125
其中,
Figure GDA0002716195950000126
表示在特定时间状态t下,用户u和v之间的主题偏好相似度。
C4、分析用户之间的社交信任Su,v:使用符号
Figure GDA0002716195950000127
代表用户u在时间状态t下的信任值,计算公式为:
Figure GDA0002716195950000128
其中
Figure GDA0002716195950000129
是用户u在时间状态t下的签到次数,
Figure GDA00027161959500001210
是v在时间状态t下社交圈的好友数量,d是衰减因子,0<d<1;
Figure GDA00027161959500001211
指示社交圈
Figure GDA00027161959500001212
内的用户v时间状态t下的专家水平;
根据
Figure GDA00027161959500001213
计算用户之间的社交信任,计算公式为:
Figure GDA00027161959500001214
C5、分析用户之间的亲近度,在特定时间状态t下,亲近度
Figure GDA00027161959500001215
代表用户u和v之间社交链接的亲疏程度以及二者活动范围的距离远近,亲密程度越高、活动范围越近则两者之间的亲近度就越高。对于任意给定的两个个体A和B以及与两者有直接社交联系的个体集合S={C,D,E…}。本发明采取下面计算方法对用户之间的亲密程度Mu,v进行衡量,用户之间的亲密程度计算公式为:
Figure GDA0002716195950000131
其中“SNu”、“SNv”分别表示用户u、v的社交圈好友。亲近度数值与亲密程度成正比,与距离成反比,本发明采用下列计算公式分析用户之间的亲近度,计算公式为:
Figure GDA0002716195950000132
其中,
Figure GDA0002716195950000133
是时间状态t下用户u和v签到中心点之间的空间距离,利用用户签到位置的经纬度数据的平均值表示用户签到中心,将用户的位置投射到地球这个球面上,计算用户之间的距离
Figure GDA0002716195950000134
第四步包括以下几个步骤:
D1、对签到矩阵进行拆分:将一天分为Φ个时间状态,把社交关系矩阵SN和用户-签到频率矩阵CI分别拆分成Φ个子矩阵,每个子矩阵对应一个时间状态t,使用符号SNt表示子社交网络矩阵、CIt表示子用户签到矩阵。
通常Φ取为24,即将一天分为24个时间状态对签到矩阵进行拆分。
D2、对用户签到矩阵CIt进行分解,将用户签到矩阵CIt分解成多个签到频率子矩阵相乘的形式,将分解转化成优化过程,构造出目标函数并进行最小化处理,同时对目标函数添加附加条件,实现满足一定约束的矩阵分解。本方法采用上述的矩阵分解技术,将多种社交因素作为约束条件,把每个签到频率子矩阵分解成用户隐特征矩阵Ut,Ut∈Rn×k和位置隐特征矩阵L,L∈Rm×k,k是隐空间的向量维度,分解方法为:
a、利用个人偏好Qt、偏好相似度Wt、社交信任St以及亲近度Ft四种社交因素建立推荐模型目标函数,具体为:
Figure GDA0002716195950000141
其中,St表示时间状态t下的信任值,表示社交信任;Wt表示在特定时间状态t下,用户之间的主题偏好相似度;Ft表示用户之间的亲近度;Qt表示时间状态t下,用户偏好分布和位置主题分布之间的相似度,即个人偏好;*代表归一化的处理,α、λ、β、γ、μ、η代表设置的权重参数,根据具体数据权重比进行设置,不同应用场景下可尝试调整参数设置以获得最佳效果,
Figure GDA0002716195950000142
和Ll分别代表k维用户隐特征向量和k维位置隐特征向量,
Figure GDA0002716195950000143
是u在时间状态t下的规范化签到频率。Ut为用户的特征向量,包括用户v的隐特征向量
Figure GDA0002716195950000144
和用户u的隐特征向量
Figure GDA0002716195950000145
b、计算用户隐特征矩阵Ut和位置隐特征矩阵L:对推荐模型目标函数进行训练,将
Figure GDA0002716195950000151
和Ll看做变量并分别对它们求偏导,其中
Figure GDA0002716195950000152
的偏导如下:
Figure GDA0002716195950000153
Ll的偏导数如下:
Figure GDA0002716195950000154
偏导中
Figure GDA0002716195950000155
是指示因子,
Figure GDA0002716195950000156
代表u在时间状态t下对位置l有过签到,否则
Figure GDA0002716195950000157
求出偏导后,在梯度方向上更新隐特征向量,把每次更新后的向量代入到推荐模型目标函数中重新计算,让函数值以最快速度向下减小;不断迭代该过程直至推荐模型目标函数收敛为止,最后得到用户隐特征矩阵Ut和位置隐特征矩阵L。
D3、合并用户隐特征矩阵Ut和位置隐特征矩阵L:得到用户隐特征矩阵Ut和位置隐特征矩阵L后,按UtLT算法预测用户在每个时间状态t下的签到偏好矩阵
Figure GDA0002716195950000161
并使用投票方案将不同时间状态下的预测矩阵合并为统一的位置偏好预测矩阵
Figure GDA0002716195950000162
这里T代表矩阵转置运算。
投票方式为在每个时间状态下推举出top n个位置,然后将全部时间状态下出现次数最多的位置集合推荐给用户。本方法使用HAMA的矩阵乘法,需要使用多趟MapReduceJob完成。下面是每趟Job的工作内容:
1)从HBase表构造CollectionTable。CollectionTable是实现矩阵乘法的一个中间数据结构。其记录的是要进行矩阵乘法的两个分块的内容。block(i,j)-k代表要进行分块矩阵乘的两个block,后面的k代表第K子矩阵乘法。在Map阶段Map读入矩阵的行向量,发射(blockID,sub-vector)KV对,在Reduce阶段将sub-vector收集成分块矩阵信息,存储HDFS的文件中。
2)从CollectionTable中计算矩阵乘法。在Map阶段,Map task读入CollectionTable中的一块,并进行MatrixA*MatrixB的操作,发射(blockID,分块矩阵乘结果)。在Reduce结算,收集所有的乘法结果,并进行累加,将最终结果存入HBase表中。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

Claims (2)

1.一种基于内存计算框架、融合社交及时空数据的位置推荐方法,其特征在于:包括以下步骤:
第一步,搭建形成包含master主机和slave从机的集群,将用户签到表数据导入master主机中,由master主机进行分割,并将数据的预处理任务分派给slave从机,同时追踪slave从机上的分布式计算,收集slave从机的反馈信息进行汇总统计,得到用户签到矩阵CIt
第二步,从社交网络中去获取用户的社交好友关系数据,并对用户签到矩阵CIt和用户的社交好友关系数据进行整理,得到用户之间的社交关系矩阵SN;
第三步,对社交环境进行分析,具体包括建立基于时间状态的社交圈、利用用户签到矩阵CIt和签到日志分析和量化个人偏好、个人偏好相似度、用户之间的社交信任以及社交亲近度;
第四步,对签到矩阵进行拆分并分解,得到用户隐特征矩阵Ut和位置隐特征矩阵L,并构建推荐模型目标函数得到用户隐特征矩阵Ut和位置隐特征矩阵L,将用户隐特征矩阵Ut和位置隐特征矩阵L进行合并预测用户在每个时间状态t下的签到偏好矩阵
Figure FDA0002716195940000011
采用投票方案将不同时间状态下的预测矩阵合并为统一的位置偏好预测矩阵
Figure FDA0002716195940000012
第五步,位置偏好预测矩阵
Figure FDA0002716195940000013
的数据转换成可视化的形式,并输出分析结果;
所述第三步包括以下几个步骤:
C1、建立社交圈
Figure FDA0002716195940000014
给定时间状态,同时满足下列两个条件的所有用户v构成用户u的社交圈
Figure FDA0002716195940000021
1)在原始社交网络中用户u和v之间存在直接社交关系,即SNu,v=1;
2)
Figure FDA0002716195940000022
其中
Figure FDA0002716195940000023
代表用户u在时间状态t下的历史签到集合,
Figure FDA0002716195940000024
代表u在时间状态t下有过签到记录;
如果用户v在特定时间状态t下符合上述条件,则记为
Figure FDA0002716195940000025
否则记为
Figure FDA0002716195940000026
C2、分析个人偏好:
1)分析签到日志中包含的位置信息和主题信息,为日志中出现的每个位置计算主题分布向量,使用符号Dl表示位置l的主题分布向量,
Figure FDA0002716195940000027
其中,
Figure FDA0002716195940000028
代表主题标识;
2)为确定时间状态下的每个用户计算个人偏好分布向量
Figure FDA0002716195940000029
计算公式为:
Figure FDA00027161959400000210
其中*号表示归一化处理;
计算用户偏好分布和位置主题分布之间的相似度Qu,l,并将其视为用户u对位置l潜在访问的可能性,其中
Figure FDA00027161959400000211
C3、分析用户偏好相似度,计算公式为:
Figure FDA00027161959400000212
其中,
Figure FDA00027161959400000213
表示在特定时间状态t下,用户u和v之间的主题偏好相似度;
C4、分析用户之间的社交信任Su,v:用
Figure FDA00027161959400000214
代表用户u在时间状态t下的信任值,计算公式为:
Figure FDA0002716195940000031
其中
Figure FDA0002716195940000032
是用户u在时间状态t下的签到次数,
Figure FDA0002716195940000033
是v在时间状态t下社交圈的好友数量,d是衰减因子,0<d<1;
根据
Figure FDA0002716195940000034
计算用户之间的社交信任,计算公式为:
Figure FDA0002716195940000035
C5、分析用户之间的亲近度,首先计算用户之间的亲密程度,计算公式为:
Figure FDA0002716195940000036
得到用户之间的亲近度,计算公式为:
Figure FDA0002716195940000037
其中,
Figure FDA0002716195940000038
是时间状态t下用户u和v签到中心点之间的空间距离,利用用户签到位置的经纬度数据的平均值表示用户签到中心,将用户的位置投射到地球这个球面上,计算用户之间的距离
Figure FDA0002716195940000039
所述第四步包括以下几个步骤:
D1、对签到矩阵进行拆分:将一天分为Φ个时间状态,把社交关系矩阵SN和用户-签到频率矩阵CI分别拆分成Φ个子矩阵,每个子矩阵对应一个时间状态t,使用符号SNt表示子社交网络矩阵、CIt表示子用户签到矩阵;
D2、对用户签到矩阵CIt进行分解,将用户签到矩阵CIt分解成多个签到频率子矩阵相乘的形式,把每个签到频率子矩阵分解成用户隐特征矩阵Ut,Ut∈Rn×k和位置隐特征矩阵L,L∈Rm×k,k是隐空间的向量维度,分解方法为:
a、利用个人偏好Qt、偏好相似度Wt、社交信任St以及亲近度Ft四种社交因素建立推荐模型目标函数,具体为:
Figure FDA0002716195940000041
其中,*代表归一化的处理,α、λ、β、γ、μ、η代表设置的权重参数,
Figure FDA0002716195940000042
和Ll分别代表k维用户隐特征向量和k维位置隐特征向量,
Figure FDA0002716195940000043
是u在时间状态t下的规范化签到频率;
b、计算用户隐特征矩阵Ut和位置隐特征矩阵L:对推荐模型目标函数进行训练,将
Figure FDA0002716195940000044
和Ll看做变量并分别对它们求偏导,其中
Figure FDA0002716195940000045
的偏导如下:
Figure FDA0002716195940000051
Ll的偏导数如下:
Figure FDA0002716195940000052
偏导中
Figure FDA0002716195940000053
是指示因子,
Figure FDA0002716195940000054
代表u在时间状态t下对位置l有过签到,否则
Figure FDA0002716195940000055
求出偏导后,在梯度方向上更新隐特征向量,把每次更新后的向量代入到推荐模型目标函数中重新计算,让函数值以最快速度向下减小;不断迭代该过程直至推荐模型目标函数收敛为止,最后得到用户隐特征矩阵Ut和位置隐特征矩阵L;
D3、合并用户隐特征矩阵Ut和位置隐特征矩阵L:得到用户隐特征矩阵Ut和位置隐特征矩阵L后,按UtLT算法预测用户在每个时间状态t下的签到偏好矩阵
Figure FDA0002716195940000056
并使用投票方案将不同时间状态下的预测矩阵合并为统一的位置偏好预测矩阵
Figure FDA0002716195940000057
其中,T代表矩阵转置运算。
2.根据权利要求1所述的基于内存计算框架、融合社交及时空数据的位置推荐方法,其特征在于:所述第二步包括以下几个步骤:
B1、整理用户签到表数据,数据包含用户社交关系、用户的签到的时空数据、用户签到的主题数据,得到用户签到集合U={u1,u2,...,un}和位置集合G={g1,g2,…,gm},u表示用户,n代表用户的ID,g表示签到位置,m代表签到位置的ID;
B2、对用户签到表数据统计,得出用户和位置之间关联关系,用Gu表示用户u历史签到过的位置集合,使用地理坐标<经度,纬度>对位置进行地理编码;
B3、对用户签到数据做预处理:统计用户在各位置的签到频率,记为用户-位置签到频率矩阵C∈Rn×m,用户-位置签到频率矩阵C∈Rn×m中的元素Cu,i代表用户u在位置i上的签到次数;
B4、统计用户社交关系表,得出用户之间是否存在好友关系,用户之间的社交关系用矩阵SN∈Rn×n表示。
CN201611090471.1A 2016-12-01 2016-12-01 基于内存计算框架、融合社交及时空数据的位置推荐方法 Active CN106776928B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611090471.1A CN106776928B (zh) 2016-12-01 2016-12-01 基于内存计算框架、融合社交及时空数据的位置推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611090471.1A CN106776928B (zh) 2016-12-01 2016-12-01 基于内存计算框架、融合社交及时空数据的位置推荐方法

Publications (2)

Publication Number Publication Date
CN106776928A CN106776928A (zh) 2017-05-31
CN106776928B true CN106776928B (zh) 2020-11-24

Family

ID=58915441

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611090471.1A Active CN106776928B (zh) 2016-12-01 2016-12-01 基于内存计算框架、融合社交及时空数据的位置推荐方法

Country Status (1)

Country Link
CN (1) CN106776928B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107657015B (zh) * 2017-09-26 2021-03-19 北京邮电大学 一种兴趣点推荐方法、装置、电子设备及存储介质
CN107766462B (zh) * 2017-09-28 2020-03-13 重庆大学 基于用户偏好、社交信誉度和地理位置的兴趣点推荐方法
CN108399189A (zh) * 2018-01-23 2018-08-14 重庆邮电大学 基于社团发现的好友推荐系统及其方法
CN108334702A (zh) * 2018-02-08 2018-07-27 广州地理研究所 一种无资料流域水文预报华南模型构建方法
US20200043046A1 (en) * 2018-08-03 2020-02-06 Facebook, Inc. Location prediction
CN109325635B (zh) * 2018-10-25 2022-02-15 电子科技大学中山学院 一种基于自动补全的位置预测方法
CN109754305A (zh) * 2018-11-13 2019-05-14 北京码牛科技有限公司 基于矩阵分解算法的偏好发掘方法及装置
CN109522491B (zh) * 2018-11-29 2020-07-31 杭州飞弛网络科技有限公司 一种基于位置属性的陌生人社交活动推荐方法与系统
CN110162714B (zh) * 2019-01-30 2023-11-14 腾讯科技(深圳)有限公司 内容推送方法、装置、计算设备和计算机可读存储介质
CN110096651B (zh) * 2019-04-30 2023-04-07 电子科技大学 基于在线社交媒体个人中心网络的可视化分析方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102930341A (zh) * 2012-10-15 2013-02-13 罗辛 一种协同过滤推荐模型的优化训练方法
CN106056455A (zh) * 2016-06-02 2016-10-26 南京邮电大学 一种基于位置和社交关系的群组与地点推荐方法
CN106126549A (zh) * 2016-06-16 2016-11-16 传化公路港物流有限公司 一种基于概率矩阵分解的社区信任推荐方法及其系统
CN106202205A (zh) * 2016-06-28 2016-12-07 重庆大学 基于内存计算框架和长短周期兴趣迁移及融合模型的音乐推荐方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8060525B2 (en) * 2007-12-21 2011-11-15 Napo Enterprises, Llc Method and system for generating media recommendations in a distributed environment based on tagging play history information with location information

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102930341A (zh) * 2012-10-15 2013-02-13 罗辛 一种协同过滤推荐模型的优化训练方法
CN106056455A (zh) * 2016-06-02 2016-10-26 南京邮电大学 一种基于位置和社交关系的群组与地点推荐方法
CN106126549A (zh) * 2016-06-16 2016-11-16 传化公路港物流有限公司 一种基于概率矩阵分解的社区信任推荐方法及其系统
CN106202205A (zh) * 2016-06-28 2016-12-07 重庆大学 基于内存计算框架和长短周期兴趣迁移及融合模型的音乐推荐方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Improving Recommendation Accuracy and Diversity via Multiple Social Factors and Social Circles;Yong Feng等;《International Journal of Web Services Research》;20141031;第11卷(第4期);第32-46页 *
一种基于用户网络签到行为的地点推荐方法;周而重等;《计算机科学》;20151015(第10期);第232-234页 *
在线社交网络中的位置服务研究进展与趋势;翟红生等;《计算机应用研究》;20130628(第11期);第3221-3225页 *

Also Published As

Publication number Publication date
CN106776928A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
CN106776928B (zh) 基于内存计算框架、融合社交及时空数据的位置推荐方法
US11238473B2 (en) Inferring consumer affinities based on shopping behaviors with unsupervised machine learning models
Sun et al. Forecasting tourist arrivals with machine learning and internet search index
Dong et al. Predicting neighborhoods’ socioeconomic attributes using restaurant data
US11188935B2 (en) Analyzing consumer behavior based on location visitation
Fisher et al. Modelling the errors in areal interpolation between zonal systems by Monte Carlo simulation
CN109062962B (zh) 一种融合天气信息的门控循环神经网络兴趣点推荐方法
US20160019465A1 (en) Analyzing Mobile-Device Location Histories To Characterize Consumer Behavior
US20110202326A1 (en) Modeling social and cultural conditions in a voxel database
CN108804551A (zh) 一种兼顾多样性与个性化的空间兴趣点推荐方法
CN113569129A (zh) 点击率预测模型处理方法、内容推荐方法、装置及设备
CN106126615A (zh) 一种兴趣点推荐的方法及系统
Hu et al. Nonnegative matrix tri-factorization with user similarity for clustering in point-of-interest
CN111475744B (zh) 一种基于集成学习的个性化位置推荐方法
Chen et al. A temporal recommendation mechanism based on signed network of user interest changes
Liu et al. VGMF: visual contents and geographical influence enhanced point‐of‐interest recommendation in location‐based social network
Hou et al. Online spatial evaluation of residential livability based on POI data mining and LMBP algorithm
CN110263250A (zh) 一种推荐模型的生成方法及装置
Simini et al. Deep Gravity: enhancing mobility flows generation with deep neural networks and geographic information
Zhu et al. Deep neural model for point-of-interest recommendation fused with graph embedding representation
Ma et al. Multi-factor fusion POI recommendation model
CN115455276A (zh) 推荐对象的方法、装置、计算机设备和存储介质
Black et al. Clustering spatio-temporal bi-partite graphs for finding crowdsourcing communities in IoMT networks
Soliman et al. Developing a mobile location-based collaborative Recommender System for GIS applications
Wei Energy Footprinting and Human-Centric Building Co-Optimization with Multi-Task Deep Reinforcement Learning

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