用户位置确定方法、装置、设备及计算机可读存储介质
技术领域
本公开实施例涉及计算机技术领域,尤其涉及用户位置确定方法、装置、设备及计算机可读存储介质。
背景技术
通过通讯录采集技术,在移动终端中,用户可以授权移动终端应用(APP)读取其通讯录中的存储内容并上传到移动终端应用的数据库。上传的数据内容可以包括:用户ID、所存储的移动终端号码、所存储的号码备注名。如果一名移动终端应用的用户的移动终端的通讯录中记录有N个号码,就会在移动终端应用的数据库中生成N条记录。相关技术中的号码机主定位-号码解析方法通过移动终端号码的号码段对应的城市来确定移动终端号码的机主所在的城市。
但是,移动终端号码的使用者可能在异地活动,而且,一个国家内的主要运营商可能取消漫游费用,越来越多的人即使长期在外地生活也不需要使用当地的号码。例如,一个城市的人长期在另一个城市生活、工作,可以正常使用原先城市的移动终端号码。因此,在实际业务中需要找出一个人的真实活动地点。但是,如果仅仅以移动终端号码的解析地作为其活动地点的推定是远远不够的。这是因为,相关技术中的号码解析的最细粒度是城市,难以满足更精确的定位需求。
发明内容
有鉴于此,本公开第一方面提供了一种用户位置确定方法,包括:
获取多个用户的第一特定信息,所述第一特定信息包括所述多个用户的定位信息及通讯录,其中,所述多个用户中的至少一部分用户的通讯录记录有目标用户的联系信息;
从所获取的第一特定信息中提取包括所述目标用户的联系信息的通讯录所属的用户的第一特定信息作为目标特定信息;
对所述目标特定信息中的定位信息进行解析并将解析出的地理位置作为所述目标用户的目标位置。
本公开第二方面提供了一种用户位置确定装置,包括:
获取模块,被配置为获取多个用户的第一特定信息,所述第一特定信息包括所述多个用户的定位信息及通讯录,其中,所述多个用户中的至少一部分用户的通讯录记录有目标用户的联系信息;
提取模块,被配置为从所获取的第一特定信息中提取包括所述目标用户的联系信息的通讯录所属的用户的第一特定信息作为目标特定信息;
解析模块,被配置为对所述目标特定信息中的定位信息进行解析并将解析出的地理位置作为所述目标用户的目标位置。
本公开第三方面提供了一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现以下步骤:
获取多个用户的第一特定信息,所述第一特定信息包括所述多个用户的定位信息及通讯录,其中,所述多个用户中的至少一部分用户的通讯录记录有目标用户的联系信息;
从所获取的第一特定信息中提取包括所述目标用户的联系信息的通讯录所属的用户的第一特定信息作为目标特定信息;
对所述目标特定信息中的定位信息进行解析并将解析出的地理位置作为所述目标用户的目标位置。
本公开第四方面提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现如第一方面所述的方法。
在本公开实施方式中,通过获取多个用户的第一特定信息,所述第一特定信息包括所述多个用户的定位信息及通讯录,其中,所述多个用户中的至少一部分用户的通讯录记录有目标用户的联系信息;从所获取的第一特定信息中提取包括所述目标用户的联系信息的通讯录所属的用户的第一特定信息作为目标特定信息;对所述目标特定信息中的定位信息进行解析并将解析出的地理位置作为所述目标用户的目标位置,可以更准确地找到目标用户大概率情况下的所在位置,而且确定目标用户位置的精度超过城市级别,从而能够满足各种业务需求。
本公开的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本公开实施例或相关技术中的技术方案,下面将对示例性实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些示例性实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出根据本公开一实施方式的用户位置确定方法的流程图;
图2示出根据本公开一实施方式的用户位置确定方法的步骤S103的示例的流程图;
图3示出根据本公开另一实施方式的用户位置确定方法的流程图;
图4示出根据本公开一实施方式的用户位置确定方法的应用场景示例的示意图;
图5示出根据本公开另一实施方式的用户位置确定装置的结构框图;
图6示出根据本公开一实施方式的电子设备的结构框图;
图7是适于用来实现根据本公开一实施方式的用户位置确定方法的计算机系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本公开方案,下面将结合本公开示例性实施例中的附图,对本公开示例性实施例中的技术方案进行清楚、完整地描述。
在本公开的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
下面将结合本公开示例性实施例中的附图,对本公开示例性实施例中的技术方案进行清楚、完整地描述,显然,所描述的示例性实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。.
图1示出根据本公开一实施方式的用户位置确定方法的流程图。该方法可以包括步骤S101、S102和S103和S104。
在步骤S101中,获取多个用户的第一特定信息,第一特定信息包括多个用户的定位信息及通讯录,其中,多个用户中的至少一部分用户的通讯录记录有目标用户的联系信息。
在步骤S102中,从获取的第一特定信息中提取包括目标用户的联系信息的通讯录所属的用户的第一特定信息作为目标特定信息。
在步骤S103中,对目标特定信息中的定位信息进行解析并将解析出的地理位置作为目标用户的目标位置。
在本公开的一个实施例中,可以通过确定与目标用户发生通信联系的多个用户所在的位置来估计目标用户可能的位置。这是因为,在一般情况下,如果目标用户的联系方式被某一地理位置的大量用户保存,则认为目标用户的主要活动范围应该也位于该地理位置。
例如,获取200个用户的第一特定信息,200个用户的第一特定信息包括这200个用户的定位信息以及通讯录。这200个用户中的100个用户的通讯录中都记录有用户A的联系信息。可以从所述200个用户的第一信息中提取100个包括用户A的联系信息的通讯录所属的100个用户的第一特定信息作为用户A的目标特定信息。对提取出的100个用户的第一特定信息中的定位信息进行解析,解析出的100个定位信息中有80个用户位于北京市海淀区中关村大街附近,20个位于其他位置。在此情况下,可以80个用户所在的北京市海淀区中关村大街附近作为目标用户A的位置。
在本公开的一个实施例中,步骤S101包括:获取多个用户的移动终端的第一特定信息,第一特定信息包括多个用户的移动终端的定位信息及通讯录,其中,多个用户的移动终端中的至少一部分用户的移动终端的通讯录记录有目标用户的移动终端号码。本领域技术人员可以理解,用户的联系信息可以包括移动终端号码、固定电话号码、计算机或移动终端上的通讯软件的号码等等,本公开的实施方式中的用户通讯录可以记录用户的各种联系信息。
在本公开的一个实施例中,定位信息是GPS定位信息。本领域技术人员可以理解,虽然定位信息可以是GPS定位信息,但是,其他定位信息也是可行的,例如,通过移动通信网络确定的位置信息,通过移动终端号码解析得到的位置信息等任何通过有线网络或无线网络确定的位置信息。
在本公开实施方式中,通过获取多个用户的第一特定信息,第一特定信息包括多个用户的定位信息及通讯录,其中,多个用户中的至少一部分用户的通讯录记录有目标用户的联系信息;从所获取的第一特定信息中提取包括目标用户的联系信息的通讯录所属的用户的第一特定信息作为目标特定信息;对目标特定信息中的定位信息进行解析并将解析出的地理位置作为目标用户的目标位置,可以更准确地找到目标用户大概率情况下的所在位置,而且确定目标用户位置的精度超过城市级别,从而能够满足各种业务需求。根据本公开实施方式的用户位置确定方法能以细粒度找出目标用户的真实活动区域,同时不会遗漏目标用户移动终端号码解析地以外的活动区域。
以下参照图2对根据本公开一实施方式的用户位置确定方法的步骤S103进行进一步描述。
图2示出根据本公开一实施方式的用户位置确定方法的步骤S103的示例的流程图。如图2所示,步骤S103包括步骤S201、S202和S203。
在步骤S201中,对目标特定信息中的定位信息进行解析并解析出多个地理位置。
在步骤S202中,计算多个地理位置的出现次数。
在步骤S203中,确定出现次数满足预设条件的地理位置作为目标用户的目标位置。
在根据本公开的一个实施例中,对目标特定信息中的定位信息进行解析时可能解析出多个地理位置。例如,如果对100个记录有目标用户A的用户的定位信息进行解析,发现其中有60个用户的定位信息位于北京市海淀区中关村大街附近,30个用户的定位信息位于上海市浦东新区的陆家嘴附近,5个用户位于北京市朝阳区国际贸易中心附近、3个用户位于天津市滨海新区文化中心附近、2个用户位于河北省石家庄市长安区东大街附近。即,这100个地理位置中,不同的地理位置的出现次数分别为60次、30次、5次、3次和2次。例如,可以将预设条件设置为:出现次数大于等于解析出的全部地理位置中的30%的位置被确定为目标用户的目标位置。在此情况下,北京市海淀区中关村大街附近占解析出的全部地理位置的60%,上海市浦东新区的陆家嘴附近占解析出的全部地理位置的30%。因此,可以将北京市海淀区中关村大街附近和上海市浦东新区的陆家嘴附近作为所述目标用户的目标位置。
以下参照图3对根据本公开另一实施方式的用户位置确定方法进行进一步描述。
图3示出根据本公开另一实施方式的用户位置确定方法的流程图。图3所示的实施方式与图1所示的实施方式的区别在于还包括步骤S301。
在步骤S301中,向目标用户推送与目标位置相关的第二特定信息。
在根据本公开的一个实施例中,由于已经在步骤S103中确定了目标用户的目标位置,因此可以向目标用户推送与目标位置相关的第二特定信息。例如,由于目标位置附近道路维修无法通行,因此可以将与目标位置附近的交通信息推送给目标用户。即使目标用户有多个可能的目标位置,也可以将与所确定的全部目标位置相关的信息推送给目标用户。因此可以方便用户并且提升信息推送的准确度。
以下参照图4对根据本公开一实施方式的用户位置确定方法的一个应用场景示例进行描述。
图4示出根据本公开一实施方式的用户位置确定方法的应用场景示例的示意图。
如图4所示,用户A、B、C上传了通讯录,并分别附有上传位置的精确GPS坐标(a1,b1)、(a2,b2)、(a3,b3),可以从这些GPS坐标解析出省份、城市、区县、社区。即,如图4所示的地点1:x省x市x区x社区;地点2:x省x市x区x社区;地点3:x省x市x区x社区。
针对数据库中的一个特定移动终端号码,找出其所有被各个用户上传的记录,每条记录都能找到上传时的GPS坐标。可以从每条记录对应的GPS坐标解析得到省份、城市、区县、社区。
通过合并GPS坐标在相同区域的记录,可以计算每个社区的上传记录数量。对于一个移动终端号码,其被上传过的位置都是移动终端号码机主可能出现的活动地点。通过计算每个区域移动终端号码被上传的记录数量,就能得到特定移动终端号码机主在这个区域活动的频繁程度。
该方法可以给出细粒度的移动终端号码机主活动范围并且给出机主的多个常用活动区域。
下面应用一个例子说明根据本公开的一个实施例的用户位置确定方法的应用流程:
1.手机号码134xxxxxxxx的解析地是上海市,在传统方法中上海市是其唯一的活动地点。
2.该号码被包括在200个用户上传的通讯录数据中,首先从数据库中提取该200条上传记录。
3.将200条记录的GPS坐标进行解析到社区级别,得到如下结果:其中110条记录来自上海市杨浦区长白街道;80条来自浙江省杭州市西湖区翠苑街道;5条来自黑龙江不同城市,5条来自湖南省的不同城市。
4.通过对上传记录排序,得到如下结果:
a)该号码的机主最常用的地区是上海市杨浦区长白街道;
b)该号码的机主次常用的地区在浙江省杭州市西湖区翠苑街道;
c)该号码的机主可能偶尔在黑龙江和湖南活动,但并不频繁,不足以置信。
5.最终分析结果:该号码机主的常用活动范围包含两个地区:上海市杨浦区长白街道、浙江省杭州市西湖区翠苑街道。
6.该结果可被应用到特定业务中,例如,可以针对性推送上述两个地区的相关信息给该用户。
从以上讨论可见,根据本公开实施例的用户位置确定方法能以细粒度找出用户的真实活动区域,同时不会遗漏用户移动终端号码解析地以外的活动区域。
图5示出根据本公开另一实施方式的用户位置确定装置的结构框图。该装置可以包括获取模块501、提取模块502和解析模块503。
获取模块501被配置为获取多个用户的第一特定信息,第一特定信息包括多个用户的定位信息及通讯录,其中,多个用户中的至少一部分用户的通讯录记录有目标用户的联系信息;
提取模块502被配置为从所获取的第一特定信息中提取包括目标用户的联系信息的通讯录所属的用户的第一特定信息作为目标特定信息;
解析模块503被配置为对目标特定信息中的定位信息进行解析并将解析出的地理位置作为目标用户的目标位置。
以上描述了用户位置确定装置的内部功能和结构,在一个可能的设计中,该用户位置确定装置的结构可实现为用户位置确定设备,如图6中所示,该处理设备600可以包括处理器601以及存储器602。
所述存储器602用于存储支持用户位置确定装置执行上述任一实施例中用户位置确定方法的程序,所述处理器601被配置为用于执行所述存储器602中存储的程序。
所述存储器602用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器601执行以实现以下步骤:
获取多个用户的第一特定信息,所述第一特定信息包括所述多个用户的定位信息及通讯录,其中,所述多个用户中的至少一部分用户的通讯录记录有目标用户的联系信息;
从所获取的第一特定信息中提取包括所述目标用户的联系信息的通讯录所属的用户的第一特定信息作为目标特定信息;
对所述目标特定信息中的定位信息进行解析并将解析出的地理位置作为所述目标用户的目标位置。
在本公开的一个实施例中,所述对所述目标特定信息中的定位信息进行解析并将解析出的地理位置作为所述目标用户的目标位置,包括:
对所述目标特定信息中的定位信息进行解析并解析出多个地理位置;
计算所述多个地理位置的出现次数;
确定出现次数满足预设条件的地理位置作为所述目标用户的目标位置。
在本公开的一个实施例中,所述获取多个用户的第一特定信息,包括:
获取多个用户的移动终端的第一特定信息,所述第一特定信息包括所述多个用户的移动终端的定位信息及通讯录,其中,所述多个用户的移动终端中的至少一部分用户的移动终端的通讯录记录有目标用户的移动终端号码。
在本公开的一个实施例中,所述定位信息是GPS定位信息。
在本公开的一个实施例中,所述一条或多条计算机指令还被所述处理器601执行以实现以下步骤:
向所述目标用户推送与所述目标位置相关的第二特定信息。
所述处理器601用于执行前述各方法步骤中的全部或部分步骤。
其中,所述用户位置确定设备的结构中还可以包括通信接口,用于用户位置确定设备与其他设备或通信网络通信。
本公开示例性实施例还提供了一种计算机存储介质,用于储存所述用户位置确定装置所用的计算机软件指令,其包含用于执行上述任一实施例中用户位置确定方法所涉及的程序。
图7是适于用来实现根据本公开一实施方式的用户位置确定方法的计算机系统的结构示意图。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行上述图1所示的实施方式中的各种处理。在RAM703中,还存储有系统700操作所需的各种程序和数据。CPU701、ROM702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本公开的实施方式,上文参考图1描述的方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行图1的数据处理方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。
附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,并且/或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。