航班推送方法及装置
文献发布时间:2023-06-19 09:46:20
技术领域
本发明涉及计算机技术领域,特别是涉及一种航班推送方法及装置。
背景技术
随着客运航空的飞速发展,飞机逐渐成了很多人在出行时的选择。为了增加航班的上座率,航空公司通常会以打折等活动形式吸引客户购买某个航班的机票。虽然航空公司已经对航班的机票进行打折,但大多情况下,该航班仍然存在库存机票未销售出去的情况。
目前各个航班的机票是在用户需要出行,才会根据用户出行计划在购票网站上进行购票,当航班存在打折的库存机票时,用户也需要主动搜索后才能获知机票的打折情况。因此,在现有技术中,用户无法及时获知哪个航班有打折的机票,航空公司也无法根据各个航班的折扣信息查找潜在客户进行推送,影响航班的上座率。
发明内容
有鉴于此,本发明提供一种航班推送方法,通过该方法,应用神经网络模型对航班特征数据和各个用户特征数据进行分析,主动寻找航班的潜在客户,并向用户推送该航班的活动信息,以提高航班的上座率。
本发明还提供了一种航班推送装置,用以保证上述方法在实际中的实现及应用。
一种航班推送方法,包括:
扫描各个航班的座位信息,并基于各个所述航班的座位信息,判断各个所述航班中是否存在库存航班,所述库存航班为存在未出售座位的航班;
若各个所述航班中存在库存航班,则获取所述库存航班的航班信息,并基于所述航班信息,生成所述库存航班对应的航班特征数据;
获取预先存储的各个用户的用户ID,并在预先设置的数据库中查询与每个所述用户ID对应的用户特征数据;
将所述航班特征数据及各个所述用户特征数据输入预先训练完成的神经网络模型中,获得所述神经网络模型输出的所述库存航班与每个所述用户分别对应的匹配值;
确定满足预设阈值的各个匹配值,并将满足所述预设阈值的每个所述匹配值对应的用户设定为目标用户;
获取所述库存航班的航班活动信息,并向各个所述目标用户推送所述库存航班的航班活动信息。
上述的方法,可选的,所述基于所述航班信息,生成所述库存航班对应的航班特征数据,包括:
获取所述航班信息中所述库存航班对应的出发地、目的地及出发时间;
获取预先设置的所述出发地及目的地对应的航线标识号;
基于所述出发时间,确定所述库存航班的出行季节、第一日期类型和第二日期类型,所述第一日期类型为节假日或非节假日,所述第二日期类型为周末或非周末;
获取所述出行季节对应的季节标识号、所述第一日期类型对应的第一日期标识号,及所述第二日期类型对应的第二日期标识号;
基于所述航线标识号、季节标识号、第一日期标识号及第二日期标识号,生成所述库存航班对应的航班特征数据。
上述的方法,可选的,训练所述神经网络模型的过程,包括:
获取预先设置的训练数据集,及所述训练数据集中每个训练数据对应的训练标签,每个所述训练数据为用于模型训练的用户特征数据及航班特征数据组成的组合数据;
将所述训练数据集中的各个训练数据依次输入所述神经网络模型,通过所述神经网络模型的多个训练层对各个所述训练数据进行训练,直至获得所述神经网络模型中最后一个训练层输出的训练结果满足预设的训练条件时,结束对所述神经网络模型的训练;所述神经网络模型的各个训练层分别为输入层、嵌入层、特征交互层和输出层;
其中,将所述训练数据集中的各个训练数据依次输入所述神经网络模型时,获取当前输入所述神经网络模型的训练数据的当前训练结果;基于所述训练数据对应的训练标签,计算所述当前训练结果对应的损失值;判断所述损失值是否满足预设的训练条件;若不满足,则基于所述损失值及预先设置的梯度下降算法,更新所述神经网络模型中的各个模型参数,并继续对所述神经网络模型进行训练;若满足,则结束对所述神经网络模型的训练。
上述的方法,可选的,所述将所述训练数据集中的各个训练数据依次输入所述神经网络模型,通过所述神经网络模型的多个训练层对各个所述训练数据进行训练,包括:
将所述训练数据集中的各个训练数据依次输入所述神经网络模型的输入层,触发所述输入层应用预先设置的独热编码one-hot,将各个所述训练数据转换成特征向量;
将每个所述训练数据对应的特征向量依次输入所述神经网络模型的嵌入层,触发所述嵌入层将各个所述特征向量依次转换成稠密向量;
将每个所述训练数据对应的稠密向量依次输入所述神经网络模型的特征交互层,触发所述特征交互层应用预先设置的DNN算法、FM算法和Multi-Head Attention算法,计算每个所述稠密向量对应的训练数据中用户特征数据和航班特征数据之间的交互关系,获得所述特征交互层中输出的每个所述训练数据对应的第一参数值、第二参数值及第三参数值;
将各个所述训练数据对应的第一参数值、第二参数值及第三参数值,依次输入所述神经网络模型的输出层,触发所述输出层对每个所述训练数据对应的第一参数值、第二参数值及所述第三参数值进行最终处理,输出各个所述训练数据对应的训练结果。
上述的方法,可选的,结束对所述神经网络模型的训练后,还包括:
获取预先设置的测试数据集,及所述测试数据集中每个测试数据对应的测试标签,每个所述测试数据为用于测试所述神经网模型性能的用户特征数据及航班特征数据组成的组合数据;
将各个所述测试数据依次输入所述神经网络模型中,触发所述神经网络模型依次输出每个所述测试数据对应的测试结果,直至结束对所述神经网络模型的测试;
其中,基于当前输入所述神经网络模型的测试数据对应的测试标签,判断所述神经网络模型当前输出的测试结果是否满足预设的测试条件;若所述神经网络模型当前输出的测试结果不满足所述测试条件,则基于所述测试结果调整所述神经网络模型中的各个模型参数,并判断所述当前输入所述神经网络模型的测试数据是否为最后一个测试数据;若否,则继续输入下一测试数据对所述神经网络模型进行测试;若是,则保存所述神经网络模型,并结束对所述神经网络模型的测试。
一种航班推送装置,包括:
判断单元,用于扫描各个航班的座位信息,并基于各个所述航班的座位信息,判断各个所述航班中是否存在库存航班,所述库存航班为存在未出售座位的航班;
生成单元,用于若各个所述航班中存在库存航班,则获取所述库存航班的航班信息,并基于所述航班信息,生成所述库存航班对应的航班特征数据;
查询单元,用于获取预先存储的各个用户的用户ID,并在预先设置的数据库中查询与每个所述用户ID对应的用户特征数据;
匹配单元,用于将所述航班特征数据及各个所述用户特征数据输入预先训练完成的神经网络模型中,获得所述神经网络模型输出的所述库存航班与每个所述用户分别对应的匹配值;
确定单元,用于确定满足预设阈值的各个匹配值,并将满足所述预设阈值的每个所述匹配值对应的用户设定为目标用户;
推送单元,用于获取所述库存航班的航班活动信息,并向各个所述目标用户推送所述库存航班的航班活动信息。
上述的装置,可选的,所述生成单元,包括:
第一获取子单元,用于获取所述航班信息中所述库存航班对应的出发地、目的地及出发时间;
第二获取子单元,用于获取预先设置的所述出发地及目的地对应的航线标识号;
第一确定子单元,用于基于所述出发时间,确定所述库存航班的出行季节、第一日期类型和第二日期类型,所述第一日期类型为节假日或非节假日,所述第二日期类型为周末或非周末;
第三获取子单元,用于获取所述出行季节对应的季节标识号、所述第一日期类型对应的第一日期标识号,及所述第二日期类型对应的第二日期标识号;
生成子单元,用于基于所述航线标识号、季节标识号、第一日期标识号及第二日期标识号,生成所述库存航班对应的航班特征数据。
上述的装置,可选的,还包括:
第一获取单元,用于获取预先设置的训练数据集,及所述训练数据集中每个训练数据对应的训练标签,每个所述训练数据为用于模型训练的用户特征数据及航班特征数据组成的组合数据;
训练单元,用于将所述训练数据集中的各个训练数据依次输入所述神经网络模型,通过所述神经网络模型的多个训练层对各个所述训练数据进行训练,直至获得所述神经网络模型中最后一个训练层输出的训练结果满足预设的训练条件时,结束对所述神经网络模型的训练;所述神经网络模型的各个训练层分别为输入层、嵌入层、特征交互层和输出层;
其中,将所述训练数据集中的各个训练数据依次输入所述神经网络模型时,获取当前输入所述神经网络模型的训练数据的当前训练结果;基于所述训练数据对应的训练标签,计算所述当前训练结果对应的损失值;判断所述损失值是否满足预设的训练条件;若不满足,则基于所述损失值及预先设置的梯度下降算法,更新所述神经网络模型中的各个模型参数,并继续对所述神经网络模型进行训练;若满足,则结束对所述神经网络模型的训练。
上述的装置,可选的,所述训练单元,包括:
第一输入子单元,用于将所述训练数据集中的各个训练数据依次输入所述神经网络模型的输入层,触发所述输入层应用预先设置的独热编码one-hot,将各个所述训练数据转换成特征向量;
第二输入子单元,用于将每个所述训练数据对应的特征向量依次输入所述神经网络模型的嵌入层,触发所述嵌入层将各个所述特征向量依次转换成稠密向量;
第三输入子单元,用于将每个所述训练数据对应的稠密向量依次输入所述神经网络模型的特征交互层,触发所述特征交互层应用预先设置的DNN算法、FM算法和Multi-HeadAttention算法,计算每个所述稠密向量对应的训练数据中用户特征数据和航班特征数据之间的交互关系,获得所述特征交互层中输出的每个所述训练数据对应的第一参数值、第二参数值及第三参数值;
第四输入子单元,用于将各个所述训练数据对应的第一参数值、第二参数值及第三参数值,依次输入所述神经网络模型的输出层,触发所述输出层对每个所述训练数据对应的第一参数值、第二参数值及所述第三参数值进行最终处理,输出各个所述训练数据对应的训练结果。
上述的装置,可选的,还包括:
第二获取单元,用于获取子单元获取预先设置的测试数据集,及所述测试数据集中每个测试数据对应的测试标签,每个所述测试数据为用于测试所述神经网模型性能的用户特征数据及航班特征数据组成的组合数据;
测试单元,用于将各个所述测试数据依次输入所述神经网络模型中,触发所述神经网络模型依次输出每个所述测试数据对应的测试结果,直至结束对所述神经网络模型的测试;
其中,基于当前输入所述神经网络模型的测试数据对应的测试标签,判断所述神经网络模型当前输出的测试结果是否满足预设的测试条件;若所述神经网络模型当前输出的测试结果不满足所述测试条件,则基于所述测试结果调整所述神经网络模型中的各个模型参数,并判断所述当前输入所述神经网络模型的测试数据是否为最后一个测试数据;若否,则继续输入下一测试数据对所述神经网络模型进行测试;若是,则保存所述神经网络模型,并结束对所述神经网络模型的测试。
一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述的航班推送方法。
一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行上述的航班推送方法。
与现有技术相比,本发明包括以下优点:
本发明提供了一种航班推送方法,包括:扫描各个航班的座位信息,并基于各个所述航班的座位信息,判断各个所述航班中是否存在库存航班,所述库存航班为存在未出售座位的航班;若各个所述航班中存在库存航班,则获取所述库存航班的航班信息,并基于所述航班信息,生成所述库存航班对应的航班特征数据;获取预先存储的各个用户的用户ID,并在预先设置的数据库中查询与每个所述用户ID对应的用户特征数据;将所述航班特征数据及各个所述用户特征数据输入预先训练完成的神经网络模型中,获得所述神经网络模型输出的所述库存航班与每个所述用户分别对应的匹配值;确定满足预设阈值的各个匹配值,并将满足所述预设阈值的每个所述匹配值对应的用户设定为目标用户;获取所述库存航班的航班活动信息,并向各个所述目标用户推送所述库存航班的航班活动信息。应用本发明提供的方法,通过神经网络模型确定与库存航班相匹配的用户,通过向用户推送库存航班的航班活动信息,提高库存航班的上座率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种航班推送方法的方法流程图;
图2为本发明实施例提供的一种航班推送方法的又一方法流程图;
图3为本发明实施例提供的神经网络模型各个训练层的结构示意图;
图4为本发明实施例提供的一种航班推送装置的装置结构图;
图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本发明实施例提供了一种航班推送方法,该方法可以应用在多种系统平台,其执行主体可以为计算机终端或各种移动设备的处理器,所述方法的方法流程图如图1所示,具体包括:
S101:扫描各个航班的座位信息,并基于各个所述航班的座位信息,判断各个所述航班中是否存在库存航班,所述库存航班为存在未出售座位的航班;
在本发明实施例中,各个航班的座位信息中包含其对应的航班的各个座位的当前售卖情况,通过各个航班的座位信息,确定是否存在库存航班,即判断各个航班中是否存在座位未出售完的航班。
S102:若各个所述航班中存在库存航班,则获取所述库存航班的航班信息,并基于所述航班信息,生成所述库存航班对应的航班特征数据;
在本发明实施例中,若各个航班中存在库存航班,则获取该库存航班的航班信息。其中,库存航班的航班信息包括航班的出发地、目的地、出发时间、航班号、座位类别等。根据该库存航班的航班信息,生成其对应的航班特征数据。
S103:获取预先存储的各个用户的用户ID,并在预先设置的数据库中查询与每个所述用户ID对应的用户特征数据;
在本发明实施例中,数据库中包含了多个用户的用户特征数据,用户特征数据具体可以包括:用户的姓名、性别、年龄、常住城市、出行季节偏好、周末出行偏好、节假日出行偏好、舱位偏好和常去目的地等特征等。通过用户ID查找数据库中每个用户对应的用户特征数据。
其中,用户在初次购买机票时,为用户分配一个用户ID或者以用户的名称或其他特有的特征作为该用户的用户ID。基于用户在初次购买机票时所填写的个人信息,生成用户的用户特征数据,并将该用户特征数据保存至数据库中。当用户再次购买任意航班的机票时,再次根据用户每次购买的航班的机票,更新数据库中该用户的用户特征数据。其中,在用户特征数据中用户的性别分为男、女或缺失三种情况;根据用户的年龄,可以将用户分为青年、中年或者老年;用户的常驻城市用城市对应的符号表示,例如,香港为HK、深圳为SZX等。用户季节偏好、周末出行偏好和节假日出行偏好通过统计用户的历史订票信息,确定用户比较喜欢出行的季节、是否喜欢周末和节假日出行。舱位偏好和常去目的地则根据用户历史订票信息确定用户比较喜欢购买的舱位以及订票次数最多的目的地。
S104:将所述航班特征数据及各个所述用户特征数据输入预先训练完成的神经网络模型中,获得所述神经网络模型输出的所述库存航班与每个所述用户分别对应的匹配值;
在本发明实施例中,神经网络模型经过大量的数据进行训练,训练完成后的神经网络模型可以根据输入的用户特征数据和航班特征数据,计算各个用户与库存航班之间的匹配值。通过该神经网络模型预测数据库内各个用户特征数据对应的用户购买该库存航班的机票的可能性,用户与该库存航班的匹配值越高,用户购买该库存航班的机票的可能性就越高。
S105:确定满足预设阈值的各个匹配值,并将满足所述预设阈值的每个所述匹配值对应的用户设定为目标用户;
在本发明实施例中,通过预设阈值来划分高匹配值和低匹配值,满足该预设阈值的各个匹配值均为高匹配值,高匹配值对应的用户购买该库存航班的机票可能性较高,因此将满足该预设阈值的每个匹配值对应的用户设定为该库存航班的机票推送的目标用户。
S106:获取所述库存航班的航班活动信息,并向各个所述目标用户推送所述库存航班的航班活动信息。
在本发明实施例中,为提高用户对库存航班的机票的购买率,获取该库存航班的航班活动信息,并向各个目标用户推送该航班活动信息。该航班活动信息中包括航班号、出行时间、出发地、目的地、舱位价格、活动舱位、餐食情况等信息。
本发明实施例提供的航班推送方法中,扫描各个航班的座位信息,以基于各个座位信息判断每个座位信息对应的航班是否存在剩余的座位,即确定各个航班中是否存在库存航班。若存在库存航班,则获取库存航班的航班信息,并基于该航班信息生成该库存航班对应的航班特征数据。根据已经存储的各个用户的用户ID,获取数据库中每个用户ID对应的用户特征数据,将航班特征数据和用户特征数据输入至神经网络模型当中,以获得该模型输出各个用户与该库存航班之间的匹配值。在各个匹配值对应的用户中,选取满足预设阈值的匹配值对应的用户为推送该库存航班的目标用户,并获取该库存航班的航班活动信息,将航班活动信息向各个目标用户推送。
需要说明的是,该神经网络模型可以同时根据多个航班特征数据和多个用户特征数据,对多个库存航班和多个用户进行匹配。当向神经网络模型输入多个航班特征数据和多个用户特征数据,该神经网络模型将输出每个用户与各个库存航班之间的匹配值。若存在任意多个库存航班与一个用户之间的匹配值均满足预设阈值,则将满足预设阈值的匹配值的各个库存航班推送给该用户。
还需要说明的是,本发明实施例提供的航班推送方法中,为提高各个航班的上座率,可以预先设定扫描各个航班的座位信息对应的扫描周期,按照该扫描周期扫描各个航班的座位信息,以确定各个航班座位的销售情况,并及时向用户推送座位未出售完的航班。
应用本发明实施例提供的方法,获取库存航班的航班特征数据以及数据库中各个用户的用户特征数据,由神经网络模型对航班特征数据和各个用户特征数据进行分析,确定该库存航班与各个用户之间的匹配值,并根据匹配值将该库存航班的航班活动信息推送给满足条件的用户,以提高该库存航班的上座率。
本发明实施例提供的方法中,基于上述S102的内容,在确定各个航班中存在库存航班后,需要获取该库存航班的航班特征数据,以通过神经网络模型对该航班特征数据及各个用户特征数据进行分析,确定各个用户与该库存航班之间的匹配值。其中,参考图2,所述基于所述航班信息,生成所述库存航班对应的航班特征数据的过程,可以包括:
S201:获取所述航班信息中所述库存航班对应的出发地、目的地及出发时间;
在本发明实施例中,库存航班的航班信息中除出发地、目的地和出发时间之外,还可以包括航班号、航班类型、座位类别等信息。
S202:获取预先设置的所述出发地及目的地对应的航线标识号;
在本发明实施例中,航线标识号由出发地对应的城市符号和目的地对应的城市符号组成;例如:库存航班的出发地为上海,则其对应的城市符号为SHH,目的地为深圳,则其对应的城市符号为SZX,由此,该库存航班的航线标识号可以为SHH-SZX。
S203:基于所述出发时间,确定所述库存航班的出行季节、第一日期类型和第二日期类型,所述第一日期类型为节假日或非节假日,所述第二日期类型为周末或非周末;
在本发明实施例中,根据该出发时间,确定该库存航班的出行季节是在春季、夏季、秋季还是冬季;确定该库存航班的出行时间是否是节假日还是非节假日;确定该库存航班的出行时间是周末还是非周末。
S204:获取所述出行季节对应的季节标识号、所述第一日期类型对应的第一日期标识号,及所述第二日期类型对应的第二日期标识号;
在本发明实施例中,在确定该库存航班对应的出行季节、第一日期类型和第二日期类型后,分别获取该出行季节、第一日期类型和第二日期类型对应的标识号,即获取季节标识号、第一日期标识号和第二日期标识号。
例如,出行季节包括春季、夏季、秋季和冬季,每个季节对应的标识号可以为A1、A2、A3和A4;第一日期类型为节假日和非节假日,则节假日和非节假日对应的标识号可以为B1和B2;第二日期类型为周末和非周末,则周末和非周末对应的标识号可以为C1和C2。若该库存航班的出行时间为2020年10月1日,则其对应的出行季节为秋季、第一日期类型为节假日、第二日期类型为非周末,此时的季节标识号为A3、第一日期标识号为B1以及第二日期标识号为C2。
S205:基于所述航线标识号、季节标识号、第一日期标识号及第二日期标识号,生成所述库存航班对应的航班特征数据。
在本发明实施例中,航班特征数据由航线标识号、季节标识号、第一日期标识号及第二日期标识号组成。例如,该库存航班的出发地为上海,目的地为深圳,出行时间为2020年10月1日,则该航班特征数据可以是SHH-SZX/A3/B1/C2。
需要说明的是,本发明提供的实施例中,各个标识号的具体表现形式及航班特征数据中各个标识号的顺序可以按照实际应用环境进行调整,此处不做任何的限定。
本发明实施例提供的航班推送方法中,获取航班信息中该库存航班对应的出发地、目的地及出发时间,以根据该出发地和目的地,确定该库存航班对应的航线标识号;再通过出发时间确定该库存航班对应的季节标识号、第一日期标识号和第二季节标识号。基于航线标识号、季节标识号、第一日期标识号和第二季节标识号生成该库存航班对应的航班特征数据。
可选的,在生成航班特征数据的过程中,为提高用户与航班之间的匹配度,除了通过航线、季节、节假日及周末的航班特征确定航班特征数据之外,还可以结合航班号、舱位类型等航班特征确定航班特征数据。
应用本发明实施例提供的方法,基于航班信息生成航班特征数据,以通过神经网络模型将航班特征数据与用户特征数据进行匹配。
本发明实施例提供的方法中,在获得库存航班的航班特征数据以及数据库中各个用户的用户特征数据后,需要应用训练完成神经网络模型对输入各个数据进行分析,以获得每个用户与该库存航班之间的匹配值。其中,该神经网络模型经过大量的数据进行多次训练,能够基本准确分析出用户与航班之间的匹配值。具体的,训练该神经网络模型的过程,可以包括:
获取预先设置的训练数据集,及所述训练数据集中每个训练数据对应的训练标签,每个所述训练数据为用于模型训练的用户特征数据及航班特征数据组成的组合数据;
将所述训练数据集中的各个训练数据依次输入所述神经网络模型,通过所述神经网络模型的多个训练层对各个所述训练数据进行训练,直至获得所述神经网络模型中最后一个训练层输出的训练结果满足预设的训练条件时,结束对所述神经网络模型的训练;所述神经网络模型的各个训练层分别为输入层、嵌入层和特征交互层;
其中,将所述训练数据集中的各个训练数据依次输入所述神经网络模型时,获取当前输入所述神经网络模型的训练数据的当前训练结果;基于所述训练数据对应的训练标签,计算所述当前训练结果对应的损失值;判断所述损失值是否满足预设的训练条件;若不满足,则基于所述损失值及预先设置的梯度下降算法,更新所述神经网络模型中的各个模型参数,并继续对所述神经网络模型进行训练;若满足,则结束对所述神经网络模型的训练。
本发明实施例提供的航班推送方法中,在需要对神经网络模型进行训练时,先获取对该神经网络模型进行训练的训练数据集,及训练数据集中每个训练数据对应的训练标签。该训练数据集中包括多个训练数据,各个训练数据均为历史数据,即,多个用户历史购买机票时对应的用户特征数据及航班特征数据的组合数据。训练标签为预先设定的每个训练数据对应的用户特征数据及航班特征数据之间的匹配值。将各个训练数据依次输入神经网络模型当中,由该神经网络模型中的各个训练层对各个训练数据进行训练和计算。该神经网络模型中包括多个训练层,各个训练层分别为输入层、嵌入层个特征交互层。其中,该输入层用于对当前输入的训练数据进行预处理,嵌入层将预处理后的训练数据进行转化,再由特征交互层对数据进行特征计算,最终输出层将特征交互层的计算结果做最终处理后输出。
具体的,神经网络模型的训练过程为:将训练数据集合中的各个训练数据依次输入至该神经网络模型当中,该神经网络模型中的各个训练层对训练数据进行处理、转换、特征交互等计算之后,最终输出当前输入该神经网络模型的训练数据对应的当前的训练结果。该当前训练结果为该神经网络模型预测的该训练数据对应的用户特征数据和航班特征数据之间的预测匹配值。基于训练数据的训练标签,计算该训练结果对应的损失值,即,将该训练数据的真实的匹配值与神经网络模型输出的预测匹配值进行比较,获得对应的损失值。判断该损失值是否满足预设的训练条件,该训练条件为预先设定的阈值;若该损失值不满足训练条件,即损失值未达到设定的阈值,则需要通过该损失值和梯度下降算法更新神经网络模型的模型参数,并继续对神经网络模型进行训练;若该损失值满足训练条件,则确定该神经网络模型已经基本能准确预测出训练数据的匹配值,结束对该神经网络模型的训练,获得训练完成的神经网络模型。
可选的,在确定当前训练结果对应的损失值满足训练条件后,可以再次按照上述训练过程对该神经网络模型进行多次训练,直至多次训练过程中获得的损失值均满足该训练条件,则结束对该神经网络模型的训练。
应用本发明实施例提供的方法,通过训练数据集合中大量的训练数据对神经网络模型进行训练,获得完成训练的神经网络模型,以通过该神经网络模型计算用户与航班之间的匹配值,通过匹配值为用户推送航班,提高航班的上座率。
本发明实施例提供的方法,在上述训练神经网络模型的过程中,输入该神经网络模型的各个训练数据由该神经网络模型中的各个训练层进行处理和计算,因此,所述将所述训练数据集中的各个训练数据依次输入所述神经网络模型,通过所述神经网络模型的多个训练层对各个所述训练数据进行训练,包括:
将所述训练数据集中的各个训练数据依次输入所述神经网络模型的输入层,触发所述输入层应用预先设置的独热编码one-hot,将各个所述训练数据转换成特征向量;
将每个所述训练数据对应的特征向量依次输入所述神经网络模型的嵌入层,触发所述嵌入层将各个所述特征向量依次转换成稠密向量;
将每个所述训练数据对应的稠密向量依次输入所述神经网络模型的特征交互层,触发所述特征交互层应用预先设置的DNN算法、FM算法和Multi-Head Attention算法,计算每个所述稠密向量对应的训练数据中用户特征数据和航班特征数据之间的交互关系,获得所述特征交互层中输出的每个所述训练数据对应的第一参数值、第二参数值及第三参数值;
将各个所述训练数据对应的第一参数值、第二参数值及第三参数值,依次输入所述神经网络模型的输出层,触发所述输出层对每个所述训练数据对应的第一参数值、第二参数值及所述第三参数值进行最终处理,输出各个所述训练数据对应的训练结果。
本发明实施例提供的航班推送方法中,在神经网络模型中包含由多个训练层,其中各个训练层分别为输入层、嵌入层、特征交互层和输出层。具体参考图3,图3为神经网络模型中各个训练层的结构示意图,其中输入层301用于对输入的训练数据进行预处理,应用one-hot,将训练数据中离散特征转换成one-hot形式的特征向量。当输入层301输出训练数据的特征向量过后,将该特征向量输入嵌入层302。嵌入层302用于将one-hot形式的特征向量转换成稠密向量,并将嵌入层302输出的稠密向量输入特征交互层303中,特征交互层303中包含三个子层,分别为DNN层3031、FM层3032和Attention层3033;将稠密向量分别输入三个子层中,由DNN层3031应用DNN算法对稠密向量进行计算,输出该训练数据对应的第一参数值;FM层3032应用FM算法对稠密向量进行计算,输出该训练数据对应的第二参数值;Attention层3033应用Multi-Head Attention算法对稠密向量进行计算,输出该训练数据对应的第三参数值。当特征交互层303输出该训练数据对应的第一参数值、第二参数值及第二参数值后,将第一参数值、第二参数值和第三参数值输入输出层304,输出层将第一参数值、第二参数值和第三参数值相加,再应用sigmoid函数的计算方法进行最终处理,获得训练数据的训练结果。
具体的,输入层中将训练数据转换成one-hot的特征向量对应的公式为:X=(x
嵌入层中将特征向量转换成稠密向量对应的公式为:V=Embedding(X);
特征交互层中DNN层中DNN算法为:y
输出层输出的训练结果为:y=sigmoid(y
需要说明的是,在对神经网络模型训练后,将训练完成的神经网络模型应用到上述S104中时,应用上述各个训练层对应的算法对该航班特征数据及各个用户特征数据进行计算,以获得每个用户与该库存航班分别对应的匹配值。
应用本发明实施例提供,通过各个训练层及其对应的算法对训练数据进行计算,以预测用户与航班之间的匹配程度,通过各个训练层的计算,精确输出当前的训练数据对应的训练结果,以通过训练结果确定该神经网络模型的训练是否达到预设条件。
本发明实施例提供的方法中,在对神经网络模型训练结束后,为提高神经网络模型对用户特征数据及航班特征数据之间进行匹配的准确度,可以对该神经网络模型进行训练后的测试,因此,对该神经网络模型的测试过程,具体可以包括:
获取预先设置的测试数据集,及所述测试数据集中每个测试数据对应的测试标签,每个所述测试数据为用于测试所述神经网模型性能的用户特征数据及航班特征数据组成的组合数据;
将各个所述测试数据依次输入所述神经网络模型中,触发所述神经网络模型依次输出每个所述测试数据对应的测试结果,直至结束对所述神经网络模型的测试;
其中,基于当前输入所述神经网络模型的测试数据对应的测试标签,判断所述神经网络模型当前输出的测试结果是否满足预设的测试条件;若所述神经网络模型当前输出的测试结果不满足所述测试条件,则基于所述测试结果调整所述神经网络模型中的各个模型参数,并判断所述当前输入所述神经网络模型的测试数据是否为最后一个测试数据;若否,则继续输入下一测试数据对所述神经网络模型进行测试;若是,则保存所述神经网络模型,并结束对所述神经网络模型的测试。
本发明实施例提供的航班推送方法中,在结束对神经网络模型的训练,再次应用测试数据集中的各个测试数据对该神经网络模型进行测试。其中,对该神经网络模型进行测试的过程与训练过程基本相似。该测试数据集中包含多个测试数据,均需要应用所有的测试数据对该神经网络模型进行测试。将该测试数据集中的各个测试数据依次输入至训练完成的神经网络模型中,每输入一个测试数据,该神经网络模型则输出当前输入的测试数据对应的当前输出的测试结果。根据该当前输入的测试数据对应的测试标签,判断当前输出的测试结果是否满足预设的测试条件,若不满足则可以再次调整神经网络模型的各个模型参数,在调整完模型参数后,判断该当前输入的测试数据是否为最后一个测试数据,若否;则继续向该神经网络模型输入下一测试数据,并继续对该神经网络模型进行测试;若当前输入的测试数据为最后一个测试数据,则保存该神经网络模型,并结束对该神经网络模型的测试。
可选的,在对神经网络模型进行测试的过程中,若该神经网络模型当前输出的测试结果满足该测试条件,则依旧判断当前输出的测试结果对应的测试数据是否为最后一个测试数据;若否,继续下一测试数据对应的测试;若是则结束对神经网络模型的测试。
需要说明的是,该测试条件为当前输出的测试结果是否在其对应的测试数据的测试标签的取值范围内;若在取值范围内,则满足测试条件,若不在取值范围内,则不满足测试条件。
可以理解的是,经过多个测试数据对该神经网络模型的测试,该神经网络模型在后续进行测试时,基本均能满足测试条件。本发明实施例提供的方法,能够进一步提高神经网络模型的精度。
上述各个实施例的具体实施过程及其衍生方式,均在本发明的保护范围之内。
与图1所述的方法相对应,本发明实施例还提供了一种航班推送装置,用于对图1中方法的具体实现,本发明实施例提供的航班推送装置可以应用计算机终端或各种移动设备中,其结构示意图如图4所示,具体包括:
判断单元401,用于扫描各个航班的座位信息,并基于各个所述航班的座位信息,判断各个所述航班中是否存在库存航班,所述库存航班为存在未出售座位的航班;
生成单元402,用于若各个所述航班中存在库存航班,则获取所述库存航班的航班信息,并基于所述航班信息,生成所述库存航班对应的航班特征数据;
查询单元403,用于获取预先存储的各个用户的用户ID,并在预先设置的数据库中查询与每个所述用户ID对应的用户特征数据;
匹配单元404,用于将所述航班特征数据及各个所述用户特征数据输入预先训练完成的神经网络模型中,获得所述神经网络模型输出的所述库存航班与每个所述用户分别对应的匹配值;
确定单元405,用于确定满足预设阈值的各个匹配值,并将满足所述预设阈值的每个所述匹配值对应的用户设定为目标用户;
推送单元406,用于获取所述库存航班的航班活动信息,并向各个所述目标用户推送所述库存航班的航班活动信息。
本发明实施例提供的航班推送装置中,扫描各个航班的座位信息,以基于各个座位信息判断每个座位信息对应的航班是否存在剩余的座位,即确定各个航班中是否存在库存航班。若存在库存航班,则获取库存航班的航班信息,并基于该航班信息生成该库存航班对应的航班特征数据。根据已经存储的各个用户的用户ID,获取数据库中每个用户ID对应的用户特征数据,将航班特征数据和用户特征数据输入至神经网络模型当中,以获得该模型输出各个用户与该库存航班之间的匹配值。在各个匹配值对应的用户中,选取满足预设阈值的匹配值对应的用户为推送该库存航班的目标用户,并获取该库存航班的航班活动信息,将航班活动信息向各个目标用户推送。
应用本发明实施例提供的装置,获取库存航班的航班特征数据以及数据库中各个用户的用户特征数据,由神经网络模型对航班特征数据和各个用户特征数据进行分析,确定该库存航班与各个用户之间的匹配值,并根据匹配值将该库存航班的航班活动信息推送给满足条件的用户,以提高该库存航班的上座率。
本发明实施例提供的装置中,所述生成单元,包括:
第一获取子单元,用于获取所述航班信息中所述库存航班对应的出发地、目的地及出发时间;
第二获取子单元,用于获取预先设置的所述出发地及目的地对应的航线标识号;
第一确定子单元,用于基于所述出发时间,确定所述库存航班的出行季节、第一日期类型和第二日期类型,所述第一日期类型为节假日或非节假日,所述第二日期类型为周末或非周末;
第三获取子单元,用于获取所述出行季节对应的季节标识号、所述第一日期类型对应的第一日期标识号,及所述第二日期类型对应的第二日期标识号;
生成子单元,用于基于所述航线标识号、季节标识号、第一日期标识号及第二日期标识号,生成所述库存航班对应的航班特征数据。
本发明实施例提供的装置中,还包括:
第一获取单元,用于获取预先设置的训练数据集,及所述训练数据集中每个训练数据对应的训练标签,每个所述训练数据为用于模型训练的用户特征数据及航班特征数据组成的组合数据;
训练单元,用于将所述训练数据集中的各个训练数据依次输入所述神经网络模型,通过所述神经网络模型的多个训练层对各个所述训练数据进行训练,直至获得所述神经网络模型中最后一个训练层输出的训练结果满足预设的训练条件时,结束对所述神经网络模型的训练;所述神经网络模型的各个训练层分别为输入层、嵌入层、特征交互层和输出层;
其中,将所述训练数据集中的各个训练数据依次输入所述神经网络模型时,获取当前输入所述神经网络模型的训练数据的当前训练结果;基于所述训练数据对应的训练标签,计算所述当前训练结果对应的损失值;判断所述损失值是否满足预设的训练条件;若不满足,则基于所述损失值及预先设置的梯度下降算法,更新所述神经网络模型中的各个模型参数,并继续对所述神经网络模型进行训练;若满足,则结束对所述神经网络模型的训练。
本发明实施例提供的装置中,所述训练单元,包括:
第一输入子单元,用于将所述训练数据集中的各个训练数据依次输入所述神经网络模型的输入层,触发所述输入层应用预先设置的独热编码one-hot,将各个所述训练数据转换成特征向量;
第二输入子单元,用于将每个所述训练数据对应的特征向量依次输入所述神经网络模型的嵌入层,触发所述嵌入层将各个所述特征向量依次转换成稠密向量;
第三输入子单元,用于将每个所述训练数据对应的稠密向量依次输入所述神经网络模型的特征交互层,触发所述特征交互层应用预先设置的DNN算法、FM算法和Multi-HeadAttention算法,计算每个所述稠密向量对应的训练数据中用户特征数据和航班特征数据之间的交互关系,获得所述特征交互层中输出的每个所述训练数据对应的第一参数值、第二参数值及第三参数值;
第四输入子单元,用于将各个所述训练数据对应的第一参数值、第二参数值及第三参数值,依次输入所述神经网络模型的输出层,触发所述输出层对每个所述训练数据对应的第一参数值、第二参数值及所述第三参数值进行最终处理,输出各个所述训练数据对应的训练结果。
本发明实施例提供的装置中,还包括:
第二获取单元,用于获取子单元获取预先设置的测试数据集,及所述测试数据集中每个测试数据对应的测试标签,每个所述测试数据为用于测试所述神经网模型性能的用户特征数据及航班特征数据组成的组合数据;
测试单元,用于将各个所述测试数据依次输入所述神经网络模型中,触发所述神经网络模型依次输出每个所述测试数据对应的测试结果,直至结束对所述神经网络模型的测试;
其中,基于当前输入所述神经网络模型的测试数据对应的测试标签,判断所述神经网络模型当前输出的测试结果是否满足预设的测试条件;若所述神经网络模型当前输出的测试结果不满足所述测试条件,则基于所述测试结果调整所述神经网络模型中的各个模型参数,并判断所述当前输入所述神经网络模型的测试数据是否为最后一个测试数据;若否,则继续输入下一测试数据对所述神经网络模型进行测试;若是,则保存所述神经网络模型,并结束对所述神经网络模型的测试。
以上本发明实施例公开的航班推送装置中各个单元及子单元的具体工作过程,可参见本发明上述实施例公开的航班推送方法中的对应内容,这里不再进行赘述。
本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述航班推送方法。
本发明实施例还提供了一种电子设备,其结构示意图如图5所示,具体包括存储器501,以及一个或者一个以上的指令502,其中一个或者一个以上指令502存储于存储器501中,且经配置以由一个或者一个以上处理器503执行所述一个或者一个以上指令502进行以下操作:
扫描各个航班的座位信息,并基于各个所述航班的座位信息,判断各个所述航班中是否存在库存航班,所述库存航班为存在未出售座位的航班;
若各个所述航班中存在库存航班,则获取所述库存航班的航班信息,并基于所述航班信息,生成所述库存航班对应的航班特征数据;
获取预先存储的各个用户的用户ID,并在预先设置的数据库中查询与每个所述用户ID对应的用户特征数据;
将所述航班特征数据及各个所述用户特征数据输入预先训练完成的神经网络模型中,获得所述神经网络模型输出的所述库存航班与每个所述用户分别对应的匹配值;
确定满足预设阈值的各个匹配值,并将满足所述预设阈值的每个所述匹配值对应的用户设定为目标用户;
获取所述库存航班的航班活动信息,并向各个所述目标用户推送所述库存航班的航班活动信息。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现。
为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
- 航班推送方法及装置
- 一种基于航班信息的数据推送方法、装置和系统