一种位置推荐方法、装置及电子设备
文献发布时间:2023-06-19 11:29:13
技术领域
本发明涉及计算机技术领域,更具体地,涉及一种位置推荐方法、装置及电子设备。
背景技术
在物流或网约车等需要到达目标地址的领域中,往往需要根据用户提供的目标地址来确定一个目标推荐位置以供任务执行方到达。例如,在网约车领域,服务器需要乘客提供的目标地址来确定一个乘客上下车的目标推荐位置,但服务器推荐的目标推荐位置有时候并不符合乘客的需求,例如乘客需要花费很多代价(例如距离远等)才能到达该目标推荐点,这导致乘客体验感较差。
发明内容
有鉴于此,本发明实施例提供一种位置推荐方法、装置及电子设备,以提高目标推荐点的准确率,降低用户从推送的目标推荐点到达目标地址或者从目标地址到达目标推荐点所花费的代价,进而提高用户体验感。
第一方面,本发明实施例提供一种位置推荐方法,所述方法包括:
获取目标任务信息;
根据所述目标任务信息确定至少一个候选位置集合,所述候选位置集合中的候选位置为点位和/或网格,所述网格为具有预定大小的地理区域;
对至少一个所述候选位置集合中的候选位置进行聚类,确定各所述候选位置集合分别对应的聚类中心集合;
根据各所述聚类中心集合确定至少一个目标推荐位置;
将至少一个所述目标推荐位置推送至目标用户终端。
第二方面,本发明实施例提供一种位置推荐装置,所述装置包括:
信息获取单元,被配置为获取目标任务信息;
候选位置集合确定单元,被配置为根据所述目标任务信息确定至少一个候选位置集合,所述候选位置集合中的候选位置为点位和/或网格,所述网格为具有预定大小的地理区域;
聚类中心确定单元,被配置为对至少一个所述候选位置集合中的候选位置进行聚类,确定各所述候选位置集合分别对应的聚类中心集合;
目标推荐位置确定单元,被配置为根据各所述聚类中心集合确定至少一个目标推荐位置;
推送单元,被配置为将至少一个所述目标推荐位置推送至目标用户终端。
第三方面,本发明实施例提供一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如本发明实施例第一方面所述的方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如本发明实施例第一方面所述的方法。
第五方面,本发明实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如本发明实施例第一方面所述的方法。
本发明实施例通过获取目标任务信息,并根据目标任务信息确定至少一个候选位置集合,对至少一个候选位置集合中的候选位置进行聚类,确定各候选位置集合分别对应的聚类中心集合,根据各聚类中心集合确定至少一个目标推荐位置,将至少一个目标推荐位置推送至目标用户终端,由此,可以提高位置推荐的准确性,降低用户从推送的目标推荐点到达目标地址或者从目标地址到达目标推荐点所花费的代价,进而提高用户体验感。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是本发明实施例的一种位置推荐方法的流程图;
图2是本发明实施例的候选位置确定方法的示意图;
图3是本发明实施例的一种终端界面的示意图;
图4是本发明实施例的另一种位置推荐方法的流程图;
图5是本发明实施例的又一种位置推荐方法的流程图;
图6是本发明实施例的又一种位置推荐方法的流程图;
图7是本发明实施例的位置推荐装置的示意图;
图8是本发明实施例的电子设备的示意图。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。
此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。
除非上下文明确要求,否则在说明书的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在以下实施例中,主要以网约车为例进行详细描述,应理解,本发明实施例并不限制于应用在网约车应用场景中,其他需要基于目标位置确定目标推荐点的应用场景,例如物流领域等,均可采用本实施例的位置推荐方法。
图1是本发明实施例的一种位置推荐方法的流程图。如图1所示,本发明实施例的位置推荐方法包括以下步骤:
步骤S110,获取目标任务信息。可选的,目标任务信息包括目标地址和/或目标用户信息。可选的,以网约车为例,目标地址可以为任务起点POI(Point of Interest,兴趣点)、或任务终点POI,例如学校、小区、办公楼、公园等。
步骤S120,根据目标任务信息确定至少一个候选位置集合。其中,候选位置集合中的候选位置为点位和/或网格。网格为预定大小的地理区域。可选的,在本实施例中,至少一个候选位置集合包括通过目标地址对应的所有历史任务确定的第一候选位置集合、和/或通过目标用户在该目标地址对应的所有历史任务确定的第二候选位置集合。以网约车应用场景为例,目标地址对应的历史任务也即以目标地址为任务起点或者任务终点的历史任务,目标用户在该目标地址对应的历史任务也即在目标用户的所有历史任务中,以目标地址为任务起点或者任务终点的历史任务。
在一种可选的实现方式中,目标任务信息包括目标地址。步骤S120具体可以包括:获取目标地址对应的历史任务的历史推荐点和/或历史任务执行点,以确定第一候选位置集合。以网约车应用场景为例,推荐点为在对应历史任务中推荐的上下车点,历史任务执行点为对应历史任务的实际上下车点。
在一种可选的实现方式中,以确定网约车的上车推荐点为例,获取起始地址为目标地址的历史任务的历史推荐点和/或历史任务执行点,将获取的所有历史推荐点和/或历史任务执行点确定为候选位置,或者将热度超过预定热度阈值的历史推荐点和/或历史任务执行点确定为候选位置,以确定第一候选位置集合。
在另一种可选的实现方式中,以确定网约车的上车推荐点为例,获取起始地址为目标地址的历史任务的历史推荐点和/或历史任务执行点,将各历史推荐点和/或历史任务执行点映射到网格中,将具有历史推荐点和/或历史任务执行点的网格确定为候选位置,以确定所述第一候选位置集合。在实际应用场景中,目标地址对应的历史任务过多,也即历史推荐点和/或历史任务执行点过多或者有些历史推荐点和/或历史任务执行点之间的距离特别近,若将所有历史推荐点和/或历史任务执行点均作为候选位置,位置推荐的计算量较大,效率较低。由此,本实施例通过采用即将各历史推荐点和/或历史任务执行点映射到网格,将网格作为候选位置的方式,降低了位置推荐计算量,提高了位置推荐效率。
图2是本发明实施例的候选位置确定方法的示意图。如图2所示,获取以地址P为目标位置的历史任务信息中的历史推荐点和/或历史任务执行点,将各历史推荐点和/或历史任务执行点映射到预定大小的网格中,将具有历史推荐点和/或历史任务执行点的网格确定为候选位置,如网格21-网格29。可选的,网格的表示可以根据地理编码算法,例如GeoHash编码确定。
在另一种可选的实现方式中,目标任务信息包括目标用户信息和目标地址。步骤S120具体可以包括:获取目标用户在目标地址处的历史任务的历史推荐点和/或历史任务执行点,以确定第二候选位置集合。以确定网约车应用场景中的推荐上车点为例,获取该目标用户的历史任务中,以该目标位置为任务起点的历史任务的历史推荐点和/或历史任务执行点,将获取的所有历史推荐点和/或历史任务执行点确定为候选位置,或者将热度超过预定热度阈值的历史推荐点和/或历史任务执行点确定为候选位置,以确定第二候选位置集合。
通常单个用户对应的历史任务较少,因此无需将各历史推荐点和/或历史任务执行点映射至网格以将满足条件的网格确定为候选位置,但若目标用户的历史任务较多,也可以采用将各历史推荐点和/或历史任务执行点映射至网格以将满足条件的网格确定为候选位置的方式来确定第二候选位置集合,本实施例并不对此进行限制。
步骤S130,对至少一个候选位置集合中的候选位置进行聚类,确定各候选位置集合分别对应的聚类中心集合。在本实施例中,对各候选位置集合中的候选位置进行分别聚类,获取各候选位置集合分别对应的聚类中心集合。例如,对上述第一候选位置集合中的各候选位置进行聚类,获取至少一个聚类中心,以确定第一候选位置集合对应的第一聚类中心集合,对上述第二候选位置集合中的各候选位置进行聚类,以确定第二候选位置集合对应的第二聚类中心集合。
在一种可选的实现方式中,步骤S130具体可以包括:根据候选位置的热度信息分别对各候选位置集合中的候选位置进行密度聚类,以确定各聚类中心集合。其中,热度信息用于表征对应候选位置被推荐的次数。可选的,可以根据预定时间段(例如一周、一个月等)内的各候选位置被推荐的次数确定各候选位置的热度信息,也可以根据各时间段内的各候选位置被推荐次数的加权值确定各候选位置的热度信息,例如一候选位置在前30天内被推荐的次数为x1、前30-60内被推荐的次数为x2、前60-90天内被推荐的次数为x3,则该候选位置的热度信息X=r1*x1+r2*x2+r3*x3。可选的,权值r1、r2、r3的大小依次递减。应理解,本实施例并不对候选位置的热度信息的具体确定方法进行限制,其他确定热度信息的方式均可应用于本实施例中。
可选的,在本实施例中,若候选位置为点位,可以根据该点位被推荐的次数或者根据该点位周围预定范围中被推荐的总次数等确定该候选位置的热度信息。若候选位置为网格,该网格的热度信息可以根据该网格内的所有历史推荐点和/或历史任务执行点的热度确定,各历史推荐点、历史任务执行点的热度确定方式如上所述,在此不再赘述。可选的,该网格的热度信息为该网格中的所有历史推荐点和/或历史任务执行点的热度和、或者热度平均值、极大值、加权平均值等,本实施例并不对此进行限制。
在本实施例中,基于密度聚类,采用各候选位置的热度信息对候选位置集合中的候选位置进行聚类,确定对应的一个或多个聚类中心,以获取对应的聚类中心集合。其中,聚类中心一般为一定范围内的热度最高的候选位置。在某些情况下,聚类中心可能距目标地址的距离过远,或者到达目标地址需要经过跨路等,造成运动代价参数较高,因此,需要对聚类中心进行调整。在一种可选的实现方式中,响应于检测到聚类中心集合中的聚类中心与目标地址的运动代价参数大于代价阈值,调整该聚类中心,直至聚类中心与目标地址的运动代价参数小于或等于代价阈值。其中,聚类中心与目标地址的运动代价参数用于表征从聚类中心到达该目标地址所要花费的代价(或从目标地址到达聚类中心所要花费的代价),可以采用聚类中心与目标地址之间的距离、跨路状态等表征该运动代价参数,或者采用在对应历史任务中用户到达该聚类中心的运动时间、运动距离、和/或是否跨路来表征该运动代价参数,本实施例并不对此进行限制。由此,可以进一步减小推送的目标推荐位置到达目标地址的代价过大的风险,进而提高了用户体验感。
步骤S140,根据各聚类中心集合确定至少一个目标推荐位置。
在一种可选的实现方式中,采用上述第一候选位置集合对应的第一聚类中心集合确定至少一个目标推荐位置。在一种可选的实现方式中,根据第一聚类中心集合中的各聚类中心的热度信息确定至少一个目标推荐位置。可选的,将第一聚类中心集合中的各聚类中心的信息(例如聚类中心的坐标,目标地址的坐标等信息)输入至预先训练的模型中,以对各聚类中心进行排序,基于排序结果确定至少一个目标推荐位置。例如,采用GBDT模型或其他网络模型对各聚类中心的信息进行处理,以获取各聚类中心的得分,对各聚类中心基于对应的得分从大到小进行排序,将获得的排序序列中的前预定个聚类中心确定为目标推荐位置。应理解,在其他可选的实现方式中,还可以将第一聚类中心中热度最高的N(N大于等于1)个聚类中心确定为目标推荐位置,或者根据各聚类中心与目标地址的距离,或者在对应历史任务中用户到达该聚类中心的运动时间、运动距离等来确定目标推荐位置,本实施例并不对此进行限制。
在另一种可选的实现方式中,若目标用户在该目标地址处对应的历史任务较多,可以采用上述第二候选位置集合对应的第二聚类中心集合确定至少一个目标推荐位置。在一种可选的实现方式中,可以将第二聚类中心集合中的各聚类中心的信息输入至预先训练的模型(例如GNDT模型等)中,以对各聚类中心进行排序,基于排序结果确定至少一个目标推荐位置,或者根据第二聚类中心集合中的各聚类中心的热度信息确定至少一个目标推荐位置,本实施例并不对此进行限制。可选的,可以将第二聚类中心中热度最高的N(N大于等于1)个聚类中心确定为目标推荐位置。应理解,在其他可选的实现方式中,还可以根据各聚类中心与目标地址的距离,或者在对应历史任务中用户到达该聚类中心的运动时间、运动距离等来确定目标推荐位置,本实施例并不对此进行限制。由此,本实施例可以根据目标用户的历史任务进行个性化推荐,进一步提高了目标推荐位置的准确性和用户体验感。
在又一种可选的实现方式中,采用上述第一候选位置集合对应的第一聚类中心集合和第二候选位置集合对应的第二聚类中心集合确定至少一个目标推荐位置。可选的,响应于第二聚类中心集合不为空,至少根据第二聚类中心集合中的第二聚类中心确定目标推荐位置,以对目标用户进行个性化推荐,进一步提高用户体验感。或者根据第二聚类中心集合和第一聚类中心集合的交集确定目标推荐位置,或者根据第二中心集合确定至少一个候选推荐位置,根据第一中心集合确定至少一个候选推荐位置,根据各候选推荐位置与目标地址的距离,或者在对应历史任务中用户到达该候选推荐位置的运动时间、运动距离等从各候选推荐位置中确定目标推荐位置,由此,可以基于用户个性化信息及通用信息(也即大多数用户对应的推荐信息)来确定目标推荐位置,可以避免用户的历史任务较少时,目标推荐位置偏差较大的情况,这进一步减小了推送的目标推荐位置到达目标地址的代价过大的风险,进而可以提高用户推荐的准确性和用户体验感。
可选的,响应于第二候选位置集合对应的第二聚类中心集合为空,根据第一聚类中心集合中的第一聚类中心确定目标推荐位置。根据第一聚类中心集合确定目标推荐位置的具体方法与上述实施方式类似,在此并不再赘述。
步骤S150,将至少一个目标推荐位置推送至目标用户终端和/或任务执行终端。以网约车场景为例,假设目标推荐位置为下车推荐位置,则可以将至少一个下车推荐位置推送到乘客终端和/或司机终端,以在乘客终端和/或司机终端的导航界面进行显示,进而使得乘客和/或司机确定下车点。
图3是本发明实施例的一种终端界面的示意图。如图3所示,终端界面3可以为目标用户终端的界面也可以为任务执行端界面,若经过上述步骤S110-S150确定的目标推荐位置为位置31,则将位置31的经纬度坐标或者GeoHash编码发送至对应的终端,以在终端的导航界面上展示位置31,从而使得目标用户和/或任务执行方确定任务起始点或任务结束点。
本发明实施例通过获取目标任务信息,并根据目标任务信息确定至少一个候选位置集合,对至少一个候选位置集合中的候选位置进行聚类,确定各候选位置集合分别对应的聚类中心集合,根据各聚类中心集合确定至少一个目标推荐位置,将至少一个目标推荐位置推送至目标用户终端,由此,可以提高位置推荐的准确性,进而提高用户体验感。
图4是本发明实施例的另一种位置推荐方法的流程图。本发明实施例采用目标地址对应的历史任务信息来确定目标推荐位置。如图4所示,本发明实施例的位置推荐方法包括以下步骤:
步骤S210,获取目标任务信息。可选的,目标任务信息包括目标地址。可选的,以网约车为例,目标地址可以为任务起点POI(Point of Interest,兴趣点)、或任务终点POI,例如学校、小区、办公楼、公园等。
步骤S220,根据目标地址对应的历史任务信息确定第一候选位置集合。其中,第一候选位置集合中的候选位置为点位和/或网格。
在一种可选的实现方式中,步骤S220具体可以包括:获取目标地址对应的历史任务的历史推荐点和/或历史任务执行点,以确定第一候选位置集合。以网约车应用场景为例,例如推荐点为在对应历史任务中推荐的上下车点,历史任务执行点为对应历史任务的实际上下车点。
在一种可选的实现方式中,以确定网约车的上车推荐点为例,获取起始地址为目标地址的历史任务的历史推荐点和/或历史任务执行点,将获取的所有历史推荐点和/或历史任务执行点确定为候选位置,或者将热度超过预定热度阈值的历史推荐点和/或历史任务执行点确定为候选位置,以确定第一候选位置集合。
在另一种可选的实现方式中,以确定网约车的上车推荐点为例,获取起始地址为目标地址的历史任务的历史推荐点和/或历史任务执行点,将各历史推荐点和/或历史任务执行点映射到网格中,将具有历史推荐点和/或历史任务执行点的网格确定为候选位置,以确定所述第一候选位置集合。由此,可以降低位置推荐计算量,提高位置推荐效率。
步骤S230,对第一候选位置集合中的候选位置进行聚类,确定第一候选位置集合对应的第一聚类中心集合。
在一种可选的实现方式中,步骤S230具体可以包括:根据候选位置的热度信息对第一候选位置集合中的候选位置进行密度聚类,以确定第一聚类中心集合。可选的,在本实施例中,基于密度聚类,将一定范围内的热度最高的候选位置确定为聚类中心,对第一候选位置集合中的候选位置进行聚类,以获取第一候选位置集合对应的第一聚类中心集合。在一种可选的实现方式中,响应于检测到第一聚类中心集合中的聚类中心与目标地址的运动代价参数大于代价阈值,调整该聚类中心,直至聚类中心与目标地址的运动代价参数小于或等于代价阈值。
步骤S240,根据第一聚类中心集合确定至少一个目标推荐位置。在一种可选的实现方式中,根据第一聚类中心集合中的各聚类中心的热度信息确定至少一个目标推荐位置。可选的,将第一聚类中心中热度最高的N(N大于等于1)个聚类中心确定为目标推荐位置。应理解,在其他可选的实现方式中,还可以根据各聚类中心与目标地址的距离,或者在对应历史任务中用户到达该聚类中心的运动时间、运动距离等来确定目标推荐位置,本实施例并不对此进行限制。
步骤S250,将至少一个目标推荐位置推送至目标用户终端和/或任务执行终端。以网约车场景为例,假设目标推荐位置为下车推荐位置,则可以将至少一个下车推荐位置推送到乘客终端和/或司机终端,以在乘客终端和/或司机终端的导航界面进行显示,进而使得乘客和/或司机确定下车点。
步骤S210-步骤S250的具体实施方式步骤S110-步骤S150类似,在此并未一一具体说明,应理解,步骤S110-步骤S150中的基于第一候选位置集合的相关实施方式均可应用于本实施例中。
本实施例通过获取包括目标地址的目标任务信息,根据目标地址对应的历史任务信息确定第一候选位置集合,对第一候选位置集合中的候选位置进行聚类,确定第一候选位置集合对应的第一聚类中心集合,根据第一聚类中心集合确定至少一个目标推荐位置,将至少一个目标推荐位置推送至目标用户终端和/或任务执行终端,由此,可以提高位置推荐的准确性,降低用户从推送的目标推荐点到达目标地址或者从目标地址到达目标推荐点所花费的代价,进而提高用户体验感。
图5是本发明实施例的又一种位置推荐方法的流程图。在目标用户在目标位置处的历史任务达到预定数量时,可以采用本发明实施例。本发明实施例的位置推荐方法包括以下步骤:
步骤S310,获取目标任务信息。可选的,目标任务信息包括目标地址和目标用户信息。可选的,以网约车为例,目标地址可以为任务起点POI(Point of Interest,兴趣点)、或任务终点POI,例如学校、小区、办公楼、公园等。
步骤S320,根据目标用户在目标地址处对应的历史任务信息确定第二候选位置集合。其中,候选位置集合中的候选位置为点位和/或网格。
在一种可选的实现方式中,步骤S320具体可以包括:获取目标用户在目标地址处的历史任务的历史推荐点和/或历史任务执行点,以确定第二候选位置集合。以确定网约车应用场景中的推荐上车点为例,获取该目标用户的历史任务中,以该目标位置为任务起点的历史任务的历史推荐点和/或历史任务执行点,将获取的所有历史推荐点和/或历史任务执行点确定为候选位置,或者将热度超过预定热度阈值的历史推荐点和/或历史任务执行点确定为候选位置,以确定第二候选位置集合。
通常单个用户对应的历史任务较少,因此无需将各历史推荐点和/或历史任务执行点映射至网格以将满足条件的网格确定为候选位置,但若目标用户的历史任务较多,也可以采用将各历史推荐点和/或历史任务执行点映射至网格以将满足条件的网格确定为候选位置的方式来确定第二候选位置集合,本实施例并不对此进行限制。
步骤S330,对第二候选位置集合中的候选位置进行聚类,确定第二候选位置集合分别对应的第二聚类中心集合。
在一种可选的实现方式中,步骤S330具体可以包括:根据候选位置的热度信息分别对第二候选位置集合中的候选位置进行密度聚类,以确定第二聚类中心集合。可选的,在本实施例中,基于密度聚类,将一定范围内的热度最高的候选位置确定为聚类中心,对第二候选位置集合中的候选位置进行聚类,以获取第二候选位置集合对应的第二聚类中心集合。在一种可选的实现方式中,响应于检测到第二聚类中心集合中的聚类中心与目标地址的运动代价参数大于代价阈值,调整该聚类中心,直至聚类中心与目标地址的运动代价参数小于或等于代价阈值。其中,可以采用聚类中心与目标地址之间的距离表征该运动代价参数,或者采用在对应历史任务中用户到达该聚类中心的运动时间、运动距离、和/或是否跨路来表征该运动代价参数,本实施例并不对此进行限制。
步骤S340,根据第二聚类中心集合确定至少一个目标推荐位置。
在一种可选的实现方式中,采用第二候选位置集合对应的第二聚类中心集合确定至少一个目标推荐位置。在一种可选的实现方式中,根据第二聚类中心集合中的各聚类中心的热度信息确定至少一个目标推荐位置。应理解,在其他可选的实现方式中,还可以根据各聚类中心与目标地址的距离,或者在对应历史任务中用户到达该聚类中心的运动时间、运动距离等来确定目标推荐位置,本实施例并不对此进行限制。
步骤S350,将至少一个目标推荐位置推送至目标用户终端和/或任务执行终端。以网约车场景为例,假设目标推荐位置为下车推荐位置,则可以将至少一个下车推荐位置推送到乘客终端和/或司机终端,以在乘客终端和/或司机终端的导航界面进行显示,进而使得乘客和/或司机确定下车点。
步骤S310-步骤S350的具体实施方式步骤S110-步骤S150类似,在此并未一一具体说明,应理解,步骤S110-步骤S150中的基于第一候选位置集合的相关实施方式均可应用于本实施例中。
本实施例通过获取包括目标地址和目标用户信息的目标任务信息,根据目标用户在目标地址处对应的历史任务信息确定第二候选位置集合,对第二候选位置集合中的候选位置进行聚类,确定第二候选位置集合对应的第二聚类中心集合,根据第二聚类中心集合确定至少一个目标推荐位置,将至少一个目标推荐位置推送至目标用户终端和/或任务执行终端,由此,可以对目标用户进行个性化推荐,进一步提高了用户体验感。
图6是本发明实施例的又一种位置推荐方法的流程图。本发明实施例的位置推荐方法包括以下步骤:
步骤S410,获取目标任务信息。可选的,目标任务信息包括目标地址和目标用户信息。可选的,以网约车为例,目标地址可以为任务起点POI(Point of Interest,兴趣点)、或任务终点POI,例如学校、小区、办公楼、公园等。
步骤S420,根据目标地址对应的历史任务信息确定第一候选位置集合。其中,第一候选位置集合中的候选位置为点位和/或网格。
在一种可选的实现方式中,本实施例通过获取目标地址对应的历史任务的历史推荐点和/或历史任务执行点,以确定第一候选位置集合。以网约车应用场景为例,例如推荐点为在对应历史任务中推荐的上下车点,历史任务执行点为对应历史任务的实际上下车点。可选的,以确定网约车的上车推荐点为例,获取起始地址为目标地址的历史任务的历史推荐点和/或历史任务执行点,将获取的所有历史推荐点和/或历史任务执行点确定为候选位置,或者将热度超过预定热度阈值的历史推荐点和/或历史任务执行点确定为候选位置,以确定第一候选位置集合。
在另一种可选的实现方式中,以确定网约车的上车推荐点为例,获取起始地址为目标地址的历史任务的历史推荐点和/或历史任务执行点,将各历史推荐点和/或历史任务执行点映射到网格中,将具有历史推荐点和/或历史任务执行点的网格确定为候选位置,以确定所述第一候选位置集合。由此,可以降低位置推荐计算量,提高位置推荐效率。
步骤S430,对第一候选位置集合中的候选位置进行聚类,确定第一候选位置集合对应的第一聚类中心集合。可选的,根据候选位置的热度信息对第一候选位置集合中的候选位置进行密度聚类,以确定第一聚类中心集合。可选的,在本实施例中,基于密度聚类,将一定范围内的热度最高的候选位置确定为聚类中心,对第一候选位置集合中的候选位置进行聚类,以获取第一候选位置集合对应的第一聚类中心集合。在一种可选的实现方式中,响应于检测到第一聚类中心集合中的聚类中心与目标地址的运动代价参数大于代价阈值,调整该聚类中心,直至聚类中心与目标地址的运动代价参数小于或等于代价阈值。
步骤S440,根据目标用户在目标地址处对应的历史任务信息确定第二候选位置集合。其中,候选位置集合中的候选位置为点位和/或网格。
在一种可选的实现方式中,本实施例通过获取目标用户在目标地址处的历史任务的历史推荐点和/或历史任务执行点,以确定第二候选位置集合。以确定网约车应用场景中的推荐上车点为例,获取该目标用户的历史任务中,以该目标位置为任务起点的历史任务的历史推荐点和/或历史任务执行点,将获取的所有历史推荐点和/或历史任务执行点确定为候选位置,或者将热度超过预定热度阈值的历史推荐点和/或历史任务执行点确定为候选位置,以确定第二候选位置集合。
步骤S450,对第二候选位置集合中的候选位置进行聚类,确定第二候选位置集合分别对应的第二聚类中心集合。可选的,本实施例根据候选位置的热度信息分别对第二候选位置集合中的候选位置进行密度聚类,以确定第二聚类中心集合。可选的,在本实施例中,基于密度聚类,将一定范围内的热度最高的候选位置确定为聚类中心,对第二候选位置集合中的候选位置进行聚类,以获取第二候选位置集合对应的第二聚类中心集合。在一种可选的实现方式中,响应于检测到第二聚类中心集合中的聚类中心与目标地址的运动代价参数大于代价阈值,调整该聚类中心,直至聚类中心与目标地址的运动代价参数小于或等于代价阈值。其中,可以采用聚类中心与目标地址之间的距离表征该运动代价参数,或者采用在对应历史任务中用户到达该聚类中心的运动时间、运动距离、和/或是否跨路来表征该运动代价参数,本实施例并不对此进行限制。
应理解,本发明实施例并不限制步骤S420-S430与步骤S440-S450的执行顺序,步骤S420-S430可以在步骤S440-S450之前执行,也可以在步骤S440-S450之后执行,还可以与步骤S440-S450同时执行。
步骤S460,判断第二聚类中心集合是否为空,在第二聚类中心集合为空时执行步骤S470,在第二聚类中心集合不为空时执行步骤S480。
步骤S470,响应于第二候选位置集合对应的第二聚类中心集合为空,根据第一聚类中心集合中的第一聚类中心确定目标推荐位置。根据第一聚类中心集合确定目标推荐位置的具体方法与上述实施方式类似,在此并不再赘述。
步骤S480,响应于第二聚类中心集合不为空,至少根据第二聚类中心集合中的第二聚类中心确定目标推荐位置。
在一种可选的实现方式中,根据第二聚类中心集合中的第二聚类中心确定目标推荐位置,以对目标用户进行个性化推荐,进一步提高用户体验感。
在另一种可选的实现方式中,根据第二聚类中心集合和第一聚类中心集合确定目标推荐位置。可选的,根据第二聚类中心集合和第一聚类中心集合的交集确定目标推荐位置。可选的,根据第二中心集合确定至少一个候选推荐位置,根据第一中心集合确定至少一个候选推荐位置,根据各候选推荐位置与目标地址的距离,或在对应历史任务中用户到达该候选推荐位置的运动时间、运动距离等从各候选推荐位置中确定目标推荐位置,由此,可以基于用户个性化信息及通用信息来确定目标推荐位置,可以避免用户的历史任务较少时,目标推荐位置偏差较大的情况,进一步提高用户推荐的准确性和用户体验感。
本发明实施例通过获取目标任务信息,并根据目标任务信息确定至少一个候选位置集合,对至少一个候选位置集合中的候选位置进行聚类,确定各候选位置集合分别对应的聚类中心集合,根据各聚类中心集合确定至少一个目标推荐位置,将至少一个目标推荐位置推送至目标用户终端,由此,可以提高位置推荐的准确性,降低用户从推送的目标推荐点到达目标地址或者从目标地址到达目标推荐点所花费的代价,进而提高用户体验感。
图7是本发明实施例的位置推荐装置的示意图。如图7所示,本发明实施例的位置推荐装置7包括信息获取单元71、候选位置集合确定单元72、聚类中心确定单元73、目标推荐位置确定单元74和推送单元75。
信息获取单元71被配置为获取目标任务信息。候选位置集合确定单元72被配置为根据所述目标任务信息确定至少一个候选位置集合,所述候选位置集合中的候选位置为点位和/或网格,所述网格为具有预定大小的地理区域。聚类中心确定单元73被配置为对至少一个所述候选位置集合中的候选位置进行聚类,确定各所述候选位置集合分别对应的聚类中心集合。目标推荐位置确定单元74被配置为根据各所述聚类中心集合确定至少一个目标推荐位置。推送单元75被配置为将至少一个所述目标推荐位置推送至目标用户终端。
在一种可选的实现方式中,所述目标任务信息包括目标用户信息和目标地址。所述候选位置集合确定单元包括第一集合确定子单元和/或第二集合确定子单元。第一集合确定子单元被配置为获取所述目标地址对应的历史任务的历史推荐点和/或历史任务执行点,以确定第一候选位置集合。第二集合确定子单元被配置为获取所述目标用户在所述目标地址处的历史任务的历史推荐点和/或历史任务执行点,以确定第二候选位置集合。
在一种可选的实现方式中,所述目标推荐位置确定单元包括第一位置确定子单元。第一位置确定子单元被配置为响应于所述第二候选位置集合对应的第二聚类中心集合不为空,根据所述第二聚类中心集合中的第二聚类中心确定至少一个目标推荐位置。
在一种可选的实现方式中,所述目标推荐位置确定单元包括第二位置确定子单元。第二位置确定子单元,被配置为响应于所述第二候选位置集合对应的第二聚类中心集合为空,根据所述第一聚类中心集合中的第一聚类中心确定至少一个目标推荐位置。
在一种可选的实现方式中,所述第一集合确定子单元包括点位确定模块和第一集合确定模块。点位确定模块被配置为获取所述目标地址对应的历史任务的历史推荐点和/或历史任务执行点。第一集合确定模块被配置为将各所述历史推荐点和/或历史任务执行点映射到网格中,将具有历史推荐点和/或历史任务执行点的网格确定为候选位置,以确定所述第一候选位置集合。
在一种可选的实现方式中,所述聚类中心确定单元包括聚类中心集合确定子单元。聚类中心集合确定子单元被配置为根据候选位置的热度信息分别对各候选位置集合中的候选位置进行密度聚类,以确定各所述聚类中心集合,所述热度信息用于表征对应候选位置被推荐的次数。
在一种可选的实现方式中,所述聚类中心确定单元还包括聚类中心集合更新子单元。聚类中心集合更新子单元被配置为响应于检测到各所述聚类中心集合中的聚类中心与目标地址的运动代价参数大于代价阈值,调整该聚类中心,以获取更新后的各聚类中心集合。
在一种可选的实现方式中,所述目标推荐位置确定单元包括目标推荐位置确定子单元。目标推荐位置确定子单元,被配置为根据各所述聚类中心集合中的各聚类中心的热度信息确定至少一个目标推荐位置。
本发明实施例通过获取目标任务信息,并根据目标任务信息确定至少一个候选位置集合,对至少一个候选位置集合中的候选位置进行聚类,确定各候选位置集合分别对应的聚类中心集合,根据各聚类中心集合确定至少一个目标推荐位置,将至少一个目标推荐位置推送至目标用户终端,由此,可以提高位置推荐的准确性,降低用户从推送的目标推荐点到达目标地址或者从目标地址到达目标推荐点所花费的代价,进而提高用户体验感。
图8是本发明实施例的电子设备的示意图。如图8所示,电子设备8为通用数据处理装置,其包括通用的计算机硬件结构,其至少包括处理器81和存储器82。处理器81和存储器82通过总线83连接。存储器82适于存储处理器81可执行的指令或程序。处理器81可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器81通过执行存储器82所存储的指令,从而执行如上所述的本发明实施例的方法流程实现对于数据的处理和对于其它装置的控制。总线83将上述多个组件连接在一起,同时将上述组件连接到显示控制器84和显示装置以及输入/输出(I/O)装置85。输入/输出(I/O)装置85可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出装置85通过输入/输出(I/O)控制器86与系统相连。
本领域的技术人员应明白,本申请的实施例可提供为方法、装置(设备)或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品。
本申请是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图来描述的。应理解可由计算机程序指令实现流程图中的每一流程。
这些计算机程序指令可以存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现流程图一个流程或多个流程中指定的功能。
也可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程中指定的功能的装置。
本发明的另一实施例涉及一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述部分或全部的方法实施例。
本发明的另一实施例涉及一种非易失性存储介质,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行上述部分或全部的方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指定相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例公开了TS1、一种位置推荐方法,所述方法包括:
获取目标任务信息;
根据所述目标任务信息确定至少一个候选位置集合,所述候选位置集合中的候选位置为点位和/或网格,所述网格为预定大小的地理区域;
对至少一个所述候选位置集合中的候选位置进行聚类,确定各所述候选位置集合分别对应的聚类中心集合;
根据各所述聚类中心集合确定至少一个目标推荐位置;
将至少一个所述目标推荐位置推送至目标用户终端和/或任务执行终端。
TS2、根据TS1所述的方法,所述目标任务信息包括目标用户信息和目标地址;
根据所述目标任务信息确定至少一个候选位置集合包括:
获取所述目标地址对应的历史任务的历史推荐点和/或历史任务执行点,以确定第一候选位置集合;和/或
获取所述目标用户在所述目标地址处的历史任务的历史推荐点和/或历史任务执行点,以确定第二候选位置集合。
TS3、根据TS2所述的方法,根据各所述聚类中心集合确定至少一个目标推荐位置包括:
响应于所述第二候选位置集合对应的第二聚类中心集合不为空,根据所述第二聚类中心集合中的第二聚类中心确定至少一个目标推荐位置。
TS4、根据TS2或TS3所述的方法,根据各所述聚类中心集合确定至少一个目标推荐位置包括:
响应于所述第二候选位置集合对应的第二聚类中心集合为空,根据所述第一聚类中心集合中的第一聚类中心确定至少一个目标推荐位置。
TS5、根据TS2所述的方法,根据所述目标地址对应的历史任务的历史推荐点和/或历史任务执行点,以确定第一候选位置集合包括:
获取所述目标地址对应的历史任务的历史推荐点和/或历史任务执行点;
将各所述历史推荐点和/或历史任务执行点映射到网格中,将具有历史推荐点和/或历史任务执行点的网格确定为候选位置,以确定所述第一候选位置集合。
TS6、根据TS1-TS5中任一项所述的方法,对至少一个所述候选位置集合中的候选位置进行聚类,确定各所述候选位置集合分别对应的聚类中心集合包括:
根据候选位置的热度信息分别对各候选位置集合中的候选位置进行密度聚类,以确定各所述聚类中心集合,所述热度信息用于表征对应候选位置被推荐的次数。
TS7、根据TS6所述的方法,对至少一个所述候选位置集合中的候选位置进行聚类,确定各所述候选位置集合分别对应的聚类中心集合还包括:
响应于检测到各所述聚类中心集合中的聚类中心与目标地址的运动代价参数大于代价阈值,调整该聚类中心,以获取更新后的各聚类中心集合。
TS8、根据TS1-TS7中任一项所述的方法,根据各所述聚类中心集合确定至少一个目标推荐位置包括:
根据各所述聚类中心集合中的各聚类中心的热度信息确定至少一个目标推荐位置。
本发明实施例还公开了TS9、一种位置推荐装置,所述装置包括:
信息获取单元,被配置为获取目标任务信息;
候选位置集合确定单元,被配置为根据所述目标任务信息确定至少一个候选位置集合,所述候选位置集合中的候选位置为点位和/或网格,所述网格为具有预定大小的地理区域;
聚类中心确定单元,被配置为对至少一个所述候选位置集合中的候选位置进行聚类,确定各所述候选位置集合分别对应的聚类中心集合;
目标推荐位置确定单元,被配置为根据各所述聚类中心集合确定至少一个目标推荐位置;
推送单元,被配置为将至少一个所述目标推荐位置推送至目标用户终端。
TS10、根据TS9所述的装置,所述目标任务信息包括目标用户信息和目标地址;
所述候选位置集合确定单元包括:
第一集合确定子单元,被配置为获取所述目标地址对应的历史任务的历史推荐点和/或历史任务执行点,以确定第一候选位置集合;和/或
第二集合确定子单元,被配置为获取所述目标用户在所述目标地址处的历史任务的历史推荐点和/或历史任务执行点,以确定第二候选位置集合。
TS11、根据TS10所述的装置,所述目标推荐位置确定单元包括:
第一位置确定子单元,被配置为响应于所述第二候选位置集合对应的第二聚类中心集合不为空,根据所述第二聚类中心集合中的第二聚类中心确定至少一个目标推荐位置。
TS12、根据TS10或TS11所述的装置,所述目标推荐位置确定单元包括:
第二位置确定子单元,被配置为响应于所述第二候选位置集合对应的第二聚类中心集合为空,根据所述第一聚类中心集合中的第一聚类中心确定至少一个目标推荐位置。
TS13、根据TS10所述的装置,所述第一集合确定子单元包括:
点位确定模块,被配置为获取所述目标地址对应的历史任务的历史推荐点和/或历史任务执行点;
第一集合确定模块,被配置为将各所述历史推荐点和/或历史任务执行点映射到网格中,将具有历史推荐点和/或历史任务执行点的网格确定为候选位置,以确定所述第一候选位置集合。
TS14、根据TS9-TS13中任一项所述的装置,所述聚类中心确定单元包括:
聚类中心集合确定子单元,被配置为根据候选位置的热度信息分别对各候选位置集合中的候选位置进行密度聚类,以确定各所述聚类中心集合,所述热度信息用于表征对应候选位置被推荐的次数。
TS15、根据TS14所述的装置,所述聚类中心确定单元还包括:
聚类中心集合更新子单元,被配置为响应于检测到各所述聚类中心集合中的聚类中心与目标地址的运动代价参数大于代价阈值,调整该聚类中心,以获取更新后的各聚类中心集合。
TS16、根据TS9-TS15中任一项所述的装置,所述目标推荐位置确定单元包括:
目标推荐位置确定子单元,被配置为根据各所述聚类中心集合中的各聚类中心的热度信息确定至少一个目标推荐位置。
本发明实施例还公开了TS17、一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如TS1-TS8中任一项所述的方法。
本发明实施例还公开了TS18、一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如TS1-TS8任一项所述的方法。
本发明实施例还公开了TS19、一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如TS1-TS8中任一项所述的方法。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 一种位置推荐方法、装置及电子设备
- 一种位置推荐方法、装置及电子设备