一种基于位置和社交关系的群组与地点推荐方法技术

技术编号:13913426 阅读:81 留言:0更新日期:2016-10-27 09:29
本发明专利技术公开了一种基于位置和社交关系的群组与地点推荐方法。通过对LBSN中的用户签到信息的采集,剔除有效性差的地点与用户数据,最终获得用户的签到数据。然后利用皮尔森相关系数,以用户间共有的签到数据衡量签到相似性,计算出用户间签到相似度,构建用户签到相似度网络。再根据签到相似性网络,利用离散粒子群优化方法,识别出不同的社区。然后根据用户社交网络的帐号,获取好友列表,形成社区内用户的社交邻接关系,最终生成社交群组,推荐给目标用户并利用协同过滤的推荐方法对目标用户进行地点推荐。本发明专利技术的社区发现方法简单易操作,且划分社区的速度快。通过社交群组和地点推荐相结合的方法,降低了方法的复杂度,提高了推荐精度。

【技术实现步骤摘要】

本专利技术属于专门适用于特定领域的数据处理方法,具体涉及一种基于位置和社交关系的群组与地点推荐方法
技术介绍
随着智能手机和定位技术的发展,基于位置的社交网络(Location Based Social Network,LBSN)得到了广泛的应用。这种环境下,如何在手机上寻找到用户需要的有效信息已经成为迫切需要解决的问题。而推荐系统的应用可以有效地解决这个问题,为用户主动推送其感兴趣的事物,如朋友,位置,娱乐项目等。通过与移动社交网络的结合,获取用户的大量属性信息,如性别,年龄,爱好等,使得推荐系统能够准确地预测用户感兴趣的事物。近年来,随着基于位置的社交网络的兴起,用户的数据信息得到了极大的丰富,可以轻易地获取到用户的签到信息,推荐系统得到了进一步的发展,因而基于位置的社交网络的推荐系统成为研究的热点。已有的基于位置的社交网络的推荐系统存在如下问题:第一、结合签到信息和社交信息,构建相似度网络,两类信息的同步进行,使得社交信息对推荐结果产生较大影响,推荐精度不高,比如公开号为CN104268171A、名称为\基于活动相似和社交信任的社交网好友推荐系统及方法\的国内专利技术专利就属于这种类型。第二、使用传统的协同过滤方法,对每一个用户都要遍历整个网络,加大了计算复杂度。现有技术中还出现了试图融合协同过滤技术与社交信息进行推荐的系统,比如公开号为CN105184603A、名称为\一种融合协同过滤算法和位置信息的目标地推荐方法\,但还是存在着算法复杂度大、可扩展性差的缺点。
技术实现思路
本专利技术要解决的技术问题是针对现有的推荐技术中存在的推荐精度低、计算复杂度高的缺点。为解决上述问题,本专利技术提出一种基于位置和社交关系的群组与地点推荐方法,包括如下步骤:步骤1:生成社交群组阶段;步骤1-1:从基于位置的社交网络(LBSN)中得到包含用户及其签到地点的签到数据,从中剔除签到次数少于a次的用户,以及被签到次数少于b次的地点,最终得到的签到数据含有s个用户,t个地点,用户集合U=(u1,u2,…us),地点集合L=(l1,l2,…lt),共计w条签到信息,每条签到信息包含用户、地点,表示为(ui,lp),其中ui表示用户i,lp表示地点p;步骤1-2:根据用户签到数据,以用户之间签到数据的交集,即对相同地点签到的数据,通过皮尔森相关系数计算,得到的数值作为用户之间的签到相似度权值,计算出s个用户两两之间的签到相似度,构建用户签到相似性网络Gc=<U,E>,A=(aij)s×s是Gc的矩阵;步骤1-3:根据用户签到相似度,利用离散粒子群优化方法,识别出不同的社区(community),社区集合为C=(c1,c2,…),其中ci代表第i个社区;步骤1-4:用户在LBSN中连接其在某种社交网络(如Facebook)的帐号,获取该社交网络中用户的好友列表,针对任一社区中的用户对,用其在该社交网络中共同好友数目标识作为权值,表示为用户间的社交亲密度,形成社区内用户的社交邻接关系;步骤1-5:根据社交亲密度,在目标用户ut所在的社区中,选择与目标用户ut的社交亲密度值最大的k-1个用户,生成包含目标用户的人数为k的社交群组(group),推荐给目标用户ut;步骤2:组内地点推荐阶段;步骤2-1:在群组内,根据用户签到相似度,利用协同过滤方法,对目标用户未签到地点进行评分预测;步骤2-2:利用Top-N方法,选出N个评分最高的地点推荐给目标用户。进一步,上述步骤1-2还包括以下步骤:在w条签到信息中,以用户i对地点p的签到次数,即(ui,lp)出现的数目,作为用户i对地点p的评分,定义用户ui对地点lp评分为利用皮尔森相关系数计算用户之间的签到相似度,从而计算出s个用户两两之间的签到相似度,由此构建用户签到相似性网络Gc=<U,E>,A=(aij)s×s是Gc的矩阵,利用皮尔森相关系数计算用户签到相似性公式如下:其中ui,uj代表用户,Lij表示用户i和用户j之间共有的签到地点,表示用户i对某一地点l的评分,表示ui对共同签到地点评分的平均值。进一步,上述步骤1-3包括:利用DPSO方法进行社区划分,在一个多维空间内,以粒子群内粒子移动的过程模拟社区划分优化过程,根据粒子位置坐标划分社区,坐标维数等于LBSN中的用户数,位置坐标的分量对应不同用户,值相同的分量对应的用户在同一社区,一个粒子的位置坐标对应一种划分结果,根据评价社区划分标准的模块度Q,决定粒子的速度,促使粒子的移动,位置的改变,得到不同的社区划分结果,进而促使粒子向着优化社区划分即使Q值变大的位置移动,最终达到迭代次数或停止条件时Q取最大值,对应坐标所代表的社区划分方式为最佳的社区划分,模块度Q的定义如下: Q = 1 h Σ i , j ( a i j - Z i Z j h ) δ ( c u i , c u j ) , 1 ≤ i , j ≤ s , i ≠ j ]]>以同一个社区内所有用户签到相似度权值总和与预期的所有用户签到相似度权值总和相减所得值衡量社区划分优劣,Q越大表示识别出的社区划分结构越好,即同一个社区内所有用户签到相似度权值总和比预期的大,同一社区内的联系比预期的密切,其中aij表示用户i与用户j之间的签到相似性权值,zi=∑jaij是A中第i行除了第i个值之外值的总和,h=∑izi是A中aij的总和,定义为预期的用户i和用户j之间的签到相似度,表示用户i所在的社区,如果用户i,j在同一社区,则否则为0,假设在s维空间中,m个粒子组成一个群体,每个粒子α包含一个s维的位置向量Xα=(xα,1,xα,2,…,xα,s),速度向量Vα=(vα,1,vα,2,…,vα,s),其中位置向量中的s个分量代表社交网络中的s个用户,xα,j表示粒子α中对应的用户uj,位置向量的每一个分量的取值范围是[1,s]之间的整数,速度向量的每一个分量的取值为0或1,针对粒子α的位置向量Xα=(xα,1,xα,2,…,xα,s),若xα,1=xα,2,则用户u1,u2在同一社区,以此规则划分出社区结构,则每一个粒子的位置对应一种社区划分,通过评价社区划分标准本文档来自技高网...

【技术保护点】
一种基于位置和社交关系的群组与地点推荐方法,其特征在于包括如下步骤:步骤1:生成社交群组阶段;步骤1‑1:从LBSN中得到包含用户及其签到地点的签到数据,从中剔除签到次数少于a次的用户,以及被签到次数少于b次的地点,最终得到的签到数据含有s个用户,t个地点,用户集合U=(u1,u2,…us),地点集合L=(l1,l2,…lt),共计w条签到信息,每条签到信息包含用户、地点,表示为(ui,lp),其中ui表示用户i,lp表示地点p;步骤1‑2:根据用户签到数据,以用户之间签到数据的交集,即对相同地点签到的数据,通过皮尔森相关系数计算,得到的数值作为用户之间的签到相似度权值,计算出s个用户两两之间的签到相似度,构建用户签到相似性网络Gc=<U,E>,A=(aij)s×s是Gc的矩阵;步骤1‑3:根据用户签到相似度,利用离散粒子群优化方法,识别出不同的社区,社区集合为C=(c1,c2,…),其中ci代表第i个社区;步骤1‑4:用户在LBSN中连接其在某种社交网络的帐号,获取该社交网络中用户的好友列表,针对任一社区中的用户对,用其在该社交网络中共同好友数目标识作为权值,表示为用户间的社交亲密度,形成社区内用户的社交邻接关系;步骤1‑5:根据社交亲密度,在目标用户ut所在的社区中,选择与目标用户ut的社交亲密度值最大的k‑1个用户,生成包含目标用户的人数为k的社交群组,推荐给目标用户ut;步骤2:组内地点推荐阶段;步骤2‑1:在群组内,根据用户签到相似度,利用协同过滤方法,对目标用户未签到地点进行评分预测;步骤2‑2:利用Top‑N方法,选出N个评分最高的地点推荐给目标用户。...

【技术特征摘要】
1.一种基于位置和社交关系的群组与地点推荐方法,其特征在于包括如下步骤:步骤1:生成社交群组阶段;步骤1-1:从LBSN中得到包含用户及其签到地点的签到数据,从中剔除签到次数少于a次的用户,以及被签到次数少于b次的地点,最终得到的签到数据含有s个用户,t个地点,用户集合U=(u1,u2,…us),地点集合L=(l1,l2,…lt),共计w条签到信息,每条签到信息包含用户、地点,表示为(ui,lp),其中ui表示用户i,lp表示地点p;步骤1-2:根据用户签到数据,以用户之间签到数据的交集,即对相同地点签到的数据,通过皮尔森相关系数计算,得到的数值作为用户之间的签到相似度权值,计算出s个用户两两之间的签到相似度,构建用户签到相似性网络Gc=<U,E>,A=(aij)s×s是Gc的矩阵;步骤1-3:根据用户签到相似度,利用离散粒子群优化方法,识别出不同的社区,社区集合为C=(c1,c2,…),其中ci代表第i个社区;步骤1-4:用户在LBSN中连接其在某种社交网络的帐号,获取该社交网络中用户的好友列表,针对任一社区中的用户对,用其在该社交网络中共同好友数目标识作为权值,表示为用户间的社交亲密度,形成社区内用户的社交邻接关系;步骤1-5:根据社交亲密度,在目标用户ut所在的社区中,选择与目标用户ut的社交亲密度值最大的k-1个用户,生成包含目标用户的人数为k的社交群组,推荐给目标用户ut;步骤2:组内地点推荐阶段;步骤2-1:在群组内,根据用户签到相似度,利用协同过滤方法,对目标用户未签到地点进行评分预测;步骤2-2:利用Top-N方法,选出N个评分最高的地点推荐给目标用户。2.根据权利要求1所述的一种基于位置和社交关系的群组与地点推荐方法,其特征在于,所述步骤1-2包括:在w条签到信息中,以用户i对地点p的签到次数,即(ui,lp)出现的数目,作为用户i对地点p的评分,定义用户ui对地点lp评分为利用皮尔森相关系数计算用户之间的签到相似度,从而计算出s个用户两两之间的签到相似度,由此构建用户签到相似性网络Gc=<U,E>,A=(aij)s×s是Gc的矩阵,利用皮尔森相关系数计算用户签到相似性公式如下:其中ui,uj代表用户,Lij表示用户i和用户j之间共有的签到地点,表示用户i对某一地点l的评分,表示ui对共同签到地点评分的平均值。3.根据权利要求1所述的一种基于位置和社交关系的群组与地点推荐方法,其特征在于,所述步骤1-3包括:利用DPSO方法进行社区划分,在一个多维空间内,以粒子群内粒子移动的过程模拟社区划分优化过程,根据粒子位置坐标划分社区,坐标维数等于LBSN中的用户数,位置坐标的分量对应不同用户,值相同的分量对应的用户在同一社区,一个粒子的位置坐标对应一种划分结果,根据评价社区划分标准的模块度Q,决定粒子的速度,促使粒子的移动,位置的改变,得到不同的社区划分结果,进而促使粒子向着优化社区划分即使Q值变大的位置移动,最终达到迭代次数或停止条件时Q取最大值,对应坐标所代表的社区划分方式为最佳的社区划分,模块度Q的定义如下: Q = 1 h Σ i , j ( a i j - z i z j h ) δ ( c u i , c u j ) , 1 ≤ i , j ≤ s , i ≠ j ]]>以同一个社区内所有用户签到相似度权值总和与预期的所有用户签到相似度权值总和相减所得值衡量社区划分优劣,Q越大表示识别出的社区划分结构越好,即同一个社区内所有用户签到相似度权值总和比预期的大,同一社区内的联系比预期的密切,其中aij表示用户i与用户j之间的签到相似性权值,zi=∑jaij是A中第i行除了第i个值之外值的总和,h=∑izi是A中aij的总和,定义为预期的用户i和用户j之间的签到相似度,表示用户i所在的社区,如果用户i,j在同一社区,则否则为0,假设在s维空间中,m个粒子组成一个群体,每个粒子α包含一个s维的位置向量Xα=(xα,1,xα,2,…,xα,s),速度向量Vα=(vα,1,vα,2,…,vα,s),其中位置向量中的s个分量代表社交网络中的s个用户,xα,j表示粒子α中对应的用户uj,位置向量的每一个分量的取值范围是[1,s]之间的整数,速度向量的每一个分量的取值为0或1,针对粒子α的位置向量Xα=(xα,1,xα,2,…,xα,s),若xα,1=xα,2,则用户u1,u2在同一社区,以此规则划分出社区结构,则每一个粒子的位置对应一种社区划分,通过评价社区划分标准的模块度Q,根据粒子历史位置记录(包含当前位置),选择使Q取最大值的位置为粒子历史最佳位置Pbestα,再从m个粒子的Pbestα中选出Q取最大值所对应的位置为群体最佳位置Gbest,粒子根据Pbestα和Gbest调整自己目前的速度向量Vα,进而通过速度调整改变自身的当前位置Xα,通过粒子的不断移动,使得模块度Q不断增大,反复迭代直到满足停止条件为止,此时Gbest对应的社区划分的模块度Q值最大,社区划分结构最佳,则Gbest坐标对应的社区划分结果为最佳结果,速度向量和位置向量的更新规则如下: V α = Γ ( ω · V α + d 1 · r 1 · ( Pbest α ⊕ X α ) + d 2 · r 2 · ( G b e s t ⊕ X α ) ...

【专利技术属性】
技术研发人员:吕如恒王玉峰
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏;32

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

1