路线推荐方法、装置、电子设备和存储介质
文献发布时间:2023-06-19 10:24:22
技术领域
本申请涉及数据处理领域,尤其涉及智能推荐领域。
背景技术
随着旅游业的蓬勃发展,人们对旅游质量的要求也快速提升。相对于跟团游或者借助公共交通工具出行的自助游而言,自驾游在出行时间安排和景点选择上都更自由,有效提高行程灵活性和体验感。因此,自驾游逐渐成为人们青睐的旅游方式之一。
自驾游的路线质量往往是旅游满意度的核心。目前,用户一般通过互联网查找其他用户推荐的路线,从中选择相对更符合自身需求的路线。
发明内容
本申请提供了一种路线推荐方法、装置、电子设备和存储介质。
根据本申请的一方面,提供了一种路线推荐方法,包括:
获取针对目标行程输入的第i个景区信息;其中,i为正整数;
基于第i个景区信息,更新目标行程的景区列表,并基于景区列表确定预计游览时长;
在目标行程的行程计划时长与预计游览时长之间的差值小于预设阈值的情况下,基于景区列表确定目标行程的推荐路线。
根据本申请的另一方面,提供了一种路线推荐装置,包括:
信息获取模块,用于获取针对目标行程输入的第i个景区信息;其中,i为正整数;
时长确定模块,用于基于第i个景区信息,更新目标行程的景区列表,并基于景区列表确定预计游览时长;
路线确定模块,用于在目标行程的行程计划时长与预计游览时长之间的差值小于预设阈值的情况下,基于景区列表确定目标行程的推荐路线。
根据本申请的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本申请实施例提供的方法。
根据本申请的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行本申请实施例提供的方法。
根据本申请的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本申请实施例中的方法。
根据本申请的技术方案,可以基于输入的景区信息更新景区列表,在基于景区列表确定预计游览时长与行程计划时长的差距较小的情况下,确定推荐路线。因此,可以根据用户输入确定景区列表,合理设置行程中的景区数量,得到符合用户个性化需求的高质量推荐路线。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是本申请一个实施例提供的路线推荐方法的示意图;
图2是本申请另一个实施例提供的路线推荐方法的示意图;
图3是本申请路线推荐方法的一个应用示例的示意图;
图4是本申请一个实施例提供的路线推荐装置的示意图;
图5是本申请另一个实施例提供的路线推荐装置的示意图;
图6是用来实现本申请实施例的路线推荐方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1示出了本申请一个实施例提供的路线推荐方法的示意图。如图1所示,该方法包括:
步骤S11,获取针对目标行程输入的第i个景区信息;其中,i为正整数;
步骤S12,基于第i个景区信息,更新目标行程的景区列表,并基于景区列表确定预计游览时长;
步骤S13,在目标行程的行程计划时长与预计游览时长之间的差值小于预设阈值的情况下,基于景区列表确定目标行程的推荐路线。
本申请实施例中,景区是包括至少一个景点的区域,可以为用户提供较为集中且丰富的景观,例如故宫景区、张家界景区等。其中,景点可以指具有相对独立性和完整性的景观单元,例如故宫景区中的太和殿景点、张家界景区中的天门山景点等。
目标行程可以是为用户推荐的路线所属的行程。作为示例,用户可以输入目标行程的相关信息,执行上述方法的电子设备可以基于获取到的针对目标行程输入的信息,确定目标行程的推荐路线。其中,目标行程的相关信息可以包括景区信息、行程起点、行程终点、行程起始时间、行程结束时间、行程天数等。其中,基于行程起始时间和行程结束时间可以确定行程计划时长。
在本申请实施例中,用户可以针对目标行程输入景区信息,电子设备可以根据用户输入的景区信息得到景区列表,如此,可以根据用户的个性化需求确定推荐路线。其中,景区信息可以包括景区的名称、编码、拼音首字母等信息。
示例性地,用户每输入一次景区信息,电子设备则将对应的景区名称或编码等信息添加到景区列表中,以更新一次景区列表,基于景区列表确定预计游览时长。也就是说,在获取到第i个景区信息之后,景区列表中可以包含基于第i个景区信息和之前获取到的X个景区信息。其中,X为整数,例如,X可以为0。
在行程计划时长与预计游览时长之间的差值小于预设阈值的情况下,可通过提示用户的方式,使用户停止输入景区信息,并基于当前的景区列表确定目标行程的推荐路线。作为示例,在行程计划时长与预计游览时长之间的差值小于预设阈值的情况下,输出停止输入景区信息的提示信息,在确定停止输入景区信息例如用户输入了确定停止的指令的情况下,基于景区列表确定目标行程的推荐路线。基于此,可以在目标行程的景区数量未完全饱和的情况下确定推荐路线,使得目标行程的景区数量合理,行程安排能够做到有条不紊。
在行程计划时长与预计游览时长之间的差值大于等于预设阈值的情况下,可以获取针对目标行程输入的第(i+1)个景区信息。其中,也可以通过提示用户的方式,使用户继续输入景区信息,从而继续更新景区列表。作为示例,上述方法还可以包括:在目标行程的行程计划时长与预计游览时长之间的差值大于等于预设阈值的情况下,输出继续输入景区信息的提示信息,并获取针对目标行程输入的第(i+1)个景区信息。基于此,可以在目标行程的行程计划时长内尽可能多设置景区,以便于用户尽可能多地游览和体验。
可见,基于本申请实施例的方法,可以基于输入的景区信息更新景区列表,在基于景区列表确定预计游览时长与行程计划时长的差距较小的情况下,确定推荐路线。因此,有利于合理设置行程中的景区数量,设计符合用户个性化需求的高质量路线。避免因为留出过多的富余时间而导致用户游览不充分,或者因为行程设计过度紧张而导致错过行程中某些景区。
其中,预计游览时长可以基于目标行程的相关信息以及景区列表中各景区的相关信息进行计算。作为示例,如图2所示,上述步骤S12中,基于景区列表确定预计游览时长,包括:
步骤S21,基于目标行程的行程起点、行程终点以及景区列表中各景区的位置信息,计算游览景区列表中各景区所需的路程时长;
步骤S22,基于景区列表中各景区的合理停留时长以及路程时长,确定预计游览时长。
举例而言,目标行程的行程起点为P
其中,
可选地,还可以结合目标行程的行程起始时间t
示例性地,景区列表中各景区的合理停留时长可以基于历史数据挖掘得到。具体而言,可以根据历史数据中多个用户进入景区和离开景区的时间,计算多个用户在景区中的停留时长。对多个用户在景区中的停留时长进行统计,得到停留时长分布信息。实际应用中,停留时长的分布一般呈高斯分布。基于停留时长分布信息,确定景区的合理停留时长。例如,将停留时长的中位数或期望值作为景区的合理停留时长。又如,将停留时长最大的X个用户的停留时长分布区间[T
基于各景区的合理停留时长,可以根据以下公式计算得到停留总时长T
其中,T
基于合理停留时长以及路程时长,可以根据以下公式确定预计游览时长T:
T=T
可见,在上述示例中,以行程起点、行程终点以及各景区的位置信息为计算依据,全面考虑行程中的路程时长、停留时长等时长因素,因此,可以计算得到准确的预计游览时长,有利于准确、合理地设置景区数量,提高行程体验度。
需要说明的是,在景区的合理停留时长为区间的情况下,预计游览时长可以基于合理停留时长的最小值得到,也可以基于合理停留时长的最大值得到。或者,预计游览时长也可以相应的为某个时长区间,在计算行程计划用时和预计游览时长之间的差值时,可以基于该时长区间的最大值进行计算,避免行程过度紧张。
作为一种示例性的实施方式,上述步骤S21,基于目标行程的行程起点、行程终点以及景区列表中各景区的位置信息,计算游览景区列表中各景区所需的路程时长,可以包括:
基于景区列表,确定N个游览次序;其中,N为正整数;
基于目标行程的行程起点、行程终点以及景区列表中各景区的位置信息,计算与N个游览次序分别对应的N个路程时长;
将N个路程时长中的最小值,确定为游览景区列表中各景区所需的路程时长。
示例性地,可以遍历景区列表中各景区的所有排列方式,得到N个游览次序。然后,基于N个游览次序中的每个游览次序,根据公式(1)计算路程时长,得到N个路程时长。将其中的最小值作为游览景区列表中各景区所需的路程时长。
根据上述实施方式,可以使行程中的路程时长最小,从而提高行程体验度。
可选的,上述步骤S13中,基于景区列表确定目标行程的推荐路线,包括:
将基于景区列表得到的N个路程时长中的最小值所对应的游览次序,确定为目标行程的推荐路线中各景区的游览次序。
也就是说,将最小的路程时长所对应的游览次序,确定为目标行程的推荐路线中各景区的游览次序。基于此,可以最大程度地优化推荐路线。
可见,根据上述各实施方式,电子设备可以得到以下约束条件下的全局最优的景区列表以及景区游览次序:
argmin(T
其中,argmin(T
在本申请的一些实施例中,不仅能优化景区列表以及景区游览次序,满足用户的个性化需求且为用户提供充分而不紧张的行程体验,还能够针对各景区提供优化的景区内路线。具体的,上述步骤S13中,基于景区列表确定目标行程的推荐路线,可以包括:
基于目标行程的行程计划时长以及景区列表中各景区的合理停留时长,确定景区列表中第j个景区的预计停留时长;
在第j个景区对应的优质路线集合中选取符合预计停留时长的路线,作为第j个景区的推荐路线。
示例性地,可以基于各景区的合理停留时长,确定各景区的预计停留时长的比例。根据该比例以及目标行程的行程计划时长与路程时长的差值,确定各景区的预计停留时长。
举例而言,在行程计划时长为7h(小时),预计游览时长为5h,其中路程时长为1h,停留总时长为4h的情况下,基于景区列表确定目标行程的推荐路线中包含合理停留时长为2.5h和1.5h的两个景区,则两个景区的预计停留时长的比例应为5∶3,根据行程计划时长与路程时长的差值6h和该比例,可以计算得到两个景区的预计停留时长分别为3.75h和2.25h。
本申请实施例中,可以预先配置各景区的优质路线集合。该优质路线集合可以基于历史数据得到。例如从历史数据中选取多个用户在景区内的路线,添加到该优质路线集合中。其中,选取的依据可以是用户的热度值或路线的热度值,热度值可以根据用户或路线被浏览次数、被评论次数等确定。
实际应用中,可以将优质路线集合对应的时长区间划分为多个子区间。例如,多个用户在景区内的路线所用时长均在1h至2h之间,则可以将时长区间[1h,2h]划分为子区间[1h,1.5h]和[1.5h,2h]。如果景区列表中第j个景区的预计停留时长为1.75h,则符合该预计停留时长的为子区间[1.5h,2h],将停留时长在子区间[1.5h,2h]的路线确定为第j个景区的推荐路线。
根据上述实施方式,在确定景区列表的基础上,还可以针对景区列表中各景区,自动确定景区内的推荐路线,无需用户耗费大量时间和精力,推荐效率高。
本申请实施例还提供一种示例性的确定各景区对应的优质路线的方式。具体而言,上述路线推荐方法还可以包括:
从第j个景区的M个历史路线所经过的景点中,确定第j个景区的核心景点;其中,M为正整数;
基于第j个景区的核心景点,从M个历史路线中选取L个路线,并基于L个路线得到第j个景区对应的优质路线集合,其中,L为小于等于M的正整数。
示例性地,可以对M个历史路线所经过的景点进行统计,将其中被经过次数最多的Y个景点确定为核心景点。其中,Y为正整数。
示例性地,可以先对M个历史路线进行聚合处理,得到待选取的历史路线集合。例如,将M个历史路线
示例性地,可以根据待选区的路线集合中每个历史路线所覆盖的核心景点的数量,选取L个路线。例如,景区中核心景点的数量为5,如果某个历史路线覆盖的核心景点数量大于3,则可以选取该路线。
根据上述实施方式,基于核心景点得到景区内的优质路线集合,有利于为用户推荐核心景点覆盖率高、体验度高的景区内路线。
本申请实施例还提供一种确定各历史路线所经过的景点的方式。具体而言,上述路线推荐方法还可以包括:
对M个历史路线中的第k个历史路线所对应的用户定位点进行聚类,得到P个定位点簇;其中,k和P均为正整数;
基于第j个景区中各景点的位置信息,确定与P个定位点簇关联的P个景点,并将P个景点确定为第k个历史路线所经过的景点。
示例性地,可以根据各历史路线中用户定位点的空间距离进行聚类,得到多个定位点簇,剔除其中定位点密度较小的定位点簇,得到剩余的P个定位点簇。再根据P个定位点簇中每个定位点簇的中心与景区中各景点的距离,将每个定位点簇与最近的景点进行绑定,得到该历史路线所经过的景点。
利用聚类的方式,可以准确确定历史路线所经过的景点,从而提高挖掘核心景点的准确性,有利于为用户推荐最合适的景区内路线。
图3示出了本申请路线推荐方法的一个应用示例的示意图。如图3所示,本申请路线推荐方法,包括在线服务提供、离线数据挖掘和未来出行预估用时。
其中,离线数据挖掘包括:
步骤S311,挖掘景区的合理停留时长;
步骤S312,挖掘景区的核心景点;
步骤S313,确定景区的优质路线集合。
基于离线数据挖掘得到的信息,将被用于提供在线服务。
在线服务提供包括:
步骤S321,设置目标行程的相关信息。其中,相关信息包括起始时间、结束时间、行程起点、行程终点等。基于起始时间、结束时间可以计算得到行程计划时长。
步骤S322,输入景区列表。其中,采用轮询访问输入模块的方式,每次输入后计算预计游览时长,确定是否继续输入,直至预计游览时长与行程计划时长接近。其中,预计游览时长可根据景区的合理停留时长,结合未来出行预估用时进行计算。
步骤S323,确定推荐路线。其中,推荐路线可根据景区的核心景点以及优质路线集合确定。
根据本申请实施例的方法,可以基于输入的景区信息更新景区列表,在基于景区列表确定预计游览时长与行程计划时长的差距较小的情况下,确定推荐路线。因此,可以根据用户输入确定景区列表,合理设置行程中的景区数量,得到符合用户个性化需求的高质量推荐路线。
作为上述各方法的实现,本申请还提供了一种路线推荐装置。图4示出了本申请一个实施例中路线推荐装置的示意图。如图4所示,该装置包括:
信息获取模块410,用于获取针对目标行程输入的第i个景区信息;其中,i为正整数;
时长确定模块420,用于基于第i个景区信息,更新目标行程的景区列表,并基于景区列表确定预计游览时长;
路线确定模块430,用于在目标行程的行程计划时长与预计游览时长之间的差值小于预设阈值的情况下,基于景区列表确定目标行程的推荐路线。
示例性地,如图5所示,该装置还包括:
输入确定模块510,用于在目标行程的行程计划时长与预计游览时长之间的差值大于等于预设阈值的情况下,获取针对目标行程输入的第(i+1)个景区信息。
示例性地,如图5所示,时长确定模块420可以包括:
路程时长确定单元421,用于基于目标行程的行程起点、行程终点以及景区列表中各景区的位置信息,计算游览景区列表中各景区所需的路程时长;
总时长确定单元422,用于基于景区列表中各景区的合理停留时长以及路程时长,确定预计游览时长。
示例性地,路程时长确定单元用于:
基于景区列表,确定N个游览次序;其中,N为正整数;
基于目标行程的行程起点、行程终点以及景区列表中各景区的位置信息,计算与N个游览次序分别对应的N个路程时长;
将N个路程时长中的最小值,确定为游览景区列表中各景区所需的路程时长。
示例性地,路线确定模块用于:
将基于景区列表得到的N个路程时长中的最小值所对应的游览次序,确定为目标行程的推荐路线中各景区的游览次序。
示例性地,如图5所示,路线确定模块430可以包括:
停留时长确定单元431,用于基于目标行程的行程计划时长以及景区列表中各景区的合理停留时长,确定景区列表中第j个景区的预计停留时长;
景区路线确定单元432,用于在第j个景区对应的优质路线集合中选取符合预计停留时长的路线,作为第j个景区的推荐路线。
示例性地,如图5所示,该装置还包括:
核心景点挖掘模块520,用于从第j个景区的M个历史路线所经过的景点中,确定第j个景区的核心景点;其中,M为正整数;
路线选取模块530,用于基于第j个景区的核心景点,从M个历史路线中选取L个路线,并基于L个路线得到第j个景区对应的优质路线集合,其中,L为小于等于M的正整数。
示例性地,如图5所示,该装置还包括:
定位点聚类模块540,用于对M个历史路线中的第k个历史路线所对应的用户定位点进行聚类,得到P个定位点簇;其中,k和P均为正整数;
景点确定模块550,用于基于第j个景区中各景点的位置信息,确定与P个定位点簇关联的P个景点,并将P个景点确定为第k个历史路线所经过的景点。
本申请实施例提供的装置,能够实现本申请实施例提供的方法,具备相应的有益效果。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如路线推荐方法。例如,在一些实施例中,路线推荐方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的路线推荐方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行路线推荐方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
- 出行路线的推荐方法、装置、电子设备及可读存储介质
- 路线推荐方法、装置、电子设备和存储介质