一种居住社区群发现方法
技术领域
本发明涉及互联网应用领域,具体涉及一种居住社区群发现方法。
背景技术
当前基于GPS位置信息的应用,在向用户推荐可加入的群或好友时,由于只参照即时位置信息,并且由于城市中人员流动性较强,因而最终推荐结果的针对性较低,推荐给用户的群或“好友”往往不是用户所想要的。
发明内容
本发明为克服现有技术中的不足,提供了一种针对性强的居住社区群发现方法。
为实现上述目的,本发明公开了如下技术方案:
一种居住社区群发现方法,包括如下步骤:
(1)确定应用领域,在用户的智能移动终端部署特定应用,推动用户注册该应用;
(2)通过应用客户端收集用户信息,包括唯一用户标识、时间、经度和纬度,并按固定周期发送至服务器;
(3)将用户设备的唯一标识、时间、经度和纬度数据进行ETL抽取、转化和加载;
(4)聚类分析用户关系,对转换后的数据进行聚类计算,筛选并准确求得用户居住同一小区的概率;
(5)推荐,根据用户的聚类情况,为属于同一聚类的用户生成聚类群,并通过消息推送的方式推荐、引导用户进入该群,并产生进一步的交流与联系。
进一步的,所述步骤(1)的具体方式为在某领域F中,发布针对该领域的特定应用A,应用A中进行用户注册身份管理,应用A以智能移动终端为运行载体,每个用户u在应用中具有唯一用户标识,记为uid。
进一步的,步骤(1)中所述的用户设备的唯一标识包括但不局限于IMSI、IMEI、ESN/MEID码、手机号码或在应用管理中的用户帐号。
进一步的,所述步骤(2)的具体方式为应用A要求用户打开智能移动终端的GPS服务,应用A客户端中启动位置心跳服务,即,无论应用A在前台或是后台运行,定期向服务器发送心跳信息,该信息包括唯一用户标识、时间、经度和纬度。
进一步的,所述心跳信息格式为{uid,t,(latitude,longitude)},其中uid为唯一用户标识,t为UTC时间,(latitude,longitude)为经纬度,其中latitude是纬度坐标,数据格式为hddmmmmm,h代表纬度半球,取值为‘N’或‘S’,后7位为WGS84坐标系纬度数据格式去除小数点形式;longitude是精度坐标,数据格式为hddmmmmm,h代表纬度半球,取值为‘E’或‘W’,后7位为WGS84坐标系数据格式去除小数点形式。
进一步的,所述步骤(2)的固定周期p可以设置为但不局限于每30分钟发送一次。
进一步的,所述步骤(3)的数据转化具体包括如下步骤:
1)选定分析时间段,即设定时间起始点和时间终止点;
2)统计出该时间段内所记录数据的所有涉及的用户uid;
3)以uid为列,以时间点为行,进行如下数据转换处理;
4)以步骤1)所选时间起始点为第一行事件,以时间起点加上步骤(2)所设的发送周期p为第二行事件,以后的事件以此类推,直至达到步骤1)所选的时间终止点;
5)每个元素数据取值为:选取集合{g|g=(uid,time,latitude,longitude)}中uid=u,即从用户经纬度原始记录集合中,找到对应列(用户)和行(时刻)的经纬度取值;并且time-t<p的元素,取该元素中的latitude和longitude形成新的元组(latitude,longitude),作为转换后的元素数据,其中time代表原始位置数据集G中的记录时间,t代表行所对应的时刻,p代表步骤(2)所设的位置发送固定周期;
6)根据latitude与longitude中开头字母的不同将数据集拆分成4个子数据集,并在子数据集中去除字母,继而将latitude与longitude由字符串转换成整数形式,4个子数据集可以用“N-E”、“N-W”、“S-E”、“S-W”来标识,分别代表“北东半球”、“北西半球”、“南东半球”、“南西半球”。
进一步的,所述步骤(4)聚类计算步骤如下:
1)选择聚类算法,对步骤(3)转换后的数据集G进行聚类计算;
2)定义两个元素的相似度为两个元素的切比雪夫距离,即设有元素g1=(la1,lo1),g2=(la2,lo2),则g1与g2的相似度为d12=max(|la2-la1|,|lo2-lo1|),式中(la1,lo1)表示元素g1的经纬度,(la2,lo2)表示元素g2的经纬度,通过此步骤判定两个点在地理位置上的远近;
3)设置聚类的终止条件,当簇内距离小于预设的阈值r时,停止聚类算法的计算;
4)以数据集G中的行为单位,对每个时间点t上的所有uid进行聚类计算;从中挖掘出uid所代表用户在距离上的聚类关系;
5)对各个时间点下聚类后产生的簇集合进行并集计算,从而求出更完整的聚类关系。
进一步的,所述r的取值为经度或纬度的差值,被转换为相应的地面距离时,距离小于各居住小区的抽样统计平均直径。
进一步的,所述聚类计算时可选择23点-次日7点的集合来对数据进行筛选,再进行并集运算,以更准确求得用户居住同一小区的概率。
本发明公开的一种居住社区群发现方法,具有以下有益效果:
相对于现有技术主要基于移动设备即时位置信息,提供就近发现用户功能(LBS),本发明通过积累连续数据(即提取用户群多个时间切片点上的位置分布信息)和聚类计算,来发现用户在居住位置上的邻近关系,这样所带来的好处是:对于提供面向社区服务的应用,特别是社交型应用,本发明能够以计算方式自动发现用户现实中的真实社区群,并可以此为依据,促进同社区间用户加强联系,推送服务,开展线上线下的同步推广活动。
具体实施方式
下面结合实施例对本发明作进一步描述。
所述的一种居住社区群发现方法,包括如下步骤:
(1)确定应用领域,在用户的智能移动终端部署特定应用,推动用户注册该应用;
(2)通过应用客户端收集用户信息,包括唯一用户标识、时间、经度和纬度,并按固定周期发送至服务器;
(3)将用户设备的唯一标识、时间、经度和纬度数据进行ETL抽取、转化和加载;
(4)聚类分析用户关系,对转换后的数据进行聚类计算,筛选并准确求得用户居住同一小区的概率;
(5)推荐,根据用户的聚类情况,为属于同一聚类的用户生成聚类群,并通过消息推送的方式推荐、引导用户进入该群,并产生进一步的交流与联系。
步骤(1)的具体方式为在某领域F中,发布针对该领域的特定应用A,应用A中进行用户注册身份管理,应用A以智能移动终端(如:手机、平板电脑等)为运行载体,每个用户u在应用中具有唯一用户标识,记为uid。
步骤(2)的具体方式为应用A要求用户打开智能移动终端的GPS服务,应用A客户端中启动位置心跳服务,即,无论应用A在前台或是后台运行,定期向服务器发送心跳信息,该信息包括唯一用户标识、时间、经度和纬度。
原始的数据结构可以视为:4元组(uid,t,latitude,longitude)的集合。为进行聚类计算,发现用户的是否居住同一社区,需要对原有数据进行转换处理。步骤(3)的数据转化具体包括如下步骤:
1)选定分析时间段,即设定时间起始点和时间终止点;
2)统计出该时间段内所记录数据的所有涉及的用户uid;
3)以uid为列,以时间点为行,进行如下数据转换处理;
4)以步骤1)所选时间起始点为第一行事件,以时间起点加上步骤(2)所设的发送周期p(如p=30分钟)为第二行事件,以后的事件以此类推,直至达到步骤1)所选的时间终止点;
5)每个元素数据(u列,t行)取值为:选取集合{g|g=(uid,time,latitude,longitude)}中uid=u,即从用户经纬度原始记录集合中,找到对应列(用户)和行(时刻)的经纬度取值;并且time-t<p的元素,取该元素中的latitude和longitude形成新的元组(latitude,longitude),作为转换后的元素数据,每个元素为某用户在统计区间内某个时刻的经纬度值记录,其中time代表原始位置数据集G中的记录时间,t代表行所对应的时刻,p代表步骤(2)所设的位置发送固定周期;
6)根据latitude与longitude中开头字母的不同将数据集拆分成4个子数据集,并在子数据集中去除字母,继而将latitude与longitude由字符串转换成整数形式,4个子数据集可以用“N-E”、“N-W”、“S-E”、“S-W”来标识,分别代表“北东半球”、“北西半球”、“南东半球”、“南西半球”。
步骤(4)聚类计算步骤如下:
1)选择聚类算法,如SimpleKMeans,对步骤(3)转换后的数据集G进行聚类计算;
2)定义两个元素的相似度为两个元素的切比雪夫距离(Chebyshev Distance),即设有元素g1=(la1,lo1),g2=(la2,lo2),则g1与g2的相似度为d12=max(|la2-la1|,|lo2-lo1|),式中(la1,lo1)表示元素g1的经纬度,(la2,lo2)表示元素g2的经纬度,通过此步骤判定两个点在地理位置上的远近;
3)设置聚类的终止条件,当簇内距离小于预设的阈值r时,停止聚类算法的计算;
4)以数据集G中的行为单位,对每个时间点t上的所有uid进行聚类计算;从中挖掘出uid所代表用户在距离上的聚类关系;
5)对各个时间点下聚类后产生的簇集合进行并集计算,从而求出更完整的聚类关系。
需要说明的是,步骤(1)中所述的用户设备的唯一标识包括但不局限于IMSI、IMEI、ESN/MEID码、手机号码或在应用管理中的用户帐号。
心跳信息格式为{uid,t,(latitude,longitude)},其中uid为唯一用户标识,t为UTC时间,(latitude,longitude)为经纬度,其中latitude是纬度坐标,数据格式为hddmmmmm,h代表纬度半球,取值为‘N’或‘S’,后7位为WGS84坐标系纬度数据格式去除小数点形式;longitude是精度坐标,数据格式为hddmmmmm,h代表纬度半球,取值为‘E’或‘W’,后7位为WGS84坐标系数据格式去除小数点形式。
步骤(2)的固定周期p可以设置为但不局限于每30分钟发送一次。
r的取值为经度或纬度的差值,被转换为相应的地面距离时,距离小于各居住小区的抽样统计平均直径(如3km)。
聚类计算时可选择23点-次日7点的集合来对数据进行筛选,再进行并集运算,以更准确求得用户居住同一小区的概率。
相对于现有技术主要基于移动设备即时位置信息,提供就近发现用户功能(LBS),本发明通过积累连续数据(即提取用户群多个时间切片点上的位置分布信息)和聚类计算,来发现用户在居住位置上的邻近关系,这样所带来的好处是:对于提供面向社区服务的应用,特别是社交型应用,本发明能够以计算方式自动发现用户现实中的真实社区群,并可以此为依据,促进同社区间用户加强联系,推送服务,开展线上线下的同步推广活动。
以上所述仅是本发明的优选实施方式,应当指出,对于本领域的普通技术人员,在不脱离本发明的前提下,还可以对本发明做出的若干改进和补充,这些改进和补充,也应视为本发明的保护范围。