CN110785751A - 用于线上到线下服务的系统和方法 - Google Patents

用于线上到线下服务的系统和方法 Download PDF

Info

Publication number
CN110785751A
CN110785751A CN201980000865.9A CN201980000865A CN110785751A CN 110785751 A CN110785751 A CN 110785751A CN 201980000865 A CN201980000865 A CN 201980000865A CN 110785751 A CN110785751 A CN 110785751A
Authority
CN
China
Prior art keywords
interest
cluster
point
coordinates
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201980000865.9A
Other languages
English (en)
Inventor
杨瑞飞
薛永刚
王靖文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN201810551267.8A external-priority patent/CN108763538B/zh
Priority claimed from CN201810675073.9A external-priority patent/CN110647602B/zh
Application filed by Beijing Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Publication of CN110785751A publication Critical patent/CN110785751A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Navigation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供了用于确定兴趣点(POI)位置的系统和方法。所述方法可以包括获取目标POI的至少两个历史定位记录,并通过对所述至少两个历史定位记录中的所述至少两组历史坐标执行中心聚类过程的至少一次迭代,来确定所述目标POI的至少一组目标坐标。还提供了用于确定POI的系统和方法。所述方法可以包括获取定位点的一组坐标并获取包括POI和所述POI的基本信息的候选POI集合。所述方法还可以包括确定所述候选POI集合中每个POI的至少两个特征,以及基于所述至少两个特征和机器学习模型,从从所述候选POI集合中确定与所述定位点相关的目标POI。

Description

用于线上到线下服务的系统和方法
相关申请的交叉引用
本申请要求于2018年5月31日提交的申请号为201810551267.8的中国专利申请以及2018年6月27日提交的申请号为201810675073.9的中国专利申请的优先权,其全部内容通过引用结合于此。
技术领域
本公开总体上涉及线上到线下服务,尤其涉及用于确定与兴趣点(POI)匹配的位置的系统和方法,以及用于确定与位置匹配的POI的系统和方法。
背景技术
打车应用(APP)为人们带来了很多便利。用户可以通过打车APP输入或确认POI(例如,起始位置和/或目的地),并且可以确定POI对应的位置。例如,用户(例如,乘客)可以使用标针来确定在打车APP上显示的在地图上的位置。又例如,可以基于POI的名称自动确定POI对应的位置。服务提供者(例如,司机)可以在与起始位置相关的POI对应的位置处接载用户,并且将用户带到与目的地相关的POI对应的位置。然而,在一些情况下,所确定的POI对应的位置可能远离POI对应的实际位置,这可能使服务提供者难以找到正确的起始位置和/或目的地。
在定位过程中,对于具有已知经纬度的定位点,该定位点附近通常有很多POI。例如,POI可以是大楼、商铺、公交站等。传统的POI确定方法是将地图划分为至少两个区块,并为一个区块内的所有定位点指定相同的POI,或者选择最接近该定位点的POI。确定与定位点相关的POI的准确性通常是有问题的且需要改进。
因此,期望提供用于确定与已知POI准确匹配的位置的系统和方法,以及用于准确地确定与已知位置匹配的POI的系统和方法。
发明内容
根据本公开的一个方面,提供了一种用于确定兴趣点(POI)位置的系统。所述系统可以包括至少一个存储介质,包括用于确定所述POI的所述位置的一组指令,以及与所述存储介质通信的至少一个处理器。当执行所述一组指令时,所述至少一个处理器可以被指示为获取目标POI的至少两个历史定位记录。所述至少两个历史定位记录中的每个历史定位记录包括一组目标POI的历史坐标。所述至少一个处理器还可以被指示为,通过对所述至少两个历史定位记录中的所述至少两组历史坐标执行中心聚类过程的至少一次迭代,来确定所述目标POI的至少一组目标坐标。所述至少一组目标坐标中的每组目标坐标由所述中心聚类过程的所述至少一次迭代中的迭代确定。
在一些实施例中,为了确定所述目标POI的所述至少一组目标坐标,所述至少一个处理器还可以被指示为,对于所述中心聚类过程的所述至少一次迭代中的每次迭代,在所述迭代的至少一次迭代聚类操作之后获取一个簇。所述簇可以包括至少两个历史候选定位记录。所述至少一个处理器还可以被指示为基于所述簇的所述至少两个历史候选定位记录,确定最接近所述簇的中心的一组历史坐标作为所述目标POI的一组目标坐标。
在一些实施例中,对于所述中心聚类过程的所述至少一次迭代中的每次迭代,为了在所述迭代的所述至少一次迭代聚类操作后获取所述簇,所述至少一个处理器还可以被指示为,在第一迭代中,确定所述目标POI的所述至少两个历史定位记录中的所述至少两组历史坐标的一组平均坐标。所述至少一个处理器可以被指示为在所述至少两组历史坐标中,确定最接近所述一组平均坐标的一组历史坐标作为第一迭代聚类操作的中心,以及基于所述第一迭代聚类操作的所述中心,在所述迭代的至少一次迭代聚类操作之后获取所述簇。
在一些实施例中,为了确定所述目标POI的所述至少一组目标坐标,所述至少一个处理器还可以被指示为执行包括至少两次迭代聚类操作的迭代,以确定所述目标POI的所述至少一组目标坐标中的一组目标坐标。所述至少两次迭代聚类操作中的每次迭代聚类操作可以包括确定第一簇的一组平均坐标,所述第一簇包括所述目标POI的所述至少两个历史定位记录中的所述至少两组历史坐标,以及确定第二簇。所述第二簇包括在所述第二簇的中心的预定距离内的历史坐标,并且所述第二簇的所述中心是最接近所述第一簇的所述一组平均坐标的一组历史坐标。所述至少两次迭代聚类操作中的每次迭代聚类操作还可以包括指定所述第二簇作为新的第一簇以及确定所述第二簇是否满足迭代停止条件。所述至少两次迭代聚类操作中的每次迭代聚类操作还可以包括响应于确定所述第二簇满足所述迭代停止条件,确定最接近所述第二簇的一组平均坐标的一组历史坐标作为所述目标POI的所述至少一组目标坐标中的一组目标坐标。
在一些实施例中,在指定所述第二簇作为所述新的第一簇之前,所述至少一个处理器还可以被指示为确定所述第二簇是否满足预设置信度条件。所述至少一个处理器还可以被指示为响应于确定所述第二簇满足所述预设置信度条件,指定所述第二簇为所述新的第一簇。
在一些实施例中,在指定所述第二簇作为所述新的第一簇之前,所述至少一个处理器还可以被指示为确定所述第二簇是否满足预设置信度条件。所述至少一个处理器还可以被指示为响应于确定所述第二簇不满足所述预设置信度条件,从所述目标POI的所述至少两个历史定位记录中删除所述第二簇中的所述历史坐标。
在一些实施例中,所述预设置信度条件可以包括以下至少一个:所述第二簇中的历史定位记录数量大于第一阈值;所述第二簇中第一设定时长内的历史定位记录数量大于第二阈值;或者,所述第二簇中第一设定时长内与所述历史定位记录相关的订单数量大于第三阈值。
在一些实施例中,所述至少一个处理器还可以被指示为基于业务模式确定所述业务模式的所述预设置信度条件。
在一些实施例中,所述迭代停止条件可以包括以下至少一个:所述第二簇中的历史定位记录数量与所述新的第二簇中的历史定位记录数量相同;迭代聚类操作数量大于第四阈值;或者所述第二簇的中心与所述新的第二簇的中心之间的距离小于距离阈值。
在一些实施例中,所述至少一个处理器还可以被指示为从所述目标POI的所述至少两个历史定位记录中删除所述第二簇中的所述历史坐标。
在一些实施例中,所述至少一个处理器还可以被指示为更新所述第一簇来执行所述中心聚类过程的所述至少一次迭代中的迭代,直到所述第一簇不满足预设置信度条件,或者获取新的目标POI的至少两个历史定位记录,以执行所述中心聚类过程的至少一次迭代来确定所述新的目标POI的至少一组目标坐标。
在一些实施例中,所述至少一个处理器还可以被指示为从用户的用户终端获取与所述目标POI相关的关键词信息,并将所述目标POI的至少一组目标坐标发送到所述用户终端。在一些实施例中,所述至少一个处理器还可以被指示为从所述用户终端获取从至少一组目标坐标中选择的一组目标坐标,以及确定所述选择的一组目标坐标作为所述用户的起始位置或目的地。
根据本公开的另一方面,提供了一种用于确定兴趣点(POI)的系统。所述系统可以包括至少一个存储介质,包括用于确定POI的一组指令,以及与所述存储介质通信的至少一个处理器,其中,当执行所述一组指令时,所述至少一个处理器可以被指示为获取定位点的一组坐标,并获取包括至少两个POI和所述至少两个POI的基本信息的候选POI集合,其中,所述至少两个POI在所述定位点的预定距离内。所述至少一个处理器还可以被指示为确定所述候选POI集合中所述至少两个POI中每个POI的至少两个特征,并基于所述至少两个特征和机器学习模型,从所述候选POI集合中确定与所述定位点相关的目标POI。
在一些实施例中,所述至少两个POI的所述基本信息包括所述至少两个POI中每个POI的所述POI的名称、所述POI的类别或所述POI的ID中的至少一个。
在一些实施例中,所述至少两个POI中每个POI的所述至少两个特征包括以下至少一个:从所述POI到所述定位点的距离、所述POI名称的显示、所述POI地址的显示、用户到达所述POI的频率、使用所述POI作为至少两个打车服务的目的地的频率、与所述POI相关的品牌、与所述POI相关的商店、所述POI是否具有父子节点、所述POI是否包括面状数据或者在打车服务中所述POI作为引导点与实际上车点之间的距离。
在一些实施例中,所述机器学习模型可以包括分类模型。
在一些实施例中,为了确定所述目标POI,所述至少一个处理器还可以被指示为对于所述候选POI集合中的所述至少两个POI中的每个POI,基于所述POI的所述至少两个特征和所述机器学习模型,确定代表所述POI是所述目标POI的概率。所述至少一个处理器还可以被指示为确定在所述候选POI集合的所述至少两个POI中具有最大概率的POI作为所述目标POI。
在一些实施例中,对于所述至少两个POI中的每个POI,为了确定所述概率,所述至少一个处理器还可以被指示为获取至少两个训练样本,所述至少两个训练样本包括至少两组历史坐标和对应的所使用的POI,基于所述至少两个训练样本训练所述机器学习模型,以及基于所述训练好的机器学习模型确定所述至少两个POI中每个POI的所述概率。
在一些实施例中,为了基于所述训练好的机器学习模型确定所述至少两个POI中每个POI的所述概率,所述至少一个处理器还可以被指示为对于所述至少两个POI中的每个POI,基于所述训练好的机器学习模型和所述POI的所述至少两个特征确定所述概率,而不参考所述至少两个POI中任何其他POI的任何先前输出。
在一些实施例中,为了训练所述机器学习模型,所述至少一个处理器还可以被指示为修正所述至少两个训练样本以获取训练集合以及基于所述训练集合训练所述机器学习模型。
在一些实施例中,为了修正所述至少两个训练样本,所述至少一个处理器还可以被指示为自动删除所述至少两个训练样本中的错误数据,其中所述错误数据包括用户选择的错误POI或POI的错误特征。
在一些实施例中,所述至少一个处理器还可以被指示将信号发送到与用户相关的终端,以指示所述终端显示所述目标POI。
根据又一示例,提供了一种用于确定POI的方法。所述方法可以在具有至少一个处理器和至少一个非暂时性存储介质的计算设备上实现。所述方法可以包括获取目标POI的至少两个历史定位记录。所述至少两个历史定位记录中的每个历史定位记录包括一组目标POI的历史坐标。所述方法还可以包括通过对所述至少两个历史定位记录中的所述至少两组历史坐标执行中心聚类过程的至少一次迭代,来确定所述目标POI的至少一组目标坐标。所述至少一组目标坐标中的每组目标坐标由所述中心聚类过程的所述至少一次迭代中的迭代确定。
根据本公开的又一方面,提供了一种用于确定兴趣点(POI)的方法。所述方法可以在具有至少一个处理器和至少一个非暂时性存储介质的计算设备上实现。所述方法可以包括获取定位点的一组坐标并获取包括至少两个POI和所述至少两个POI的基本信息的候选POI集合。所述至少两个POI在所述定位点的预定距离内。所述方法还可以包括确定所述候选POI集合中所述至少两个POI中每个POI的至少两个特征,以及基于所述至少两个特征和机器学习模型,从所述候选POI集合中确定与所述定位点相关的目标POI。
根据本公开的又一方面,提供了一种用于确定POI的系统。所述系统可以包括获取模块,被配置为获取目标POI的至少两个历史定位记录。所述至少两个历史定位记录中的每个历史定位记录包括一组目标POI的历史坐标。所述系统还可以包括处理模块,被配置为通过对所述至少两个历史定位记录中的所述至少两组历史坐标执行中心聚类过程的至少一次迭代,来确定所述目标POI的至少一组目标坐标。所述至少一组目标坐标中的每组目标坐标由所述中心聚类过程的所述至少一次迭代中的迭代确定。
根据本公开的又一方面,提供了一种用于确定兴趣点(POI)的系统。所述系统可以包括获取模块,被配置为获取定位点的一组坐标。所述系统还可以包括候选POI确定模块,被配置为获取包括至少两个POI和所述至少两个POI的基本信息的候选POI集合。所述至少两个POI在所述定位点的预定距离内。所述系统还可以包括特征确定模块,被配置为确定所述候选POI集合中所述至少两个POI中每个POI的至少两个特征。所述系统还可以包括目标POI确定模块,被配置为基于所述至少两个特征和机器学习模型,从所述候选POI集合中确定与所述定位点相关的目标POI。
根据本公开的又一方面,提供了一种非暂时性计算机可读介质。所述非暂时性计算机可读介质可以包括至少一组指令。当由至少一个处理器执行时,所述至少一组指令指示所述至少一个处理器实现方法。所述方法可以包括获取目标POI的至少两个历史定位记录。所述至少两个历史定位记录中的每个历史定位记录包括一组目标POI的历史坐标。所述方法还可以包括通过对所述至少两个历史定位记录中的所述至少两组历史坐标执行中心聚类过程的至少一次迭代,来确定所述目标POI的至少一组目标坐标。所述至少一组目标坐标中的每组目标坐标由所述中心聚类过程的所述至少一次迭代中的迭代确定。
根据本公开的又一方面,提供了一种非暂时性计算机可读介质。所述非暂时性计算机可读介质可以包括至少一组指令。当由至少一个处理器执行时,所述至少一组指令指示所述至少一个处理器实现方法。所述方法可以包括获取定位点的一组坐标并获取包括至少两个POI和所述至少两个POI的基本信息的候选POI集合。所述至少两个POI在所述定位点的预定距离内。所述方法还可以包括确定所述候选POI集合中所述至少两个POI中每个POI的至少两个特征,以及基于所述至少两个特征和机器学习模型,从所述候选POI集合中确定与所述定位点相关的目标POI。
本公开的一部分附加特性可以在下面的描述中进行说明。通过对以下描述和相应附图的研究或者对实施例的生产或操作的了解,本公开的一部分附加特性对于本领域技术人员是显而易见的。本公开的特征可以通过对以下描述的具体实施例的各种方面的方法、手段和组合的实践或使用得以实现和达到。
附图说明
本公开将通过示例性实施例进行进一步描述。这些示例性实施例将通过附图进行详细描述。这些实施例是非限制性的示例性实施例,在这些实施例中,各图中相同的编号表示相似的结构,其中:
图1是根据本公开的一些实施例的用于线上到线下(O2O)服务的示例性系统的示意图;
图2是根据本公开的一些实施例的示例性计算设备的示例性硬件和/或软件组件的示意图;
图3是根据本公开的一些实施例的示例性终端设备的示意图;
图4是根据本公开的一些实施例的电子设备的框图;
图5是根据本公开的一些实施例的确定POI地理位置装置的结构框图;
图6是根据本公开的一些实施例的用于基于定位点的经纬度确定对应POI的系统的示意图;
图7是根据本公开的一些实施例的示例性目标POI确定模块的示意图;
图8是根据本公开的一些实施例的用于确定POI地理位置的示例性方法的流程图;
图9是根据本公开的一些实施例的在至少一次迭代聚类操作之后获取的簇的示意图;
图10是根据本公开的一些实施例的用于基于聚类后的簇确定目标POI名称对应的经纬度坐标的示例性方法的流程图;
图11是根据本公开的一些实施例的用于中心聚类的示例性方法的流程图;
图12A是根据本公开的一些实施例的第一簇的示意图;
图12B是根据本公开的一些实施例的第二簇的示意图;
图12C是根据本公开的一些实施例的新的第一簇和新的第二簇的示意图;
图12D是根据本公开的一些实施例的目标POI对应的经纬度坐标的示意图;
图13是根据本公开的一些实施例的中心聚类的示例性方法的流程图;
图14是根据本公开的实施例5的用于确定POI地理位置的示例性方法的流程图;
图15是根据本公开的一些实施例的用于确定目标POI的示例性方法的流程图;以及
图16是根据本公开的一些实施例的用于确定将POI确定为目标POI的概率的示例性方法的流程图。
具体实施方式
以下描述是为了使本领域的普通技术人员能够实施和利用本公开,并且该描述是在特定的应用场景及其要求的环境下提供的。对于本领域的普通技术人员来讲,显然可以对所披露的实施例作出各种改变,并且在不偏离本公开的原则和范围的情况下,本公开中所定义的普遍原则可以适用于其他实施例和应用场景。因此,本公开并不限于所描述的实施例,而应该被给予与权利要求一致的最广泛的范围。
本公开中所使用的术语仅用于描述特定的示例性实施例,并不限制本公开的范围。如本公开使用的单数形式“一”、“一个”及“该”可以同样包括复数形式,除非上下文明确提示例外情形。还应当理解,如在本公开说明书中,术语“包括”和/或“包含”仅提示存在所述特征、整体、步骤、操作、组件和/或部件,但并不排除存在或添加一个或以上其他特征、整体、步骤、操作、组件、部件和/或其组合的情况。
在考虑了作为本公开一部分的附图的描述内容后,本公开的特征和特点以及操作方法、结构的相关元素的功能、各部分的组合、制造的经济性变得显而易见。然而,应当理解,附图仅仅是为了说明和描述的目的,并不旨在限制本公开的范围。应当理解的是,附图并不是按比例绘制的。
本公开中使用了流程图用来说明根据本公开的一些实施例的系统所执行的操作。应当理解的是,流程图中的操作可以不按顺序执行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将一个或以上其他操作添加到这些流程图中。也可以从流程图中删除一个或以上操作。
本公开中的术语“乘客”、“请求者”、“服务请求者”和“客户”可用于表示请求或订购服务的个人、实体或工具,并且可互换使用。同样地,本公开描述的“司机”、“提供者”、“服务提供者”、“供应者”也是可以互换的,是指提供服务或者协助提供服务的个人、实体或工具。本公开中的词语“用户”可以指代可以请求服务、订购服务、提供服务或促进提供服务的个人、实体或工具。在本公开中,术语“请求者”和“请求者终端”可以互换使用,术语“提供者”和“提供者终端”可以互换使用。
本公开中的术语“请求”、“服务”、“服务请求”和“订单”可用于表示由乘客、请求者、服务请求者、顾客、司机、提供者、服务提供者、供应者等或其任意组合发起的请求,并且可互换使用。该服务请求可以被乘客、请求者、服务请求者、顾客、司机、提供者、服务提供者或供应者中的任一者接受。服务请求可以是计费的也可是免费的。
本公开中使用的定位技术可以包括全球定位系统(GPS)、全球导航卫星系统(GLONASS)、伽利略定位系统、准天顶卫星系统(QZSS)、北斗导航卫星系统、无线保真(WiFi)定位技术等,或其任意组合。以上定位技术中的一个或以上可以在本公开中交换使用。例如,基于GPS的方法和基于Wi-Fi的方法可以一起作为定位无线电设备的定位技术。
本公开的一个方面涉及用于确定POI位置的系统和/或方法。用户可以通过终端设备发出O2O服务请求,例如打车服务、食品配送服务等。用户可以输入或确认POI(例如,起始位置和/或目的地)。为了确定与POI匹配的位置(也称为“目标POI”),可以通过对至少两个历史定位记录中的至少两个历史坐标执行中心聚类过程的至少一次迭代,来确定目标POI的至少一组目标坐标。例如,对于中心聚类过程的至少一次迭代中的每次迭代,可以在迭代的至少一次迭代聚类操作之后获取一个簇。该簇可以包括至少两个历史候选定位记录。基于该簇的至少两个历史候选定位记录,可以确定最接近该簇的中心的一组历史坐标作为目标POI的一组目标坐标。可以基于目标坐标确定与目标POI匹配的位置。
本公开的另一方面涉及用于确定POI的系统和方法。可以获取定位点的一组坐标。可以基于定位点获取候选POI集合。例如,候选POI集合可以包括在定位点的预定距离内的至少两个POI和至少两个POI的基本信息。可以确定候选POI集合中至少两个POI中每个POI的至少两个特征。例如,至少两个特征可以包括但不限于从POI到定位点的距离、POI名称的显示、POI地址的显示、用户到达POI的频率、使用POI作为至少两个打车服务的目的地的频率、与POI相关的品牌、与POI相关的商店、POI是否具有父子节点、POI是否包括面状数据或者在打车服务中该POI作为引导点与实际上车点之间的距离等或其任意组合。可以基于至少两个特征和机器学习模型从候选POI集合中确定与定位点相关(或匹配)的POI。
图1是根据本公开的一些实施例的用于线上到线下(O2O)服务的示例性系统的示意图。例如,系统100可以是用于运输服务的在线运输服务平台,例如出租车服务、司机服务、递送服务、快车服务、拼车服务、公交服务、代驾服务、外卖服务、班车服务或其任意组合。系统100可以包括服务器110、网络120、请求者终端130、提供者终端140和存储器150。
在一些实施例中,服务器110可以是单个服务器,也可以是服务器组。所述服务器组可以是集中式的,也可以是分布式的(例如,服务器110可以是分布式的系统)。在一些实施例中,服务器110可以是本地的,也可以是远程的。例如,服务器110可以通过网络120存取储存在请求者终端130、提供者终端140和/或数据存储器150内的信息和/或数据。又例如,服务器110可以直接连接到请求者终端130、提供者终端140和/或存储器150,以访问存储的信息和/或数据。在一些实施例中,服务器110可以在云平台上实施。仅作为示例,云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。在一些实施例中,服务器110可以在具有图2中所示的一个或以上组件的计算设备200上实现。
在一些实施例中,服务器110可以包括处理引擎112。处理引擎112可以处理与服务请求相关的信息和/或数据以执行本公开描述的一个或以上功能。例如,处理引擎112可以获取目标POI的至少两个历史定位记录。至少两个历史定位记录中的每个历史定位记录可以包括一组目标POI的历史坐标。又例如,处理引擎112可以确定目标POI的至少一组目标坐标。处理引擎112还可以基于至少一组目标坐标确定目标POI的位置。再例如,处理引擎112可以获取定位点的一组坐标和候选POI集合,该候选POI集合包括至少两个POI和至少两个POI的基本信息。处理引擎112还可以确定候选POI集合中至少两个POI中每个POI的至少两个特征,并基于至少两个特征和机器学习模型,从候选POI集合中设置并确定与定位点相关的目标POI。在一些实施例中,所述处理引擎112可包括一个或以上处理引擎(例如,单芯片处理引擎或多芯片处理引擎)。处理引擎112可以包括中央处理单元(CPU)、专用集成电路(ASIC)、专用指令集处理器(ASIP)、图形处理单元(GPU)、物理处理单元(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等或其任意组合。
网络120可以促进信息和/或数据的交换。在一些实施例中,系统100的一个或以上组件(例如,服务器110、请求者终端130、提供者终端140和/或存储器150)可以通过网络120将信息和/或数据发送到系统100的另一个组件。例如,服务器110可以通过网络120从请求者终端130获取服务请求。在一些实施例中,网络120可以是有线网络或无线网络等或其任意组合。仅作为示例,网络120可以包括电缆网络、有线网络、光纤网络、电信网络、内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络、近场通信(NFC)网络等或其任意组合。在一些实施例中,网络120可以包括一个或以上网络接入点。例如,网络120可以包括有线或无线网络接入点,如基站和/或互联网交换点120-1、120-2、……,通过系统100的一个及以上部件可以连接到网络120以交换数据和/或信息。
在一些实施例中,服务请求者可以是请求者终端130的用户。在一些实施例中,请求者终端130的用户可以为除该服务请求者之外的其他人。例如,请求者终端130的用户A可以使用请求者终端130来发送对用户B的服务请求或者从服务器110接收服务确认和/或信息或指令。在一些实施例中,服务提供者可以是提供者终端140的用户。在一些实施例中,提供者终端140的使用者可以为除该提供者之外的其他人。例如,提供者终端140的用户C可以为用户D通过提供者终端140接收服务请求和/或从服务器110处接收信息或指令。在一些实施例中,请求者终端130可以执行先前描述的处理引擎112的一个或以上功能。例如,请求者终端130可以确定目标POI的至少一组目标坐标,和/或确定与定位点相关的目标POI。请求者终端130还可以向用户呈现与定位点相关的目标POI。
在一些实施例中,请求者终端130可以包括移动设备130-1、平板电脑130-2、膝上型电脑130-3、车载设备130-4等或其任意组合。在一些实施例中,移动设备130-1可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、增强现实设备等,或其任意组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电器控制设备、智能监控设备、智能电视、智能摄像机、对讲机等,或其任意组合。在一些实施例中,该可穿戴设备可包括智能手镯、智能鞋袜、智能眼镜、智能头盔、智能手表、智能衣服、智能背包、智能配件等或其任意组合。在一些实施例中,智能移动设备可以包括智能电话、个人数字助理(PDA)、游戏设备、导航设备、销售点(POS)等,或其任意组合。在一些实施例中,虚拟现实设备和/或增强型虚拟现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强现实头盔、增强现实眼镜、增强现实眼罩等,或其任意组合。例如,虚拟现实设备和/或增强现实设备可以包括Google GlassTM、Oculus RiftTM、HololensTM或Gear VRTM等。在一些实施例中,车载设备130-4可以包括车载电脑、车载电视等。在一些实施例中,请求者终端130可以是具有定位技术的设备,用于定位服务请求者和/或请求者终端130的位置。
在一些实施例中,提供者终端140可以是与请求者终端130相似,或与请求者终端130相同的设备。在一些实施例中,提供者终端140可以是具有定位技术的设备、用于定位服务提供者和/或提供者终端140的位置。在一些实施例中,请求者终端130和/或提供者终端140可以与另一个定位设备通信以确定服务请求者、请求者终端130、服务提供者和/或提供者终端140的位置。在一些实施例中,请求者终端130和/或提供者终端140可以向服务器110传送定位信息。
存储器150可以存储与服务请求有关的数据和/或指令。在一些实施例中,存储器150可以存储从请求者终端130和/或提供者终端140获取的数据。例如,存储器150可以存储从请求者终端130获取的服务请求。又例如,存储器150可以存储预定的预测模型,用于预测在完成时间点在目的地处的可用服务提供者数量与在完成时间点处候选服务请求数量的比率。每个候选服务请求的起始位置可以是目的地。在一些实施例中,存储器150可以储存服务器110用来执行或使用来完成本公开中描述的示例性方法的数据和/或指令。例如,存储器150可以存储用于向服务提供者指定服务请求的数据和/或指令。在一些实施例中,存储器150可以存储与请求者终端130和/或提供者终端140相关的位置信息。在一些实施例中,存储器150可包括大容量存储器、可移动存储器、易失性读写内存、只读内存(ROM)等或其任意组合。示例性的大容量存储器可以包括磁盘、光盘、固态磁盘等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、内存卡、压缩盘、磁带等。示例性易失性读写内存可以包括随机存取内存(RAM)。示例性RAM可包括动态随机存取内存(DRAM)、双倍数据速率同步动态随机存取内存(DDR SDRAM)、静态随机存取内存(SRAM)、晶闸管随机存取内存(T-RAM)和零电容随机存取内存(Z-RAM)等。示例性只读内存可以包括掩模型只读内存(MROM)、可编程只读内存(PROM)、可擦除可编程只读内存(EPROM)、电可擦除可编程只读内存(EEPROM)、光盘只读内存(CD-ROM)和数字多功能磁盘只读内存等。在一些实施例中,存储器150可在云平台上实现。仅作为示例,云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等,或其任意组合。
在一些实施例中,存储器150可以连接到网络120以与系统100的一个或以上组件(例如,服务器110、请求者终端130和/或提供者终端140)通信。系统100的一个或以上组件可以通过网络120访问存储在存储器150中的数据和/或指令。在一些实施例中,存储器150可以直接连接到系统100的一个或以上组件(例如,服务器110、请求者终端130和/或提供者终端140)或与之通信。在一些实施例中,存储器150可以是服务器110的一部分。
在一些实施例中,系统100的一个或以上组件(例如,服务器110、请求者终端130、提供者终端140)可以具有访问存储器150的许可。在一些实施例中,当满足一个或以上条件时,系统100的一个或以上组件可以读取和/或修改与服务请求者、服务提供者和/或公众有关的信息。例如,服务器110可以在服务完成之后读取和/或修改一个或以上的服务请求者的信息。又例如,当提供者终端140从请求者终端130接收到服务请求时,提供者终端140可以访问与服务请求者相关的信息,但是不修改所述服务请求者的相关信息。
在一些实施例中,系统100中的一个或以上组件的信息交换可以通过请求一个服务的方式实现。服务的对象可以是任何产品。在一些实施例中,产品可以是有形产品或无形产品。有形产品可包括食品、药品、商品、化学产品、电器、服装、汽车、房屋、奢侈品等或其任意组合。无形产品可以包括服务产品、金融产品、知识产品、互联网产品等或其任意组合。互联网产品可以包括个人主机产品、网站产品、移动互联网产品、商业主机产品、嵌入式产品等或其任意组合。移动互联网产品可以用在移动终端的软件、程序、系统等或者它们的组合中。移动终端可以包括平板电脑、笔记本电脑、移动电话、个人数字助理(PDA)、智能手表、销售点(POS)设备、车载电脑、车载电视、可穿戴设备或其任意组合。例如,所述产品可以是在计算机或移动电话上使用的任何软件和/或应用。该软件和/或应用程序可以与社交、购物、交通、娱乐、学习、投资等或其任意组合相关。在一些实施例中,与运输有关的系统软件和/或应用程序可以包括出行软件和/或应用程序、车辆调度软件和/或应用程序、地图软件和/或应用程序等。在车辆调度软件和/或应用程序中,车辆可以是马、马车、人力车(例如,独轮手推车、脚踏车、三轮车)、汽车(例如,出租车、公交车、私人汽车)、列车、地铁、船舶、飞行器(例如,飞机、直升机、航天飞机、火箭、热气球)等或其任意组合。
本领域普通技术人员将理解,当系统100的元件执行时,该元件可以通过电信号和/或电磁信号执行。例如,当服务器110处理任务时,例如经由网络120获取服务请求,服务器110可以在其处理器中操作逻辑电路以处理这样的任务。服务器110可以经由有线网络与系统100通信,至少一个信息交换端口可以物理连接到电缆,以进一步将电信号发送到请求者终端130的输入端口(例如,信息交换端口)。如果服务器110经由无线网络与系统100通信,则至少一个信息交换端口可以是一个或以上天线,其可以将电信号转换为电磁信号。在诸如请求者终端130和/或服务器110的电子设备内,当其处理器处理指令、发出指令和/或执行动作时,指令和/或动作通过电信号进行。例如,当处理器从存储介质(例如,存储器150)检索或保存数据时,它可以将电信号发送到存储介质的读/写设备,其可以在存储介质中读取或写入结构化数据。该结构化数据可以电信号的形式经由电子设备的总线传输至处理器。这里,电信号是指一个电信号、一系列电信号和/或至少两个分立的电信号。
图2是根据本公开的一些实施例的计算设备的示例性硬件和/或软件组件的示意图。在一些实施例中,服务器110、请求者终端130和/或提供者终端140可以在图2中所示的计算设备200上实现。例如,所述处理引擎112可以在所述计算设备200上实施并执行本公开所披露的所述处理引擎112的功能。
计算设备200可用于实现如本文所述的系统100的任何组件。例如,处理引擎112可以在计算设备200上通过其硬件、软件程序、固件或其组合实现。图中为了方便起见只绘制了一台计算机,但是本实施例所描述的提供按需服务所需要的信息的相关计算机功能是可以以分布的方式由一组相似的平台所实施,以分散系统的处理负荷。
例如,计算设备200可以包括与网络相连接通信端口250,以实现数据通信。计算设备200还可以包括处理器(例如,处理器220),其形式为一个或以上处理器(例如,逻辑电路),用于执行程序指令。例如,处理器220可以包括其中的接口电路和处理电路。接口电路可以被配置为从总线210接收电信号,其中电信号编码用于处理电路的结构化数据和/或指令。处理电路可以进行逻辑计算,然后将结论、结果和/或指令编码确定为电信号。然后,接口电路可以经由总线210从处理电路发出电信号。
示例性计算设备还可以包括不同形式的程序存储和数据存储,包括:例如,磁盘270、以及只读内存(ROM)230或随机存取内存(RAM)240,用于由计算设备处理和/或发送的各种数据文件。示例性计算设备还可以包括储存于ROM 230、RAM 240和/或其他形式的非暂时性存储介质中的能够被处理器220执行的程序指令。本公开的方法和/或流程可以以程序指令的方式实现。计算设备200还包括输入/输出组件260,用来支持计算机和其他组件之间进行输入/输出。计算设备200也可以通过网络通信接收编程和数据。
仅用于说明,图2中仅示出了一个处理器。还考虑了多个处理器220。因此,如本公开中所描述的由一个处理器220执行的操作和/或方法步骤也可以由多个处理器联合或单独执行。例如,在本公开中,如果计算设备200的处理器220执行步骤A和步骤B,应当被理解为是步骤A和步骤B由计算设备200的两个不同的处理器共同或分别执行(例如,第一处理器执行步骤A、第二处理器执行步骤B、或者第一处理器和第二处理器共同执行步骤A和B)。
图3是根据本公开的一些实施例所示的移动设备的示例性硬件组件和/或软件组件的示意图。在一些实施例中,请求者终端130和/或提供者终端140可以在图3中所示的移动设备300上实现。如图3所示,移动设备300可以包括通信平台310、显示器320、图形处理单元(GPU)330、中央处理单元(CPU)340、I/O 350、内存360、操作系统(OS)370和存储器390。在一些实施例中,任何其他合适的组件,包括但不限于系统总线或控制器(未示出),也可包括在移动设备300内。
在一些实施例中,操作系统370(例如,iOSTM、AndroidTM、Windows PhoneTM等)和一个或以上应用程序380可从存储器390下载至内存360以及由CPU 340执行。应用程序380可以包括浏览器或任何其他合适的移动应用程序,用于从系统100接收和呈现与按需服务或其他信息有关的信息。用户与信息流的交互可以经由I/O 350实现,并且经由网络120提供给处理引擎112和/或系统100的其他组件。
图4是根据本公开的一些实施例的电子设备的框图。电子设备400可以与存储介质(例如,系统100的存储器150和/或终端设备300的存储器390)通信,并且可以执行存储在存储介质中的指令。在一些实施例中,电子设备400可包括处理器410、内存420和总线430。在一些实施例中,电子设备400可以在服务器110或请求者终端130上实现。
内存420可以包括可由处理器410执行的机器可读指令(诸如获取模块421和处理模块422对应的执行指令)。当电子设备运行时,处理器410可以通过总线430与内存420通信。当机器可读指令被处理器410执行时,处理引擎112可以执行以下处理:获取目标POI的至少两个历史定位记录;并且通过对至少两个历史定位记录中的至少两个历史坐标执行中心聚类过程的至少一次迭代,来确定目标POI的至少一组目标坐标。
处理引擎112可以在每个迭代周期之后获取与目标POI匹配的经纬度坐标。
在一些实施例中,在处理器410执行的操作中,处理引擎112可以在由处理器410执行的处理中的至少一个迭代周期的中心聚类后,获取与目标POI匹配的至少一组经纬度坐标。
对于至少一个迭代周期中的每个迭代周期,处理引擎112可以在迭代的至少一次迭代聚类操作之后获取一个簇,其中,所述簇包括至少两个历史候选定位记录。
处理引擎112可以基于该簇的至少两个历史候选定位记录来确定最接近簇的中心的一组历史坐标作为目标POI的一组目标坐标。经纬度坐标可以作为与目标POI匹配的经纬度坐标。
在一些实施例中,在处理器410执行的处理中,对于至少一个迭代周期中的每个迭代周期,处理引擎112可以通过执行该迭代周期内的至少一次迭代聚类操作以获取簇,包括:
在第一个迭代周期内,处理引擎112可以确定第一簇的一组平均坐标,所述第一簇包括目标POI的至少两个历史定位记录中的至少两组历史坐标。
在具有目标POI的至少两个历史定位记录的经纬度坐标中,处理引擎112可以在至少一次迭代聚类之后获取一个簇。处理引擎112可以指定最接近平均经纬度坐标的经纬度坐标作为第一次迭代聚类的中心。
在一些实施例中,在处理器410执行的处理中,处理引擎112可以在由处理器410执行的处理中的至少一个迭代周期的中心聚类之后获取与目标POI匹配的至少一组经纬度坐标。
处理引擎112可以通过获取与目标POI相关的至少两个历史定位记录作为第一簇来确定第一簇的平均经纬度坐标。
在历史定位记录库的与目标POI相关的历史定位记录的经纬度坐标中,处理引擎112可以确定与平均经纬度坐标距离最近的对应经纬度坐标作为中心。处理引擎112可以确定对应的经纬度坐标与该中心在预定距离范围内的历史定位记录,组成第二簇。
处理引擎112可以将第二簇作为新的第一簇,并且返回所述确定第一簇的平均经纬度的步骤,直到满足迭代停止条件。在最后获取的第二簇中,可以将最接近第二簇的平均经纬度的经纬度坐标作为目标POI对应的经纬度坐标。
在将第二簇作为新的第一簇之前,处理器410执行的处理可以包括:确定第二簇是否满足预设的置信度标准;将第二簇作为新的第一簇并返回所述确定第一簇的平均经纬度坐标的步骤,包括:
在确定第二簇满足预设的置信度标准之后,处理引擎112可以将第二簇确定为新的第一簇,并且返回到1310以确定第一簇的平均经纬度坐标,直到满足迭代停止条件。
在一些实施例中,在确定第二簇是否满足预设置信度标准之后,在处理器410执行的处理中,该方法还可以包括:
如果确定第二簇不满足预设的置信度标准,则处理引擎112可以将第二簇中的历史定位记录从历史定位记录库中删除。
在一些实施例中,在处理器410执行的处理中,预设置信度标准可以包括以下条件中的至少一个:
第二簇中历史定位记录的总数量大于第一阈值;
第二簇中最近第一设定时长内的历史定位记录的数量大于第二阈值。
第二簇中第二设定时长内的历史定位记录对应的订单频率大于第三阈值。
在一些实施例中,处理器410执行的处理还包括:
为不同的业务模式或业务线设置不同的置信度标准。
在一些实施例中,在处理器410执行的处理中,迭代停止条件包括以下条件中的至少一个:
第二簇中的历史定位记录不再发生变化;
迭代次数达到预设次数阈值;
簇心移动距离小于预设距离阈值。
在一些实施例中,在处理器410执行的处理中,在将最后获取的第二簇中,距离第二簇的平均经纬度坐标最近的经纬度坐标作为目标POI对应的经纬度坐标之后,该方法可以包括:
将获取的第二簇中的历史定位记录从历史定位记录库中删除。
在一些实施例中,在将第二簇中的历史定位记录从历史定位记录库中删除之后,处理器410执行的处理还可以包括:
返回到获取具有目标POI的至少两个历史定位记录的步骤。或者,处理引擎112选择新的POI作为目标POI,并通知获取模块421返回获取具有目标POI的至少两个历史定位记录的步骤,直到历史定位记录库中剩余历史定位的数量不满足预设置信度标准。
在一些实施例中,在获取与目标POI匹配的至少一组经纬度坐标之后,处理器410执行的处理还可以包括:
接收用户输入的关键词信息,并确认关键词信息与目标POI匹配,并将与目标POI匹配的至少一组经纬度坐标对应的定位信息提供给用户进行选择。
确认用户选择的定位信息,并将该定位信息对应的经纬度坐标作为用户定位的起点或终点。
图4中的模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合电缆等或其任意组合。无线连接可以包括局域网络(LAN)、广域网络(WAN)、蓝牙、紫蜂网络、近场通信(NFC)等或其任意组合。在一些实施例中,可以将两个或以上模块组合成单个模块,并且可以将任何一个模块划分为两个或以上单元。
图5是用于确定POI的地理位置的设备的结构的框图。用于确定POI的地理位置的设备500可以与存储介质(例如,系统100的存储器150,和/或终端设备300的存储器390)通信,并且可以执行存储在存储介质中的指令。在一些实施例中,设备500可以包括获取模块510和处理模块520。在一些实施例中,设备500可以在服务器110或请求者终端130上实现。
如图5所示,本公开一些实施例提供的用于确定POI地理位置的设备500可以包括获取模块510和处理模块520。
获取模块510可以被配置为获取目标POI的至少两个历史定位记录。
处理模块520可以被配置为通过对至少两个历史定位记录中的至少两个历史坐标执行中心聚类过程的至少一次迭代,来确定目标POI的至少一组目标坐标。
处理引擎112可以在每个迭代周期之后获取与目标POI匹配的经纬度坐标。
用于确定POI的地理位置的设备500可以避免由于不能确定POI的地理位置而无法确定聚类中心数量的问题。中心聚类方法可以避免由于选择了不合适的聚类中心数量而导致的聚类结果粗糙。另一方面,通过上述用于确定POI的地理位置的设备500,通过在至少两个迭代周期中执行迭代聚类,可以在每个迭代周期中过滤定位偏移的点。例如,如果最终聚类之后的簇中的历史定位记录数量很少,则处理引擎112可以过滤掉该历史定位记录以避免不必要的簇和不准确的经纬度坐标。
在本公开的实施例中,处理模块520可以被配置为根据以下步骤获取与目标POI匹配的至少一组经纬度坐标。
对于中心聚类过程的至少一次迭代中的每次迭代,处理引擎112可以在迭代的至少一次迭代聚类操作之后获取一个簇。该簇可以包括至少两个历史候选定位记录。
处理引擎112可以确定最接近该簇的中心的一组历史坐标。经纬度坐标可以作为与目标POI匹配的经纬度坐标。
进一步地,处理模块520可以被配置为根据以下步骤执行第一个迭代周期的聚类。
在第一个迭代周期中,处理引擎112可以确定第一簇的一组平均坐标,其包括目标POI的至少两个历史定位记录中的至少两组历史坐标。
在具有目标POI的至少两个历史定位记录的经纬度坐标中,处理引擎112可以在至少一次迭代聚类之后获取第二簇。处理引擎112可以指定最接近平均经纬度坐标的经纬度坐标作为第一次迭代聚类的中心。
进一步地,处理模块520可以被配置为根据以下步骤获取与目标POI匹配的至少一组经纬度坐标。
处理引擎112可以通过获取与目标POI相关的至少两个历史定位记录作为第一簇来确定第一簇的平均经纬度坐标。
在历史定位记录库中与目标POI相关的历史定位记录的经纬度坐标中,处理引擎112可以确定与平均经纬度坐标距离最近的对应经纬度坐标作为中心。处理引擎112可以确定对应的经纬度坐标与该中心在预定距离范围内的历史定位记录,组成第二簇。
处理器可以将第二簇作为新的第一簇,并返回到确定第一簇的平均经纬度坐标的步骤,直到满足迭代停止条件。在最后获取的第二簇中,可以将最接近第二簇的平均经纬度坐标的经纬度坐标作为目标POI对应的经纬度坐标。
可选地,设备500可以包括:
确定模块530,可以被配置为确定第二簇是否满足预设置信度标准;
处理模块520,可以被配置为在确定模块530确定第二簇满足预设的置信度标准之后将第二簇作为新的第一簇,并返回所述确定第一簇的平均经纬度坐标的步骤。
可选地,设备500可以包括:
第一删除模块540,如果确定第二簇不满足预设置信度标准,则第一删除模块540可以被配置为将第二簇中的历史定位记录从历史定位记录库中删除。
可选地,预设置信度条件可以包括以下条件中的至少一个:
(1)第二簇中历史定位记录的总数量大于第一阈值;
(2)第二簇中最近第一设定时长内的历史定位记录的数量大于第二阈值;
(3)第二簇中第二设定时长内的历史定位记录对应的订单频率大于第三阈值。
可选地,设备500可以包括:
设置模块550,可以被配置为为不同的业务模式或业务线设置不同的置信度标准。
迭代停止条件包括以下条件中的至少一个:
第二簇中的历史定位记录不再发生变化;
迭代次数达到预设次数阈值;
簇心移动距离小于预设距离阈值。
可选地,设备500可以包括:
第二删除模块560,可以被配置为将获取的第二簇中的历史定位记录从历史定位记录库中删除。
可选地,设备500可以包括:
返回执行模块570,可以在将第二簇中的历史定位记录从历史定位记录库中删除之后,返回执行模块570以通知获取模块510返回到获取具有目标POI的多个历史定位记录的步骤。或者,处理引擎112选择新的POI作为目标POI,并通知获取模块510返回到获取具有目标POI的至少两个历史定位记录的步骤,直到历史定位记录库中剩余历史定位的数量不满足预设置信度标准。
可选地,设备500可以包括:
通信模块580,可以被配置为接收用户输入的关键词信息并确认关键词信息与目标POI匹配。处理引擎112可以将与目标POI匹配的至少一个经纬度坐标对应的定位信息提供给用户以进行选择。
确认模块590,可以被配置为确认用户选择的定位信息,并将该定位信息对应的经纬度坐标作为用户定位的起点或终点。
用于确定POI的地理位置的设备500可以获取与目标POI匹配的一个或以上经纬度坐标,并为用户输入的POI匹配更准确的经纬度坐标。设备500将相同的POI下的至少两个不同的经纬度坐标区分开,以便于司机接载乘客。
图5中的模块可以通过有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合电缆等或其任意组合。无线连接可以包括局域网络(LAN)、广域网络(WAN)、蓝牙、紫蜂网络、近场通信(NFC)等或其任意组合。在一些实施例中,可以将两个或以上模块组合成单个模块,并且可以将任何一个模块划分为两个或以上单元。
图6是根据本公开的实施例的用于基于定位点的经纬度确定对应POI的系统的示意图。在一些实施例中,电子设备400可以在服务器110或请求者终端130上实现。用于基于锚定点(也称为定位点)的经纬度确定对应的POI的系统100可以包括获取模块610、候选POI确定模块620、特征确定模块630、目标POI确定模块640和显示模块650。
获取模块610可以获取定位点的一组坐标。经纬度信息可以包括地理坐标、地址信息和/或其他与经纬度相关信息。在一些实施例中,定位点的经纬度信息可以由APP、位置传感器、定位系统或与系统100相关的相关设备获取。在一些实施例中,系统100可以基于定位点的经纬度信息通过网络和/或内部存储器获取关于定位点的信息。
候选POI确定模块620可以获取候选POI集合,该候选POI集合包括在定位点的预定距离内的至少两个POI和至少两个POI的基本信息。预定范围可以是以定位点为中心的圆形范围,例如矩形范围等,在此不做限定。预定范围也可以由系统100预设。POI的基本信息可以包括名称、类别和/或用于标记与识别的ID等。距离定位点预定范围内的所有POI可以生成一个或以上候选POI集合。POI可以是描述位置的信息点。例如,POI可以是大楼、商铺、公交站等。POI的基本信息可以包括名称、类别和/或用于标记与识别的ID等。在一些实施例中,候选POI可以是在定位点一定半径(半径可以是500米、1000米等)内的所有POI。
特征确定模块630可以确定候选POI集合中至少两个POI中每个POI的至少两个特征。POI的特征信息可以包括从POI到定位点的距离,其中所述距离可以是直线距离,可以是道路距离;POI的显示信息,可以包括POI的名称和地址。在一些实施例中,可以基于实际情况来确定POI的显示信息(例如,名称、描述、地址)。例如,某个小区的某号楼的POI的显示信息可以是某个小区,而不是某号楼;POI的热度,该热度可以基于用户到达POI和/或选择该POI作为目的地的频率来确定。例如,热度可以由数值表征。频率越高,热度和数值就越高;POI的品牌,即POI是否是知名商家,如海底捞、沃尔玛等知名企业/机构;POI的特征信息可以包括POI是否具有父节点。例如,当POI是住宅小区时,POI的子节点可以是该住宅小区的东门。例如,当POI是住宅小区的某号楼时,POI的父节点可以是该住宅小区。POI的特征信息可以包括POI是否是包含多个POI的面状数据。例如,当POI是小区或广场时,POI可以包括多个子节点(POI),并且该POI是面状数据。POI的特征信息可以包括相关特征信息,例如打车时作为引导点的POI与实际上车点之间的距离(50米、300米等)。
目标POI确定模块640可以基于至少两个特征和机器学习模型,从候选POI集合中确定与定位点相关的目标POI(例如,最合适的POI)。在一些实施例中,目标POI确定模块640可以基于所提取的所有POI的特征信息和机器学习模型来确定每个候选POI是最合适的POI的概率。进一步地,目标POI确定模块640可以基于每个POI是最合适的POI的概率来确定最合适的POI。机器学习模型可以是分类模型。例如,分类模型可以包括R-xgboost模型或其他分类模型。在一些实施例中,机器学习模型可以是深度学习模型。例如,机器学习模型可以是因式分解机(Factorization Machines,FM)模型、深度FM模型等或其任意组合。在一些实施例中,机器学习模型可能不记忆模型的输出。例如,当机器学习模型计算每个POI为目标POI的概率时,可以基于每个POI的特征信息重新确定。例如,当用训练好的机器学习模型确定每个POI为目标POI的概率时,可以基于每个POI的特征信息重新确定每个POI是目标POI的概率,而不参考所述至少两个POI中任何其他POI的任何先前输出。由于模型的每个计算是基于每个POI的特征信息进行重新确定,因此可以将新的POI特征添加到分类模型以用于后续优化。在一些实施例中,可以通过采集实际线上用户位置经纬度信息和实际使用的POI(例如,用户手动选择的POI)来构建训练样本。例如,对于某个定位点,可以假设对应的POI的对应值为1,并且其余不适合的POI的对应值为0。并且可以将POI的一个或以上特征信息与对应值构成特征向量(例如,不合适的POI可以对应于特征向量
Figure BDA0002100475790000281
其中
Figure BDA0002100475790000282
是特征向量,a、b、c可以是任意特征信息。该POI对应的特征向量
Figure BDA0002100475790000283
的集合可以构建为训练样本A。合适的POI可以是最容易使其他人识别用户位置的POI,或者最接近用户位置的POI。最容易识别的POI可以是用户最熟悉的地址名称。例如,当一个地址对应于多个商户时,最知名的商户可以是最容易识别的POI。在一些实施例中,可以进行人工标注来确定POI是否是构建训练样本A的合适的POI。在一些实施例中,可以利用特征信息来确定是否是合适的POI。例如,处理器可以基于POI的品牌确定它是否是最容易识别的POI(例如,可以为不同的品牌指定不同的分数,并且处理器根据分数确定POI是否是最容易识别的POI)。在一些实施例中,处理引擎112可以在训练机器学习模型之前修正训练样本以去除训练样本中的错误数据(例如,错误的POI、错误特征信息)。具体地,处理引擎112可以修正至少两个训练样本以获取训练集并基于训练集训练机器学习模型。错误数据可以包括用户错误选择的POI,例如,当用户使用APP(例如,导航APP、地图APP或其他需要选择地址的APP)确定POI时误点的POI等。在一些实施例中,处理器可以执行自动修正以从训练样本中去除错误数据。例如,处理器可以为某些特征值设置阈值范围。当训练样本中的特征值超出该范围时,处理器可以自动去除该特征值。在一些实施例中,可以进行手动修正以去除训练样本中的错误数据。
基于提取的POI的特征信息,机器学习模型可以输出每个POI合适(即,对应于1)的概率。候选POI集合中的每个POI可能是最合适的POI的概率。在一些实施例中,机器学习模型可以包括分类模型。在一些实施例中,分类模型可以包括极端梯度上升(R-xgboost)模型。在一些实施例中,可以基于机器学习模型对每个POI进行分类(例如,一个POI可以是合适的POI或不合适的POI,并且可以分类为两个类别)。在完成分类模型之后,可以基于训练好的机器学习模型和Sigmoid函数执行逻辑回归,以预测候选POI集合中的为[0,1]的每个POI的概率值。即候选POI集合中每个POI可能是最合适的POI的概率。例如,可以假设决策树具有J-1个节点,并且每个特征信息对应一个节点,并且样本在每个t处一分为二。在一些实施例中,每个t对应的特征变量可以基于该特征信息为需要预测的每个POI合适的概率带来的信息增益来确定。节点分裂的原则可以是在节点分裂之后使信息增益增加。在构建决策树之后,处理器可以获取影响每个特征信息的重要度(权重)。基于各种特征信息的重要度,处理器可以获取训练好的机器学习模型。由于候选POI可能是目标POI的概率是基于大数据确定的,因此可能相对稳定并且偏差小。
目标POI确定模块640可以对候选POI集合中每个POI为最合适POI的概率值进行排序,以确定最合适的POI。在一些实施例中,目标POI确定模块640可以基于候选POI中每个POI是最合适的POI的概率值的大小进行降序排列。在一些实施例中,降序序列中的第一POI,也就是作为目标POI的概率的值可以是目标POI。在一些实施例中,排序模块650可以基于排序算法对候选POI集合中的每个候选POI进行排名,例如基于气泡排序、选择排序、插入排序、归并排序、堆排序、快速排序、计数排序、基数排序、桶排序等来排序POI。
显示模块650可以显示目标POI。在一些实施例中,显示模块650可以基于由目标POI确定模块640按POI是目标POI的概率的值生成的降序排列序列来显示候选POI集合。例如,显示模块650可以显示具有最高概率值的前5个POI以供用户选择。在一些实施例中,显示模块650可以仅显示最合适的POI。
图6中的模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合电缆等或其任意组合。无线连接可以包括局域网络(LAN)、广域网络(WAN)、蓝牙、紫蜂网络、近场通信(NFC)等或其任意组合。在一些实施例中,可以将两个或以上模块组合成单个模块,并且可以将任何一个模块划分为两个或以上单元。
图7是根据本公开的一些实施例的示例性目标POI确定模块的示意图。目标POI确定模块可以与存储介质(例如,系统100的存储器150和/或终端设备300的存储器390)通信,并且可以执行存储在存储介质中的指令。在一些实施例中,目标POI确定模块640可包括获取单元710、训练单元720和确定单元730。在一些实施例中,电子设备400可以在服务器110或请求者终端130上实现。
获取单元710可以获取包括多组历史坐标和对应的所使用的POI的至少两个训练样本。
训练单元720可以基于至少两个训练样本训练机器学习模型。例如,训练样本可以包括至少两个POI的特征信息和指示至少两个POI是否是所使用的POI的至少两个标签。训练样本可包括与至少两个POI相关的特征向量。
确定单元730可以基于训练好的机器学习模型确定至少两个POI中每个POI的概率。
关于目标POI确定模块640的更多细节可以在本公开的其他地方找到,例如,在图6和/或图16及其描述中。
图7中的单元可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合电缆等或其任意组合。无线连接可以包括局域网络(LAN)、广域网络(WAN)、蓝牙、紫蜂网络、近场通信(NFC)等或其任意组合。在一些实施例中,两个或以上单元可以组合成单个单元,并且任何一个单元可以分成两个或以上单元。
图8是根据本公开的一些实施例的用于确定POI地理位置的示例性方法的流程图。流程800可以由系统100执行,例如服务器110和/或请求者终端130。例如,流程800可以实现为存储在存储器(例如,计算设备200的ROM 230或RAM 240、或终端设备300的存储器390)中的一组指令(例如,应用程序)。处理引擎112、CPU 340和/或图5中的模块可以执行所述一组指令,并且当执行该指令时,处理引擎112、CPU 340,和/或模块可以被配置以执行流程800。以下呈现的所示流程800的操作旨在是说明性的。在一些实施例中,流程800可以利用未描述的一个或以上附加操作,和/或不使用所讨论的一个或以上操作来完成。另外,如图8所示和下面描述的流程800的操作的顺序不是限制性的。
在810中,处理引擎112可以获取目标POI的至少两个历史定位记录。
处理引擎112可以在历史定位记录库中,获取与目标POI相关的至少两个历史定位记录。
在一些实施例中,软件平台(诸如打车APP平台)可以记录每个订单的定位信息,并且该定位信息可以存储在历史定位记录库中。定位信息可以包括由用户输入或确认的起点/终点(即,起始位置和/或目的地)的POI的名称和/或由用户输入或确认的POI的经纬度坐标。
此外,目标POI可以不指特定的POI名称。可以将当前匹配的POI的名称作为当前目标POI名称。本公开可以针对历史定位记录库中每个POI名称匹配对应的一个或以上经纬度坐标。
在820中,处理引擎112可以通过对至少两个历史定位记录中的至少两个历史坐标执行中心聚类过程的至少一次迭代,来确定目标POI的至少一组目标坐标。处理引擎112可以在每个迭代周期之后获取与目标POI匹配的经纬度坐标。
在一些实施例中,基于至少两个历史定位记录的经纬度坐标,处理引擎112可以在每个迭代周期中的一个或以上迭代聚类操作之后获取一个簇。基于该簇中至少两个历史定位记录的每对经纬度坐标,处理引擎112可以确定与POI匹配的经纬度坐标。处理引擎112可以在获取经纬度坐标之后,将该次中心聚类之后的簇中的历史定位记录从历史定位记录库中删除。处理引擎112可以进入下一个迭代周期。处理引擎112可以寻找与目标POI的名称匹配的下一对经纬度坐标。或者,新POI的名称可以作为目标POI的名称。处理引擎112可以寻找匹配的一对经纬度坐标。
图9是根据本公开的一些实施例的在至少一次迭代聚类操作之后获取的簇的示意图。应当注意,中心聚类之后的簇中的历史定位记录从历史定位记录库中删除可以表示该历史定位记录不再用于后续迭代周期的迭代聚类。在一些实施例中,处理引擎112可能不会完全删除历史定位记录。从历史定位记录库中删除的历史定位记录也可以保留在其他地方,以用于其他场景。
本公开可通过中心聚类获取与目标POI匹配的一个或以上经纬度坐标。例如,基于K均值簇算法的常用方法可以包括同时选择簇。根据本公开的一些实施例,可以在中心聚类算法过程中选择聚类中心。处理引擎112可以在一个迭代周期的迭代聚类之后获取与目标POI匹配的经纬度坐标。如果POI包括许多地理位置,则可能需要执行至少两个迭代周期的迭代聚类(对于每个迭代周期,可以分别执行一个或以上迭代聚类操作)以依次获取该POI在每个地理位置的经纬度坐标。
中心聚类方法避免了由于难以确定POI的地理位置而难以确定聚类中心数量的问题。该中心聚类方法可以避免由于选择了不合适的聚类中心数量而导致的聚类结果粗糙。另一方面,通过在至少两个迭代周期中执行迭代聚类,可以在每个迭代周期中过滤定位偏移的点。例如,如果最终聚类之后的簇中的历史定位记录数量很少,则处理引擎112可以过滤掉该历史定位记录以避免不必要的簇和不准确的经纬度坐标。
图10是根据本公开的一些实施例的用于基于聚类后的簇确定与目标POI的名称对应的经纬度坐标的示例性方法的流程图。流程1000可以由系统100执行,例如服务器110和/或请求者终端130。例如,流程1000可以被实现为存储在存储器(例如,计算设备200的ROM230或RAM 240、或终端设备300的存储器390)中的一组指令(例如,应用程序)。处理引擎112、CPU 340和/或图5中的模块可以执行一组指令,并且当执行该指令时,处理引擎112、CPU 340和/或模块可以被配置用于执行流程1000。以下呈现的流程1000的操作旨在是说明性的。在一些实施例中,流程1000可以利用未描述的一个或以上附加操作,和/或不使用所讨论的一个或以上操作来完成。另外,如图10所示和下面描述的流程1000的操作的顺序不是限制性的。
在1010中,对于中心聚类过程的至少一次迭代中的每次迭代,处理引擎112可以在迭代的至少一次迭代聚类操作之后获取一个簇,其中,该簇包括至少两个历史候选定位记录。
在1020中,处理引擎112可以基于簇的至少两个历史候选定位记录来确定最接近簇的中心的一组历史坐标作为目标POI的一组目标坐标。
在一些实施例中,在聚类后的簇中每个历史定位记录的经纬度坐标中,处理引擎112可以确定与聚类后的簇的簇心距离最近的一组经纬度坐标作为与目标POI匹配的经纬度坐标。这样可以确保所选择的经纬度坐标为用户实际定位中使用过的经纬度坐标。从而可以增强实用性。
另外,在中心聚类方法中,在第一个迭代周期中,处理引擎112可以确定历史定位记录库中具有目标POI的历史定位记录的平均经纬度坐标。在至少两个历史定位记录的经纬度坐标中,处理引擎112可以选择与该平均经纬度距离最近的经纬度坐标作为第一次迭代聚类的中心。在后续的每个迭代周期中,处理引擎112可以确定历史定位记录数据库中保留的具有目标POI的历史定位记录的平均经纬度坐标。处理引擎112可以选择与平均经纬度距离最近的经纬度坐标作为后续迭代聚类的中心。
所述中心聚类过程将通过一些实施例进一步说明。
应该注意的是,上述仅出于说明性目的而提供,并不旨在限制本公开的范围。对于本领域的普通技术人员来说,可以根据本公开的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本公开的范围。
图11是根据本公开的一些实施例的中心聚类的示例性方法的流程图。流程1100可以由系统100执行,例如服务器110和/或请求者终端130。例如,流程1100可以被实现为存储在存储器(例如,计算设备200的ROM 230或RAM240,或终端设备300的存储器390)中的一组指令(例如,应用程序)。处理引擎112、CPU 340和/或图5中的模块可以执行一组指令,并且当执行该指令时,处理引擎112、CPU 340和/或模块可以被配置用于执行流程1100。以下呈现的流程1100的操作旨在是说明性的。在一些实施例中,流程1100可以利用未描述的一个或以上附加操作,和/或不使用所讨论的一个或以上操作来完成。另外,如图5所示和下面描述的流程1100的操作的顺序不是限制性的。
在1110中,处理引擎112可以确定第一簇的一组平均坐标,所述第一簇包括目标POI的至少两个历史定位记录中的至少两组历史坐标。
处理引擎112可以将与目标POI相关的至少两个历史定位记录的经纬度加和并取平均,以获取至少两个历史定位记录的平均经纬度坐标。平均经纬度可以是第一簇的簇心的经纬度坐标。
例如,如图12A所示,与目标POI相关的至少两个历史定位记录可以形成第一簇,第一簇的平均经纬度坐标可以根据每个历史定位记录的经纬度坐标确定。
在1120中,处理引擎112可以确定第二簇,第二簇包括在第二簇的中心的预定距离内的历史坐标。第二簇的中心是最接近第一簇的一组平均坐标的一组历史坐标。处理引擎112可以确定对应的经纬度坐标与该中心在预定距离范围内的历史定位记录,组成第二簇。
在一些实施例中,当选择聚类中心时,处理引擎112可以不直接选择上一簇的簇心作为下一次迭代聚类的中心。处理引擎112可以选择与上一簇的平均经纬度坐标距离最近的一组经纬度坐标作为中心。这是因为用户定位的位置具有一定的实际属性。簇心的位置可能不是用户常用的位置。处理引擎112选择用户实际使用的位置作为聚类中心,这可以帮助避免将不适合定位的位置排除在外,例如地下车库、道路中心等。
在1120的迭代聚类之后,处理引擎112可以在第一次迭代之后获取一个簇。
例如,如图12B所示,最接近平均经纬度坐标的经纬度坐标可以作为第一簇的中心。处理引擎112可以确定对应的经纬度坐标与该中心在预定距离内的历史定位记录,组成第二簇。
在1130,处理引擎112可以确定第二簇是否满足迭代停止条件。响应于确定第二簇不满足迭代停止条件(也被称为“迭代停止标准”),处理引擎112可以进行到操作1140。响应于确定第二簇满足迭代停止条件,处理引擎112可以进行到操作1150。
在1140中,处理引擎112可以指定第二簇作为新的第一簇。处理引擎112可以重复操作1110来确定新的第一簇的一组平均坐标,所述第一簇包括目标POI的至少两个历史定位记录中的至少两组历史坐标。可以重复操作1110-1130,直到第二簇满足迭代停止条件。
在1150中,处理引擎112可以确定最接近第二簇的一组平均坐标的一组历史坐标作为目标POI的至少一组目标坐标中的一组目标坐标。
在最后获取第二簇之后,最接近第二簇的平均经纬度坐标的一组经纬度坐标可以作为目标POI对应的经纬度坐标。
通过重复1120-1130的迭代聚类,处理引擎112可以连续更新簇心的位置并形成新的簇,这可以增强新的簇中的目标POI对应的历史定位记录的密度。簇心的位置更接近大多数用户实际使用的定位位置。最后,在满足迭代停止条件之后,最接近最后一个簇的平均经纬度坐标的经纬度坐标可以作为目标POI对应的经纬度坐标。
在一些实施例中,迭代停止条件可以基于以下条件中的至少一个:
(1)第二簇中的历史定位记录数量与新的第二簇中的历史定位记录数量相同;
(2)迭代聚类操作数量大于第四阈值;
(3)第二簇的中心与新的第二簇的中心之间的距离小于距离阈值。
在一些实施例中,迭代停止条件可以基于所有这三个条件。
在条件(1)中,第二簇中的历史定位记录不再变化,表明已形成最佳的簇。可以停止迭代。在条件(2)中,为了节省运算量,处理引擎112设置迭代次数的最大值。如果迭代次数达到次数阈值,则可以停止该迭代周期的迭代。处理引擎112可以将最后的簇确定为用于确定最终经纬度坐标的簇。在条件(3)中,如果簇心移动距离小于设置距离阈值,则可以说明当前的簇基本上覆盖了用户经常使用的定位位置。可以停止迭代。
应当注意,迭代停止条件可以组合使用或者择一使用。例如,当第二簇中的历史定位记录不再变化,或者迭代达次数到次数阈值时,可以停止迭代。当簇心移动距离小于距离阈值时,可以停止迭代。还可以在迭代次数达到次数阈值并且簇心移动距离小于距离阈值时停止迭代。
例如,如图12C所示,在1120中形成的第二簇可以作为新的第一簇。最接近新的第一簇的平均经纬度坐标的一组经纬度坐标作为中心。处理引擎112可以确定对应的经纬度坐标与该中心在预设距离范围内的历史定位记录,组成新的第二簇。
如图12D所示,当基于图12C中的新的第二簇执行下一次迭代聚类时,下一次迭代聚类之后的簇可以是与图12C中的新的第二簇为同一簇。第二簇中的历史定位记录不再变化,这可以表明第二簇满足迭代条件,并且可以将最接近第二簇的平均经纬度坐标的一组经纬度坐标作为与目标POI对应的一组经纬度坐标。
在一些实施例中,为了避免因定位偏移导致为POI确定的不必要的经纬度坐标,处理引擎112可以对聚类后形成的可能不满足置信度标准的簇进行过滤。处理引擎112可以过滤掉偏移点。关于中心聚类的更多细节可以在一些实施例中描述。
图13是根据本公开的一些实施例的中心聚类的示例性方法的流程图。流程1300可以由系统100执行,例如服务器110和/或请求者终端130。例如,流程1300可以被实现为存储在存储器(例如,计算设备200的ROM 230或RAM240、或终端设备300的存储器390)中的一组指令(例如,应用程序)。处理引擎112、CPU 340和/或图5中的模块可以执行一组指令,并且当执行指令时,处理引擎112、CPU 340和/或模块可以被配置为执行流程1300。以下呈现的流程1300的操作旨在是说明性的。在一些实施例中,流程1300可以利用未描述的一个或以上附加操作,和/或不使用所讨论的一个或以上操作来完成。另外,如图13所示和下面描述的流程1300的操作的顺序不是限制性的。
在1310中,处理引擎112可以确定第一簇的一组平均坐标,所述第一簇包括目标POI的至少两个历史定位记录中的至少两组历史坐标。
在1320中,处理引擎112可以确定第二簇,第二簇包括在所述第二簇的中心的预定距离内的历史坐标,并且第二簇的中心是最接近第一簇的一组平均坐标的一组历史坐标。处理引擎112可以确定对应的经纬度坐标与该中心在预定距离内的历史定位记录,组成第二簇。
在1330中,处理引擎112可以确定第二簇是否满足预设置信度标准。
在一些实施例中,预设置信度条件可包括以下条件中的至少一个:
(1)第二簇中历史定位记录的总数量大于第一阈值。
(2)第二簇中最近第一设定时长内的历史定位记录的数量大于第二阈值。
(3)第二簇中第二设定时长内的历史定位记录对应的订单频率(或第二设定时长内与历史定位记录相关的订单数量)大于第三阈值。
在一些实施例中,预设置信度条件可包括所有这三个所述的条件。
在上述条件(1)中,第二簇中历史定位记录的总数量可以指第二簇中属于历史定位记录库中记录的历史定位记录的总数量;在上述条件(2)中,第二簇中最近第一设定时长内的历史定位记录的数量可以指第二簇中属于最近第一设定时长的生成的历史定位记录的数量。在上述条件(3)中,第二簇中第二设定时长内的历史定位记录对应的订单频率可以指在第二簇中属于最近第二设定时长内生成的历史定位记录的订单频率,例如每天的订单数量、每月的订单数量等。
第一阈值和第二阈值可以相同或不同。一般地,第二阈值小于第一阈值。第一设定时长和第二设定时长可以相同或不同。在一些实施例中,如果使用上述条件(2),在形成第一簇和第二簇时,可以先不考虑是否是第一设定时长内生成的历史定位记录。当在后面1330中确定第二簇是否满足预设置信度标准时,再考虑是否是第一设定时长内生成的历史定位记录。或者,还可以在1310中按照历史定位记录在最近第一设定时长内生成这个条件,对历史定位记录进行筛选。即,第一簇中的历史定位记录可以是在最近第一设定时长内生成的。后续迭代的第二簇中的历史定位记录可以是在第一设定时长内生成的。处理引擎112可以确定第二簇中的历史定位记录的数量是否大于1330中的第二阈值。
对于上述条件(3),如果使用上述条件(3),在形成第一簇和第二簇时,可以不考虑是否是第二设定时长内生成的历史定位记录。当在后面1330中确定第二簇是否满足预设置信度标准时,再考虑它是否是第二设定时长内产生的历史定位记录。或者,可以在1310中按照最近第二设定时长对历史定位记录进行筛选,即,第一簇中的历史定位记录是在第二设定时长内生成的。后续迭代聚类的第二簇中的历史定位记录也可以是在第二设定时长内生成的,因此,它可以在1330中直接确定第二簇中历史定位记录的订单频率是否大于第三阈值。
在1340中,如果确定第二簇满足预设置信度标准,则处理引擎112可以将第二簇中的历史坐标从目标POI的至少两个历史定位记录中删除。处理引擎112可以将第二簇确定为新的第一簇,并返回操作1310以确定第一簇的平均经纬度坐标,直到满足迭代停止条件。处理引擎112可以指定最接近第二簇的平均经纬度坐标的经纬度坐标作为最终第二簇中的目标POI对应的经纬度坐标。
在1350中,如果确定第二簇不满足预设置信度标准,则处理引擎112可以将第二簇指定为新的第一簇。
如果第二簇满足预设的置信度标准,则处理引擎112可以再次执行第二迭代聚类。处理引擎112可以将第二簇指定为新的第一簇。处理引擎112可以执行上述迭代聚类过程。如果第二簇不满足预设置信度标准,则处理引擎112可以将第二簇中的历史定位记录确定为不正确的位置。处理引擎112可以将其从历史定位记录库中删除。处理引擎112可以不删除不满足置信度标准的第二簇中的历史定位记录。处理引擎112对其进行标记,以指示在后续迭代中不再考虑这些历史定位记录。
在一些实施例中,处理引擎112为不同的服务设置不同的置信度标准。例如,对于指定的代驾服务,第一阈值可以是10,对于快车服务,第一阈值可以是50。在本公开的实施例中,处理引擎112可以针对不同的服务(不同的业务模式或业务线)执行不同的中心聚类过程。针对不同服务获取的聚类结果可以相同或不同。例如,指定的代驾服务和快车服务可以位于停车场或餐馆旁边。又例如,对于指定的代驾服务,定位位置可以是地下车库,而快车服务的定位位置很少会被确定到地下车库。
在一些实施例中,在执行每个迭代周期的一个或以上迭代聚类以获取目标POI对应的经纬度坐标之后,处理引擎112可以将第二簇中的历史定位记录从历史定位记录库中删除。处理引擎112可以返回从历史定位记录库中获取具有目标POI的至少两个历史定位记录的步骤。或者,处理引擎112可以选择新的POI作为目标POI,并返回获取具有目标名称的至少两个历史定位记录的步骤,直到历史定位记录库中剩余的历史定位记录的数量不满足预设置信度标准为止。可以在一些实施例中进行更多解释。
图14是根据本公开的实施例5的用于确定POI地理位置的示例性方法的流程图。流程1400可以由系统100执行,例如服务器110和/或请求者终端130。例如,流程1400可以实现为存储在存储器(例如,计算设备200的ROM 230或RAM 240、或终端设备300的存储器390)中的一组指令(例如,应用程序)。处理引擎112、CPU 340和/或图5中的模块可以执行所述一组指令,并且当执行该指令时,处理引擎112、CPU 340和/或模块可以被配置用于执行流程1400。以下呈现的流程1400的操作旨在是说明性的。在一些实施例中,流程1400可以利用未描述的一个或以上附加操作,和/或不使用所讨论的一个或以上操作来完成。另外,如图14所示和下面描述的流程1400的操作的顺序不是限制性的。
在1410中,处理引擎112可以从历史定位记录库中获取与目标POI相关的至少两个历史定位记录。
在一些实施例中,处理引擎112可以从历史定位记录库获中取所有POI。将需要匹配的POI作为当前目标名称。处理引擎112可以从历史定位记录库中获取具有该目标POI的历史定位记录。
在1420中,处理引擎112可以确定第一簇的一组平均坐标,所述第一簇包括目标POI的至少两个历史定位记录中的至少两组历史坐标。与目标POI相关的历史定位记录可以组成第一簇。即,在第一个迭代周期中用于第一次迭代聚类的历史定位记录。
作为一种实施方式,处理引擎112可以统计第一簇中历史定位记录的数量,并在确定第一簇的平均经纬度坐标之前,确定第一簇是否满足预设的置信度标准。例如,处理引擎112可以确定第一簇中历史定位记录的总数量是否大于第一阈值。处理引擎112可以确定第一簇中第一设定时长内的历史定位记录的数量是否大于第二阈值。处理器可以确定第一簇中的历史定位记录是否大于第三阈值等。如果第一簇不满足预设的置信度标准,则处理引擎112可以确定第一簇中的历史定位记录对应的是错误的定位点。处理引擎112可以删除第一簇。第一簇可以不再用作确定目标POI经纬度坐标的参考。
在1430中,处理引擎112可以确定第二簇,第二簇包括在第二簇的中心的预定距离内的历史坐标,第二簇的中心可以是最接近第一簇的一组平均坐标的一组历史坐标。
处理引擎112可以确定对应的经纬度坐标与该中心在预定距离内的历史定位记录,组成第二簇。
在确定第一簇的平均经纬度之后,处理引擎112可以不直接将该平均经纬度坐标作为中心。处理引擎112可以将最接近该平均经纬度坐标的历史定位记录中的经纬度坐标指定为聚类的中心,以选择出与用户实际定位习惯匹配的历史定位记录。
在1440中,处理引擎112可以确定第二簇是否满足预设置信度条件(也称为“预设置信度标准”)。
在每次通过迭代聚类获取簇之后,处理引擎112可以确定第二簇是否满足预设置信度标准。例如,处理引擎112可以确定第二簇中的历史定位记录的总数是否大于第一阈值。处理引擎112可以确定第二簇中第一设定时长内的历史定位记录的数量是否大于第二阈值。可选地,处理引擎112可以确定第二簇中在第二设定时长内的历史定位记录对应的订单频率(或与第二设定时长内的历史定位记录相关的订单数量)是否大于第三阈值等。
在1450中,如果确定第二簇不满足预设置信度标准,处理引擎112可以将第二簇中的历史定位记录从历史定位记录库中删除。
如果第二簇不满足预设置信度标准,处理引擎112可以确定第二簇中的历史定位记录对应于错误的定位点。处理引擎112可以删除第二簇。并且该第二簇可以不再作为确定目标POI的经纬度坐标的参考。
在1460中,在确定第二簇满足预设置信度标准后,处理引擎112可以将第二簇指定为新的第一簇,并且返回操作1420直到满足迭代停止条件。处理引擎112还可以确定最接近第二簇的平均经纬度坐标的经纬度坐标作为目标POI对应的经纬度坐标。在最终获取的第二簇中,最接近第二簇的平均经纬度坐标的一组经纬度坐标可以作为目标POI对应的经纬度坐标。处理引擎112可以继续到1470。
如果第二簇满足置信度标准,处理引擎112可以执行后续的迭代聚类,直到满足迭代停止条件。处理引擎112可以基于最后迭代聚类后的簇来确定目标POI对应的经纬度坐标。
在1470中,处理引擎112可以将获取的第二簇中的历史定位记录从历史定位记录库中删除。处理引擎112可以继续到1480。
处理引擎112可以将聚类后的簇中的历史定位记录从历史定位记录库中删除。可以不再将该聚类后的簇作为确定后续目标POI经纬度坐标的参考。
在1480中,处理引擎112可以确定历史定位记录库中剩余历史定位记录的数量是否满足预设置信度标准。
如果剩余历史定位记录库的数量不满足预设置信度标准,则处理引擎112可以停止流程1400。
在完成一个迭代周期的迭代聚类之后,处理引擎112可以确定历史定位记录库中剩余历史定位记录的数量是否满足预设置信度标准。如果该数量不满足预设置信度标准,剩余历史定位记录所对应的一个或以上POI可能不会有满足置信度标准的对应的簇可以聚类而成。处理引擎112可以结束整个历史定位记录的聚类过程并停止整个匹配过程。
在1490中,如果历史定位记录库中剩余历史定位记录的数量满足预设置信度标准,处理引擎112可以返回到1410,以获取具有目标POI的至少两个历史定位记录。或者,处理引擎112可以获取新的目标POI作为目标POI并且返回到1410,以获取具有新目标POI的至少两个历史定位记录。
如果历史定位记录库中的剩余历史定位记录的数量满足预设置信度标准,处理引擎112可以执行第二个迭代周期的迭代聚类。处理引擎112可以选择目标POI(第一个迭代周期中的目标POI,或新目标POI)以返回到1410。
作为本公开实施例解决方案的应用,处理器可以在获取与目标POI匹配的至少一个经纬度坐标之后执行以下步骤。
在接收到用户输入的与目标POI匹配的关键词信息之后,处理引擎112向用户提供与目标POI匹配的至少一组经纬度坐标对应的定位信息以供选择。
处理器可以确认用户选择的定位信息,并将与该定位信息对应的经纬度坐标作为用户定位的起点或终点。
上述定位信息可以包括目标POI的详细名称、地图上指示的地理位置(例如,特殊标记)、以及周边POI信息等。
本公开的实施例匹配出的经纬度坐标,可以用于后续向用户提供定位建议,也可以用于为用户自动进行POI地图定位。例如,用户可以打车APP中输入作为起点或终点的POI的关键词信息。打车APP可以通过关键词匹配来确定与该关键词对应的准确的目标POI。在用户确认该目标POI之后,打车APP可以自动定位最接近该用户且与该目标POI匹配的经纬度坐标。或者,处理引擎112将与目标POI匹配的一个或以上经纬度坐标对应的定位信息提供给用户。例如,定位信息可以由地图上的标记指示出来,以供用户选择。又例如,处理引擎112将该定位信息对应的目标POI的详细名称(如苏州街庆丰包子铺、知春路庆丰包子铺)提供给用户以供选择。在用户选择目标POI的详细名称之后,处理引擎112记录经纬度坐标并将它们提供给司机以便接送乘客。
图15是根据本公开的一些实施例的用于确定目标POI的示例性方法的流程图。流程1500可以由系统100执行。例如,流程1500可以被实现为存储在存储器(例如,计算设备200的ROM 230或RAM 240、或者终端设备300的存储器390)中的一组指令(例如,应用程序)。处理引擎112、CPU 340和/或图6中的模块可以执行所述一组指令,并且当执行该指令时,处理引擎112、CPU340、和/或模块可以被配置用于执行流程1500。以下呈现的流程1500的操作旨在是说明性的。在一些实施例中,流程1500可以利用未描述的一个或以上附加操作,和/或不使用所讨论的一个或以上操作来完成。另外,如图15所示和下面描述的流程1500的操作的顺序不是限制性的。
在1510中,可以获取定位点的一组坐标。该组坐标可以描述定位点的经纬度信息。该操作可以由获取模块610执行。如这里所使用的,定位点可以是具有已知经纬度信息的地理位置。在一些实施例中,定位点的经纬度信息可以由与系统100相关的APP、定位传感器、定位系统和/或相关设备获取。在一些实施例中,系统100可以基于定位点的经纬度信息,通过网络和/或内部存储器获取定位点周边的信息。
在1520中,可以获取包括至少两个POI和至少两个POI的基本信息的候选POI集合。该操作可以由候选POI确定模块620执行。至少两个POI可以在定位点的预定距离内。在一些实施例中,POI的基本信息可以包括POI的名称、类别、用于标记与识别的ID、POI的经纬度等或其任意组合。在一些实施例中,预定范围可以是存储在系统100中的默认值,或者根据不同的应用场景确定。在一些实施例中,候选POI可以是在定位点一定半径(半径可以是500米、1000米等)内的所有POI。在一些实施例中,候选POI可以是包括定位点在内的一定形状的区域内的所有POI,所述形状可以是任意形状。在一些实施例中,候选POI确定模块620可以根据每个POI的经纬度以及定位点的经纬度信息来确定定位点和POI之间的距离。候选POI确定模块620还可以选择距离在预定范围内的一个或以上POI,以形成候选POI集合。
在1530中,可以确定候选POI中至少两个POI中每个POI的至少两个特征(也称为“特征信息”)。该操作可以由特征确定模块630执行。在一些实施例中,POI的特征信息可以包括从POI到定位点的距离、POI的名称和/或地址的显示信息、表示用户是否经常到达该POI和/或选择该POI作为目的地的热度、与POI相关的品牌和/或知名商家、POI是否具有父子节点、POI是否是面状数据、引导点与车辆的实际点之间的距离、与POI相关的道路水平、POI的形状或其任意组合。关于POI特征信息的更多细节可以参考所披露的特征信息提取模块630的描述。
在1540中,可以基于POI的特征和机器学习模型来确定与候选POI集合中的定位点相关的目标POI。该操作可以由目标POI确定模块640执行。在一些实施例中,可以基于所提取的所有POI的特征信息和机器学习模型,确定候选POI集合中每个候选POI为目标POI的概率。例如,目标POI确定模块640可以将每个候选POI的特征信息输入到机器学习模型中。机器学习模型可以单独预测(例如,机器学习模型可以单独输出)每个POI为目标POI的概率。更具体的描述可以在别处找到,例如,在图16中。此外,可以基于该候选POI集合中每个POI为目标POI的概率来确定目标POI。
例如,可以通过概率值对每个POI进行排序以确定最合适的POI。在一些实施例中,目标POI确定模块640可以基于候选POI中每个POI为最合适的目标POI的概率值的大小按降序排列。在一些实施例中,降序序列中的第一个POI,即作为目标POI的概率的值最大的POI可以是目标POI。在一些实施例中,排序模块650可以基于排序算法对每个候选POI集进行排名,例如冒泡排序、选择排序、插入排序、归并排序、堆排序、快速排序、计数排序、基数排序、桶排序,或类似的排序POI的算法。
在一些实施例中,机器学习模型可以是预训练的模型。例如,机器学习模型可以通过服务器110或请求者终端130上的离线训练获取并存储在系统100的任何存储器中。在一些实施例中,可以在服务器110或请求者终端130上在线获取机器学习模型。机器学习模型的训练过程可以参考本发明中披露的图16中的相关描述。
在一些实施例中,确定最合适的POI的过程(例如,图15中的步骤1510-1540)可以在系统100的服务器110(例如,处理引擎112)或请求者终端130上执行。
在1550中,可以向用户显示目标POI。在一些实施例中,操作1550可以由显示模块650执行。例如,显示模块650可以在终端设备(例如,终端设备300)上实现的地图中显示目标POI的位置、目标POI的名称、目标POI的地址等在一些实施例中,当服务器110执行操作1540时,服务器110(例如,处理引擎112)可以向与用户相关的终端设备发送信号以指示终端显示目标POI。
在一些实施例中,显示模块650可以基于由目标POI确定模块640按POI是目标POI的概率的值生成的降序排列序列来显示候选POI集合。例如,显示模块650可以显示具有最高概率值的前5个POI供用户选择。在一些实施例中,显示模块650可以仅显示最合适的POI。在一些实施例中,显示模块650可以向定位点对应的用户终端发信号,并指示用户终端显示目标POI或具有最高概率值的多个POI。用户可以与用户终端上显示的POI交互,以选择与用户定位点对应的POI。在一些实施例中,显示模块650还可以选择POI作为与定位点相对应的POI,并将其发送到系统进行存储。
图16是根据本公开的一些实施例的用于确定将POI确定为目标POI的概率的示例性方法的流程图。流程1600可以由系统100执行,例如服务器110和/或请求者终端130。例如,流程1600可以被实现为存储在存储器(例如,计算设备200的ROM 230或RAM 240、或终端设备300的存储器390)中的一组指令(例如,应用程序)。处理引擎112、CPU 340和/或图6中的模块可以执行所述一组指令,并且当执行该指令时,处理引擎112,CPU 340和/或模块可以被配置为执行流程1600。以下呈现的流程1600的操作旨在是说明性的。在一些实施例中,流程1600可以利用未描述的一个或以上附加操作,和/或不使用所讨论的一个或以上操作来完成。另外,如图16所示和下面描述的流程1600的操作的顺序不是限制性的。
在1610中,可以获取包括至少两组历史坐标和对应的所使用的POI的至少两个训练样本。操作1610可以由获取单元710执行。在一些实施例中,可以通过采集实际线上用户定位经纬度信息和实际使用的POI(例如,由用户手动选择的POI)来构建训练样本。例如,可以通过打车APP或地图APP获取用户实际使用的POI,并且可以通过手机的定位系统获取用户的定位点的经纬度信息。在一些实施例中,训练样本可以包括与至少两个历史候选POI相关的特征信息,所述至少两个历史候选POI与至少两组历史坐标和至少两个标签相关。至少两个标签中的每个标签可以表示历史候选POI是否是所使用的POI(即,一组历史坐标的合适的POI)。在一些实施例中,训练样本可以是用于训练机器学习模型的特征向量的集合,例如一个或以上训练样本。例如,对于某个定位点,可以假设对应的POI的对应值为1,并且其余不合适的POI的对应值为0。并且可以将POI的一个或以上特征信息与对应值构成特征向量(例如,不合适的POI可以对应于特征向量所述POI对应的特征向量的集合可以构建为训练样本A。在一些实施例中,机器学习模型可以根据数据变化,在一段时间(例如,3天、1个月、1年等)后离线重新训练模型,完成后重新更新上线,以实现机器学习模型的更新。在一些实施例中,处理器可以根据数据的变化获取新的特征信息,生成新的特征向量和训练样本,并重新离线训练机器学习模型,以便于后续机器学习模型的不断优化。
在1620中,可以基于至少两个训练样本来训练机器学习模型。操作1620可以由训练单元720执行。在一些实施例中,在训练学习模型的过程中,训练样本中每个特征向量可以有不同的权重。权重的大小可以表示其对应的特征向量相对于预测结果的重要程度。例如,权重较高(更重要)的特征可以包括从POI到定位点的距离、该POI作为目的地的热度、POI相关的品牌或商家的知名度等。其他特征,例如POI或地址的显示信息、是否有父子节点、是否是面部数据等权重较低。在一些实施例中,不同的应用场景中,训练机器学习模型所用的训练样本(例如,特征向量)可能不同。在一些实施例中,不同的应用场景中,每个特征向量对应的权重也可以不同。在一些实施例中,在训练机器学习模型之后,机器学习模型可以不记忆模型的输出。例如,当训练好的机器学习模型用于确定每个POI为目标POI的概率时,可以基于每个POI的特征信息重新确定每个POI是目标POI的概率,而不参考至少两个POI中任何其他POI的任何先前输出。在一些实施例中,处理引擎112可以在训练机器学习模型之前修正训练样本以去除训练样本中的错误数据(例如,错误的POI、错误的特征信息)。具体地,处理引擎112可以修正至少两个训练样本以获取训练集并基于训练集训练机器学习模型。在一些实施例中,处理器可以执行自动修正以从训练样本中去除错误数据。例如,处理器可以为某些特征值设置阈值范围。当训练样本中的特征值超出该范围时,处理器可以自动去除该特征值。在一些实施例中,阈值范围可以是存储在系统100中的默认值,或者可以根据不同的应用场景来确定。在一些实施例中,可以根据不同的应用场景,进行手动修正以去除训练样本中的错误数据。
在1630中,可以基于训练好的机器学习模型来确定至少两个POI中每个POI的概率。操作1630可以由确定单元730执行。基于所提取的POI的特征信息,机器学习模型可以输出每个POI合适(即,对应于1)的概率,也就是候选POI集合中每个POI是最合适的POI的概率。
上文已对基本概念做了描述,显然,对于阅读此申请后的本领域的普通技术人员来说,上述发明披露仅作为示例,并不构成对本公开的限制。虽然此处并未明确说明,但本领域的普通技术人员可能会对本公开进行各种修改、改进和修正。该类修改、改进和修正在本公开中被建议,所以该类修改、改进、修正仍属于本公开示范实施例的精神和范围。
同时,本公开使用了特定词语来描述本公开的实施例。例如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本公开至少一个实施例相关的某一特征、结构或特性。因此,应当强调并注意的是,本说明书中在不同位置两次或以上提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本公开的一个或以上实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域的普通技术人员可以理解,本公开的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的过程、机器、产品或物质的组合,或对其任何新的和有用的改进。相应地,本公开的各个方面可以完全由硬件执行、可以完全由软件(包括韧体、常驻软件、微代码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“单元”、“模块”或“系统”。此外,本公开的各方面可以采取体现在一个或以上计算机可读介质中的计算机程序产品的形式,其中计算机可读程序代码包含在其中。
计算机可读信号介质可能包含一个内含有计算机程序代码的传播数据信号,例如在基带上或作为载波的一部分。此类传播信号可以有多种形式,包括电磁形式、光形式等或任何合适的组合。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通信、传播或传输供使用的程序。位于计算机可读信号介质上的程序代码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF等,或任何上述介质的组合。
本公开各部分操作所需的计算机程序编码可以用任意一种或以上程序语言编写,包括面向主体编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby,和Groovy,或其他编程语言等。该程序代码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本公开所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本公开流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有满足本公开实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本公开披露的表述,从而帮助对一个或以上发明实施例的理解,前文对本公开实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。然而,本公开的该方法不应被解释为反映所声称的待扫描对象物质需要比每个权利要求中明确记载的更多特征的意图。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。

Claims (48)

1.一种用于确定兴趣点(POI)位置的系统,包括:
至少一个存储介质,包括用于确定所述兴趣点的所述位置的一组指令;以及
与所述存储介质通信的至少一个处理器,其中,当执行所述一组指令时,所述至少一个处理器被指示为:
获取目标兴趣点的至少两个历史定位记录,所述至少两个历史定位记录中的每个历史定位记录包括一组目标兴趣点的历史坐标;以及
通过对所述至少两个历史定位记录中的所述至少两组历史坐标执行中心聚类过程的至少一次迭代,来确定所述目标兴趣点的至少一组目标坐标,其中
所述至少一组目标坐标中的每组目标坐标由所述中心聚类过程的所述至少一次迭代中的迭代确定。
2.根据权利要求1所述的系统,其中为了确定所述目标兴趣点的所述至少一组目标坐标,所述至少一个处理器还被指示为:
对于所述中心聚类过程的所述至少一次迭代中的每次迭代,
在所述迭代的至少一次迭代聚类操作之后获取一个簇,其中,所述簇包括至少两个历史候选定位记录;以及
基于所述簇的所述至少两个历史候选定位记录,确定最接近所述簇的中心的一组历史坐标作为所述目标兴趣点的一组目标坐标。
3.根据权利要求2所述的系统,其中对于所述中心聚类过程的所述至少一次迭代中的每次迭代,为了在所述迭代的所述至少一次迭代聚类操作后获取所述簇,所述至少一个处理器还被指示为:
在第一迭代中,确定所述目标兴趣点的所述至少两个历史定位记录中的所述至少两组历史坐标的一组平均坐标;
在所述至少两组历史坐标中,确定最接近所述一组平均坐标的一组历史坐标作为第一迭代聚类操作的中心;以及
基于所述第一迭代聚类操作的所述中心,在所述迭代的至少一次迭代聚类操作之后获取所述簇。
4.根据权利要求1至3中任一项所述的系统,其中为了确定所述目标兴趣点的所述至少一组目标坐标,所述至少一个处理器还被指示为:
执行包括至少两次迭代聚类操作的迭代,以确定所述目标兴趣点的所述至少一组目标坐标中的一组目标坐标,其中,所述至少两次迭代聚类操作中的每次迭代聚类操作包括:
确定第一簇的一组平均坐标,所述第一簇包括所述目标兴趣点的所述至少两个历史定位记录中的所述至少两组历史坐标;
确定第二簇,其中所述第二簇包括在所述第二簇的中心的预定距离内的历史坐标,并且所述第二簇的所述中心是最接近所述第一簇的所述一组平均坐标的一组历史坐标;
指定所述第二簇作为新的第一簇;
确定所述第二簇是否满足迭代停止条件;以及
响应于确定所述第二簇满足所述迭代停止条件,
确定最接近所述第二簇的一组平均坐标的一组历史坐标作为所述目标兴趣点的所述至少一组目标坐标中的一组目标坐标。
5.根据权利要求4所述的系统,其中在指定所述第二簇作为所述新的第一簇之前,所述至少一个处理器还被指示为:
确定所述第二簇是否满足预设置信度条件;以及
响应于确定所述第二簇满足所述预设置信度条件,
指定所述第二簇为所述新的第一簇。
6.根据权利要求4所述的系统,其中在指定所述第二簇作为所述新的第一簇之前,所述至少一个处理器还被指示为:
确定所述第二簇是否满足预设置信度条件;以及
响应于确定所述第二簇不满足所述预设置信度条件,
从所述目标兴趣点的所述至少两个历史定位记录中删除所述第二簇中的所述历史坐标。
7.根据权利要求5或6所述的系统,其中所述预设置信度条件包括以下至少一个:
所述第二簇中的历史定位记录数量大于第一阈值;
所述第二簇中第一设定时长内的历史定位记录数量大于第二阈值;或者
所述第二簇中第一设定时长内与所述历史定位记录相关的订单数量大于第三阈值。
8.根据权利要求5至7中任一项所述的系统,其中所述至少一个处理器还被指示为:
基于业务模式确定所述业务模式的所述预设置信度条件。
9.根据权利要求4所述的系统,其中所述迭代停止条件包括以下至少一个:
所述第二簇中的历史定位记录数量与所述新的第二簇中的历史定位记录数量相同;
迭代聚类操作数量大于第四阈值;或者
所述第二簇的中心与所述新的第二簇的中心之间的距离小于距离阈值。
10.根据权利要求4所述的系统,其中所述至少一个处理器还被指示为:
从所述目标兴趣点的所述至少两个历史定位记录中删除所述第二簇中的所述历史坐标。
11.根据权利要求6或10所述的系统,其中所述至少一个处理器还被指示为:
更新所述第一簇来执行所述中心聚类过程的所述至少一次迭代中的迭代,直到所述第一簇不满足预设置信度条件;或者
获取新的目标兴趣点的至少两个历史定位记录,以执行所述中心聚类过程的至少一次迭代来确定所述新的目标兴趣点的至少一组目标坐标。
12.根据权利要求1所述的系统,其中所述至少一个处理器还被指示为:
从用户的用户终端获取与所述目标兴趣点相关的关键词信息;
将所述目标兴趣点的至少一组目标坐标发送到所述用户终端;
从所述用户终端获取从至少一组目标坐标中选择的一组目标坐标;以及
确定所述选择的一组目标坐标作为所述用户的起始位置或目的地。
13.一种用于确定兴趣点(POI)的系统,包括:
至少一个存储介质,包括用于确定所述兴趣点的一组指令;以及
与所述存储介质通信的至少一个处理器,其中,当执行所述一组指令时,所述至少一个处理器被指示为:
获取定位点的一组坐标;
获取包括至少两个兴趣点和所述至少两个兴趣点的基本信息的候选兴趣点集合,其中,所述至少两个兴趣点在所述定位点的预定距离内;
确定所述候选兴趣点集合中所述至少两个兴趣点中每个兴趣点的至少两个特征;以及
基于所述至少两个特征和机器学习模型,从所述候选兴趣点集合中确定与所述定位点相关的目标兴趣点。
14.根据权利要求13所述的系统,其中所述至少两个兴趣点的所述基本信息包括所述至少两个兴趣点中每个兴趣点的所述兴趣点的名称、所述兴趣点的类别或所述兴趣点的ID中的至少一个。
15.根据权利要求13或14所述的系统,其中所述至少两个兴趣点中每个兴趣点的所述至少两个特征包括以下至少一个:
从所述兴趣点到所述定位点的距离、所述兴趣点名称的显示、所述兴趣点地址的显示、用户到达所述兴趣点的频率、使用所述兴趣点作为至少两个打车服务的目的地的频率、与所述兴趣点相关的品牌、与所述兴趣点相关的商店、所述兴趣点是否具有父子节点、所述兴趣点是否包括面状数据或者在打车服务中所述兴趣点作为引导点与实际上车点之间的距离。
16.根据权利要求13至15中任一项所述的系统,其中所述机器学习模型包括分类模型。
17.根据权利要求13至16中任一项所述的系统,其中为了确定所述目标兴趣点,所述至少一个处理器还被指示为:
对于所述候选兴趣点集合中的所述至少两个兴趣点中的每个兴趣点,基于所述兴趣点的所述至少两个特征和所述机器学习模型,确定代表所述兴趣点是所述目标兴趣点的概率;以及
确定在所述候选兴趣点集合的所述至少两个兴趣点中具有最大概率的兴趣点作为所述目标兴趣点。
18.根据权利要求17所述的系统,其中对于所述至少两个兴趣点中的每个兴趣点,为了确定所述概率,所述至少一个处理器还被指示为:
获取至少两个训练样本,所述至少两个训练样本包括至少两组历史坐标和对应的所使用的兴趣点;
基于所述至少两个训练样本训练所述机器学习模型;以及
基于所述训练好的机器学习模型确定所述至少两个兴趣点中每个兴趣点的所述概率。
19.根据权利要求18所述的系统,其中为了基于所述训练好的机器学习模型确定所述至少两个兴趣点中每个兴趣点的所述概率,所述至少一个处理器还被指示为:
对于所述至少两个兴趣点中的每个兴趣点,基于所述训练好的机器学习模型和所述兴趣点的所述至少两个特征确定所述概率,而不参考所述至少两个兴趣点中任何其他兴趣点的任何先前输出。
20.根据权利要求18所述的系统,其中为了训练所述机器学习模型,所述至少一个处理器还被指示为:
修正所述至少两个训练样本以获取训练集合;以及
基于所述训练集合训练所述机器学习模型。
21.根据权利要求20所述的系统,其中为了修正所述至少两个训练样本,所述至少一个处理器还被指示为:
自动删除所述至少两个训练样本中的错误数据,其中所述错误数据包括用户选择的错误兴趣点或兴趣点的错误特征。
22.根据权利要求13至20中任一项所述的系统,其中所述至少一个处理器还被指示为:
将信号发送到与用户相关的终端,以指示所述终端显示所述目标兴趣点。
23.一种用于确定兴趣点(POI)的位置的方法,其在具有至少一个处理器和至少一个非暂时性存储介质的计算设备上实现,所述方法包括:
获取目标兴趣点的至少两个历史定位记录,所述至少两个历史定位记录中的每个历史定位记录包括一组目标兴趣点的历史坐标;以及
通过对所述至少两个历史定位记录中的所述至少两组历史坐标执行中心聚类过程的至少一次迭代,来确定所述目标兴趣点的至少一组目标坐标,其中
所述至少一组目标坐标中的每组目标坐标由所述中心聚类过程的所述至少一次迭代中的迭代确定。
24.根据权利要求23所述的方法,其中所述通过对所述至少两个历史定位记录中的所述至少两组历史坐标执行中心聚类过程的至少一次迭代,来确定所述目标兴趣点的至少一组目标坐标包括:
对于所述中心聚类过程的所述至少一次迭代中的每次迭代,
在所述迭代的至少一次迭代聚类操作之后获取一个簇,其中,所述簇包括至少两个历史候选定位记录;以及
基于所述簇的所述至少两个历史候选定位记录,确定最接近所述簇的中心的一组历史坐标作为所述目标兴趣点的一组目标坐标。
25.根据权利要求24所述的方法,其中所述在所述迭代的至少一次迭代聚类操作之后获取一个簇包括:
在第一迭代中,确定所述目标兴趣点的所述至少两个历史定位记录中的所述至少两组历史坐标的一组平均坐标;
在所述至少两组历史坐标中,确定最接近所述一组平均坐标的一组历史坐标作为第一迭代聚类操作的中心;以及
基于所述第一迭代聚类操作的所述中心,在所述迭代的至少一次迭代聚类操作之后获取所述簇。
26.根据权利要求23至25中任一项所述的方法,其中所述通过对所述至少两个历史定位记录中的所述至少两组历史坐标执行中心聚类过程的至少一次迭代,来确定所述目标兴趣点的至少一组目标坐标包括:
执行包括至少两次迭代聚类操作的迭代,以确定所述目标兴趣点的所述至少一组目标坐标中的一组目标坐标,其中,所述至少两次迭代聚类操作中的每次迭代聚类操作包括:
确定第一簇的一组平均坐标,所述第一簇包括所述目标兴趣点的所述至少两个历史定位记录中的所述至少两组历史坐标;
确定第二簇,其中所述第二簇包括在所述第二簇的中心的预定距离内的历史坐标,并且所述第二簇的所述中心是最接近所述第一簇的所述一组平均坐标的一组历史坐标;
指定所述第二簇作为新的第一簇;
确定所述第二簇是否满足迭代停止条件;以及
响应于确定所述第二簇满足所述迭代停止条件,确定最接近所述第二簇的一组平均坐标的一组历史坐标作为所述目标兴趣点的所述至少一组目标坐标中的一组目标坐标。
27.根据权利要求26所述的方法,其中在指定所述第二簇作为所述新的第一簇之前,所述方法还包括:
确定所述第二簇是否满足预设置信度条件;以及
响应于确定所述第二簇满足所述预设置信度条件,
指定所述第二簇为所述新的第一簇。
28.根据权利要求26所述的方法,其中在指定所述第二簇作为所述新的第一簇之前,所述方法还包括:
确定所述第二簇是否满足预设置信度条件;以及
响应于确定所述第二簇不满足所述预设置信度条件,
从所述目标兴趣点的所述至少两个历史定位记录中删除所述第二簇中的所述历史坐标。
29.根据权利要求27或28所述的方法,其中所述预设置信度条件包括以下至少一个:
所述第二簇中的历史定位记录数量大于第一阈值;
所述第二簇中第一设定时长内的历史定位记录数量大于第二阈值;或者
所述第二簇中第一设定时长内与所述历史定位记录相关的订单数量大于第三阈值。
30.根据权利要求27至29中任一项所述的方法,还包括:
基于业务模式确定所述业务模式的所述预设置信度条件。
31.根据权利要求26所述的方法,其中所述迭代停止条件包括以下至少一个:
所述第二簇中的历史定位记录数量与所述新的第二簇中的历史定位记录数量相同;
迭代聚类操作数量大于第四阈值;或者
所述第二簇的中心与所述新的第二簇的中心之间的距离小于距离阈值。
32.根据权利要求26所述的方法,还包括:
从所述目标兴趣点的所述至少两个历史定位记录中删除所述第二簇中的所述历史坐标。
33.根据权利要求28或32所述的方法,还包括:
更新所述第一簇来执行所述中心聚类过程的所述至少一次迭代中的迭代,直到所述第一簇不满足预设置信度条件;或者
获取新的目标兴趣点的至少两个历史定位记录,以执行所述中心聚类过程的至少一次迭代来确定所述新的目标兴趣点的至少一组目标坐标。
34.根据权利要求23所述的方法,还包括:
从用户的用户终端获取与所述目标兴趣点相关的关键词信息;
将所述目标兴趣点的至少一组目标坐标发送到所述用户终端;
从所述用户终端获取从至少一组目标坐标中选择的一组目标坐标;以及
确定所述选择的一组目标坐标作为所述用户的起始位置或目的地。
35.一种用于确定兴趣点(POI)的方法,在具有至少一个处理器和至少一个非暂时性存储介质的计算设备上实现,所述方法包括:
获取定位点的一组坐标;
获取包括至少两个兴趣点和所述至少两个兴趣点的基本信息的候选兴趣点集合,其中,所述至少两个兴趣点在所述定位点的预定距离内;
确定所述候选兴趣点集合中所述至少两个兴趣点中每个兴趣点的至少两个特征;以及
基于所述至少两个特征和机器学习模型,从所述候选兴趣点集合中确定与所述定位点相关的目标兴趣点。
36.根据权利要求35所述的方法,其中所述至少两个兴趣点的所述基本信息包括所述至少两个兴趣点中每个兴趣点的所述兴趣点的名称、所述兴趣点的类别或所述兴趣点的ID中的至少一个。
37.根据权利要求35或36所述的方法,其中所述至少两个兴趣点的所述至少两个特征包括以下至少一个:
从所述兴趣点到所述定位点的距离、所述兴趣点名称的显示、所述兴趣点地址的显示、用户到达所述兴趣点的频率、使用所述兴趣点作为至少两个打车服务的目的地的频率、与所述兴趣点相关的品牌、与所述兴趣点相关的商店、所述兴趣点是否具有父子节点、所述兴趣点是否包括面状数据或者在打车服务中所述兴趣点作为引导点与实际上车点之间的距离。
38.根据权利要求35至37中任一项所述的方法,其中所述机器学习模型包括分类模型。
39.根据权利要求35至38中任一项所述的方法,其中所述基于所述至少两个特征和机器学习模型,从所述候选兴趣点集合中确定与所述定位点相关的目标兴趣点包括:
对于所述候选兴趣点集合中的所述至少两个兴趣点中的每个兴趣点,基于所述兴趣点的所述至少两个特征和所述机器学习模型,确定代表所述兴趣点是所述目标兴趣点的概率;以及
确定在所述候选兴趣点集合的所述至少两个兴趣点中具有最大概率的兴趣点作为所述目标兴趣点。
40.根据权利要求39所述的方法,其中对于所述至少两个兴趣点中的每个兴趣点,所述确定所述概率包括:
获取至少两个训练样本,所述至少两个训练样本包括至少两组历史坐标和对应的所使用的兴趣点;
基于所述至少两个训练样本训练所述机器学习模型;以及
基于所述训练好的机器学习模型确定所述至少两个兴趣点中的每个兴趣点的所述概率。
41.根据权利要求40所述的方法,其中所述基于所述训练好的机器学习模型确定所述至少两个兴趣点中的每个兴趣点的所述概率包括:
对于所述至少两个兴趣点中的每个兴趣点,基于所述训练好的机器学习模型和所述兴趣点的所述至少两个特征确定所述概率,而不参考所述至少两个兴趣点中任何其他兴趣点的任何先前输出。
42.根据权利要求40所述的方法,其中所述基于所述至少两个训练样本训练所述机器学习模型包括:
修正所述至少两个训练样本以获取训练集合;以及
基于所述训练集合训练所述机器学习模型。
43.根据权利要求42所述的方法,其中所述修正所述至少两个训练样本以获取训练集合包括:
自动删除所述至少两个训练样本中的错误数据,其中所述错误数据包括用户选择的错误兴趣点或兴趣点的错误特征。
44.根据权利要求35至42中任一项所述的方法,还包括:
将信号发送到与用户相关的终端,以指示所述终端显示所述目标兴趣点。
45.一种用于确定兴趣点(POI)位置的系统,包括:
获取模块,被配置为获取目标兴趣点的至少两个历史定位记录,所述至少两个历史定位记录中的每个历史定位记录包括一组目标兴趣点的历史坐标;以及
处理模块,被配置为通过对所述至少两个历史定位记录中的所述至少两组历史坐标执行中心聚类过程的至少一次迭代,来确定所述目标兴趣点的至少一组目标坐标,其中
所述至少一组目标坐标中的每组目标坐标由所述中心聚类过程的所述至少一次迭代中的迭代确定。
46.一种用于确定兴趣点(POI)的系统,包括:
获取模块,被配置为获取定位点的一组坐标;
候选兴趣点确定模块,被配置为获取包括至少两个兴趣点和所述至少两个兴趣点的基本信息的候选兴趣点集合,其中,所述至少两个兴趣点在所述定位点的预定距离内;
特征确定模块,被配置为确定所述候选兴趣点集合中所述至少两个兴趣点中每个兴趣点的至少两个特征;以及
目标兴趣点确定模块,被配置为基于所述至少两个特征和机器学习模型,从所述候选兴趣点集合中确定与所述定位点相关的目标兴趣点。
47.一种非暂时性计算机可读介质,包括至少一组指令,其中当由至少一个处理器执行时,所述至少一组指令指示所述至少一个处理器实现方法,所述方法包括:
获取目标兴趣点(POI)的至少两个历史定位记录,所述至少两个历史定位记录中的每个历史定位记录包括一组目标兴趣点的历史坐标;以及
通过对所述至少两个历史定位记录中的所述至少两组历史坐标执行中心聚类过程的至少一次迭代,来确定所述目标兴趣点的至少一组目标坐标,其中
所述至少一组目标坐标中的每组目标坐标由所述中心聚类过程的所述至少一次迭代中的迭代确定。
48.一种非暂时性计算机可读介质,包括至少一组指令,其中当由至少一个处理器执行时,所述至少一组指令指示所述至少一个处理器实现方法,所述方法包括:
获取定位点的一组坐标;
获取包括至少两个兴趣点和所述至少两个兴趣点的基本信息的候选兴趣点(POI)集合,其中,所述至少两个兴趣点在所述定位点的预定距离内;
确定所述候选兴趣点集合中所述至少两个兴趣点中每个兴趣点的至少两个特征;以及
基于所述至少两个特征和机器学习模型,从所述候选兴趣点集合中确定与所述定位点相关的目标兴趣点。
CN201980000865.9A 2018-05-31 2019-05-29 用于线上到线下服务的系统和方法 Pending CN110785751A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN2018105512678 2018-05-31
CN201810551267.8A CN108763538B (zh) 2018-05-31 2018-05-31 一种确定兴趣点poi地理位置的方法及装置
CN2018106750739 2018-06-27
CN201810675073.9A CN110647602B (zh) 2018-06-27 2018-06-27 一种基于定位点经纬度确定对应兴趣点的方法和系统
PCT/CN2019/088969 WO2019228391A1 (en) 2018-05-31 2019-05-29 Systems and methods for online to offline services

Publications (1)

Publication Number Publication Date
CN110785751A true CN110785751A (zh) 2020-02-11

Family

ID=68698508

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980000865.9A Pending CN110785751A (zh) 2018-05-31 2019-05-29 用于线上到线下服务的系统和方法

Country Status (2)

Country Link
CN (1) CN110785751A (zh)
WO (1) WO2019228391A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112131332A (zh) * 2020-09-25 2020-12-25 腾讯科技(深圳)有限公司 信息点的更新方法、装置、电子设备和计算机存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111898624B (zh) * 2020-01-21 2024-04-02 北京畅行信息技术有限公司 定位信息的处理方法、装置、设备及存储介质
CN111931077B (zh) * 2020-06-30 2023-12-12 汉海信息技术(上海)有限公司 数据处理方法、装置、电子设备及存储介质
CN111966774A (zh) * 2020-08-18 2020-11-20 湖南省长株潭烟草物流有限责任公司 烟包零售户的动态定位方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104793224A (zh) * 2014-01-21 2015-07-22 中国移动通信集团设计院有限公司 一种gps定位纠偏方法及装置
CN106303955A (zh) * 2016-08-05 2017-01-04 百度在线网络技术(北京)有限公司 用于对无线热点和poi进行匹配的方法和装置
CN106844376A (zh) * 2015-12-03 2017-06-13 高德软件有限公司 推荐兴趣点的方法及装置
CN107679189A (zh) * 2017-09-30 2018-02-09 百度在线网络技术(北京)有限公司 一种兴趣点更新方法、装置、服务器和介质
WO2018080422A1 (en) * 2016-10-24 2018-05-03 Google Llc Point of interest selection based on a user request

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107291888B (zh) * 2017-06-21 2020-12-01 苏州发飚智能科技有限公司 基于机器学习统计模型的入住酒店附近生活推荐系统方法
CN108763538B (zh) * 2018-05-31 2019-07-23 北京嘀嘀无限科技发展有限公司 一种确定兴趣点poi地理位置的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104793224A (zh) * 2014-01-21 2015-07-22 中国移动通信集团设计院有限公司 一种gps定位纠偏方法及装置
CN106844376A (zh) * 2015-12-03 2017-06-13 高德软件有限公司 推荐兴趣点的方法及装置
CN106303955A (zh) * 2016-08-05 2017-01-04 百度在线网络技术(北京)有限公司 用于对无线热点和poi进行匹配的方法和装置
WO2018080422A1 (en) * 2016-10-24 2018-05-03 Google Llc Point of interest selection based on a user request
CN107679189A (zh) * 2017-09-30 2018-02-09 百度在线网络技术(北京)有限公司 一种兴趣点更新方法、装置、服务器和介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112131332A (zh) * 2020-09-25 2020-12-25 腾讯科技(深圳)有限公司 信息点的更新方法、装置、电子设备和计算机存储介质
CN112131332B (zh) * 2020-09-25 2022-10-04 腾讯科技(深圳)有限公司 信息点的更新方法、装置、电子设备和计算机存储介质

Also Published As

Publication number Publication date
WO2019228391A1 (en) 2019-12-05

Similar Documents

Publication Publication Date Title
CN112868036B (zh) 位置推荐的系统和方法
US10904724B2 (en) Methods and systems for naming a pick up location
US20200134648A1 (en) Methods and systems for preventing user churn
TWI673659B (zh) 用於確定預估到達時間的電子系統和方法及相關的非暫時性電腦可讀取媒體
US11011057B2 (en) Systems and methods for generating personalized destination recommendations
US11085792B2 (en) Systems and methods for determining estimated time of arrival
EP3350729B1 (en) Systems and methods for recommending personalized content
CN110785751A (zh) 用于线上到线下服务的系统和方法
CN110686686B (zh) 用于地图匹配的系统和方法
WO2019042194A1 (en) INFORMATION PROCESSING METHOD, INFORMATION PROCESSING SYSTEM, AND INFORMATION PROCESSING DEVICE
US11573084B2 (en) Method and system for heading determination
WO2019015600A1 (en) SYSTEMS AND METHODS FOR RECOMMENDING A DESTINATION
EP3566149B1 (en) Systems and methods for updating poi information
US20210048311A1 (en) Systems and methods for on-demand services
WO2017107932A1 (en) Systems and methods for updating sequence of services
CN111861622A (zh) 一种确定上车点推荐模型的方法和系统
CN111859174A (zh) 一种确定推荐上车点的方法和系统
CN110689719B (zh) 用于识别封闭路段的系统和方法
WO2021087663A1 (en) Systems and methods for determining name for boarding point
US20210049224A1 (en) Systems and methods for on-demand services
US20200097983A1 (en) System and method for providing information for an on-demand service
US20210064669A1 (en) Systems and methods for determining correlative points of interest associated with an address query
WO2021022487A1 (en) Systems and methods for determining an estimated time of arrival
WO2022087767A1 (en) Systems and methods for recommending pick-up locations
CN113924460B (zh) 确定服务请求的推荐信息的系统和方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20200211