首页> 中国专利> 旅程规划模型的训练方法和旅程规划方法

旅程规划模型的训练方法和旅程规划方法

摘要

本公开提供了一种旅程规划模型的训练方法、旅程规划方法、装置、设备、存储介质以及计算机程序产品,涉及人工智能技术领域,具体为深度学习技术领域,可应用于旅程规划等场景。具体实现方案为:获取训练样本集,其中,训练样本包括旅程请求样本和对应的目标旅程样本;执行以下训练步骤:从训练样本集中选取一对旅程请求样本和目标旅程样本;基于选取的目标旅程样本和旅程请求样本中的时间预算信息,对初始旅程规划模型进行训练,得到训练后的旅程规划模型;响应于训练次数满足第一次数阈值条件,将训练后的旅程规划模型确定为目标旅程规划模型。提高了旅程规划的效率。

著录项

  • 公开/公告号CN114969576A

    专利类型发明专利

  • 公开/公告日2022-08-30

    原文格式PDF

  • 申请/专利号CN202210648943.X

  • 申请日2022-06-09

  • 分类号G06F16/9537(2019.01);G06K9/62(2022.01);G06Q50/14(2012.01);

  • 代理机构北京英赛嘉华知识产权代理有限责任公司 11204;北京英赛嘉华知识产权代理有限责任公司 11204;

  • 代理人王达佐;马晓亚

  • 地址 100085 北京市海淀区上地十街10号百度大厦三层

  • 入库时间 2023-06-19 16:33:23

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-16

    实质审查的生效 IPC(主分类):G06F16/9537 专利申请号:202210648943X 申请日:20220609

    实质审查的生效

说明书

技术领域

本公开涉及人工智能技术领域,具体为深度学习技术领域,可应用于旅程规划等场景,尤其涉及一种旅程规划模型的训练方法、旅程规划方法、装置、设备、存储介质以及计算机程序产品。

背景技术

目前在进行旅程规划时,通常将旅程规划问题转化为一个整数规划问题进行求解,或者不考虑时间预算信息,基于循环神经网络来生成一个旅程,但基于整数规划问题的规划方法规划结果不一定合理,且求解过程耗时严重,基于循环神经网络的方法不考虑时间预算信息,规划结果不够个性化。

发明内容

本公开提供了一种旅程规划模型的训练方法、旅程规划方法、装置、设备、存储介质以及计算机程序产品,提高了旅程规划的效率。

根据本公开的一方面,提供了一种旅程规划模型的训练方法,包括:获取训练样本集,其中,训练样本包括旅程请求样本和对应的目标旅程样本;执行以下训练步骤:从训练样本集中选取一对旅程请求样本和目标旅程样本;基于选取的目标旅程样本和旅程请求样本中的时间预算信息,对初始旅程规划模型进行训练,得到训练后的旅程规划模型;响应于训练次数满足第一次数阈值条件,将训练后的旅程规划模型确定为目标旅程规划模型。

根据本公开的另一方面,提供了一种旅程规划方法,包括:获取旅程请求,旅程请求包括时间预算信息和出发地信息;将旅程请求输入到目标旅程规划模型中,得到目标旅程。

根据本公开的又一方面,提供了一种旅程规划模型的训练装置,包括:获取模块,被配置为获取训练样本集,其中,训练样本包括旅程请求样本和对应的目标旅程样本;训练模块,被配置为执行以下训练步骤:从训练样本集中选取一对旅程请求样本和目标旅程样本;基于选取的目标旅程样本和旅程请求样本中的时间预算信息,对初始旅程规划模型进行训练,得到训练后的旅程规划模型;响应于训练次数满足第一次数阈值条件,将训练后的旅程规划模型确定为目标旅程规划模型。

根据本公开的又一方面,提供了一种旅程规划装置,包括:获取请求模块,被配置为获取旅程请求,旅程请求包括时间预算信息和出发地信息;规划模块,被配置为将旅程请求输入到目标旅程规划模型中,得到目标旅程

根据本公开的又一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被上述至少一个处理器执行,以使上述至少一个处理器能够执行上述旅程规划模型的训练方法及旅程规划方法。

根据本公开的又一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,上述计算机指令用于使上述计算机执行上述旅程规划模型的训练方法及旅程规划方法。

根据本公开的再一方面,提供了一种计算机程序产品,包括计算机程序,上述计算机程序在被处理器执行时实现上述旅程规划模型的训练方法及旅程规划方法。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本公开的限定。其中:

图1是本公开可以应用于其中的示例性系统架构图;

图2是根据本公开的旅程规划模型的训练方法的一个实施例的流程图;

图3是根据本公开的旅程规划模型的训练方法的另一个实施例的流程图;

图4是根据本公开的旅程规划模型的训练方法的一个示意图;

图5是根据本公开的旅程规划方法的一个实施例的流程图;

图6是根据本公开的旅程规划模型的训练装置的一个实施例的结构示意图;

图7是根据本公开的旅程规划装置的一个实施例的结构示意图;

图8是用来实现本公开实施例的旅程规划模型的训练方法或旅程规划方法的电子设备的框图。

具体实施方式

以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

图1示出了可以应用本公开的旅程规划模型的训练方法或旅程规划方法或旅程规划模型的训练装置或旅程规划装置的实施例的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以获取目标旅程规划模型或旅程规划结果等。终端设备101、102、103上可以安装有各种客户端应用,例如样本获取应用等等。

终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述电子设备中。其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。

服务器105可以提供各种基于确定目标旅程规划模型或旅程规划结果的服务。例如,服务器105可以对从终端设备101、102、103获取到的旅程规划请求进行分析和处理,并生成处理结果(例如确定出时间预算信息和出发地信息等)。

需要说明的是,服务器105可以是硬件,也可以是软件。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器105为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。

需要说明的是,本公开实施例所提供的旅程规划模型的训练方法或旅程规划方法一般由服务器105执行,相应地,旅程规划模型的训练装置或旅程规划装置一般设置于服务器105中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

继续参考图2,其示出了根据本公开的旅程规划模型的训练方法的一个实施例的流程200。该旅程规划模型的训练方法包括以下步骤:

步骤201、获取训练样本集,其中,训练样本包括旅程请求样本和对应的目标旅程样本。

在本实施例中,旅程规划模型的训练方法的执行主体(例如图1所示的服务器105)可以获取训练样本集。其中,执行主体可以从公开的数据库中获取存储于其中的现有的样本集,也可以通过终端设备(例如图1所示的终端设备101、102、103)来收集样本,这样,执行主体可以接收终端设备所收集的样本,并将这些样本存储在本地,从而生成训练样本集。

训练样本集中可以包括至少一对样本。其中,样本可以包括旅程请求样本和对应的目标旅程样本。旅程请求样本中包括至少一项请求信息,示例性的,请求信息可以是出发地、出行方式、目的地所在的区域范围、时间预算等,本公开对此不做限定。目标旅程样本与旅程请求样本一一对应,是用户在对应的旅程请求样本的约束下,预先选择的一个旅程,其中,一个目标旅程样本中包括多个地点及多个地点的先后顺序,示例性的,一个目标旅程样本中包括出发地、第一目的地、第二目的地三个地点,三个地点的先后顺序是出发地、第二目的、第一目的地。

步骤202、从训练样本集中选取一对旅程请求样本和目标旅程样本。

在本实施例中,上述执行主体在获取训练样本集后,可以从训练样本集中选取一对旅程请求样本和目标旅程样本。具体地,可以从训练样本集中随机选取一对旅程请求样本和目标旅程样本,也可以基于预设样本选取规则从训练样本集中选取一对旅程请求样本和目标旅程样本,本公开对此不做限定。

步骤203、基于选取的目标旅程样本和旅程请求样本中的时间预算信息,对初始旅程规划模型进行训练,得到训练后的旅程规划模型。

在本实施例中,上述执行主体可以基于选取的目标旅程样本和旅程请求样本中的时间预算信息对初始旅程规划模型进行训练。其中,初始旅程规划模型是一种可以基于一个输入的旅程请求样本中的时间预算信息等信息,计算得到一个完整的旅程信息的旅程规划模型,其中,时间预算信息即用户在一个完整的旅程中计划花费的时长。可以将选取的旅程请求样本作为一个输入数据,输入到初始旅程规划模型中,从初始旅程规划模型的输出端,输出一个旅程信息,通过将计算得到的旅程信息与选取的目标旅程样本进行比较,对初始旅程规划模型进行训练,将训练一次后得到的初始旅程规划模型确定为训练后的旅程规划模型,并将训练次数累加一次。

在得到累加后的训练次数之后,可以将累加后的训练次数与第一次数阈值条件进行比较,根据比较结果可以继续执行步骤204或205。

步骤204、响应于训练次数不满足第一次数阈值条件,将训练后的旅程规划模型作为初始旅程规划模型,再次执行训练步骤。

在本实施例中,上述执行主体在得到累加后的训练次数后,可以响应于训练次数不满足第一次数阈值条件,将训练后的旅程规划模型作为初始旅程规划模型,再次执行训练步骤。其中,第一次数阈值条件可以是训练次数等于第一次数阈值,示例性的,第一次数阈值可以是100次。具体的,可以将累加后的训练次数与第一次数阈值进行比较,若累加后的训练次数小于第一次数阈值,则训练次数不满足第一次数阈值条件,可以将训练后的旅程规划模型作为初始旅程规划模型,再次执行上述训练步骤,具体地,可以基于训练后的旅程规划模型再次执行步骤202-203。

步骤205、响应于训练次数满足第一次数阈值条件,将训练后的旅程规划模型确定为目标旅程规划模型。

在本实施例中,上述执行主体在得到累加后的训练次数后,可以响应于训练次数满足第一次数阈值条件,将训练后的旅程规划模型确定为目标旅程规划模型。具体地,可以将累加后的训练次数与第一次数阈值进行比较,若累加后的训练次数等于第一次数阈值,则训练次数满足第一次数阈值条件,此时可以判断训练后的旅程规划模型训练完成,将训练后的旅程规划模型确定为目标旅程规划模型。

本公开实施例提供的旅程规划模型的训练方法,首先获取训练样本集,然后执行以下训练步骤:从训练样本集中选取一对旅程请求样本和目标旅程样本;基于选取的目标旅程样本和旅程请求样本中的时间预算信息,对初始旅程规划模型进行训练,得到训练后的旅程规划模型;响应于训练次数满足第一次数阈值条件,将训练后的旅程规划模型确定为目标旅程规划模型。基于时间预算信息进行训练,使目标旅程规划模型得到的旅程规划结果考虑了时间规划,使旅程规划结果更合理、更准确。

进一步继续参考图3,其示出了根据本公开的旅程规划模型的训练方法的另一个实施例的流程300。该旅程规划模型的训练方法包括以下步骤:

步骤301、获取训练样本集,其中,训练样本包括旅程请求样本和对应的目标旅程样本。

步骤302、从训练样本集中选取一对旅程请求样本和目标旅程样本。

在本实施例中,步骤301-302具体操作已在图2所示的实施例中步骤201-202进行了详细的介绍,在此不再赘述。

步骤303、获取选取的旅程请求样本中的时间预算信息、出发地信息。

在本实施例中,上述执行主体在选取旅程请求样本后,可以获取选取的旅程请求样本中的时间预算信息、出发地信息。具体地,可以直接读取选取的旅程请求样本中的信息,其中,时间预算信息是用户计划在一个完整的旅程中花费的时长,时间预算信息可以是几年、可以是几天、也可以是几小时,本公开对此不做限定。出发地信息可以包括出发地的名称、坐标、类别、及出发地的平均停留时间,其中,出发地的平均停留时间可以是一段时间内,到访过出发地的所有用户的停留时间的平均值。

在本实施例的一些可选实现方式中,还可以从选取的旅程请求样本中获取提出旅程请求的用户信息,示例性的,用户信息可以是用户的年龄,基于用户的年龄可以规划出更贴近用户的出游需求的旅程路线。

在本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。

在获取时间预算信息和出发地信息后,可以基于初始旅程规划模型对时间预算信息、出发地信息以及预先确定的多个候选地点信息进行联合计算,从多个候选地点信息中选出至少一个目标地点信息,并与出发地信息组成初始旅程信息。具体地,可以执行步骤304-307。

在本实施例的一些可选实现方式中,初始旅程规划模型可以包括预处理层、注意力层、前馈网络层和规划层。

步骤304、通过预处理层对多个候选地点信息进行预处理,得到第一向量矩阵。

在本实施例中,上述执行主体可以通过预处理层对多个候选地点信息进行预处理,得到第一向量矩阵。其中,多个候选地点信息是预先确定好的,示例性的,可以从已知候选地点数据库中选取部分或全部候选地点信息作为多个候选地点信息。每个候选地点信息可以包括一个候选地点的名称、坐标、类别、和平均停留时间信息,其中,类别例如可以是公园、购物中心、文化景点等,平均停留时间信息可以是一段时间内到访过该候选地点的所有用户的停留时间的平均值,具体地,可以获取一段时间内到访过该候选地点的所有签到信息,其中,每个签到信息中记录了一个用户的到达时间和离开时间,可以基于到达时间和离开时间计算该用户的停留时间,基于所有用户的停留时间得到该候选地点的平均停留时间。

可以基于初始旅程规划模型中的预处理层将每个候选地点的各个信息进行拼接,形成第一向量矩阵的一行,将所有都选地点拼接完成后,得到完整的第一向量矩阵。

在本实施例的一些可选实现方式中,可以基于预处理层执行如下操作:将多个候选地点信息转换为对应的多个向量组,每个向量组中包括坐标嵌入向量、类别嵌入向量和停留时间嵌入向量;将同一组的坐标嵌入向量、类别嵌入向量和停留时间嵌入向量,拼接为一个第一表征向量;将得到的多个第一表征向量确定为第一向量矩阵

具体地,可以先基于嵌入方法将每个候选地点的坐标、类别、平均停留时间,分别转换为一个坐标嵌入向量、一个类别嵌入向量和一个停留时间嵌入向量,其中,同一个候选地点的坐标嵌入向量、类别嵌入向量和停留时间嵌入向量为一个向量组,多个候选地点对应多个向量组,然后对每一组中的坐标嵌入向量、类别嵌入向量和停留时间嵌入向量进行拼接,将拼接后得到的向量进行线性变化,得到一个第一表征向量,基于多个向量组得到多个第一表征向量,每个第一表征向量作为第一向量矩阵的一行,由此得到第一向量矩阵。其中,线性变化的系数是待求解变量,第一向量矩阵是N*d维的矩阵,N是第一向量矩阵的行数,d是每个第一表征向量的维数。需要说明的是,平均停留时长是一个连续值,在转换为嵌入向量时,需要先进行离散化,具体地,可以先将平均停留时长除以15,再取整,然后用嵌入的方法转换为停留时间嵌入向量。

在本实施例的一些可选实现方式中,可以基于嵌入的方法将用户信息转换为用户嵌入向量,对用户嵌入向量和每一组坐标嵌入向量、类别嵌入向量和停留时间嵌入向量进行拼接,将拼接后得到的向量进行线性变化,得到一个第一表征向量,基于多个向量组得到多个第一表征向量,每个第一表征向量中的用户嵌入向量是相同的,每个第一表征向量作为第一向量矩阵的一行,由此得到第一向量矩阵。

在本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。

步骤305、将第一向量矩阵输入到注意力层中进行计算,得到第二向量矩阵。

在本实施例中,上述执行主体可以将第一向量矩阵输入到注意力层中进行计算,得到第二向量矩阵。具体地,可以将第一向量矩阵作为输入数据,输入到注意力层中,从注意力层的输出端,输出第二向量矩阵。

在本实施例的一些可选实现方式中,可以通过注意力层中的多个注意力头,对输入的第一向量矩阵进行计算,得到多个注意力头矩阵;将多个注意力头矩阵进行拼接,得到第二向量矩阵。

具体地,注意力层中包括多个注意力头,示例性的,可以包括6个注意力头,可以将第一向量矩阵输入到第一个注意力头中,基于缩放点积注意力策略计算得到第一个注意力头的输出,然后将第一个注意力头的输出作为第二个注意力头的输入,继续基于缩放点积注意力策略进行计算,以此类推,得到多个注意力头对应的多个注意力头矩阵。多个注意力头可以捕捉到不同方面的注意力信息,在得到多个注意力头矩阵后,可以将多个注意力头矩阵进行拼接,然后基于拼接得到的矩阵进行线性变换,得到第二向量矩阵。其中,线性变换的系数是待求解的变量。

步骤306、将第二向量矩阵输入到前馈网络层中进行计算,得到候选向量矩阵。

在本实施例中,上述执行主体可以将第二向量矩阵输入到前馈网络层中进行计算,得到候选向量矩阵。具体地,可以将第二向量矩阵作为输入数据,输入到前馈网络层中,从前馈网络层的输出端,输出候选向量矩阵。

在本实施例的一些可选实现方式中,可以通过前馈网络层中的多个前馈网络子层,对输入的第二向量矩阵进行非线性变换,得到候选向量矩阵。

具体地,可以通过前馈网络层中的多个前馈网络子层,基于ReLU(RectifiedLinear Unit)函数,对第二向量矩阵进行非线性变换,将计算结果确定为候选向量矩阵。

步骤307、通过规划层对候选向量矩阵、时间预算信息和出发地信息进行联合计算,并基于计算结果从多个候选地点信息中选出至少一个目标地点信息。

在本实施例中,上述执行主体在得到候选向量矩阵后,可以通过规划层对候选向量矩阵、时间预算信息和出发地信息进行联合计算,并基于计算结果从多个候选地点信息中选出至少一个目标地点信息。具体地,可以将候选向量矩阵、时间预算信息和出发地信息作为输入数据,输入到规划层中,从规划层的输出端,输出选取每个候选地点的概率,选取概率大于概率阈值的候选地点对应的候选地点信息,作为选出的至少一个目标地点信息。

在本实施例的一些可选实现方式中,可以基于规划层执行以下操作:对候选向量矩阵、时间预算信息和出发地信息进行联合计算,生成一个上下文向量,其中,上下文向量包括可用时间;基于上下文向量从多个候选地点信息中选出一个目标地点信息;响应于可用时间不满足时间阈值条件,再次执行对候选向量矩阵、时间预算信息和出发地信息进行联合计算。

具体地,可以从候选向量矩阵中得到每一行的候选向量,其中,每个候选向量对应一个候选地点,包括该候选地点的平均停留时间信息和坐标信息。可以从选取的旅程请求样本中获取出行方式,示例性的,获取出行方式为步行。然后获取已经选择过的目标地点信息,已经选择过的目标地点信息可以包括出发地信息或者出发地信息和已经选择过的候选地点信息。然后从候选向量矩阵中获取选择过的目标地点对应的候选向量,并从获取候选向量中获取每个目标地点的坐标和平均停留时间。基于人类的平均步行速度和每个目标地点的坐标,计算得到已经花费的转移时间,用时间预算减去每个目标地点的平均停留时间和已经花费的转移时间,得到可用时间,可以将可用时间转换为一个向量的形式,组成一个上下文向量。在获取上下文向量后,可以基于上下文向量中的可用时间信息,与未选择的各个候选地点的平均停留时间进行比较,在平均停留时间大于可用时间的候选地点中,选择平均停留时间最小的候选地点作为选择的下一个目标地点。时间阈值条件可以是可用时间小于任一个未选择的候选地点的平均停留时间,若可用时间不满足时间阈值条件,则再次执行上述步骤再次选择目标地点,若可用时间满足时间阈值条件,则选择结束,将选择过的目标地点的名称按照被选择的先后顺序进行排列,得到一个完整的旅程。

在本实施例的一些可选实现方式中,可以对候选向量矩阵进行拆分计算,生成全局表征向量;对候选向量矩阵、时间预算信息和出发地信息进行联合计算,得到可用时间,并将可用时间转换为可用时间嵌入向量;从候选向量矩阵中获取最后被选中的目标地点信息的表征向量;全局表征向量、用时间嵌入向量和最后被选中的目标地点信息的表征向量,拼接为上下文向量;对上下文向量执行时间掩码操作,得到改进的上下文向量;基于改进的上下文向量计算选择每个候选地点信息的概率;将概率最大的候选地点信息确定为目标地点信息;响应于可用时间不满足时间阈值条件,再次执行上述步骤。

具体地,可以获取候选向量矩阵中的每一行向量,将各行向量的平均值作为全局表征向量。然后对候选向量矩阵、时间预算信息和出发地信息进行联合计算,得到可用时间,其中,可用时间的计算步骤在已经进行了详细的介绍,在此不再赘述。在获取可用时间后,可以将可用时间进行离散化,用嵌入的方法将可用时间转换为一个可用时间嵌入向量。然后获取最后被选中的目标地点信息,从候选向量矩阵中获取最后被选中的目标地点对应的一行向量,作为最后被选中的目标地点信息的表征向量,将获取的全局表征向量、可用时间嵌入向量和最后被选中的目标地点信息的表征向量,拼接为上下文向量。在获取上下文向量后,可以对上下文向量执行时间掩码操作,具体地,可以基于一个单位阶跃函数对未选择过的候选地点进行筛选,可以先计算从最后被选择的目标地点到达并停留在每一个未选择过的候选地点需要花费的时间,然后将可用时间与计算的多个需要花费的时间进行比较,利用比较结果和单位阶跃函数对未选择过的候选地点进行筛选,若可用时间减去需要花费的时间大于等于0,则对应的候选地点可以被选择,若可用时间减去需要花费的时间小于0,则对应的候选地点被筛选掉,不再选择,因为选择该候选地点会超出时间预算。将筛选信息加入到上下文向量中,得到改进的上下文向量。然后基于改进的上下文向量在可被选择的候选地点中计算选择每个候选地点的概率,将概率最大的候选地点信息确定为目标地点信息。时间阈值条件可以是可用时间小于任一个未选择的候选地点的平均停留时间,若可用时间不满足时间阈值条件,则再次执行上述步骤再次选择目标地点,若可用时间满足时间阈值条件,则选择结束,将选择过的目标地点的名称按照被选择的先后顺序进行排列,得到一个完整的旅程,作为初始旅程信息。

步骤308、基于初始旅程信息和选取的目标旅程样本计算得到损失值,基于损失值对初始旅程规划模型进行参数调整,得到训练后的旅程规划模型。

在本实施例中,上述执行主体在得到初始旅程信息后,可以基于初始旅程信息和选取的目标旅程样本计算得到损失值,基于损失值对初始旅程规划模型进行参数调整,得到训练后的旅程规划模型。具体地,可以分别获取初始旅程信息和选取的目标旅程样本的概率分布,基于两个概率分布计算得到损失值,基于损失值对初始旅程规划模型进行参数调整,将调整后的初始旅程规划模型作为训练后的旅程规划模型。

将训练次数累加一次,并将累加后的训练次数与第一次数阈值条件和第二次数阈值条件进行比较,基于比较结果确定执行步骤309、310或311。

步骤309、响应于训练次数不满足第一次数阈值条件,将训练后的旅程规划模型作为初始旅程规划模型,再次执行训练步骤。

在本实施例中,步骤309具体操作已在图2所示的实施例中步骤204进行了详细的介绍,在此不再赘述。

步骤310、响应于训练次数满足第一次数阈值条件且不满足第二次数阈值条件,基于策略梯度算法对训练后的旅程规划模型进行参数调整,得到优化后的旅程规划模型,并将优化后的旅程规划模型作为训练后的旅程规划模型,再次执行基于策略梯度算法对训练后的旅程规划模型进行参数调整。

在本实施例中,上述执行主体在得到累加后的训练次数后,可以响应于训练次数满足第一次数阈值条件且不满足第二次数阈值条件,基于策略梯度算法对训练后的旅程规划模型进行参数调整,得到优化后的旅程规划模型。其中,第一次数阈值条件可以是训练次数等于第一次数阈值,示例性的,第一次数阈值可以是100次;第二次数阈值条件可以是训练次数等于第二次数阈值,示例性的,第二次数阈值可以是200次,需要说明的是,第一次数阈值条件的数值小于第二次数阈值条件的数值。具体的,可以将累加后的训练次数先与第一次数阈值进行比较,若累加后的训练次数大于等于第一次数阈值,则训练次数满足第一次数阈值条件,在训练次数满足第一次数阈值条件的前提下,可以再将累加后的训练次数与第二次数阈值进行比较,若累加后的训练次数小于第二次数阈值,则训练次数不满足第二次数阈值条件。此时,可以将生成初始旅程信息的过程中产生的上下文向量确定为状态信息,将生成初始旅程信息的过程中选取目标地点的步骤确定为动作信息,初始旅程规划模型还可以包括一个判别器,判别器可以基于生成的初始旅程信息生成一个奖励值,可以基于奖励值对训练后的旅程规划模型进行参数调整,将调整后的旅程规划模型确定为优化后的旅程规划模型,并将优化后的旅程规划模型作为训练后的旅程规划模型,再次执行上述训练步骤,具体地,可以基于训练后的旅程规划模型再次执行步骤302-307。

步骤311、响应于训练次数满足第二次数阈值条件,将优化后的旅程规划模型确定为目标旅程规划模型。

在本实施例中,上述执行主体可以响应于训练次数满足第二次数阈值条件,将优化后的旅程规划模型确定为目标旅程规划模型。具体地,可以将累加后的训练次数与第二次数阈值条件进行比较,若累加后的训练次数等于第二次数阈值,则训练次数满足第二次数阈值条件,此时确定训练完成,将优化后的旅程规划模型确定为目标旅程规划模型。

从图3中可以看出,与图2对应的实施例相比,本实施例中的旅程规划模型的训练方法,基于候选地点的类别等信息进行训练,使目标旅程规划模型的规划结果更加合理,例如不会出现连续将两个购物中心作为目标地点的情况;基于上下文向量和时间掩码操作,可以使目标旅程规划模型的规划结果更加个性化,更符合用户需求,提高了用户体验;基于两个次数阈值条件进行训练,提高了训练效率;基于上述方法训练得到的目标旅程规划模型,可以做到端到端的旅程规划,并且可以实时规划,提高了旅程规划效率。

进一步继续参考图4,其示出了根据本公开的旅程规划模型的训练方法的一个示意图400。从图4中可以看出,可以预先获取旅程请求样本和目标旅程样本,从旅程请求样本中读取用户信息、时间预算信息和出发地信息,然后将用户信息和预先确定的多个POI(候选地点信息)进行融合,得到候选向量矩阵,将候选向量矩阵输入到注意力层和前馈网络层中进行计算,得到前馈网络层计算结果,基于前馈网络层计算结果、时间预算信息和出发地信息生成上下文向量,基于时间编码操作对上下文向量进行改进,得到改进的上下文向量,基于改进的上下文向量从未选择的多个候选地点中选取一个候选地点作为下一个目标地点加入到旅程中,再次生成一个新的上下文向量,继续选取目标地点,直到基于时间预算信息计算得到的可用时间不足以再选择一个目标地点,此时选择结束,将选取的多个目标地点按照被选择的先后顺序进行排列,生成一个完整的旅程。可以基于生成的旅程与目标旅程样本计算损失值,基于损失值对旅程规划模型进行优化。重复执行上述训练步骤,当训练次数满足预设的次数阈值条件时,训练结束,得到目标旅程模型。提高了旅程规划的效率和准确率。

在本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。

进一步继续参考图5,其示出了根据本公开的旅程规划方法的一个实施例的流程500。该旅程规划方法包括以下步骤:

步骤501、获取旅程请求,旅程请求包括时间预算信息和出发地信息。

在本实施例中,上述执行主体可以获取旅程请求。其中,旅程请求包括时间预算信息和出发地信息,时间预算信息和出发地信息具体操作已在图3所示的实施例中步骤303进行了详细的介绍,在此不再赘述。

步骤502、将旅程请求输入到目标旅程规划模型中,得到目标旅程。

在本实施例中,上述执行主体在得到旅程请求后,可以将旅程请求输入到目标旅程规划模型中,得到目标旅程。具体地,可以将旅程请求作为输入数据,输入到目标旅程规划模型中,从目标旅程规划模型的输出端,输出目标旅程,其中,目标旅程中包括多个目的地及多个目的地的游玩顺序。

从图5中可以看出,本实施例中的旅程规划方法可以基于预先训练的目标旅程规划模型进行旅程规划,使目标旅程更合理、规划效率更高、更准确。

进一步参考图6,作为对上述旅程规划模型的训练方法的实现,本公开提供了一种旅程规划模型的训练装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图6所示,本实施例的旅程规划模型的训练装置600可以包括获取模块601,训练模块602。其中,获取模块601,被配置为获取训练样本集,其中,训练样本包括旅程请求样本和对应的目标旅程样本;训练模块602,被配置为执行以下训练步骤:从训练样本集中选取一对旅程请求样本和目标旅程样本;基于选取的目标旅程样本和旅程请求样本中的时间预算信息,对初始旅程规划模型进行训练,得到训练后的旅程规划模型;响应于训练次数满足第一次数阈值条件,将训练后的旅程规划模型确定为目标旅程规划模型。

在本实施例中,旅程规划模型的训练装置600:获取模块601,训练模块602的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201-205的相关说明,在此不再赘述。

在本实施例的一些可选实现方式中,旅程规划模型的训练装置600还包括:再执行模块,被配置为响应于训练次数不满足第一次数阈值条件,将训练后的旅程规划模型作为初始旅程规划模型,再次执行训练步骤。

在本实施例的一些可选实现方式中,训练模块602包括:获取子模块,被配置为获取选取的旅程请求样本中的时间预算信息、出发地信息;选取子模块,被配置为基于初始旅程规划模型对时间预算信息、出发地信息以及预先确定的多个候选地点信息进行联合计算,从多个候选地点信息中选出至少一个目标地点信息,并与出发地信息组成初始旅程信息;调整子模块,被配置为基于初始旅程信息和选取的目标旅程样本计算得到损失值,基于损失值对初始旅程规划模型进行参数调整,得到训练后的旅程规划模型。

在本实施例的一些可选实现方式中,初始旅程规划模型包括预处理层、注意力层、前馈网络层和规划层;选取子模块包括:预处理单元,被配置为通过预处理层对多个候选地点信息进行预处理,得到第一向量矩阵;第一计算单元,被配置为将第一向量矩阵输入到注意力层中进行计算,得到第二向量矩阵;第二计算单元,被配置为将第二向量矩阵输入到前馈网络层中进行计算,得到候选向量矩阵;规划单元,被配置为通过规划层对候选向量矩阵、时间预算信息和出发地信息进行联合计算,并基于计算结果从多个候选地点信息中选出至少一个目标地点信息。

在本实施例的一些可选实现方式中,预处理单元包括:转换子单元,被配置为将多个候选地点信息转换为对应的多个向量组,每个向量组中包括坐标嵌入向量、类别嵌入向量和停留时间嵌入向量;第一拼接子单元,被配置为将同一组的坐标嵌入向量、类别嵌入向量和停留时间嵌入向量,拼接为一个第一表征向量;确定子单元,被配置为将得到的多个第一表征向量确定为第一向量矩阵。

在本实施例的一些可选实现方式中,第一计算单元包括:第一计算子单元,被配置为通过注意力层中的多个注意力头,对输入的第一向量矩阵进行计算,得到多个注意力头矩阵;第二拼接子单元,被配置为将多个注意力头矩阵进行拼接,得到第二向量矩阵。

在本实施例的一些可选实现方式中,第二计算单元包括:第二计算子单元,被配置为通过前馈网络层中的多个前馈网络子层,对输入的第二向量矩阵进行非线性变换,得到候选向量矩阵。

在本实施例的一些可选实现方式中,规划单元包括:第三计算子单元,被配置为对候选向量矩阵、时间预算信息和出发地信息进行联合计算,生成一个上下文向量,其中,上下文向量包括可用时间;选取子单元,被配置为基于上下文向量从多个候选地点信息中选出一个目标地点信息;再执行子单元,被配置为响应于可用时间不满足时间阈值条件,再次执行对候选向量矩阵、时间预算信息和出发地信息进行联合计算。

在本实施例的一些可选实现方式中,第三计算子单元包括:拆分子单元层,被配置为对候选向量矩阵进行拆分计算,生成全局表征向量;第一计算子单元层,被配置为对候选向量矩阵、时间预算信息和出发地信息进行联合计算,得到可用时间,并将可用时间转换为可用时间嵌入向量;获取子单元层,被配置为从候选向量矩阵中获取最后被选中的目标地点信息的表征向量;拼接子单元层,被配置为将全局表征向量、可用时间嵌入向量和最后被选中的目标地点信息的表征向量,拼接为上下文向量。

在本实施例的一些可选实现方式中,选取子单元包括:掩码子单元层,被配置为对上下文向量执行时间掩码操作,得到改进的上下文向量;第二计算子单元层,被配置为基于改进的上下文向量计算选择每个候选地点信息的概率;确定子单元层,被配置为将概率最大的候选地点信息确定为目标地点信息。

在本实施例的一些可选实现方式中,训练模块602还包括:再执行子模块,被配置为响应于训练次数满足第一次数阈值条件且不满足第二次数阈值条件,基于策略梯度算法对训练后的旅程规划模型进行参数调整,得到优化后的旅程规划模型,并将优化后的旅程规划模型作为训练后的旅程规划模型,再次执行基于策略梯度算法对训练后的旅程规划模型进行参数调整;确定子模块,被配置为响应于训练次数满足第二次数阈值条件,将优化后的旅程规划模型确定为目标旅程规划模型;其中,第一次数阈值条件的数值小于第二次数阈值条件的数值。

进一步参考图7,作为对上述旅程规划方法的实现,本公开提供了一种旅程规划装置的一个实施例,该装置实施例与图5所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图7所示,本实施例的旅程规划装置700可以包括获取请求模块701,规划模块702。其中,获取请求模块701,被配置为获取旅程请求,旅程请求包括时间预算信息和出发地信息;规划模块702,被配置为将旅程请求输入到目标旅程规划模型中,得到目标旅程。

在本实施例中,旅程规划装置700:获取请求模块701,规划模块702的具体处理及其所带来的技术效果可分别参考图5对应实施例中的步骤501-502的相关说明,在此不再赘述。

根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。

图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。

设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如旅程规划模型的训练方法或旅程规划方法。例如,在一些实施例中,旅程规划模型的训练方法或旅程规划方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的旅程规划模型的训练方法或旅程规划方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行旅程规划模型的训练方法或旅程规划方法。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。服务器可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号