推荐兴趣点的方法及装置转让专利

申请号 : CN201510884583.3

文献号 : CN106844376B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张冠囡凌利强

申请人 : 高德软件有限公司

摘要 :

本申请提供一种推荐兴趣点的方法及装置,其方法包括:响应于来自客户端的兴趣点获取请求,获取客户端当前所在位置的经纬度坐标;根据客户端当前所在位置的经纬度坐标和各个兴趣点的经纬度坐标,获取客户端当前所在位置的候选推荐兴趣点;获取各个候选推荐兴趣点到所述客户端当前所在位置的距离以及各个候选推荐兴趣点的用于表征候选推荐兴趣点特性的属性信息;基于各个候选推荐兴趣点到所述客户端当前所在位置的距离以及各个候选推荐兴趣点的属性信息,从各个候选推荐兴趣点中确定所述客户端当前所在位置的推荐兴趣点;向所述客户端返回所述推荐兴趣点以供展示。本申请的技术方案,能克服利用单一的距离因子判断用户所在位置的推荐兴趣点的弊端。

权利要求 :

1.一种推荐兴趣点的方法,其特征在于,该方法包括以下步骤:响应于来自客户端的兴趣点获取请求,获取所述客户端当前所在位置的经纬度坐标,其中,所述兴趣点获取请求是具有能够供用户识别的特性的兴趣点的获取请求;

根据客户端当前所在位置的经纬度坐标和各个兴趣点的经纬度坐标,获取所述客户端当前所在位置的候选推荐兴趣点;

获取各个候选推荐兴趣点到所述客户端当前所在位置的距离;

获取各个候选推荐兴趣点的用于表征候选推荐兴趣点特性的属性信息;

基于各个候选推荐兴趣点到所述客户端当前所在位置的距离以及各个候选推荐兴趣点的属性信息,从各个候选推荐兴趣点中确定所述客户端当前所在位置的推荐兴趣点,所述推荐兴趣点是具有能够供用户识别的特性的兴趣点;

向所述客户端返回所述推荐兴趣点以供展示。

2.根据权利要求1所述的方法,其特征在于,基于各个候选推荐兴趣点到所述客户端当前所在位置的距离以及各个候选推荐兴趣点的属性信息,从各个候选推荐兴趣点中确定所述客户端当前所在位置的推荐兴趣点,具体包括:根据各个候选推荐兴趣点到所述客户端当前所在位置的距离和/或属性信息,确定需要剔除的候选推荐兴趣点;

针对保留的候选推荐兴趣点,基于候选推荐兴趣点到所述客户端当前所在位置的距离、以及属性信息,确定候选推荐兴趣点被推荐给客户端的推荐度;

根据确定的推荐度从保留的候选推荐兴趣点中选择推荐兴趣点。

3.根据权利要求2所述的方法,其特征在于,所述属性信息包括兴趣点类型、兴趣点权重、兴趣点等级和兴趣点类型对应的特性属性信息;

根据各个候选推荐兴趣点到所述客户端当前所在位置的距离和/或属性信息,确定需要剔除的候选推荐兴趣点,具体包括:如果所述候选推荐兴趣点包含的特性属性信息的项数小于预置的数量阈值,则确定需要剔除该候选推荐兴趣点;

如果所述候选推荐兴趣点与客户端当前所在位置的距离大于该候选推荐兴趣点所属兴趣点类型对应的距离阈值,则确定需要剔除该候选推荐兴趣点;

如果候选推荐兴趣点属于预置的特定类型、且该候选推荐兴趣点的等级小于预置的等级阈值,则确定需要剔除该候选推荐兴趣点。

4.根据权利要求2所述的方法,其特征在于,所述属性信息包括兴趣点类型、兴趣点权重、兴趣点等级和兴趣点类型对应的特性属性信息;

针对保留的候选推荐兴趣点,基于候选推荐兴趣点到所述客户端当前所在位置的距离、以及属性信息,确定候选推荐兴趣点被推荐给客户端的推荐度,具体包括:将候选推荐兴趣点到客户端当前所在位置的距离与候选推荐兴趣点所属兴趣点类型对应的距离阈值的比值,确定为候选推荐兴趣点的归一化距离;

将候选推荐兴趣点的权重与预置的m值的和值确定为修正权重,所述m为小于等于1的正数;

将归一化距离与预置的n值的和确定为修正归一化距离,所述n为小于m的正数;

将所述修正权重与修正归一化距离的比值确定为所述候选推荐兴趣点被推荐给客户端的推荐度;

根据确定的推荐度从保留的候选推荐兴趣点中选择推荐兴趣点的步骤包括:将推荐度最高的候选推荐兴趣点作为推荐兴趣点。

5.根据权利要求1~4任一项所述的方法,其特征在于,向所述客户端返回所述推荐的兴趣点以供展示的步骤还包括:向所述客户端返回所述推荐兴趣点所具有的特性属性信息,以供展示。

6.根据权利要求1~4任一项所述的方法,其特征在于,获取各个候选推荐兴趣点到所述客户端当前所在位置的距离,具体包括:获取候选推荐兴趣点的外围经纬度坐标集合;

在能获取到外围经纬度坐标集合的情况下,根据候选推荐兴趣点的外围经纬度坐标集合包含的经纬度坐标和客户端当前所在位置经纬度坐标,确定所述候选推荐兴趣点到所述客户端当前所在位置的距离;

在不能获取到外围经纬度坐标集合的情况下,根据候选推荐兴趣点的经纬度坐标和客户端当前所在位置的经纬度坐标,确定所述候选推荐兴趣点到所述客户端当前所在位置的距离。

7.根据权利要求6所述的方法,其特征在于,根据候选推荐兴趣点的外围经纬度坐标集合包含的经纬度坐标和客户端当前所在位置经纬度坐标,确定所述候选推荐兴趣点到所述客户端当前所在位置的距离,具体包括:判断所述客户端当前所在位置的经纬度坐标是否在所述候选推荐兴趣点的外围经纬度坐标集合中的各经纬度坐标构成的多边形区域内;

若在,则确定所述候选推荐兴趣点到所述客户端当前所在位置的距离为0;

若不在,计算外围经纬度坐标集合中的各经纬度坐标分别与所述客户端当前所在位置经纬度坐标之间的距离,将最小距离确定为所述候选推荐兴趣点到所述客户端当前所在位置的距离。

8.根据权利要求7所述的方法,其特征在于,获取各个候选推荐兴趣点到所述客户端当前所在位置的距离的步骤之后,还包括:判断所述候选推荐兴趣点到客户端当前所在位置的距离是否为0,若是则将所述候选推荐兴趣点确定为推荐兴趣点;

若否,则执行所述获取各个候选推荐兴趣点的属性信息的步骤。

9.根据权利要求1~4任一项所述的方法,其特征在于,根据客户端当前所在位置的经纬度坐标和各个兴趣点的经纬度坐标,获取所述客户端当前所在位置的候选推荐兴趣点,具体包括:根据所述客户端当前所在位置的经纬度坐标以及预置的尺寸,确定经纬度范围;

获取经纬度坐标在所述经纬度范围内的各个兴趣点,以作为所述客户端当前所在位置的候选推荐兴趣点。

10.一种推荐兴趣点的装置,其特征在于,该装置包括:

经纬度坐标获取单元,用于响应于来自客户端的兴趣点获取请求,获取所述客户端当前所在位置的经纬度坐标,其中,所述兴趣点获取请求是具有能够供用户识别的特性的兴趣点的获取请求;

候选推荐兴趣点获取单元,用于根据客户端当前所在位置的经纬度坐标和各个兴趣点的经纬度坐标,获取所述客户端当前所在位置的候选推荐兴趣点;

距离获取单元,用于获取各个候选推荐兴趣点到所述客户端当前所在位置的距离;

属性信息获取单元,用于获取各个候选推荐兴趣点的用于表征候选推荐兴趣点特性的属性信息;

推荐兴趣点确定单元,用于基于各个候选推荐兴趣点到所述客户端当前所在位置的距离以及各个候选推荐兴趣点的属性信息,从各个候选推荐兴趣点中确定所述客户端当前所在位置的推荐兴趣点,所述推荐兴趣点是具有能够供用户识别的特性的兴趣点;

返回单元,用于向所述客户端返回所述推荐兴趣点以供展示。

11.根据权利要求10所述的装置,其特征在于,所述推荐兴趣点确定单元包括:剔除候选推荐兴趣点确定子单元,用于根据各个候选推荐兴趣点到所述客户端当前所在位置的距离和/或属性信息,确定需要剔除的候选推荐兴趣点;

推荐度确定子单元,用于针对保留的候选推荐兴趣点,基于候选推荐兴趣点到所述客户端当前所在位置的距离、以及属性信息,确定候选推荐兴趣点被推荐给客户端的推荐度;

选择子单元,用于根据确定的推荐度,从保留的候选推荐兴趣点中选择推荐兴趣点。

12.根据权利要求11所述的装置,其特征在于,所述属性信息包括兴趣点类型、兴趣点权重、兴趣点等级和兴趣点类型对应的特性属性信息;

所述剔除候选推荐兴趣点确定子单元用于:

如果所述候选推荐兴趣点包含的特性属性信息的项数小于预置的数量阈值,则确定需要剔除该候选推荐兴趣点;

如果所述候选推荐兴趣点与客户端当前所在位置的距离大于该候选推荐兴趣点所属兴趣点类型对应的距离阈值,则确定需要剔除该候选推荐兴趣点;

如果候选推荐兴趣点属于预置的特定类型、且该候选推荐兴趣点的等级小于预置的等级阈值,则确定需要剔除该候选推荐兴趣点。

13.根据权利要求11所述的装置,其特征在于,所述属性信息包括兴趣点类型、兴趣点权重、兴趣点等级和兴趣点类型对应的特性属性信息;

推荐度确定子单元用于:

将候选推荐兴趣点到客户端当前所在位置的距离与候选推荐兴趣点所属兴趣点类型对应的距离阈值的比值,确定为候选推荐兴趣点的归一化距离;

将候选推荐兴趣点的权重与预置的m值的和值确定为修正权重,所述m为小于等于1的正数;

将归一化距离与预置的n值的和确定为修正归一化距离,所述n为小于m的正数;

将所述修正权重与修正归一化距离的比值确定为所述候选推荐兴趣点被推荐给客户端的推荐度;

选择子单元,用于:将推荐度最高的候选推荐兴趣点作为推荐兴趣点。

14.根据权利要求10-13任一项所述的装置,其特征在于,返回单元还用于:向所述客户端返回所述推荐兴趣点所具有的特性属性信息,以供展示。

15.根据权利要求10-13任一项所述的装置,其特征在于,距离获取单元包括:外围经纬度坐标集合获取子单元,用于获取候选推荐兴趣点的外围经纬度坐标集合;

第一距离获取子单元,用于在能获取到外围经纬度坐标集合的情况下,根据候选推荐兴趣点的外围经纬度坐标集合包含的经纬度坐标和客户端当前所在位置经纬度坐标,确定所述候选推荐兴趣点到所述客户端当前所在位置的距离;

第二距离获取子单元,用于在不能获取到外围经纬度坐标集合的情况下,根据候选推荐兴趣点的经纬度坐标和客户端当前所在位置的经纬度坐标,确定所述候选推荐兴趣点到所述客户端当前所在位置的距离。

16.根据权利要求15所述的装置,其特征在于,第一距离获取子单元用于:判断所述客户端当前所在位置的经纬度坐标是否在所述候选推荐兴趣点的外围经纬度坐标集合中的各经纬度坐标构成的多边形区域内;

若在,则确定所述候选推荐兴趣点到所述客户端当前所在位置的距离为0;

若不在,计算外围经纬度坐标集合中的各经纬度坐标分别与所述客户端当前所在位置经纬度坐标之间的距离,将最小距离确定为所述候选推荐兴趣点到所述客户端当前所在位置的距离。

17.根据权利要求16所述的装置,其特征在于,所述装置还包括:判断单元,用于在距离获取单元获取各个候选推荐兴趣点到所述客户端当前所在位置的距离之后,判断所述候选推荐兴趣点到客户端当前所在位置的距离是否为0,若是则将所述候选推荐兴趣点确定为推荐兴趣点;若否,则触发所述属性信息获取单元。

18.根据权利要求10-13任一项所述的装置,其特征在于,候选推荐兴趣点获取单元用于:根据所述客户端当前所在位置的经纬度坐标以及预置的尺寸,确定经纬度范围;

获取经纬度坐标在所述经纬度范围内的各个兴趣点,以作为所述客户端当前所在位置的候选推荐兴趣点。

说明书 :

推荐兴趣点的方法及装置

技术领域

[0001] 本申请涉及电子地图导航领域,尤其涉及一种推荐兴趣点的方法及装置。

背景技术

[0002] 兴趣点(POI,Point of Interest)是地理信息系统中的一个术语,泛指一切可以抽象为点的地理对象。兴趣点可以是一个建筑物、一个商铺、一个景点等。在电子地图领域,兴趣点又叫做导航地图信息,一般用于在电子地图上标示实际存在的地点的信息,如商场、旅游景点、学校、餐馆、医院、超市等。兴趣点的信息中一般包括名称、类别、经纬度等基本的属性信息,以及其他一些附加的属性信息,例如,地址、电话、楼层导览信息、出入口信息等。
[0003] 现有技术中,为满足用户需求(如用户处于陌生环境中,不能直观的了解其所处的环境,需要参考其周边一个兴趣点来直观的了解其所在的环境),向用户推荐其所在位置附近一个最佳兴趣点。目前向用户推荐最佳兴趣点的方式主要如下:确定出与用户当前所在位置距离最近的一个兴趣点作为推荐兴趣点,如果存在多个距离最近的兴趣点则从中随机选取一个作为推荐兴趣点。距离最近的推荐兴趣点虽然能描述用户当前所处实际位置,但推荐兴趣点并不一定能够满足用户了解其所处环境的需求,因此单一的依据距离远近向用户推荐兴趣点并不是很合理。

发明内容

[0004] 本申请的一个目的是提供一种推荐兴趣点的方法及装置,使得推荐给用户的兴趣点更合理。
[0005] 根据本申请的一方面,提供了一种推荐兴趣点的方法,其中,该方法包括以下步骤:响应于来自客户端的兴趣点获取请求,获取所述客户端当前所在位置的经纬度坐标;根据客户端当前所在位置的经纬度坐标和各个兴趣点的经纬度坐标,获取所述客户端当前所在位置的候选推荐兴趣点;获取各个候选推荐兴趣点到所述客户端当前所在位置的距离;获取各个候选推荐兴趣点的用于表征候选推荐兴趣点特性的属性信息;基于各个候选推荐兴趣点到所述客户端当前所在位置的距离以及各个候选推荐兴趣点的属性信息,从各个候选推荐兴趣点中确定所述客户端当前所在位置的推荐兴趣点;向所述客户端返回所述推荐兴趣点以供展示。
[0006] 根据本申请的另一方面,还提供了一种推荐兴趣点的装置,其中,该装置包括:经纬度坐标获取单元,用于响应于来自客户端的兴趣点获取请求,获取所述客户端当前所在位置的经纬度坐标;候选推荐兴趣点获取单元,用于根据客户端当前所在位置的经纬度坐标和各个兴趣点的经纬度坐标,获取所述客户端当前所在位置的候选推荐兴趣点;距离获取单元,用于获取各个候选推荐兴趣点到所述客户端当前所在位置的距离;属性信息获取单元,用于获取各个候选推荐兴趣点的用于表征候选推荐兴趣点特性的属性信息;推荐兴趣点确定单元,用于基于各个候选推荐兴趣点到所述客户端当前所在位置的距离以及各个候选推荐兴趣点的属性信息,从各个候选推荐兴趣点中确定所述客户端当前所在位置的推荐兴趣点;返回单元,用于向所述客户端返回所述推荐兴趣点以供展示。
[0007] 与现有技术相比,本申请的实施例具有以下优点:本申请提供的技术方案,不仅仅根据兴趣点与客户端当前所在位置的距离远近推荐兴趣点,结合兴趣点与客户端当前所在位置的距离以及用于表征兴趣点特性的属性信息来综合推荐兴趣点,从而使得推荐给用户的兴趣点是具有能够便于用户识别的特性的兴趣点,因此用户能够根据该兴趣点更好的识别其当前所处位置的环境,克服了现有技术采用单一距离因子判断用户所在位置对应的推荐兴趣点的弊端,使得对兴趣点的推荐更加符合客观实际。

附图说明

[0008] 通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
[0009] 图1为本申请一个实施例提供的方法的流程图;
[0010] 图2为本申请一个实施例提供的方法中步骤S120的一种实施方式的流程图;
[0011] 图3a示意性示出了一个兴趣点的属性信息的示例;
[0012] 图3b示意性示出了另一个兴趣点的属性信息的示例
[0013] 图4为本申请一个实施例提供的方法中步骤S150的流程图;
[0014] 图5为本申请另一个实施例的在客户端显示兴趣点的信息的用户界面截图。
[0015] 图6为本申请另一个实施例提供的方法的流程图;
[0016] 图7为本申请一个实施例提供的装置示意图;
[0017] 图8为本申请另一个实施例提供的装置示意图;
[0018] 附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

[0019] 在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0020] 在上下文中所称“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的存续指令来执行预定处理过程,或是由ASIC、FPGA、DSP等硬件执行预定处理过程,或是由上述二者组合来实现。计算机设备包括但不限于服务器、个人电脑、笔记本电脑、平板电脑、智能手机等。
[0021] 所述计算机设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本申请,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本申请。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
[0022] 需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本申请,也应包含在本申请保护范围以内,并以引用方式包含于此。
[0023] 后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
[0024] 这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本申请的示例性实施例的目的。但是本申请可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
[0025] 应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
[0026] 这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
[0027] 还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
[0028] 下面结合附图对本申请作进一步详细描述。
[0029] 图1为本申请一个实施例的确定推荐兴趣点的方法的流程图。方法1可以应用于服务器端。根据本申请的方法1至少包括步骤S110、步骤S120、步骤S130、步骤S140、步骤S150和步骤S160,如图1所示。
[0030] 步骤S110,响应于来自客户端的兴趣点获取请求,获取所述客户端当前所在位置的经纬度坐标。
[0031] 其中,所述兴趣点获取请求是所述客户端接收到用户(在所述客户端上)触发的特定操作而发出的。所述特定操作是预先设置的、触发时客户端自动向服务器端发送兴趣点获取请求的操作。
[0032] 在一种具体的实施方式中,所述特定操作为用户在所述客户端上开启特定应用的操作。也就是说,当用户在客户端进行启动特定应用的操作时(例如,点击特定应用的图标以启动该应用),客户端向服务器发送兴趣点获取请求,这样在启动该特定应用时,即可向用户显示当前所在位置的兴趣点。例如,该特定应用为电子地图应用,当用户在客户端打开电子地图应用时,客户端向服务器发送兴趣点获取请求,并在该电子地图应用中显示获取到的兴趣点的信息,用户在打开电子地图应用时即可获知自己当前所在位置的兴趣点的信息,因此,采用这种方式是主动向用户推送兴趣点的信息的方式。
[0033] 在另一种具体的实施方式中,所述特定操作为用户在特定应用中触发的特定操作。也就是说,当用户在客户端上安装的特定应用中触发了该应用中的用于获取兴趣点的特定操作时,客户端响应于该特定操作,向服务器发送兴趣点获取请求。采用这种方式,不需要主动向用户推送兴趣点的信息,而是由用户主动获取兴趣点的信息。也就是说,当用户需要获知当前所在位置的兴趣点的信息时,才通过触发特定操作去主动获取。例如,用户在电子地图应用中点击预设的兴趣点获取按钮时,客户端响应于该操作而向服务器发送兴趣点获取请求。
[0034] 获取所述客户端当前所在位置的经纬度坐标的实现方式包括但不限于以下两种方式:
[0035] (1)向所述客户端发送定位请求,以请求所述客户端返回通过GPS(Global Positioning System,全球定位系统)或北斗导航系统定位获取的当前所在位置的经纬度坐标;接收所述客户端返回的当前所在位置的经纬度坐标。
[0036] 也就是说,由客户端对当前所在位置进行GPS定位或北斗导航系统定位,并返回通过定位获取的当前所在位置的经纬度坐标。如客户端通过内置的GPS芯片对当前所在的位置进行定位,并返回得到的经纬度坐标。其中,客户端内置的GPS芯片接收天空中多颗卫星的同步信号,然后根据信号的相位差,计算出当前所在位置的具体的经纬度。
[0037] (2)向所述客户端发送无线局域网信息获取请求,以获取所述客户端当前所处的无线局域网的无线局域网信息;接收所述客户端返回的当前所处的无线局域网的无线局域网信息;根据所述无线局域网信息确定所述客户端当前所在位置的经纬度坐标。
[0038] 所述客户端所处的无线局域网是指所述客户端当前所在位置所覆盖的一个或多个无线局域网(例如,Wi-FI热点),即,所述客户端当前能够接收到信号的无线热点。所述无线局域网信息包括:信号强度、网络标识(例如,SSID)和/或接入设备标识(例如,MAC地址)。根据获取的所述客户端当前所在位置所覆盖的一个或多个无线局域网的信号强度以及网络标识和/或接入设备标识,确定该客户端当前所在位置的经纬度坐标。
[0039] 在一种实现方式中,将信号强度最强的无线局域网的经纬度坐标确定为所述客户端当前所在位置的经纬度坐标。更具体而言,可以在预先建立的网络标识和/或接入设备标识与经纬度坐标对应关系数据库中查询该客户端当前所在位置所覆盖的一个或多个无线局域网中,信号强度最大的无线局域网的网络标识和/或接入设备标识所对应的经纬度坐标。
[0040] 需要说明的是,上述举例仅为更好地说明本申请的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何采集所述客户端当前所在位置的经纬度坐标的实现方式,均应包含在本发明的范围内。
[0041] 步骤S120,根据客户端当前所在位置的经纬度坐标和各个兴趣点的经纬度坐标,获取所述客户端当前所在位置的候选推荐兴趣点。
[0042] 步骤S120具体可以包括步骤S121和步骤S122,如图2所示。
[0043] 步骤S121,根据所述客户端当前所在位置的经纬度坐标以及预置的尺寸,确定经纬度范围。
[0044] 在一种具体实施方式中,所述预置的尺寸包括预置的经度尺寸和纬度尺寸。将所述客户端当前所在位置的经纬度坐标中的经度坐标与经度尺寸分别做加和减运算得到经纬度范围的经度范围,将客户端当前所在位置的经纬度坐标中的纬度坐标与纬度尺寸分别做加和减运算得到经纬度范围的纬度范围。例如,客户端当前所在位置的经纬度坐标为(116.3278,39.9017),预置的经度尺寸和纬度尺寸分别为0.013和0.015,则按照前述方法可以计算得到经度范围为116.3148~116.3408,纬度范围为39.9012~39.9032。
[0045] 在另一种具体实施方式中,所述预置的尺寸为半径。以所述客户端当前所在位置的经纬度坐标为中心点,以所述预置的尺寸为半径计算圆,该圆包括的区域即为经纬度范围。例如:客户端当前所在位置的经纬度坐标为(116.3278,39.9017),预置的尺寸为0.01,则以(116.3278,39.9017)为中心点以0.01为半径画圆。
[0046] 本发明实施例中,预置的尺寸大小并不做严格的限定,可以根据实际需求做灵活设置。
[0047] 步骤S122,获取经纬度坐标在所述经纬度范围内的各个兴趣点,以作为所述客户端当前所在位置的候选推荐兴趣点。
[0048] 步骤S122中,针对每个兴趣点,将该兴趣点的经度与经纬度范围中的经度范围进行比较,以及将该兴趣点的纬度与经纬度范围中的纬度范围进行比较,当兴趣点的经度在经度范围内以及其纬度在纬度范围内时,将该兴趣点确定为候选推荐兴趣点。
[0049] 步骤S130中,获取各个候选推荐兴趣点到所述客户端当前所在位置的距离。
[0050] 在一种实施方式中,步骤S130具体包括:获取各个候选推荐兴趣点的外围经纬度坐标集合;在能获取到外围经纬度坐标集合的情况下,根据候选推荐兴趣点的外围经纬度坐标集合包含的经纬度坐标和客户端当前所在位置经纬度坐标,确定所述候选推荐兴趣点到所述客户端当前所在位置的距离;在不能获取到外围经纬度坐标集合的情况下,根据候选推荐兴趣点的经纬度坐标和客户端当前所在位置的经纬度坐标,确定所述候选推荐兴趣点到所述客户端当前所在位置的距离。
[0051] 所述兴趣点的外围经纬度坐标集合(AOI,Area of Interest),是指用于描述兴趣点所占地理区域的经纬度坐标集合,该经纬度坐标集合中包括多个经纬度坐标,该多个经纬度坐标描绘的区域即为兴趣点所占地理区域。在POI数据库中一般会把一个兴趣点抽象成一个点(该点可以为该兴趣点所占地理区域的中心位置点),但实际上它是有覆盖地理区域面积的,因此对于一些占地理区域面积较大的兴趣点(如占地区域面积大于预置的面积阈值),在POI数据库中不仅存储该兴趣点的抽象出的点的经纬度坐标,还包括该兴趣点对应的经纬度坐标集合。例如,莲花池公园覆盖区域较大,在POI数据库中存储有其AOI信息。用这个外围经纬度坐标集合描述兴趣点的位置,远比用一个点的经纬度坐标去描述兴趣点的位置准确,从而计算候选推荐兴趣点到客户端当前所在位置的距离要准确。本实施例中,所述候选推荐兴趣点的属性信息包括兴趣点的外围经纬度坐标集合。所述外围经纬度坐标集合可以从每个候选推荐兴趣点的属性信息中获取。当然,外围经纬度坐标集合也可以从其它来源获取。每个候选推荐兴趣点的属性信息是事先确定并存储的。
[0052] 在能获取到外围经纬度坐标集合的情况下,根据候选推荐兴趣点的外围经纬度坐标集合包含的经纬度坐标和客户端当前所在位置经纬度坐标,确定所述候选推荐兴趣点到所述客户端当前所在位置的距离的步骤具体包括:判断所述客户端当前所在位置的经纬度坐标是否在所述候选推荐兴趣点的外围经纬度坐标集合中的各经纬度坐标构成的多边形区域内,若在,则所述候选推荐兴趣点到所述客户端当前所在位置的距离为0;若不在,则计算外围经纬度坐标集合中的各经纬度坐标分别与所述客户端当前所在位置经纬度坐标之间的距离,将最小距离确定为所述候选推荐兴趣点到所述客户端当前所在位置的距离。
[0053] 判断所述客户端当前所在位置的经纬度坐标是否在所述候选推荐兴趣点的外围经纬度坐标集合中的各经纬度坐标构成的多边形区域内,也就是判断所述客户端当前所在位置的经纬度坐标是否被所述候选推荐兴趣点的外围经纬度坐标集合包围。具体地,可以将候选推荐兴趣点的外围经纬度坐标集合中的各经纬度坐标连接起来,从而形成一个多边形区域,利用判断点是否在多边形内部的方法,判断所述客户端当前所在位置的坐标是否在兴趣点外围经纬度坐标围成的多边形内,从而确定该客户端的当前所在位置的坐标是否在所述候选推荐兴趣点的外围经纬度坐标集合中的各经纬度坐标构成的多边形区域内。
[0054] 例如,利用夹角和判别法,判断客户端当前所在位置的经纬度坐标所确定的点与候选推荐兴趣点的外围经纬度坐标集合中的各经纬度坐标构成的多边形的所有边的夹角之和是否为360度,如果该夹角之和为360度,则说明该点在多边形内部,即客户端的当前所在位置的经纬度坐标被该候选推荐兴趣点的外围经纬度坐标集合包围。如果该夹角之和不为360度,则说明该点不在多边形外部,即则客户端的当前所在位置的经纬度坐标未被该候选推荐兴趣点的外围经纬度坐标集合包围。
[0055] 又例如,利用引射线法,从客户端当前所在位置的经纬度坐标所确定的点出发引一条射线,判断这条射线与该候选推荐兴趣点的外围经纬度坐标集合中各经纬度坐标构成的多边形的所有边的交点总数目是奇数个还是偶数个。如果交点总数目为奇数个,则说明该点在多边形的内部,即客户端的当前所在位置的经纬度坐标被该候选推荐兴趣点的外围经纬度坐标集合包围。如果交点总数目为偶数个,则说明该点不在多边形外部,即客户端的当前所在位置的经纬度坐标未被该候选推荐兴趣点的外围经纬度坐标集合包围。
[0056] 在不能获取到外围经纬度坐标集合的情况下,根据候选推荐兴趣点的经纬度坐标和客户端当前所在位置的经纬度坐标,确定所述候选推荐兴趣点到所述客户端当前所在位置的距离的步骤具体可以包括:根据所述候选推荐兴趣点的经纬度坐标和客户端当前所在位置的经纬度坐标,计算所述候选推荐兴趣点到所述客户端当前所在位置的距离。
[0057] 具体而言,可以利用常用的地面上两点间的距离计算公式来计算该候选推荐兴趣点经纬度坐标到客户端当前所在位置的经纬度坐标的距离。例如,利用Haversine公式(半正矢公式)或Great-circle distance公式等常用的两点间距离公式,计算该候选推荐兴趣点的经纬度坐标与所述客户端当前所在位置的经纬度坐标的距离。
[0058] 步骤S140,获取各个候选推荐兴趣点的用于表征候选推荐兴趣点特性的属性信息。
[0059] 所述属性信息包括但不限于兴趣点类型、兴趣点权重、兴趣点等级和兴趣点类型对应的特性属性信息。
[0060] 所述兴趣点类型包括但不限于:火车站、商城、景点。
[0061] 所述兴趣点权重表示兴趣点的重要程度,权重值越大表示兴趣点越重要。所述权重表示兴趣点的重要程度,具体可以用0-1之间的浮点数表示,权重值越大表示兴趣点越重要。各个兴趣点的权重根据预定权重计算规则进行计算。
[0062] 在一种实施方式中,根据每个兴趣点的点击量和网络流行热度,确定所述兴趣点的权重。其中,所述网络流行热度为对兴趣点进行搜索得到的搜索结果的数量,所述搜索为在搜索引擎中进行的搜索。
[0063] 具体地,可以基于每个兴趣点的点击量和网络流行热度利用公式(2)拟合出了一个0-1之间的浮点数作为该兴趣点的权重。
[0064]
[0065] p=k1v+k2s          (2)
[0066] 其中,w为兴趣点的权重,即poiweight;p为加权热度,可以由公式(2)计算得到;M为加权热度极大值,M=Max(pi),即所有参加计算的POI的加权热度中最大的值;m为加权热度极小值,m=Min(pi),即所有参加计算的POI的加权热度中最小的值。公式(2)中,k1为点击量v的加权值,取值0.8;k2为网络流行热度的加权值,取值0.2。v为兴趣点的点击量;s为兴趣点的网络流行热度。
[0067] 所述兴趣点等级表示兴趣点的地位,等级数值越大表示兴趣点地位越高。兴趣点等级具体可以用0-999之间的整数来表示。具体而言,可以根据各个兴趣点的用户关注度数据(例如,兴趣点的点击量、评论数量、点评星级等)、知名度数据(例如,兴趣点的搜索量、被引用次数等)、地标性数据(例如,面积、临近道路等级等)基于预定等级计算规则计算各个兴趣点的等级。例如,根据各个兴趣点的上述数据中的一项或多项,利用基于主成分分析方法(PCA)的rank计算模型或者RankingSVM(排序算法)模型计算各个兴趣点的等级。
[0068] 所述兴趣点类型对应的特性属性信息为该兴趣点类型所特有的一些特征信息,一般情况下该种兴趣点类型的兴趣点可能会普遍具有的特征信息。可以在POI数据库中,通过以下方式在POI属性信息中设置特性属性信息:
[0069] 方式1、针对每种兴趣点类型,预先设置与该兴趣点类型对应的特性属性信息,并在该种兴趣点类型的兴趣点的属性信息字段中设置相应特性属性信息的字段,在该字段中赋予不同的取值来标识兴趣点是否包含这些特性属性信息,如字段中标记为1则表示兴趣点包含该特性属性信息,如字段中标记为0则表示兴趣点不包含该特性属性信息。例如,兴趣点类型为火车站的兴趣点的属性信息字段中包括以下特性属性信息字段:出入口字段和售票处字段;兴趣点类型为商城的兴趣点的属性信息字段中包括以下特性属性信息字段:出入口字段、楼层导览字段和购物指南字段;兴趣点类型为景点的兴趣点的属性信息字段中包括以下特性属性信息字段:出入口字段、订门票字段、售票处字段和语音导游字段。
[0070] 方式2、针对每种兴趣点类型,预先设置与该兴趣点类型对应的特性属性信息,并在所有的兴趣点的属性信息字段中设置所有兴趣点类型对应的特性属性信息的字段,在该字段中赋予不同的取值来标识兴趣点是否包含这些特性属性信息,如字段中标记为1则表示兴趣点包含该特性属性信息,如字段中标记为0则表示兴趣点不包含该特性属性信息。如假设POI包括三种POI类型(即火车站、商城和景点),则在所有兴趣点的属性信息字段中设置以下特性属性信息字段:出入口字段、售票处字段、订门票字段、语音导游字段、楼层导览字段和购物指南字段。参考图3a和图3b,分别示意性示出了在POI数据库中两个兴趣点的属性信息。其中,hasEntrace:出入口字段,如hasEntrace取值为1则表示POI属性信息中包括出入口信息,如hasEntrace取值为0则表示POI属性信息中不包括出入口信息;hasSaleWindow:售票处字段,如hasSaleWindow取值为1则表示POI属性信息中包括售票处信息,如hasSaleWindow取值为0则表示POI属性信息中不包括售票处信息;hasTickets:订门票字段;hasFloorIntro:楼层导览字段;hasShoppingGuide:购物指南字段;
hasVoiseGuide:语音导游字段。
[0071] 步骤S150,基于各个候选推荐兴趣点到所述客户端当前所在位置的距离以及各个候选推荐兴趣点的属性信息,从各个候选推荐兴趣点中确定所述客户端当前所在位置的推荐兴趣点。
[0072] 图1中的步骤S150的具体流程图参考图4,步骤S150具体可以包括步骤S151~步骤S153。
[0073] 步骤S151,根据各个候选推荐兴趣点到所述客户端当前所在位置的距离和/或属性信息,确定需要剔除的候选推荐兴趣点。
[0074] 所述属性信息包括兴趣点类型、兴趣点权重、兴趣点等级和兴趣点类型对应的特性属性信息,特性属性信息的相关内容详见前述内容,在此不再赘述。
[0075] 下面具体讨论步骤S151的各种具体实施方式。
[0076] 实施方式1:
[0077] 在该实施方式1中,步骤S151包括:(a)如果所述候选推荐兴趣点包含的特性属性信息的项数小于预置的数量阈值,则确定需要剔除该候选推荐兴趣点;(b)如果所述候选推荐兴趣点与客户端当前所在位置的距离大于该候选推荐兴趣点所属兴趣点类型对应的距离阈值,则确定需要剔除该候选推荐兴趣点;(c)如果候选推荐兴趣点属于预置的特定类型、且该候选推荐兴趣点的等级小于预置的等级阈值,则确定需要剔除该候选推荐兴趣点。即候选推荐兴趣点只要满足以上(a)、(b)和(c)中的任意一项即可被剔除。
[0078] 对于(a),具体来说:
[0079] 不同的兴趣点其包含的特性属性信息会有所不同,即使是同一兴趣点类型的兴趣点,虽然其属性信息中包含的特性属性信息字段相同,但是其包含的特性属性信息会不同,如均为商城类型的兴趣点A和兴趣点B,其中兴趣点A包含的特性属性信息为出入口和购物指南,兴趣点B包含的特性属性信息为出入口、楼层导览和购物指南。
[0080] 前述预置的数量阈值为2。如获取的候选推荐兴趣点为图3a中所示的兴趣点“北京西站”和图3b中所示的兴趣点“莲花池公园”。图3a所示的“北京西站”的特性属性信息中包括出入口和售票处,因此兴趣点“北京西站”包含的特性属性信息的项数不小于预置的数量阈值,该候选推荐兴趣点不需要剔除。图3b所示的“莲花池公园”的属性信息中仅包括出入口,因此兴趣点“莲花池公园”包含的特性属性信息的项数小于预置的数量阈值,该候选推荐兴趣点需要剔除。
[0081] 对于(b),具体来说:
[0082] 例如,可以按如下公式计算归一化距离:
[0083] ds=dist/c            (3)
[0084] 其中,c为候选推荐兴趣点所属兴趣点类型对应的归一化常数,即候选推荐兴趣点所属兴趣点类型对应的距离阈值。具体地,当POI类型为火车站时,c=200米;当POI类型为景点时,c=400米;当POI类型为商城时,c=50米。dist为候选推荐兴趣点到客户端当前所在位置的距离。ds为候选推荐兴趣点与所述客户端当前所在位置的归一化距离,它等于所述候选推荐兴趣点与客户端当前所在位置的距离除以该候选推荐兴趣点所属兴趣点类型对应的距离阈值。因此,只要计算归一化距离ds,再判断ds是否大于1,就能判断是否需要剔除该候选推荐兴趣点。ds>1,说明所述候选推荐兴趣点与客户端当前所在位置的距离大于该候选推荐兴趣点所属兴趣点类型对应的距离阈值,即该候选推荐兴趣点距离用户当前位置还比较远,剔除该候选推荐兴趣点。
[0085] 对于(c),具体来说,可预先设定某一种或多种兴趣点类型为特定类型,如可将景点设置为特定类型的兴趣点,等级阈值设置为400。如:若候选推荐兴趣点为景点且该候选推荐兴趣点的等级小于400,将该候选推荐兴趣点剔除。
[0086] 以图3为例,根据图3所示的属性信息,兴趣点“北京西站”的类型为火车站,不属于该预置的特定类型,因此,该候选推荐兴趣点不需要剔除。兴趣点“莲花池公园”的类型为该预置的特定类型(景点),并且等级为912,大于该预置的等级阈值400,因此,该候选推荐兴趣点也不需要剔除。
[0087] 实施方式2:
[0088] 在该实施方式2中,步骤S151包括:判断所述候选推荐兴趣点包含的特性属性信息的项数是否小于预置的数量阈值,若小于数量阈值则确定需要剔除该候选推荐兴趣点;若不小于数量阈值,则判断所述候选推荐兴趣点与客户端当前所在位置的距离是否大于该候选推荐兴趣点所属兴趣点类型对应的距离阈值,若大于距离阈值则确定需要剔除该候选推荐兴趣点,若不大于距离阈值则判断候选推荐兴趣点是否属于预置的特定类型且该候选推荐兴趣点的等级小于预置的等级阈值,若是则确定需要剔除该候选推荐兴趣点,若否则保留该候选推荐兴趣点。
[0089] 实施方式3:
[0090] 在该实施方式3中,步骤S151包括:(a)如果所述候选推荐兴趣点包含的特性属性信息的项数小于预置的数量阈值,则确定需要剔除该候选推荐兴趣点;(b)如果所述候选推荐兴趣点与客户端当前所在位置的距离大于该候选推荐兴趣点所属兴趣点类型对应的距离阈值,则确定需要剔除该候选推荐兴趣点。即候选推荐兴趣点只要满足以上(a)、(b)中的任意一项即可被剔除。与实施方式1相比,它不根据特定类型的候选推荐兴趣点的等级来剔除推荐兴趣点。
[0091] 实施方式4:
[0092] 在该实施方式中,步骤S151包括:(a)如果所述候选推荐兴趣点包含的特性属性信息的项数小于预置的数量阈值,则确定需要剔除该候选推荐兴趣点;(c)如果候选推荐兴趣点属于预置的特定类型、且该候选推荐兴趣点的等级小于预置的等级阈值,则确定需要剔除该候选推荐兴趣点。即候选推荐兴趣点只要满足以上(a)、(c)中的任意一项即可被剔除。与实施方式1相比,它不根据候选推荐兴趣点与客户端当前所在位置的距离来剔除推荐兴趣点。
[0093] 实施方式5:
[0094] 在该实施方式5中,步骤S151包括:(b)如果所述候选推荐兴趣点与客户端当前所在位置的距离大于该候选推荐兴趣点所属兴趣点类型对应的距离阈值,则确定需要剔除该候选推荐兴趣点;(c)如果候选推荐兴趣点属于预置的特定类型、且该候选推荐兴趣点的等级小于预置的等级阈值,则确定需要剔除该候选推荐兴趣点。即候选推荐兴趣点只要满足以上(b)、(c)中的任意一项即可被剔除。与实施方式1相比,它不根据所述候选推荐兴趣点包含的特性属性信息的项数来剔除推荐兴趣点。
[0095] 实施方式6:
[0096] 在该实施方式6中,不是简单地根据上述(a)-(c)中的两项或三项来确定需要剔除的候选推荐兴趣点,而是利用一个综合指标,即所述候选推荐兴趣点包含的特性属性信息的项数、所述候选推荐兴趣点与客户端当前所在位置的距离的倒数、候选推荐兴趣点的等级中的至少两项的加权和。
[0097] 在该实施例中,步骤S151包括:计算所述候选推荐兴趣点包含的特性属性信息的项数、所述候选推荐兴趣点与客户端当前所在位置的距离的倒数、候选推荐兴趣点的等级中的至少两项的加权和,基于该加权和与预定加权和阈值的比较来确定是否需要剔除该候选推荐兴趣点。
[0098] 例如,计算a·w1+(1/ds)·w2,其中a是所述候选推荐兴趣点包含的特性属性信息的项数,ds是所述候选推荐兴趣点与客户端当前所在位置的距离,w1和w2分别是为所述候选推荐兴趣点包含的特性属性信息的项数a和所述候选推荐兴趣点与客户端当前所在位置的距离的倒数1/ds分配的权重,w1+w2=1。假设预设的加权和阈值为1.6,w1=0.6,w2=0.4,a=1,ds=1,则a·w1+(1/ds)·w2=1<1.6,将其排除不向用户推荐。
[0099] 实施方式7:
[0100] 实施方式1-6中用来确定需要剔除的候选推荐兴趣点的属性信息只有一种,即候选推荐兴趣点包含的特性属性信息的项数,但实际上也可以用其它属性信息来确定需要剔除的候选推荐兴趣点,例如人流密度。人流密度表示单位时间(例如一小时)进入该兴趣点的人次。如果某候选推荐兴趣点的人流密度小于人流密度阈值,说明该兴趣点人流稀少,不向用户推荐。
[0101] 例如,在该实施方式7中,步骤S151包括:(a)如果所述候选推荐兴趣点的人流密度小于预置的人流密度阈值,则确定需要剔除该候选推荐兴趣点;(b)如果所述候选推荐兴趣点与客户端当前所在位置的距离大于该候选推荐兴趣点所属兴趣点类型对应的距离阈值,则确定需要剔除该候选推荐兴趣点;(c)如果候选推荐兴趣点属于预置的特定类型、且该候选推荐兴趣点的等级小于预置的等级阈值,则确定需要剔除该候选推荐兴趣点。即候选推荐兴趣点只要满足以上(a)、(b)和(c)中的任意一项即可被剔除。
[0102] 虽然上面以实施方式1-7为例示出了步骤S151的实现过程,但本领域技术人员应当理解,还可以做出其它的修改和变形,这些修改和变形都落在本申请的保护范围之内。
[0103] 步骤S152,针对保留的候选推荐兴趣点,基于候选推荐兴趣点到所述客户端当前所在位置的距离、以及属性信息,确定候选推荐兴趣点被推荐给客户端的推荐度。
[0104] 其中,保留的候选推荐兴趣点是指经过上述的确定需要剔除的候选推荐兴趣点的步骤后,余下的不需要剔除的候选推荐兴趣点。
[0105] 在一个实施例中,步骤S152具体可以包括:
[0106] 将候选推荐兴趣点到客户端当前所在位置的距离与候选推荐兴趣点所属兴趣点类型对应的距离阈值的比值,确定为候选推荐兴趣点的归一化距离;将候选推荐兴趣点的权重与预置的m值的和值确定为修正权重,所述m为小于等于1的正数;将归一化距离与预置的n值的和确定为修正归一化距离,所述n为小于m的正数;将所述修正权重与修正归一化距离的比值确定为所述候选推荐兴趣点被推荐给客户端的推荐度。
[0107] 具体地,候选推荐兴趣点到客户端当前所在位置的距离dist,候选推荐兴趣点所属兴趣点类型对应的距离阈值为c,则该候选推荐兴趣点的归一化距离ds=dist/c,候选推荐兴趣点的权重为poiweight,修正权重为poiweight+m,修正归一化距离为ds+n,候选推荐兴趣点被推荐给客户端的推荐度为:
[0108] score=(poiweight+m)/(ds+n)(4)
[0109] 例如,图3a所示的候选推荐兴趣点“北京西站”与客户端当前所在位置的距离dist为100米,类型为火车站,对应的距离阈值c为200米,则该候选推荐兴趣点的到客户端当前所在位置的归一化距离ds=dist/c=0.5。候选推荐兴趣点“北京西站”的权重为0.923294,假设m为1,则修正权重为0.923294+1,其中,n可以为无限趋近于0的正数,n<m,设n=0.01,修正归一化距离为0.51,得到“北京西站”被推荐给客户端的推荐度score=3.77。图3b所示的候选推荐兴趣点“莲花池公园”与客户端当前所在位置的距离dist为80米,类型为景点,对应的距离阈值c为500米,则该候选推荐兴趣点的到客户端当前所在位置的归一化距离ds=dist/c=0.16。候选推荐兴趣点“莲花池公园”的权重为0.62325,假设m为1,则修正权重为0.62325+1,n为0.01,则修正归一化距离为0.17,得到“莲花池公园”被推荐给客户端的推荐度score=9.55。
[0110] 虽然上述以score=(poiweight+m)/(ds+n)为例说明了f(dist,poiweight)的一种具体形式,但f(dist,poiweight)也可以有其它形式,即步骤S152可以包括其它过程。例如,可以通过以下公式计算推荐度:
[0111] score=poiweight·p1+(1/(ds+n))p2              (5)
[0112] 其中,p1和p2是预定系数,score、poiweight、ds、n与公式(4)中具有相同含义。能用来公式(5)替换公式(4)是因为,公式(5)也能体现出poiweight越大,推荐度越大;ds越小,推荐度越大的趋势。
[0113] 步骤S153,根据确定的推荐度从保留的候选推荐兴趣点中选择推荐兴趣点。
[0114] 具体而言,将推荐度最高的候选推荐兴趣点作为推荐兴趣点。例如,在前面步骤中得到“北京西站”被推荐给客户端的推荐度score=3.846588,“莲花池公园”被推荐给客户端的推荐度score=10.1453125,“莲花池公园”的推荐度最高,因此将“莲花池公园”作为推荐兴趣点。
[0115] 参考图1,在步骤S160中,向所述客户端返回所述推荐兴趣点以供展示。
[0116] 也就是说,向所述客户端返回的所述推荐兴趣点的名称和/或地址,以供所述客户端在用户界面上展示。
[0117] 可选地,为便于用户能够更充分的了解推荐兴趣点的详情信息,在一种具体实现方式中,该步骤S160还包括向所述客户端返回所述推荐兴趣点所具有的特定属性信息的步骤。例如,该推荐兴趣点所具有的特定属性信息包括出入口信息、订门票信息,则向所述客户端返回该推荐的兴趣点所具有的上述特定属性信息。客户端接收后在应用的用户界面上向用户显示该推荐兴趣点的名称以及上述特定属性信息,例如,参考图5所示的“订门票”信息和“出入口”信息。
[0118] 本申请提供的技术方案,不仅仅根据兴趣点与客户端当前所在位置的距离远近推荐兴趣点,还需要结合兴趣点与客户端当前所在位置的距离以及用于表征兴趣点特性的属性信息来综合推荐兴趣点,从而使得推荐给用户的兴趣点是具有能够便于用户识别的特性的兴趣点,因此用户能够根据该兴趣点更好的识别其当前所处位置的环境,克服了现有技术采用单一距离因子判断用户所在位置对应的推荐兴趣点的弊端,使得对兴趣点的推荐更加合理。
[0119] 基于上述实施例,优选地,为进一步提高推荐兴趣点效率,获取各个候选推荐兴趣点到所述客户端当前所在位置的距离的步骤(步骤S130)之后,还包括步骤S131。
[0120] 参考图6,在步骤S131中,判断所述候选推荐兴趣点到客户端当前所在位置的距离是否为0。
[0121] 若是则执行步骤S132,将所述候选推荐兴趣点确定为推荐兴趣点。并执行步骤S160。若否,则执行所述获取各个候选推荐兴趣点的属性信息的步骤,即步骤S140。
[0122] 具体而言,步骤S130中在能获取到外围经纬度坐标集合的情况下,根据候选推荐兴趣点的外围经纬度坐标集合包含的经纬度坐标和客户端当前所在位置经纬度坐标,确定所述候选推荐兴趣点到所述客户端当前所在位置的距离。其中,若判断所述客户端当前所在位置的经纬度坐标在所述候选推荐兴趣点的外围经纬度坐标集合中的各经纬度坐标构成的多边形区域内,则确定所述候选推荐兴趣点到所述客户端当前所在位置的距离为0。也就是说,候选推荐兴趣点到客户端当前所在位置的距离为0时,客户端所在位置就在该候选推荐兴趣点的所在区域内,例如,客户端在某兴趣点的建筑内部。因此,可以将该候选推荐兴趣点直接确定为客户端当前的推荐兴趣点。
[0123] 基于与方法同样的发明构思,本申请还提供一种推荐兴趣点的装置。图7所示为本申请实施例提供的推荐兴趣点的装置2示意图,该装置2包括:
[0124] 经纬度坐标获取单元210,用于响应于来自客户端的兴趣点获取请求,获取所述客户端当前所在位置的经纬度坐标;
[0125] 候选推荐兴趣点获取单元220,用于根据客户端当前所在位置的经纬度坐标和各个兴趣点的经纬度坐标,获取所述客户端当前所在位置的候选推荐兴趣点;
[0126] 距离获取单元230,用于获取各个候选推荐兴趣点到所述客户端当前所在位置的距离;
[0127] 属性信息获取单元240,用于获取各个候选推荐兴趣点的用于表征候选推荐兴趣点特性的属性信息;
[0128] 推荐兴趣点确定单元250,用于基于各个候选推荐兴趣点到所述客户端当前所在位置的距离以及各个候选推荐兴趣点的属性信息,从各个候选推荐兴趣点中确定所述客户端当前所在位置的推荐兴趣点;
[0129] 返回单元260,用于向所述客户端返回所述推荐兴趣点以供展示。
[0130] 可选地,所述推荐兴趣点确定单元250包括:
[0131] 剔除候选推荐兴趣点确定子单元,用于根据各个候选推荐兴趣点到所述客户端当前所在位置的距离和/或属性信息,确定需要剔除的候选推荐兴趣点;
[0132] 推荐度确定子单元,用于针对保留的候选推荐兴趣点,基于候选推荐兴趣点到所述客户端当前所在位置的距离、以及属性信息,确定候选推荐兴趣点被推荐给客户端的推荐度;
[0133] 选择子单元,用于根据确定的推荐度,从保留的候选推荐兴趣点中选择推荐兴趣点。
[0134] 可选地,所述属性信息包括兴趣点类型、兴趣点权重、兴趣点等级和兴趣点类型对应的特性属性信息;
[0135] 其中,所述剔除候选推荐兴趣点确定子单元用于:
[0136] 如果所述候选推荐兴趣点包含的特性属性信息的项数小于预置的数量阈值,则确定需要剔除该候选推荐兴趣点;
[0137] 如果所述候选推荐兴趣点与客户端当前所在位置的距离大于该候选推荐兴趣点所属兴趣点类型对应的距离阈值,则确定需要剔除该候选推荐兴趣点;
[0138] 如果候选推荐兴趣点属于预置的特定类型、且该候选推荐兴趣点的等级小于预置的等级阈值,则确定需要剔除该候选推荐兴趣点。
[0139] 可选地,所述属性信息包括兴趣点类型、兴趣点权重、兴趣点等级和兴趣点类型对应的特性属性信息;
[0140] 其中,所述推荐度确定子单元用于:
[0141] 将候选推荐兴趣点到客户端当前所在位置的距离与候选推荐兴趣点所属兴趣点类型对应的距离阈值的比值,确定为候选推荐兴趣点的归一化距离;
[0142] 将候选推荐兴趣点的权重与预置的m值的和值确定为修正权重,所述m为小于等于1的正数;
[0143] 将归一化距离与预置的n值的和确定为修正归一化距离,所述n为小于m的正数;
[0144] 将所述修正权重与修正归一化距离的比值确定为所述候选推荐兴趣点被推荐给客户端的推荐度;
[0145] 选择子单元,用于:将推荐度最高的候选推荐兴趣点作为推荐兴趣点。
[0146] 可选地,基于上述任意实施例,返回单元260还用于:
[0147] 向所述客户端返回所述推荐兴趣点所具有的特性属性信息,以供展示。
[0148] 可选地,基于上述任意实施例,距离获取单元230包括:
[0149] 外围经纬度坐标集合获取子单元,用于获取候选推荐兴趣点的外围经纬度坐标集合;
[0150] 第一距离获取子单元,用于在能获取到外围经纬度坐标集合的情况下,根据候选推荐兴趣点的外围经纬度坐标集合包含的经纬度坐标和客户端当前所在位置经纬度坐标,确定所述候选推荐兴趣点到所述客户端当前所在位置的距离;
[0151] 第二距离获取子单元,用于在不能获取到外围经纬度坐标集合的情况下,根据候选推荐兴趣点的经纬度坐标和客户端当前所在位置的经纬度坐标,确定所述候选推荐兴趣点到所述客户端当前所在位置的距离。
[0152] 其中,第一距离获取子单元用于:
[0153] 判断所述客户端当前所在位置的经纬度坐标是否在所述候选推荐兴趣点的外围经纬度坐标集合中的各经纬度坐标构成的多边形区域内;
[0154] 若在,则确定所述候选推荐兴趣点到所述客户端当前所在位置的距离为0;
[0155] 若不在,计算外围经纬度坐标集合中的各经纬度坐标分别与所述客户端当前所在位置经纬度坐标之间的距离,将最小距离确定为所述候选推荐兴趣点到所述客户端当前所在位置的距离。
[0156] 参考图8,可选地,所述装置还包括:
[0157] 判断单元231,用于在距离获取单元230获取各个候选推荐兴趣点到所述客户端当前所在位置的距离之后,判断所述候选推荐兴趣点到客户端当前所在位置的距离是否为0,若是则将所述候选推荐兴趣点确定为推荐兴趣点;若否,则触发所述属性信息获取单元240。
[0158] 可选地,候选推荐兴趣点获取单元250用于:
[0159] 根据所述客户端当前所在位置的经纬度坐标以及预置的尺寸,确定经纬度范围;
[0160] 获取经纬度坐标在所述经纬度范围内的各个兴趣点,以作为所述客户端当前所在位置的候选推荐兴趣点。
[0161] 需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,本申请的各个装置可采用专用集成电路(ASIC)或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
[0162] 对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
[0163] 虽然前面特别示出并且描述了示例性实施例,但是本领域技术人员将会理解的是,在不背离权利要求书的精神和范围的情况下,在其形式和细节方面可以有所变化。