用于路由路径选择的方法和系统与流程

文档序号:30310462发布日期:2022-06-05 11:39阅读:87来源:国知局
用于路由路径选择的方法和系统与流程

1.本发明总地涉及用于选择路由路径的方法和系统,特别是用于在查询路由路径的详情之前选择路由路径的子集的方法和系统。


背景技术:

2.对网络中的路由(即经由一条或多条边从起始节点到结束节点的路径)的搜索在许多领域都至关重要地相关。如果与图没有什么不同的网络相对简单,则诸如深度优先搜索之类的标准算法可以用来确定所有可能的路由。但是,如果图变大,则这变得不可能。在许多情况下,请求满足单个目标函数的路径,例如应当确定从起始节点到结束节点的最短路径。如果图又不太大,则可以通过应用像dijkstra算法或a*算法之类的算法来解决该问题。然而,实际上,图常常包括数百或数千个节点和边,并且多个目标函数在选择路径时可能对于客户端是相关的。因此,不可能在有限的时间内确定所有可能路由的目标函数并在适用的响应时间内向客户端提供结果。
3.例如,如果必须将数据分组从源计算系统传送到目标计算系统,则可以选择多条路径来路由这些数据分组。如果路由的边可能由不同的运营商或承运者(其可能不与其他运营商合作)提供,则问题变得更加复杂。此外,根据关于资费的规则或网络在不同传输时间的估计利用率,运营商还可以在网络中的同一边上提供不同的数据量和/或传输速度。路由的这些进一步特性可能导致搜索空间的指数增加。
4.另一个示例是对从出发地点到目的地地点的航班路径的搜索。可能有满足请求的由不同的承运者运营的大量可能航班——有或没有中间停靠点。在这些航班中的每一个上,可能应用不同的规则,这些规则定义可以使用哪个或哪些票价(fare)。为了最终构建产品,即具有其详情(航班号、票价、价格、行李等)的特定航班,可能需要向承运者或元提供商平台发送数百或数千条查询。
5.本发明通过将路由路径定义为路由和至少一个特性的组合来解决该问题。然后通过利用机器学习模型过滤这些路由路径,以减少用于查询路由详情的搜索空间。


技术实现要素:

6.本发明由独立权利要求限定。
7.本发明的第一方面涉及一种用于选择路由路径的计算机实现的方法。路由路径包括路由和来自特性集合的至少一个特性,并且该路由至少包括起始节点和结束节点并且由至少一个承运者提供。
8.该方法记录响应于来自客户端设备的请求而选择的路由路径的数据以收集选择的路由路径的历史数据并将选择的路由路径的数据存储在数据存储中。此后,在从数据存储接收的选择路由路径的历史数据上训练机器学习模型。机器学习模型的输出是路由路径的选择预测。响应于来自客户端设备的新请求,确定满足该请求的路由集合,以便通过将该路由集合与来自特性集合的特性组合来确定路由路径集合。将经训练的机器学习模型应用
于路由路径集合以确定选择预测高于阈值的路由路径子集。然后查询路由路径子集的详情并确定有效的路由路径。最后,将有效路由路径的至少一个子集的详情返回给客户端设备。
9.根据本发明的第二方面,提供了一种用于选择路由路径的分布式计算系统。
10.根据本发明的第三方面,提供了一种用于选择路由路径的计算机程序。
11.其他方面由从属权利要求限定。
附图说明
12.实施例的后续描述基于所附的一组附图,其中类似的附图标记指代类似的元素和消息,并且其中:
13.图1a是如本文所述的分布式计算环境的示意性概述;
14.图1b描绘了高性能计算系统并且图1c描绘了根据实施例的推理计算系统;
15.图2给出了本文描述的方法的高级流程图;
16.图3是如何训练机器学习模型的中级演示;
17.图4描绘了如何确定路由路径子集的中级示例;
18.图5a、b和c示出了如何查询路由路径子集的详情、选择有效路由路径并将其返回给客户端设备的示例;
19.图6描绘了本文描述的方法在航班搜索环境中的工作流程;
20.图7给出了如何在航班搜索环境中训练机器学习模型的图;
21.图8给出了如何应用机器学习模型以在航班搜索环境中选择票价路径的图。
22.图9描绘了如何确定有效票价路径;并且
23.图10示出了本文描述的方法在网络路由环境中的工作流程。
具体实施方式
24.如一开始已经概述的,本文描述的方法涉及用于选择路由路径的方法和系统,特别涉及在查询路由路径的详情之前选择路由路径的子集。在开始描述附图之前,给出对在本技术中使用的用语的一些说明。
25.路由是指网络中从起始节点到结束节点的路径。网络被定义为节点和边的组合,其中边连接两个节点。路由还可以包括一个或多个中间节点,但也可以是起始节点和结束节点之间的直接链路。如果起始节点和结束节点相同,例如对于旅行网络中的往返,则通常提供至少一个中间节点。还可以在搜索网络中的可能路由时确定其他中间节点。
26.路由路径通常是指路由和特性集合中的至少一个特性的组合。该特性集合可以包括对要查询的选择路由路径(例如路由或路由的一部分)有用的任何信息。例如,可以确定特性以帮助模型识别最相关的路由路径。
27.例如,如果考虑计算机网络中的路由,则这些路由的特性可能与每秒可以在路由的部分(也称为路由的段)上发送的数据量(例如数据速率或比特率)有关。特性集合然后可以例如包括{非常高,高,中,低,非常低},其中阈值被单独定义并且可以例如是{》1000mbits/s,1000-500mbits/s,500-100mbits/s,100-50mbit/s,《50mbits/s}。
28.然后可以通过如何在网络中路由数据(例如通过哪些中间节点,由哪些运营商提供等)并通过路由的至少一个特性(例如完整路由的高数据速率或由第一运营商提供的第
一段的高数据速率和由第二运营商提供的第二段的非常高的数据速率)来定义路由路径。根据特性集合中的特性的数量以及路由的可能具有不同特性的可能子段,路由路径的数量是路由数量的倍数。
29.现在转向图1a,其是分布式计算环境100的示意性概述,其中可能需要选择路由路径。分布式计算环境100包括全部通过网络110进行连接的服务计算系统101、专用高性能计算系统103、数据存储105、专用推理计算系统107、至少一个客户端设备108和至少一个提供商计算系统109。网络110可以是广域网、全球网、因特网或类似网络,可以是公共网络或专用网络,并且可以包括本领域已知的多个互连网络。
30.服务计算系统101可以是路由专家、旅行内容提供商、预订代理、元搜索提供商等的计算系统,其通过网络110从客户端设备108接收对路由、路由路径和/或确定路由和/或路由路径所需的其他信息的请求。服务计算系统101可以由服务器基础设施中的处理客户端设备108的请求的多个服务器组成。可以在这些服务器上执行多个应用程序以执行本文描述的方法以及执行若干其他任务(未描述)。
31.专用高性能计算系统103专门设计用于训练用于评估路由路径的机器学习模型。专用高性能计算系统103可以是与服务计算系统101相同的服务器基础设施的一部分和/或位于相同位置,但也可以位于远程位置并且独立于服务计算系统101。
32.数据存储105可以包括易失性和非易失性存储器、多层单元闪存、三层单元闪存和/或云存储或备份系统。还应当理解,本文描述的数据存储105可以是多个存储资源的组合,包括但不限于本文引用的那些。数据存储105还可以包括不同的存储技术,可以位于不同的位置,或者也可以是与服务计算系统101相同的服务器基础设施的一部分。数据存储105用于响应于来自客户端设备的请求而记录选择的路由路径的数据,并且还可用于存储服务计算系统101、专用高性能计算系统103或专用推理计算系统107所需或处理的任何其他种类的数据。
33.专门设计用于应用机器学习模型的专用推理计算系统107可以是与服务计算系统101相同的服务器基础设施的一部分和/或位于相同位置,但也可以位于远程位置并且独立于服务计算系统101。专用推理计算系统107可以与专用高性能计算系统103、数据存储105和服务计算系统101连接。该连接可以是诸如网络110之类的网络中的直接链路,但也可以包括间接连接。例如,专用高性能计算系统103可以将数据存储在数据存储105中,数据存储105然后被专用推理计算系统107检索。
34.至少一个客户端设备108可以是请求用来发送数据的路由的计算系统(例如个人计算机、服务器或服务器群、移动电话等)、元搜索引擎的计算系统、旅行社的计算系统或最终用户的计算系统。至少一个客户端设备108通过网络110向服务计算系统101发送请求并且通过网络110接收对其请求的答复。
35.至少一个供应商计算系统109可以是承运者或旅行供应商(例如航空公司或火车公司)的计算系统、移动电话运营商的计算系统、网络运营商的计算系统等。还可以允许至少一个提供商计算系统109将数据存储在数据存储105中或者至少一个提供商计算系统109可以访问分布式计算系统100的其他组件。或者,专用高性能计算系统103、数据存储105和专用推理计算系统107可以从分布式计算系统100的其他组件封装并且只可以由服务计算系统101访问,服务计算系统101具有用来与客户端设备108和提供商计算系统109进行通信
的接口。
36.图1b给出了专用高性能计算系统103的更详细概述。专用高性能计算系统103可以包括服务器1030a、b、c、...、x的集群。每个服务器1030a、b、c、...、x配备有使得能够并行处理机器学习模型的训练的至少一个中央处理单元(cpu)1031和至少一个图形处理单元(gpu)1032。cpu 1031可以是包括多个cpu核心的多核处理器,每个cpu核心包括寄存器、至少一个处理单元(诸如算术逻辑单元(alu)、浮点单元(fpu)等)以及其他可选组件,诸如存储器管理单元(mmu)、共享存储器或高速缓存之类。
37.gpu 1032还可以包括多个gpu核心或流式多处理器(其包括许多不同的组件,诸如至少一个寄存器,至少一个高速缓存和/或共享存储器,以及多个alu、fpu、张量处理单元(tpu)或张量核心),和/或其他可选的处理单元。每个服务器1030a、b、c、...、x还可以包括至少一个存储系统1033(诸如随机存取存储器(ram)、只读存储器(rom)等),以及各种其他组件1034、诸如主板、总线、冷却器等。高性能计算系统还可以包括例如直接在服务器1030a、b、c、...、x上提供和/或在与服务器1030a、b、c、...、x非常接近的存储平台上可用的包括用于高性能访问的数据管理系统的其他存储系统(未示出)。
38.图1c给出了专用推理计算系统107的更详细概述。专用推理计算系统107可以包括至少一个cpu 1071、至少一个gpu 1072、至少一个存储系统1073和/或各种其他组件1074,诸如主板、总线、冷却器等。通常,与专用高性能计算系统103的服务器1030a、b、c、...、x中的服务器相比,专用推理计算系统107包括更少的组件,即更少数量的gpu、cpu、存储系统等。然而,在一些实施例中,专用推理计算系统107可以像专用高性能计算系统103的服务器1030a、b、c、...、x那样配备。
39.在一些实施例中,专用推理计算系统107包括基于硬件的推理加速器架构,也就是说,除了cpu 1071和/或gpu 1072之外,推理计算系统还包括专门设计的芯片1075,例如用于加速神经网络的推理计算的神经处理单元(npu)或在现场可编程门阵列(fpga)和专用集成电路(asic)上实现的用于其他机器学习模型的推理计算的其他硬件加速器单元。基于硬件的推理加速器架构被设计为加速机器学习模型的一段推理计算。例如,专门设计的用于神经网络推理的芯片可以由处理引擎的阵列组成,其中每个处理引擎执行神经网络中的神经元的计算。或者专门设计的用于梯度提升树推理的芯片可以包括许多多个小型静态随机存取存储器(sram),每个sram具有用于更新树的梯度的多个浮点加法器。
40.在图2的高级流程图中给出了本文描述的用于选择路由路径的方法。基本上,方法200包括两个阶段。第一阶段(包括框251至253)可以归因于机器学习模型的训练,第二阶段(包括框254至260)可以归因于机器学习模型的应用。
41.为了使得能够训练机器学习模型,响应于来自客户端设备108的历史请求的选择的路由路径的数据被记录(框251)。服务计算系统101因此可以创建包括与所请求的路由路径有关的信息的文件或数据库条目。在一些实施例中,文件或数据库条目包括:响应于来自客户端设备的历史请求而确定的路由路径,提供给发出请求的客户端设备的相应路由路径,以及由发出请求的客户端设备选择的路由路径。文件或数据库条目还可以包括对后来处理有用的其他数据,诸如从历史请求中提取的数据,中间节点,起始节点、结束节点和/或中间节点的位置的gps信息,请求的时间/日期,路由的提供者等。在其他实施例中,文件或数据库条目可以至少部分地由第三方系统记录。
42.然后,历史数据被存储在数据存储(例如数据存储105)中(框252)。在其他实施例中,历史数据可替代地或附加地被存储在服务计算系统的存储器中。该历史数据此后用于训练机器学习模型(框253)。可以在专用高性能计算系统103处执行该训练。
43.机器学习模型可以是监督或半监督模型。它可以是梯度提升树、神经网络或随机森林之一或其组合。通过重新开始包括新记录的数据的训练,也可以定期(例如每天、每周或每月)更新机器学习模型。训练机器学习模型以输出对路由路径的选择预测。当已经完成训练时,可以将机器学习模式(即模型参数)存储在数据存储105、服务计算系统101、专用推理计算系统103或专用推理计算系统103可以从该位置访问它们的任何合适的其他位置。
44.在机器学习模型的帮助下,可以加速向发出请求的客户端设备呈现/返回路由或路由路径的处理。方法200通过选择有最高概率被客户端设备108选择的路由路径来简化返回给客户端设备108的路由路径的计算。因为可以通过机器学习模型确定最有用的路由路径,因此可以丢弃许多其他路由路径,这减少了搜索空间,即必须查询其详情的路由路径的数量。从而,提高了向客户端设备108呈现路由路径的速度并且降低了计算成本。例如,已经测量出,在确保找到满足客户端设备要求的路由路径的同时,回答客户查询的响应时间减少高达15%并且计算资源的消耗减少高达50%。这些改进对于在专用推理计算系统107上执行机器学习模型的应用的实施例甚至更适用。
45.在来自客户端设备108的请求(框254)之后,确定满足该请求的路由集合。例如,如果客户端设备108请求在服务器网络中将数据分组从服务器a发送到服务器b,则方法200为这些数据分组确定所有可能或适用的路由。假设从服务器a到服务器b的适用路由的数量为3,即从a通过中间服务器1和中间服务器2到服务器b{a=》s1=》s2=》b},从服务器a通过中间服务器2到服务器b{a=》s2=》b},以及从服务器a通过中间服务器1到服务器b{a=》s1=》b}。在一些实施例中,该确定在服务计算系统101处执行,但是在其他实施例中,它也可以在推理计算系统107处执行或在任何其他合适的计算系统处执行或甚至分布在几个计算系统之间。
46.然后,通过将路由集合与来自特性集合的特性组合来确定路由路径集合(框256)。例如,如果特性集合对于可以在上面描述的服务器网络的每个边上预订的数据通道的数量仅包括两个值,例如{1,2},则得到的路由路径集合将包括2^3(对于第一路由)+2^2(对于第二路由)+2^2(对于第三路由)=16条路由路径。因此,可以容易地看出,路由路径的数量可能远高于路由的数量,因此对于许多应用来说,查询所有路由路径的详情变得不可能。
47.对路由路径集合应用经训练的机器学习模型(框257)以减少该集合。在一些实施例中,在专用推理计算系统107处执行机器学习模型的该应用。或者,也可以在服务计算系统101和/或专用高性能计算系统103处执行机器学习模型的推理计算。对路由路径集合中的每条路由路径应用机器学习模型,以使得为每条路由路径计算选择预测。
48.此后,确定路由路径的子集,其阈值(例如百分比阈值)低于选择预测。该确定可以在专用推理计算系统107、高性能计算系统103或服务计算系统101处进行。在一些实施例中,阈值由在分布式计算系统100中运行的应用程序设置或硬编码在确定路由路径子集的计算机程序中。
49.或者,可以根据测量出的用于查询路由路径子集的详情的计算能力来调整阈值。可以测量服务计算系统101当前使用的计算资源,并且由此可以确定这些计算资源的空闲
能力。然后可以通过读取在诸如数据存储105之类的数据存储中存储的表来确定阈值,其中阈值被映射到空闲计算能力。
50.例如,如果服务计算系统101的空闲计算能力被确定为30%,则阈值可被设置为0.5,即每条路由路径都被纳入选择预测高于50%的路由路径子集中。或者,如果服务计算系统101的空闲计算能力被确定为15%,则阈值被设置为0.8,即每条路由路径都被纳入选择预测高于80%的路由路径子集中。这确保——如果计算系统能够查询更多详情——可以向客户端设备提供更多信息,即路由路径的详情的更大集合。
51.然后查询所确定的路由路径子集的详情(框258)。这可以包括查询路由路径的提供者和/或查询详情的本地或第三方数据库,例如数据存储105。详情可以包括最终价格和/或用于选择路由路径(例如用于在服务器网络示例中沿该路径发送数据分组)的规则,例如路由路径的单独规则和/或标准行业规则。在路由路径与航班相关的实施例中,详情还可以包括航班号、出发和/或到达时间、中途经停次数、行李规则以及所包括的餐食。
52.在已经查询路由路径子集的详情之后,确定有效的路由路径(框259)。在一些实施例中,必须分析用于选择路由路径的规则以确定是否可以有效地选择路由路径。在其他实施例中,例如如果客户端设备108已经排除了请求中的一些详情,则基于其他详情确定有效的路由路径。在其他实施例中,详情可以包括使得能够确定路由路径是否是有效路由路径的标志。
53.最后,被查询的详情的至少子集被返回给客户端设备108。在一些实施例中,所有被查询的详情都被返回给客户端设备108,然而,在替代实施例中,仅子集被返回。例如,如上所述,详情可以包括确定路由路径是否可以被客户端设备108选择的规则或标志。这些详情可以不被返回给客户端设备108。在一些实施例中,客户端设备108然后可以选择一个路由路径或甚至多个路由路径,并且/或者向服务计算设备101发送新请求或其他请求。
54.在附加实施例中,在训练机器学习模型时,可以确定路由的对选择的路由路径有影响的至少一个附加特征。例如,对模型的参数和/或经训练的模型的输出的分析可以表明与直接连接的偏差程度可能对路由路径是否被选择有影响。替代地或附加地,可以确定承运者信息(即与提供路由的承运者有关的信息)对路由路径是否被选择有影响。然后,还为每个记录的路由路径确定该至少一个附加特征,并将该至少一个附加特征用作机器学习模型的训练的附加。此外,响应于来自客户端设备108的请求,路由路径集合中的路由的至少一个附加特征被确定并用作机器学习模型的推理计算的附加输入。
55.图3对应于图2的框253并且示出了机器学习模型的训练的更详细但仍是中级的视图。数据存储105中存储的历史数据3531包括通过可选的中间节点(填充节点)从起始节点到结束节点(空节点)的多条路由路径3531a...n。可以看出,每条路由路径都包括路由的信息以及用边的不同阴影描绘的特性。
56.例如,路由路径3531a仅包括节点之间的实线边,其可以对应于特性{1,1,1}。路由路径3531b对应于与路由路径3531a相同的路由,但包括两条实线边和一条短划线边,其可以对应于特性{1,2,1}。路由路径3531c包括实线边和虚线边,其可以对应于特性{1,3}。
57.这些路由路径3531a...n以及其他数据被提供给机器学习模型的训练阶段3532。如果路由路径被提供给客户端设备108,并且如果该路由路径被客户端设备108选择,则其他数据可以包括该路由路径的底层查询的详情。训练产生模型参数,并因此产生经训练的
机器学习模型3533。
58.图4描绘了确定路由路径子集的中级示例,即,它是图2的框355至257的更详细视图。假设客户端设备108请求从起始节点(左上角)到结束节点(右下角)的路由路径的详情。首先455,确定多条路由455a、b、c、d、...,即从起始节点到结束节点的可能路径。然后456,通过将每条路由与可能的特性组合来确定多条路由路径456a、b、c、d、...。这通常将产生比路由多得多的路由路径数量。
59.为了确定路由路径457的子集,通过机器学习模型4533传播所有这些路由路径456a、b、c、d、...,机器学习模型4533对应于机器学习模型3533。如果机器学习模型3533的输出4571(即传播的路由路径456a的选择预测)高于阈值,则路由路径456a被纳入路由路径的子集中。否则它被丢弃。因此,路由路径的结果子集包括更少的路由路径。在一些实施例中,特别是如果在路由路径的集合中存在大量的路由路径456a、b、c、d、...,则优选的是路由路径的子集中的路由路径457a、...的数量小于路由路径456a、b、c、d、...的数量的80%,更优选地小于50%,并且甚至更优选地小于20%。
60.图5a、b和c示出了用于查询路由路径子集的详情、选择有效的路由路径并将详情返回给客户端设备108的实施例。在图5a的实施例中,由虚线557示出,专用推理计算系统107将路由路径的子集返回给服务计算系统101。然后,由虚线558示出,服务计算系统101通过向作为服务计算系统101的一部分的至少一个数据库系统请求数据来查询在路由路径的子集中包括的路由路径的详情。然后,由虚线559示出,服务计算系统101确定有效的路由路径。最后,由虚线560示出,结果(即有效路由路径的至少一个子集的详情的至少一个子集)被返回给客户端设备108。
61.在图5b的替代实施例中,由虚线557示出,专用推理计算系统107将路由路径的子集返回给服务计算系统101。然后,由虚线558a示出,服务计算系统101通过向诸如数据存储105之类的外部数据库系统发送请求来查询在路由路径的子集中包括的路由路径的详情。然后,由虚线558b示出,数据库系统(例如数据存储105)将详情返回给服务计算系统101。然后,由虚线559示出,服务计算系统101确定有效的路由路径。最后,由虚线560示出,结果(即有效路由路径的至少一个子集的详情的至少一个子集)被返回给客户端设备108。
62.在图5c的替代实施例中,由虚线557示出,专用推理计算系统107将路由路径的子集返回给服务计算系统101。然后,由虚线558c示出,服务计算系统101通过向相应路由的承运者(诸如向提供商计算系统109)发送请求来查询在路由路径的子集中包括的路由路径的详情。然后,由虚线558d示出,提供商计算系统109将详情返回给服务计算系统101。然后,由虚线559示出,服务计算系统101确定有效的路由路径。最后,由虚线560示出,结果(即有效路由路径的至少一个子集的详情的至少一个子集)被返回给客户端设备108。
63.图5a、b和c的单独实施例也可以组合和扩展,使得对于一些路由路径,查询提供商计算系统109,对于其他路由路径,查询保存多个提供商的数据的第三方计算系统,并且/或者对于其他或甚至相同的路由路径,可以通过向服务计算系统101包括的数据库或数据存储请求数据来查询一些详情。被查询的第三方计算系统还可以包括提供标准行业规则的数据库。
64.图6描绘了方法200的特定实施例的工作流600,即该方法在航班搜索环境中的应用。如已经提到的,方法200可以分为两部分,机器学习模型的训练部分610和机器学习模型
的应用部分620。
65.在该实施例中,路由是航班路径并且特征集合包括航班路径的定价单位;因此路由路径对应于票价路径。定价单位是例如单程航段、往返行程、单开口行程、双开口行程和环程。这里查询的路由路径子集的详情包括规则和票价,其中规则确定票价是否可以应用于路由路径。确定有效的路由路径包括分析规则。
66.训练部分610在左侧示出了诸如客户端设备108之类的客户端的历史请求611的示例。该请求通常包括对从出发地点到目的地地点的航班的搜索。它还可以包括行程的日期/时间、强制中间停站和/或附加参数。
67.框613示出了在没有应用机器学习模型来确定票价路径子集的情况下在服务计算系统101上执行的处理。首先,确定满足请求611的可能航班路径613a。然后,确定可能的票价路径613b,即航班路径与可能的定价单位组合。然后,为这些票价路径加载规则和票价613c。
68.大多数航空公司具有大量不同的资费,这些资费可以根据称为资费组合的限制集合进行定价。每个资费组合具有不同的规则集合,这些规则集合从与其他航空公司的可能组合到地理规则(诸如国内)而不同。与可能组合有关的规则相当灵活并且可以由航空公司容易地改变。因此,它们不是可以容易分析的。相比之下,票价路径随着时间的推移是稳定的。因此,尽管票价和规则的波动,但这些票价和规则后面的票价路径仍然有效。
69.由于多个票价可能应用于一个票价路径,例如商务旅行的票价和经济旅行的票价,因此提供商可以限制某些票价在特定路由上的使用,并且/或者规则可以定义其他限制等,进行组合处理613d以构建用作对用户的建议613e的最终且有效的票价路径。附加地或替代地,历史数据可以被模拟,框613包括的所有动作可以由客户端请求模型的模拟产生。所使用的票价路径613f(即客户端所预订的推荐背后的票价路径)以及推荐613e和原始构建的票价路径613b被记录,这由线614描绘。
70.记录的历史数据615(即来自框613的多次执行的数据)然后存储在数据库(例如数据存储105)中。利用该数据,例如在专用高性能计算系统103上训练617机器学习模型。该模型可以是梯度提升树、神经网络或随机森林中的一种或其组合。
71.应用部分620(即包括机器学习模型的执行的部分)在右侧示出了诸如客户端设备108之类的客户端的新请求621的示例。该请求包括对从出发地点到目的地地点的航班的搜索。它还可以包括行程的日期/时间、强制中间停站和/或附加参数。
72.框623示出了在服务计算系统101上执行的处理,包括应用经训练的机器学习模型以确定票价路径的子集。首先,再次确定满足请求611的可能航班路径623a。然后,确定可能的票价路径623b,即航班路径与可能的定价单位组合。这些动作与动作613a和613b相同。
73.然而,票价路径623b在这里被发送到例如在专用推理计算机器107上执行的受训练的机器学习模型625。该发送由线614描绘。机器学习模型625然后对票价路径进行评分,即确定选择预测并返回票价路径的子集,这由线626描绘。仅对于票价路径的该子集,即过滤后的票价路径623c,查询票价和规则623d。然后,组合处理623e构建最终有效的票价路径。这些用作对客户端的推荐623f,其作为响应627而被发送到客户端,诸如客户端设备108。
74.图7给出了如何在航班搜索实施例中训练机器学习模型的示例图。在左侧,描绘了
之前已经记录的多个票价路径701a

n,即票价路径的历史数据。例如,票价路径701a是包括从尼斯到洛杉矶并且再返回的航班路径的票价路径,该航班路径具有往返行程的特性,即定价单位。票价路径701b是包括从慕尼黑经法兰克福到马略卡岛帕尔马再经巴塞罗那返回的航班路径的票价路径,该航班路径包括环程的特性(即定价单位),这可能意味着所有航段由一个承运者提供或由承运者联盟提供。票价路径701b是包括从慕尼黑经法兰克福到马略卡岛帕尔马再经巴塞罗那返回的航班路径的票价路径,该航班路径包括环程的特性(即定价单位),这可能意味着所有航段由一个承运者提供或由承运者联盟提供。
75.在机器学习模型的训练703期间提供这些票价路径701a

n和进一步的数据705,即对票价路径的底层查询的详情,票价路径是否被提供给客户端设备108,以及票价路径是否最终被客户端设备108预订。机器学习模型可以是梯度提升树、神经网络或随机森林中的一种或其组合。机器学习模型也可以是适合解决底层问题的任何其他适用的机器学习模型。结果然后是经训练的机器学习模型707,即所确定的用来建立用于在旅行上下文中使用的机器学习模型的参数,其中机器学习模型被训练为预测将选择相应票价路径的概率。
76.在一个实施例中,可以确定对选择的路由路径有影响的路由的至少一个附加特征709。例如,对模型的参数和/或经训练的模型的输出的分析可以表明与直接连接的偏差程度可能对选择路由路径与否有影响。替代地或附加地,可以确定承运者信息(即与提供路由的承运者有关的信息)对选择路由路径与否有影响。然后为每个票价路径701a

n确定该至少一个附加特征,并且还将该至少一个附加特征用作训练的附加输入。然后,在机器学习模型707的应用期间,也为票价路径确定该附加特征。
77.图8示出了在对从尼斯到洛杉矶再返回尼斯的连接的请求的示例上如何应用机器学习模型以在航班搜索环境中选择票价路径。在确定航班路径(未示出)之后,确定票价路径801a

m,其可以例如是没有中间停站的往返行程801a。票价路径也可以是具有中间停站并由不同的承运者运营的航班,其特征在于像票价路径801b那样的两个单开口行程。票价路径还可以包括环程801c或者可以是几个定价单位801m的组合。然后通过机器学习模型803传播这些票价路径801a

m。输出805然后是票价路径的选择预测,然后将其与阈值进行比较。例如,如果阈值在该示例中是0.5,则至少票价路径801a、801c和801m将找到进入票价路径子集的方法。
78.在一些实施例中,计算每个票价路径的与附加特征709相对应的至少一个附加特征807,其另外用作机器学习模型的输入。由此,可以显著改进模型输出805。
79.图9描绘了如何根据票价路径和所查询的详情确定有效的票价路径。由第903行示出,例如从已经通过利用机器学习模型确定的票价路径的提供者查询这些票价路径901的子集的详情。这些详情包括票价和规则905。在该示例中,“票价和规则1”905a和“票价和规则2”905b可以是来自klm的票价和规则,“票价和规则3”905c和“票价和规则4”905d可以是来自法航的票价和规则,并且可能有许多其他为票价路径901提供票价和规则的提供者。所查询的详情还可以包括进一步的航班数据,诸如航班号、出发/到达时间等。或者,这样的数据也可能已经由航班路径或票价路径包括。
80.由线907示出,票价和规则905用于根据票价路径构建最终产品,即一组有效的票价路径909被确定。如果票价根据规则是适用的,则最终产品被构建。有效票价路径909的详情可以是票价和规则905的详情的子集。在该示例中,票价路径901a与票价和规则905a组合
以构建有效票价路径909a。在一些实施例中,所有有效的票价路径909被返回给客户端设备108以供用户或程序显示和选择票价路径。在其他实施例中,仅其子集被返回给客户端设备。
81.图10示出了本文描述的方法在网络路由环境中的工作流程。如已经提到的,方法200可以分为两部分,机器学习模型的训练部分1010和机器学习模型的应用部分1020。
82.在该实施例中,路由是网络中用来传输数据分组的连接路径,并且特性集合包括不同的传输速度和/或可传输的数据量。训练部分1010在左侧示出了诸如客户端设备108之类的客户端的历史请求1011的示例。对连接路径的请求通常至少包括例如由网络中的ip地址指定的起始节点和结束节点。请求还可以包括要发送到结束节点的多个数据分组。
83.框1013示出了在没有应用机器学习模型来确定路由路径的子集的情况下在服务计算系统101上执行的处理。因此,可能的连接路径被确定并与特性组合以确定路由路径集合。然后,确定这些路由路径的详情。组合处理确定有效的路由路径,并将它们的至少一个子集提供给发出请求的客户端。所选择(即所使用)的路由路径、所提供的路由路径和最初确定的路由路径集合被记录,这由线1014描绘。
84.所记录的历史数据1015(即来自框1013的多次执行的数据)然后存储在数据库(例如数据存储105)中。利用该数据,例如在专用高性能计算系统103上训练1017机器学习模型。该模型可以是梯度提升树、神经网络或随机森林中的一种或其组合。
85.应用部分1020(即包括机器学习模型的执行的部分)在右侧示出了诸如客户端设备108之类的客户端的新请求1021的示例。请求1021是作为请求1011的连接请求。框1023示出了在服务计算系统101上执行的处理,包括应用经训练的机器学习模型以确定票价路径的子集。
86.与处理1013的差异基本上是路由路径集合被发送到包括经训练的机器学习模型的模型后端1025。然后,机器学习模型确定具有高于阈值的选择概率的路由路径的子集,并将该子集返回给服务计算系统101,由线1026示出。仅对于路由路径的该子集,查询详情并构建最终有效的路由路径,其作为响应1027而被发送到客户端,诸如客户端设备108。
87.在另一个实施例中,提供了一种包括指令的计算机程序。当程序由计算机执行时,这些指令使该计算机执行本文描述的方法。
88.应当理解,虽然本文已经描述了本发明的特定实施例和变型,但进一步的修改和替代对于相关领域的技术人员来说将是清楚的。具体而言,通过示出本发明的原理的方式提供这些示例,并提供用于将这些原理付诸实施的许多具体方法和布置。
89.所描述的方法和系统简化了技术领域中的结果的计算,其中结果包括遵循图形或序列结构的组件的复杂组合。在历史数据上训练机器学习模型,以学习对值进行预测和针对形成结果的最终组合选择具有最高值的图形或序列类型。该方法在运行时用于生成请求的结果,以优先考虑图的最有价值的子部分,从而减少这些图上的组件组合的搜索空间,从而改善产品并降低计算成本。本文描述的方法可以应用于组件的抽象层,从而消除对所有可能的组件集进行评估的需要。
90.尽管本文描述的方法中的机器学习模型用于创建路由路径的子集,例如以过滤票价路径,但是本领域技术人员将知道算法也可以由这些模型驱动并引导对底层问题图的探索。
91.因此,为了教导本发明的一般特征和原理,所描述的实施例应被理解为通过示例的方式提供,但不应被理解为限制如在所附权利要求中限定的本发明的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1