一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种位置社交网络中邻近社区的检索方法与流程

2022-02-19 07:19:34 来源:中国专利 TAG:


1.本发明属于计算机应用技术领域,尤其涉及一种位置社交网络中邻近社区的检索方法。


背景技术:

2.随着计算机网络的普及,社交网络应用已经进入人们的日常生活。随着越来越多的用户使用智能手机等移动设备登录社交网络,由于智能手机有从gps等设备获得的位置属性,出现了一种新型的位置社交网络,简称lbsns(location

based social networks)。在lbsns中由相互联系的一组用户构成的社区,考虑了用户之间的联系限制,同时也考虑每个用户所处的地理位置,因此社区的定义具有了新的位置属性要求。lbsns有许多新的应用,例如一个商家对邻近用户的服务推荐等。
3.在lbsns推荐应用中有一种社区推荐应用,适用于一些多人或者集体消费项目的推荐应用。例如有一个羽毛球馆做推广,它可以对附近经常来打球的一些人做推广活动。那么它对某个小型社区(地理位置邻近且互相有联系的人群,例如附近的通常有联系的,而且经常一块过来打球的人)进行针对性的推广,显然要比群发消息给所有的客户效果更好。
4.但是在位置社交网络中进行这种互相之间有联系、又住在附近,而且他们之间的距离相对较近的用户社区检索非常费时或者说比较困难。通常的做法是找到查询结点(例如这个羽毛球馆)它周边的所有社区,对这些社区进行判断,看是否满足某种地理位置范围的限定条件,例如社区中结点是否都位于一定距离范围以内,然后根据这些社区距离这个查询结点的距离远近关系,依次返回最近的社区,次近的社区等等。由于需要遍历这个社交网络中所有的社区,并对其进行地理位置范围的判断,然后排序返回结果,整个检索操作的代价高昂,尤其不适用于在大型数据集上执行这样的搜索任务。


技术实现要素:

5.本发明目的在于提供一种位置社交网络中邻近社区的检索方法,以解决现有的社区检索需要遍历大量的圆形区域、计算复杂的技术问题。
6.为解决上述技术问题,本发明的一种位置社交网络中邻近社区的检索方法的具体技术方案如下:一种位置社交网络中邻近社区的检索方法,包括如下步骤:步骤1、位置社交网络的抽象;步骤2、初始化查询的待处理结点列表listv;步骤3、搜索listv中的一个结点p相应的区域;到结点列表listc;步骤4、检查listc中任意俩结点和p三点共圆的圆形区域是否包含k

core社区(半径小于r);将发现的k

core社区添加至listkc;步骤5、重复执行直至listv为空或|listkc|>k;步骤6、返回结果列表listkc。
7.进一步地,步骤1的具体步骤如下:将一个社交网络中的所有用户节点抽象,用节点的集合v表示;用户之间的联系表示为两个节点之间的边,使用边的集合e来表示;每个节点v存在一个位置属性position
v

8.进一步地,步骤2包括如下具体步骤:用户输入的查询条件n,r,q,其中q指查询点,n是要求返回的社区数量,r是能覆盖一个返回社区的结点的圆的最小半径;以q为中心,将社交网络图中的所有结点根据它们距离q结点的欧氏距离排序,并将它们存储于一个列表listv。
9.进一步地,步骤3确定一个结点的搜索区域,并对这个区域的子图进行k

core分解,获得k

core社区包含的结点列表listc;具体步骤如下:步骤3

1:从列表listv中弹出一个结点p进行操作;步骤3

2:获得p结点的搜索区域v’;v’={v | v∈v & |q,p|<|q,p| & |p,v|≤2r}
ꢀꢀꢀꢀ


(1)式

(1)中使用的符号“||”表示两点之间的距离,式子定义的区域结点集合v’中包含的结点v具有三个性质:首先v属于v;v与查询点q的距离小于p与查询点q的距离,或者说v结点位于结点p,q之间;v结点与q结点的距离小于2r;步骤3

3、检查v’中结点的个数是否少于k,如果结点个数少于k,重复执行步骤3

1;步骤3

4、将仅包含结点集合v’的子图g’=(v’,e’)从社交网络图g中分割出来;步骤3

5、对子图g’=(v’,e’)进行k

core分解;k

core分解的过程是在子图g’中,按照每个结点的度数进行排序,迭代删除所有度数小于k的结点,以及该结点相邻的边,剩下的图就是k

core;对获得的k

core子图使用并查集算法检查其连通性;步骤3

6、将步骤3

5得到的k

core社区中所有结点插入列表listc;步骤3

7、对列表listc按结点名称进行排序。
10.进一步地,步骤4的具体步骤如下:步骤4

1、初始化列表listkc;步骤4

2、设置循环变量i为2,执行步骤4

3、步骤4

4直至i的值超过|listc|,|listc|表示列表中结点的个数;步骤4

3、设置循环变量j为1,执行步骤4

4,直至j的值超过i

1;步骤4

4、本步骤包含以下操作:取结点p、列表listc中的结点listci、listcj,使用三点共圆算法确定覆盖这三点的最小半径圆,使用circle表示这个圆;判断圆circle的半径是否小于r,如果半径小于r,执行以下操作:取得圆circle中按照位置关系包含的所有结点构成的集合s;对结点集合s构成的子图进行k

core分解,连通性检查,确定是否包含满足本发明定义的k

core社区;如果存在一个k

core社区,将其插入列表listkc;重复执行步骤4

4,直至步骤4

2、4

3中循环控制条件为假。
11.进一步地,步骤5包括如下具体步骤:
如果列表listv非空,并且结果列表listkc的长度小于k,也即还没搜索完成所有结点,并且没有达到查询所要求返回的k

core 社区数量k,重复执行步骤3、步骤4。
12.本发明的一种位置社交网络中邻近社区的检索方法具有以下优点:本发明针对位置社交网络中查询点邻近社区的检索要求,通过对一个查询点周边结点按距离排序,限定每个可能关键结点的社区搜索范围,不需要检索位置社交网络中所有存在的社区,从而加快了整个检索查询过程。其特点在于结点按照距离排序以后,以后的查询中不需要检索所有社区,仅通过搜索结点周边部分区域即可确定一个结点是否为关键结点,进而快速的返回查询结果。
附图说明
13.图1为本发明的位置社交网络中邻近社区的检索方法步骤示意图;图2为本发明的实施例的社交网络节点示意图;图3为本发明的一个结点邻近社区的搜索范围示意图。
具体实施方式
14.为了更好地了解本发明的目的、结构及功能,下面结合附图,对本发明一种位置社交网络中邻近社区的检索方法做进一步详细的描述。
15.在本发明中,定义lbsns是一个网络g(v,e),v是这个社交网络中所有用户的结点集合,e是网络中所有用户之间的联系(边),每个节点v存在一个位置属性position
v

16.本发明所指的社交网络社区是指k

core社区。k

core社区是社交网络g(v,e)中的一个连通子图c,这个连通子图中的用户结点满足预定义的紧密性标准,即符合下两个条件:1.社区c中所包含的用户结点至少有k(k是非负整数)个邻接结点,也即在这些用户结点组成的子图中所有结点的度数大于等于k;2.社区c中的任意两个用户结点之间都存在一条路径,也即社区中任意两个用户结点之间是连通的。
17.本发明涉及的用户邻近社区搜索查询,是指输入一个用户结点q(查询点),检索其附近的、按距离排序的n个k

核心社区{c1,c2,c3

cn}。其中距离排序标准是每个社区所含结点中距离查询点最远结点与查询点之间的距离。而且这些返回的社区还要满足范围限制条件,社区中所有结点被一个半径为r的圆所覆盖。这里的n,r是用户输入的查询条件。
18.在社交网络中搜索查询点的邻近社区的过程中,通过判断地理位置范围限定,距离排序这种常规方法,需要遍历大量的圆形区域,遍历次数是结点数量中任取三个结点的组合,计算复杂。但是如果定义一个社区中距离查询点最远的结点为关键节点,那么先按照每个结点与查询点的距离排序,然后由近到远依次检查这些结点是否为关键节点,也就是说这个结点是否是某个社区中距离查询点的最远结点,显然可以缩小搜索范围,而且候选圆形区域的结点组合从三个变成了两个(因为其中关键结点已经确定),从而降低整个搜索的代价。根据这个观察,本发明通过限定每个可能关键节点的搜索范围,在这个较小的范围检查是否存在满足条件的社区,加速了位置社交网络中邻近社区的搜索查询过程。
19.如图1所示,本发明的方法具体步骤如下:
步骤1、位置社交网络的抽象;将一个社交网络中的所有用户节点抽象,用节点的集合v表示;用户之间的联系表示为两个节点之间的边,使用边的集合e来表示;每个节点v存在一个位置属性position
v

20.步骤2、用户输入的查询条件n,r,q,其中q指查询点,n是要求返回的社区数量,r是能覆盖一个返回社区的结点的圆的最小半径。在本步骤,以q为中心,将社交网络图中的所有结点根据它们距离q结点的欧氏距离排序,并将它们存储于一个列表listv。
21.步骤3、确定一个结点的搜索区域,并对这个区域的子图进行k

core分解,获得k

core社区包含的结点列表listc;具体过程如下:3

1从列表listv中弹出一个结点p进行操作。
[0022]3‑
2 获得p结点的搜索区域v’v’={v | v∈v & |q,p|<|q,p| & |p,v|≤2r}
ꢀꢀꢀꢀ


(1)式

(1)中使用的符号“||”表示两点之间的距离,式子定义的区域结点集合v’中包含的结点v具有三个性质:首先v属于v;v与查询点q的距离小于p与查询点q的距离,或者说v结点位于结点p,q之间;v结点与q结点的距离小于2r。由于本发明所指查询是要返回一个以p为关键结点的社区(指存在一个社区,其中距离查询点最远的结点为p),并且能被半径为r的圆形所覆盖,因此,这些结点必然位于式

(1)所指区域。
[0023]3‑
3检查v’中结点的个数是否少于k,如果结点个数少于k,重复执行步骤3

1。
[0024]
如果结点个数少于k,那么显然v’结点不可能构成一个k

core,或者说p不可能成为一个关键结点,因此就不需要对p结点进行后续操作。
[0025]3‑
4 将仅包含结点集合v’的子图g’=(v’,e’)从社交网络图g中分割出来。
[0026]3‑
5 对子图g’=(v’,e’)进行k

core分解。
[0027]
k

core分解的基本过程是在子图g’中,按照每个结点的度数进行排序,迭代删除所有度数小于k的结点,以及该结点相邻的边,那么剩下的图就是k

core。
[0028]
对获得的k

core子图使用并查集算法检查其连通性。
[0029]3‑
6 将步骤3

5得到的k

core社区中所有结点插入列表listc。
[0030]3‑
7 对列表listc按结点名称进行排序。
[0031]
步骤4、社区的搜索;取步骤(3)中得到的结点列表listc中任意两个结点,检查它们与p结点组成的三个结点所确定的一个半径小于r的圆形区域内是否包含一个满足本发明定义的k

core社区,如果存在这样的社区,将其插入列表listkc。
[0032]
具体过程如下:4

1 初始化列表listkc。
[0033]4‑
2 设置循环变量i为2,执行4

3、4

4直至i的值超过|listc|,|listc|表示列表中结点的个数。
[0034]4‑
3 设置循环变量j为1,执行步骤4

4,直至j的值超过i

1。
[0035]4‑
4 本步骤包含以下操作:取结点p、列表listc中的结点listc
i、
listc
j
,使用三点共圆算法确定覆盖这三点的最小半径圆,使用circle表示这个圆。
[0036]
判断圆circle的半径是否小于r,如果半径小于r,执行以下操作:取得圆circle中按照位置关系包含的所有结点构成的集合s;对结点集合s构成的子图进行k

core分解,连通性检查,确定是否包含满足本发明定义的k

core社区;如果存在一个k

core社区,将其插入列表listkc;重复执行步骤4

4,直至步骤4

2、4

3中循环控制条件为假。
[0037]
步骤5、如果列表listv非空,并且结果列表listkc的长度小于k,也即还没搜索完成所有结点,并且没有达到查询所要求返回的k

core 社区数量k,那么重复执行步骤3、步骤4。
[0038]
步骤6、返回结果列表listkc。
[0039]
图2是本发明的一个例子。在这个图中,上层节点、结点之间的边表示一个社交网络用户、用户之间的联系;下层网络是各个用户结点的实际位置。如果结点v10是查询点,k值取3。那么结点集合{v1,v2,v5,v6}、{v4,v5,v8,v9}和{ v2,v3,v6,v7}是3

core社区,各自由4个节点组成。
[0040]
但是观察下层图中各个结点的实际位置,只有{v4,v5,v8,v9}和{ v2,v3,v6,v7}中各个结点落在半径为r的圆形区域内。所以在查询中只会返回这两个3

core社区。
[0041]
图3表示一个结点邻近社区的搜索范围,以查询点v10为中心,将其周边的结点按照其距离v10的距离排序,得到列表<v6,v1,v2,v9,v7,v5,v8,v3,v4>。
[0042]
按照本发明步骤3,首先检查结点v3,发现在步骤3定义的区域内,也就是结点v3和v10之间,距离v3距离范围2r以内,并没有足够数量的结点构成一个3

core社区。
[0043]
步骤3重复从列表中取得结点v1,v2,v9,v7,v5,v8,发现它们都属于类似结点v3的情况。
[0044]
当检查结点v3的时候,在图中阴影覆盖区域内,发现存在结点v2,v6,v7,它们满足3

core社区条件,步骤4检查这些节点的组合,确定他们同时落在半径为r的圆形区域内。
[0045]
同理,在结点v3之后的v4,检索发现也存在一个社区{v4,v5,v8,v9}符合条件。
[0046]
检索过程返回{ v2,v3,v6,v7}和{v4,v5,v8,v9},结束搜索。
[0047]
可以理解,本发明是通过一些实施例进行描述的,本领域技术人员知悉的,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本技术的权利要求范围内的实施例都属于本发明所保护的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献