一种旅客行程确定方法、装置及服务器与流程

文档序号:19831719发布日期:2020-02-04 12:30阅读:319来源:国知局
一种旅客行程确定方法、装置及服务器与流程

本发明属于信息处理技术领域,尤其涉及一种旅客行程确定方法、装置及服务器。



背景技术:

在民航领域中,可以将旅客出行全流程的时间段划分为出行前、在途、出行后三个阶段。而在出行前与在途这两个阶段中,存在一类行程未预定完成旅客,具体指未预定好当前完整航程的全部机票的旅客。

相关研究数据表明,在行程未预定完成旅客之中,存在相当一部分的旅客,其相邻两段行程的机票预定时间会至少相隔一天,相应的,在两次机票预定行为之间,很多旅客会形成新的或临时的出行需求,针对这种情况,航空公司往往会向旅客推送相关信息,比如不同城市的机票信息、酒店信息等。

然而,现有技术中的推送方式,仅仅是根据历史数据确定向旅客推送哪些城市的相关信息,由于旅客和相关城市的基数都很大,在发起推送服务时,服务器要处理大量的数据,服务器负载很重,甚至影响服务器的正常运行。

因此,如何确定处于行程未预定完成状态下的旅客的后续目的地,缩小需要推送相关信息的城市的范围,减少服务器需要处理的数据量,降低服务器负载,成为本领域技术人员需要解决的技术问题之一。



技术实现要素:

有鉴于此,本发明的目的在于提供一种旅客行程确定方法、装置及服务器,确定处于行程未预定完成状态下的旅客的后续目的地,缩小需要推送相关信息的城市的范围,减少服务器需要处理的数据量,降低服务器负载,具体方案如下:

第一方面,本发明提供一种旅客行程确定方法,包括:

获取目标旅客第一预设时间段内的航段数据;

解析所述航段数据,确定所述目标旅客的出行城市序列,其中,所述出行城市序列中包括多座出行城市,且各所述出行城市按照出行时间的先后顺序排列;

调用预训练的行程确定模型,所述行程确定模型以标注有终点城市的出行城市序列为训练样本,训练多层神经网络得到;

将所述目标旅客的出行城市序列输入所述行程确定模型,确定所述目标旅客的目标城市。

可选的,所述获取目标旅客第一预设时间段内的航段数据,包括:

获取目标旅客在第一预设时间段内的旅客订座记录pnr信息;

以航段为单位划分所述pnr信息,得到所述目标旅客在所述第一预设时间段内的航段数据。

可选的,所述解析所述航段数据,确定所述目标旅客的出行城市序列,包括:

获取各所述航段数据中的航班时间;

依据所述航班时间的先后顺序排列各所述航段数据,提取每一所述航段数据中的出行城市信息,得到所述目标旅客的出行城市序列。

可选的,本发明第一方面任一项提供的旅客行程确定方法,还包括:

向所述目标旅客推送所述目标城市的预设推送信息。

可选的,训练所述行程确定模型的过程包括:

获取第二预设时间段内多个旅客的出行城市序列样本,其中,所述出行城市序列样本以样本中的终点城市作为标签;

分别确定多层神经网络对各所述出行城市序列样本的输出结果,到对应的所述标签之间的误差,得到各所述出行城市序列样本相对应的误差;

以各所述出行城市序列样本相对应的误差处于预设范围内为训练目标,调整所述多层神经网络的参数,得到行程确定模型。

可选的,所述分别确定多层神经网络对各所述出行城市序列样本的输出结果,到对应的所述标签之间的误差,得到各所述出行城市序列样本相对应的误差,包括:

确定每一所述出行城市序列样本的序列长度,其中,所述序列长度用于表征所述出行城市序列样本中所包含的出行城市的数量;

根据各所述出行城市序列样本的序列长度以及预设划分规则,将全部所述出行城市序列样本划分为多个样本集合;

分别确定多层神经网络对各所述样本集合中的每一所述出行城市序列样本的输出结果,到对应的所述标签之间的误差,得到各所述样本集合中每一所述出行城市序列样本对应的误差。

可选的,本发明第一方面提供的旅客行程确定方法,还包括:

统计训练所述多层神经网络的迭代次数;

若所述迭代次数大于预设训练阈值,将最后一次训练所得模型作为行程确定模型。

第二方面,本发明提供一种旅客行程确定装置,包括:

获取单元,用于获取目标旅客第一预设时间段内的航段数据;

第一确定单元,用于解析所述航段数据,确定所述目标旅客的出行城市序列,其中,所述出行城市序列中包括多座出行城市,且各所述出行城市按照出行时间的先后顺序排列;

调用单元,用于调用预训练的行程确定模型,所述行程确定模型以标注有终点城市的出行城市序列为训练样本,训练多层神经网络得到;

第二确定单元,用于将所述目标旅客的出行城市序列输入所述行程确定模型,确定所述目标旅客的目标城市。

可选的,所述获取单元,用于获取目标旅客第一预设时间段内的航段数据时,具体包括:

获取目标旅客在第一预设时间段内的旅客订座记录pnr信息;

以航段为单位划分所述pnr信息,得到所述目标旅客在所述第一预设时间段内的航段数据。

第三方面,本发明提供一种服务器,包括:存储器和处理器;所述存储器存储有适于所述处理器执行的程序,以实现本发明第一方面任一项所述的旅客行程确定方法。

基于上述本发明提供的旅客行程确定方法,首先获取目标旅客第一预设时间段内的航段数据,然后解析所得航段数据,确定目标旅客的出行城市序列,该出行城市序列中包括多座出行城市,且各出行城市按照出行时间的先后顺序排列,调用预训练的以标注有终点城市的出行城市序列为训练样本,训练多层神经网络得到的行程确定模型,最后将目标旅客的出行城市序列输入行程确定模型,确定目标旅客的目标城市。通过本发明提供的旅客行程确定方法,以目标旅客的出行城市序列为输入参数,调用预训练的行程确定模型,确定处于行程未预定完成状态下的目标旅客有可能出行的目标城市,缩小需要推送相关信息的城市的范围,减少服务器需要处理的数据量,降低服务器负载。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明申请实施例提供的一种旅客行程确定方法的流程图;

图2是本发明申请实施例采用的多层神经网络的结构示意图;

图3是本发明申请实施例提供的一种旅客行程确定装置的结构框图;

图4是本发明申请实施例提供的一种服务器的结构框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1,图1是本发明实施例提供的旅客行程确定方法的流程图,该方法可应用于电子设备,该电子设备可选如笔记本电脑、智能手机、pc(个人计算机)等具有数据处理能力的电子设备,显然,该电子设备在某些情况下也可选用网络侧的服务器实现;参照图1,本发明实施例提供的旅客行程确定方法可以包括:

步骤s100、获取目标旅客第一预设时间段内的航段数据。

为了确定目标旅客在前述两次机票预定行为之间的短暂时间间隔有可能去往的其他城市,首先需要获取第一预设时间段内的航段数据。具体的,对于第一预设时间段的选取,可以结合计算机或服务器的数据处理能力,以及后续述及的行程确定模型的设计要求确定,当然,也可以单纯根据人为经验选取,本发明实施例对于第一预设时间段的选取不做限定。需要说明的是,本发明实施例提供的旅客行程确定方法,同样可以适用于对并非处于行程未预定完成状态的其他旅客有可能去往的城市进行预测。

可选的,为获取目标旅客在第一预设时间段内的航段数据,可以首先获取目标旅客在该第一预设时间段内的所有pnr(passengernamerecord,旅客订座记录)信息,然后以航段为单位划分所得所有的pnr信息,得到目标旅客在第一预设时间段内的所有航段数据。具体的,航段数据中至少包括旅客id、航班起飞日期、始发城市、到达城市、订票时间等信息。根据航段数据所包括的信息可知,一条航段数据对应一条历史航程记录,一条记录代表目标旅客的一次完整航程。

步骤s110、解析航段数据,确定目标旅客的出行城市序列。

如前所述,各航段数据中均包括有航班时间,因此,在得到目标旅客在第一预设时间段内的所有航段数据之后,解析各个航段数据,获取各航段数据中的航班时间,并按照航班时间的先后顺序,排列各航段数据,排列完成后,提取每一条航段数据中的出行城市信息,即可得到目标旅客的出行城市序列。根据出行城市序列的得出过程可知,出行城市序列中应该包括多座出行城市,且各出行城市按照出行时间的先后顺序排列的。

具体的,针对排序后的每一条航段数据,将每个航段数据中的到达城市与相邻的下一个航段数据中的始发城市相连,如果该到达城市与该始发城市相同,则只保留二者中的一个即可。例如:目标旅客相邻的两个航段为北京-上海和上海-香港,那么对应的城市序列中则应对应包含北京、上海和香港。

步骤s120、调用预训练的行程确定模型。

在得到目标旅客的出行城市序列之后,即可调用预先训练得到的行程确定模型。本发明实施例所述及的行程确定模型是以标注有终点城市的出行城市序列为训练样本,训练多层神经网络得到的。下面会对行程确定模型的训练过程进行介绍,此处暂不详述。

步骤s130、将目标旅客的出行城市序列输入行程确定模型,确定目标旅客的目标城市。

调用行程确定模型之后,即可将目标旅客的出行城市序列输入行程确定模型,模型的输出结果即为目标旅客有可能前往的目标城市。

可选的,在确定得到目标旅客有可能前往的目标城市之后,即可向目标旅客推送与目标城市相关的预设推送信息。比如机票信息、酒店信息、旅游景点信息等。

综上所述,通过本发明实施例提供的旅客行程确定方法,可以根据目标旅客已经形成的出行城市序列确定目标旅客有可能前往的目标城市,缩小需要推送相关信息的城市的范围,减少服务器需要处理的数据量,降低服务器负载。

进一步的,还可以帮助航空公司更好的判断行程未完成旅客后续的行程安排,更加合理的为旅客推荐相关的民航产品,有助于对旅客的下一次出行进行精准化、个性化的推荐服务。同时,有助于减少旅客因不必要的信息查询所带来的损失,提升航空公司产品效益以及旅客好感度。

可选的,参见图2,图2是本发明申请实施例采用的多层神经网络的结构示意图,下面结合图2所示的多层神经网络的结构框图对训练行程确定模型的过程进行介绍。

首先,获取第二预设时间段内多个旅客的出行城市序列样本。与图1所示实施例中述及的出行城市序列类似,在训练行程确定模型时所采用的出行城市序列中同样包含多个出行城市,且各出行城市也是按照出行时间的先后顺序排列的,有所不同的是,出行城市序列样本是以样本中的终点城市作为标签的,具体的,对于每一出行城市序列样本而言,终点城市即为按照时间先后排序所得的时间最靠后的出行城市。

需要说明的是,本实施例所述及的第二预设时间段,可以和前述第一预设时间段选取为同一时间段,当然,也可以选取为不同的时间段,本发明申请对于第一预设时间段以及第二预设时间段的选取不做具体限定。

可选的,对于出行城市序列样本,可以是第三方软件或设备处理之后的满足上述要求的样本数据,本发明实施例在训练多层神经网络以得到行程确定模型时,直接使用即可。

当然,也可以将样本数据的处理过程集成到本发明实施例提供的训练方法中。具体的,与前述获取目标旅客的出行城市序列类似,首先采集第二预设时间段内多个旅客的pnr信息,然后以航段为单位划分所得所有的pnr信息,得到所有旅客在第二预设时间段内的所有航段数据。进一步的,解析所得各个航段数据,确定第二预设时间段内的出行城市序列,将终点城市作为标签,得到多个出行城市序列样本。

可选的,将任一旅客对应的出行城市时间序列样本设为idn,则序列样本可以表示为<id1,id2,id3,……idn>。其中,每个出行城市序列样本的长度为n,表示旅客在第二预设时间段内所出行过的所有城市的数量。

然后,分别确定多层神经网络对各出行城市序列样本的输出结果,到对应的标签之间的误差,得到各出行城市序列样本相对应的误差。

可选的,为了解决民航旅客出行记录稀疏性的问题,可以对被选为样本的旅客的出行城市时间序列的数据进行处理,确定每一出行城市序列样本的序列长度,并根据各出行城市序列样本的序列长度以及预设划分规则,将全部出行城市序列样本划分为多个样本集合。比如,根据序列长度重新划分为itny1、itny5和itny10三组样本集合,分别代表序列长度大于1、大于5和大于10的样本集合,其中,序列长度用于表征出行城市序列样本中所包含的出行城市的数量。

在得到多个样本集合之后,即可分别确定多层神经网络对各样本集合中的每一出行城市序列样本的输出结果,到对应的标签之间的误差,得到各样本集合中每一出行城市序列样本对应的误差。并以各出行城市序列样本相对应的误差处于预设范围内为训练目标,调整所述多层神经网络的参数,得到行程确定模型。

具体的,通过对样本集合中的每一条长度为n的训练样本,输入其前n-1个出行城市所构成的出行城市时间序列<id1,id2,id3,……idn-1>输入到多层神经网络中,首先根据所输入的出行城市序列经过图构建模块来构建相应的有向图,同时对于序列中每一个id所对应的出行城市赋予与其id所对应的向量作为出行城市的初始表示<x'1,x'2,x'3……x'n-1>,出行城市序列中的每一个出行城市分别对应于所构建的有向图中一个节点。

然后将对所得城市向量<x'1,x'2,x'3……x'n-1>与所构造的有向图输入到多层神经网络中,如图2所示,其中输入<x1,x2,x3,……xn>为每个节点的特征向量,<h1,h2,h3,……xm>为隐藏层向量,将用输出向量<x'1,x'2,x'3……x'n>作为每个节点经过多层神经网络后所获得的嵌入。基于有向图的结构信息,选定一个节点v,将其城市向量与其周围邻居的城市向量融合所获得的向量输入到长度为1的神经网络中,并将输出的结果作为该节点的新的表示<x″1,x″2,x″3……x″n-1>。

将每个节点所获得新的表示所构成的序列<x″1,x″2,x″3……x″n-1>经过多层神经网络结构最终输出候选集合中每个城市被选中的概率分布<q1,q2,q3,……qm>,并与该样本的真实标签<p1,p2,p3,……pm>(即各出行城市序列样本中的终点城市)计算交叉熵:h(p,q)=-∑i∈mpi*log(qi),其中,p为候选集和中每个标签城市被选中的真实概率分布,候选集m为所需要预测城市的集合,即所有出行城市集合,q表示模型预测的候选集中每个城市的概率分布。损失函数为批次训练时当前批次样本集中所有样本序列作为输入所产生的交叉熵的均值,通过计算损失函数:其中x和x分别表示训练集和其中的相应样本。

经过多次调整多层神经网络的参数后,使得上述误差满足预设的偏差范围要求,即可停止模型的训练过程,得到行程确定模型。

在某些情况下,比如,需要训练的样本数据量巨大,服务器的数据处理能力有限,或者神经网络经过多次训练仍然难以满足预设精度要求的情况下,可以采用其他方法结束训练过程。

可选的,在模型训练的过程中,统计训练多层神经网络的迭代次数。如果迭代次数大于预设训练阈值,即可以停止迭代,并将最后一次训练所得模型作为行程确定模型,从而可以在有限的时间内结束训练过程。

可选的,在得到行程确定模型之后,为验证模型的处理能力,还可采用其他的出行城市序列对模型进行测试。

可选的,在对模型进行测试时,可以采用单独准备的测试样本进行,同样也可以在准备训练模型所使用的训练样本时,单独保存其中的一部分样本数据作为后续使用的测试样本,这都是可选的。

在具体测试时,输入测试样本集中任意一个序列长度为n的测试样本中的前n-1个城市序列<id1,id2,id3,……idn-1>,将候选集中每个出行城市被选中的概率<q1,q2,q3,……qm>作为模型最终的输出。最终输出为候选集和中的城市被选作下一次抵达地的概率分布,通过取概率最大的前k个城市作为推荐城市集,并与测试集的标签进行比对,判断标签所代表的城市是否出现在推荐城市集中,出现则表示命中,未出现则表示未命中,最终通过计算命中的数量和每次命中所在前k个候选集中排名来获取与,其中k表示前k个城市所构成的推荐城市集大小,其中其中g为真实标签集合,rank表示该标签所在相应前k位预测集合中排名,显然排名越高,表示模型预测效果越好。最后可以通过所输出的k个预测地点作为推荐的对象,即目标城市。

下面对本发明实施例提供的旅客行程确定装置进行介绍,下文描述的旅客行程确定装置可以认为是为实现本发明实施例提供的旅客行程确定方法,在中央设备中需设置的功能模块架构;下文描述内容可与上文相互参照。

图3为本发明申请实施例提供的一种旅客行程确定装置的结构框图,参照图3,该装置可以包括:

获取单元10,用于获取目标旅客第一预设时间段内的航段数据;

第一确定单元20,用于解析所述航段数据,确定所述目标旅客的出行城市序列,其中,所述出行城市序列中包括多座出行城市,且各所述出行城市按照出行时间的先后顺序排列;

调用单元30,用于调用预训练的行程确定模型,所述行程确定模型以标注有终点城市的出行城市序列为训练样本,训练多层神经网络得到;

第二确定单元40,用于将所述目标旅客的出行城市序列输入所述行程确定模型,确定所述目标旅客的目标城市。

可选的,获取单元10,用于获取目标旅客第一预设时间段内的航段数据时,具体包括:

获取目标旅客在第一预设时间段内的旅客订座记录pnr信息;

以航段为单位划分所述pnr信息,得到所述目标旅客在所述第一预设时间段内的航段数据。

图4为本发明实施例提供的服务器的结构框图,参见图4所示,可以包括:至少一个处理器100,至少一个通信接口200,至少一个存储器300和至少一个通信总线400;

在本发明实施例中,处理器100、通信接口200、存储器300、通信总线400的数量为至少一个,且处理器100、通信接口200、存储器300通过通信总线400完成相互间的通信;显然,图4所示的处理器100、通信接口200、存储器300和通信总线400所示的通信连接示意仅是可选的;

可选的,通信接口200可以为通信模块的接口,如gsm模块的接口;

处理器100可能是一个中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。

存储器300,存储有应用程序,可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

其中,处理器100具体用于执行存储器内的应用程序,以实现上述所述的旅客行程确定方法的任一实施例。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的核心思想或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1