CN113641721B - 一种机票展示方法、装置、电子设备及存储介质 - Google Patents
一种机票展示方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113641721B CN113641721B CN202111191130.4A CN202111191130A CN113641721B CN 113641721 B CN113641721 B CN 113641721B CN 202111191130 A CN202111191130 A CN 202111191130A CN 113641721 B CN113641721 B CN 113641721B
- Authority
- CN
- China
- Prior art keywords
- information
- user
- vector
- displayed
- recall
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 239000013598 vector Substances 0.000 claims abstract description 134
- 238000012163 sequencing technique Methods 0.000 claims abstract description 38
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 7
- 230000006399 behavior Effects 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 238000010606 normalization Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000003203 everyday effect Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000010006 flight Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- Evolutionary Computation (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种机票展示方法、装置、电子设备及存储介质,一种机票展示方法,包括:根据查询信息确定若干待展示信息;获取第一用户向量;根据召回规则和第一用户向量,将符合召回规则的待展示信息确定为第一信息;展示排序后的若干第一信息和第二信息;第一信息均排列在第二信息之前。本申请提供的一种机票展示方法,能够对待展示信息中符合召回规则的信息进行召回,从中确定出第一信息。并将第一信息进行排序后,展示在第二信息之前。如此,本申请提供的机票展示方法,能够通过两种排序规则分别对第一信息和第二信息进行排序,并将排序后的第一信息和第二信息进行分段展示。使得机票的展示方法更加的多维化,避免使用单一维度进行排序的问题。
Description
技术领域
本申请涉及机票查询领域,尤其涉及一种机票展示方法、装置、电子设备及存储介质。
背景技术
用户在查询机票时,***会根据用户输入的查询信息进行机票的展示。但现有的***中,对机票都是选取时间、价格、机型等中的其中一个单一的维度对机票进行展示。展示方法单一。
发明内容
有鉴于此,本申请提供一种机票展示方法、装置、电子设备及存储介质,至少部分解决现有技术中存在的问题。
本申请提供一种机票展示方法,包括:
根据查询信息确定若干待展示信息;
获取第一用户向量;
根据召回规则和第一用户向量,将符合召回规则的所述待展示信息确定为第一信息;所述第一用户向量为至少根据第一用户购买过的机票记录处理后得到的;
根据第一排序规则对若干所述第一信息进行排序;
根据第二排序规则对若干第二信息进行排序;
展示排序后的若干所述第一信息和所述第二信息;
其中,所述第二信息为若干所述待展示信息内,除所述第一信息以外的信息,若干所述第一信息均排列在所述第二信息之前;所述第一排序规则所需的参数数量大于所述第二排序规则所需的参数数量。
在本公开的一种示例性实施例中,在所述根据第二排序规则对若干第二信息进行排序之前,所述方法还包括:
在若干所述第一信息的数量大于第一屏展示数量的情况下,将排序名次大于所述第一屏展示数量的所述第一信息归类为所述第二信息。
在本公开的一种示例性实施例中,所述根据召回规则和第一用户向量,将符合召回规则的所述待展示信息确定为第一信息,包括:
获取若干召回策略;
若干所述召回策略根据第一用户向量并行对每一所述待展示信息进行分数计算;
每一所述召回策略根据自身的打分结果,将分数大于阈值的所述待展示信息进行召回,确定为所述第一信息。
在本公开的一种示例性实施例中,所述召回策略包括用户偏好召回策略;
所述用户偏好召回策略,包括:
根据第一用户向量和所述待展示信息对应的机票特征,确定所述待展示信息的评分;
将所述评分达到阈值的所述待展示信息召回为所述第一信息;
其中,所述第一用户向量与输入所述查询信息的第一用户对应。
在本公开的一种示例性实施例中,所述根据第一用户向量和所述待展示信息对应的机票特征,确定所述待展示信息的评分,包括:
将所述第一用户向量和所述待展示信息对应的机票特征输入排序模型,所述排序模型输出所述待展示信息的评分;
其中,所述排序模型通过使用训练数据训练后得到;
所述训练数据包括:标签、分组ID和特征;
所述特征包括:原始用户向量、归一化的用户向量、经离散化和独热编码后的机票向量、以及用户偏好与机票特征的匹配程度。
在本公开的一种示例性实施例中,所述第一用户向量通过以下方式得到:
获取所述第一用户的机票购买记录;
将所述机票购买记录中的每一机票,分别处理成对应的子向量;
将每一所述子向量相加,得到所述第一用户向量。
在本公开的一种示例性实施例中,所述将每一所述子向量相加,得到所述第一用户向量,包括:
将每一所述子向量相加,得到待优化向量;
获取与所述第一用户具有关联关系的至少一个第二用户;
获取每一所述第二用户对应的第二用户向量;
根据每一所述第二用户向量,对所述待优化向量进行优化,得到所述第一用户向量。
根据本公开的一个方面,提供一种机票展示装置,包括:
查询模块,用于根据查询信息确定若干待展示信息;
获取模块,用于获取第一用户向量;
召回模块,用于根据召回规则和第一用户向量,将符合召回规则的所述待展示信息确定为第一信息;所述第一用户向量为至少根据第一用户购买过的机票记录处理后得到的;
第一排序模块,用于根据第一排序规则对若干所述第一信息进行排序;
第二排序模块,用于根据第二排序规则对若干第二信息进行排序;
展示模块,用于展示排序后的若干所述第一信息和所述第二信息;
其中,所述第二信息为若干所述待展示信息内,除所述第一信息以外的信息,若干所述第一信息均排列在所述第二信息之前;所述第一排序规则所需的参数数量大于所述第二排序规则所需的参数数量。
根据本公开的一个方面,提供一种电子设备,包括处理器和存储器;
所述处理器通过调用所述存储器存储的程序或指令,用于执行上述任一项所述方法的步骤。
根据本公开的一个方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行上述任一项所述方法的步骤。
本申请提供的一种机票展示方法、装置、电子设备及存储介质,能够对待展示信息中符合召回规则的信息进行召回,从中确定出第一信息。并将第一信息进行排序后,展示在第二信息之前。如此,本申请提供的机票展示方法,能够通过两种排序规则分别对第一信息和第二信息进行排序,并将排序后的第一信息和第二信息进行分段展示。使得机票的展示方法更加的多维化,避免使用单一维度进行排序的问题。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本实施例提供的一种机票展示方法的流程图。
具体实施方式
下面结合附图对本申请实施例进行详细描述。
需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并且,基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
本实施例提供一种机票展示方法,能够应用于安装有机票搜索的***、网站、应用或手机APP等能够提供机票搜索和/或展示的电子设备上。
包括以下步骤:
步骤S100,根据查询信息确定若干待展示信息;
步骤S200,获取第一用户向量;
步骤S300,根据召回规则和第一用户向量,将符合召回规则的所述待展示信息确定为第一信息;所述第一用户向量为至少根据第一用户购买过的机票记录处理后得到的;
步骤S400,根据第一排序规则对若干所述第一信息进行排序;
步骤S500,根据第二排序规则对若干第二信息进行排序;
步骤S600,展示排序后的若干所述第一信息和所述第二信息;
其中,所述第二信息为若干所述待展示信息内,除所述第一信息以外的信息,若干所述第一信息均排列在所述第二信息之前;所述第一排序规则所需的参数数量大于所述第二排序规则所需的参数数量。
在具体实施时,实施该方法的设备能够通过键盘、麦克风或其他输入设备,获取第一用户输入的查询信息。该查询信息可以为出发点、到达点等常用的查询信息。获取查询信息后,确定出和查询信息符合的若干待展示信息(也就是符合要求的机票信息)。
召回规则、第一排序规则和第二排序规则,在实际应用时,能够使用对应的机器学习模型或执行响应逻辑的程序编码进行实现,本实施例中不做限定。
展示第一信息和第二信息时,可直接展示在设备的显示屏上。同时,根据上述的方法可以看出,第一信息和第二信息相加后,即为若干待展示信息。
第二排序规则可以采用现有的单维度排序方法,例如使用出发时间排序、到达时间排序、机票价格排序等。故而只需要一个参数进行排序。而第一排序规则,会参考用户历史记录,关联信息等多种参数。相应的,第一排序规则选出的更适合用户的偏好。且这一部分排在前面,会更容易被用户看到。使得用户体验更佳。
由此可见,本实施例提供的一种机票展示方法,能够对待展示信息中符合召回规则的信息进行召回,从中确定出第一信息。并将第一信息进行排序后,展示在第二信息之前。如此,本实施例提供的机票展示方法,能够通过两种排序规则分别对第一信息和第二信息进行排序,并将排序后的第一信息和第二信息进行分段展示。使得机票的展示方法更加的多维化,避免使用单一维度进行排序的问题。
在本公开的一种示例性实施例中,在所述根据第二排序规则对若干第二信息进行排序之前,所述方法还包括:
在若干所述第一信息的数量大于第一屏展示数量的情况下,将排序名次大于所述第一屏展示数量的所述第一信息归类为所述第二信息。
本实施例中,为了避免第一信息的数量过多,导致用户体验不佳。会通过设定的展示数量,对第一信息进行数量的限缩。将多于展示数量的第一信息排出,将多余的第一信息归类回第二信息。
具体的,展示数量为根据当前设备的第一屏能够展示的展示数量确定。即不同的设备,其设定的展示数量根据当前设备的情况进行改变。
本实施例中在给用户展示机票列表时,本实施例采用了分两段排序的策略。第一屏(一般是前5张)展示召回规则选出的机票,并按照第一排序规则的顺序排列;剩余的未召回机票按第二排序规则的顺序展示。这是因为召回规则综合考虑了多个特征维度,而人更习惯单一维度的排序,因此单纯按照召回规则和第一排序规则进行排序的话,会给用户浏览带来不便。而且多维度综合的排序结果可解释性不强。为了兼顾召回规则与用户浏览习惯,本申请将召回规则选出的(也可理解为模型评分高的)机票放前面展示,后面的机票按照单一维度排序。利用这种策略,整体排序问题被进一步拆分成召回和局部排序,降低了每个环节的复杂度。而利用召回规则进行召回的思路可以进一步扩展,多种角度都可以用作召回方法,也就是“多路召回”,从而加强头部展示机票的可控性。
在本公开的一种示例性实施例中,所述根据召回规则和第一用户向量,将符合召回规则的所述待展示信息确定为第一信息,具体包括以下步骤:
获取若干召回策略;
若干所述召回策略根据第一用户向量并行对每一所述待展示信息进行分数计算;
每一所述召回策略根据自身的打分结果,将分数大于阈值的所述待展示信息进行召回,确定为所述第一信息。
其中,若干所述召回策略包括以下至少之一:近期出行记录召回策略、用户偏好召回策略、热门机票召回策略、优惠召回策略、价格召回策略。
本实施例提供的方法,通过在召回层中,多个召回策略并行工作,每个召回策略选出少量机票,给出对机票的评分,并打上标签用于输出解释。各种召回策略介绍如下:
近期出行记录召回策略:取用户近一年乘坐过的航班号,根据次数和时间远近给出评分,选出高分机票。计算评分时,按照乘坐日期与当前日期的差,计算一个指数衰减(衰减后范围在0到1之间),再把衰减后的分相加。没有出行记录的航班评分为0,不会被召回。
用户偏好模型召回策略:这种召回策略是把机器学习模型给出的评分用于召回。该模块基于一个机器学习排序模型,利用了前面离线准备的用户向量和用户行为数据。用户向量是各不相同的,因此该模块给出的结果是个性化的。服务在收到请求后,利用用户ID在HBase进行查询,得到用户向量,再结合机票的特征,输入给模型进行预测,得到每张机票的评分。如果用户没有购买记录,则该策略不会进行召回。其中,用户向量的得到方法会在后文中进行阐述。
热门机票模型召回策略:由于前两个召回策略都需要用户有购买记录,因此会遇到冷启动问题,而且对于历史记录很少的用户,模型排序可能会不准确。为了挖掘大众选择偏好,把多数人喜欢的热门机票筛选出来,本方案增加了新的排序模型。该模型使用全部用户的行为数据进行训练,再加上一些日期、航线方面的特征。在服务接口被调用时,模型会对搜索到的每张机票给出一个评分,召回评分高的机票。模型的一些细节将在下一小节介绍。
其他召回策略:除了上述三种召回策略,考虑其他因素也可以补充召回。可以使用单一维度特征进行召回,例如低价机票、适合出行的早班或晚班、用户偏好航司、偏好时段等;也可以根据具体的业务需求进行召回。
相应的,第一排序规则是对多个召回策略选出的少量机票进行排序,最终决定了机票是否被放在头部推荐位(第一屏)、头部展示顺序。因为多个召回策略选出的机票可能多于第一屏的容量,所以并非所有召回的机票都能进入推荐位,要根据第一排序规则的顺序来选择。第一排序规则考虑了召回策略的优先级、召回策略的评分来排序,并且依照某个单一维度来适当消除逆序对。
在本公开的一种示例性实施例中,所述召回策略包括用户偏好召回策略;
所述用户偏好召回策略,包括:
根据第一用户向量和所述待展示信息对应的机票特征,确定所述待展示信息的评分;
将所述评分达到阈值的所述待展示信息召回为所述第一信息;
其中,所述第一用户向量与输入所述查询信息的第一用户对应。
本实施例中,通过机器学习模型等AI模型对待展示信息(机票)进行评分,并根据评分结果对待展示信息进行召回。
在本公开的一种示例性实施例中,所述根据第一用户向量和所述待展示信息对应的机票特征,确定所述待展示信息的评分,包括:
将所述第一用户向量和所述待展示信息对应的机票特征输入排序模型,所述排序模型输出所述待展示信息的评分;
其中,所述排序模型通过使用训练数据训练后得到;
所述训练数据包括:标签、分组ID和特征;
所述特征包括:原始用户向量、归一化的用户向量、经离散化和独热编码后的机票向量、以及用户偏好与机票特征的匹配程度。
具体地,实际实施时,需要预先对相应的机器学习模型进行准备和训练,具体如下:
准备训练数据,并使用训练数据对机器学习模型(即排序模型)进行训练。为了能将离线准备的训练数据应用于排序模型,我们需要做进一步的处理。进入排序模型的数据分三部分:标签、分组ID和特征。每次搜索的列表由多张机票构成,这个列表作为一个整体,有唯一的分组ID。每条记录的标签无需进一步处理。特征是多维的向量,由三部分组成:第一部分是用户特征,包括原始用户向量Du和归一化的用户向量;第二部分是离散化、独热编码后的机票向量T;第三部分是综合了用户向量与机票向量的特征,代表用户偏好与机票特征的匹配程度。
更具体地,选择某个特征(如起飞时段),取出用户向量和机票向量在这个特征上
的部分df和tf,此时df是未归一化的,tf是独热编码后的向量。计算两者的内积,就是用户出行记录中,这个值的频次(比如机票特征值是早上,就会算出用
户早上出行的频次)。如果先将归一化,再算内积,就可以得到用户在这个值上的频率。每一
个特征都计算这样的内积,分别得到用户在当前机票这个特征取值上的频次和频率。形式
化地表示为:
本方案中freq既表示频次,又表示频率。
归一化的用户向量体现了用户出行记录在每一个特征上的分布,从中可以估计用户对这个特征的重视程度。熵表示了分布的均匀程度,熵越小,分布越集中在某些值,说明用户越重视这个特征。计算归一化用户向量某个特征上分布的熵的方式如下:
值得注意的是,特征上向量的维度会对新特征构造产生影响。一方面,在一条航线上,某个机票特征的取值可能只有少数几个。例如航司有几十个,但一条航线上可能只有几个航司在售票。另一方面,维度差距会对上述特征的计算产生很大影响,例如对航司进行独热编码会产生几十维的向量,但起飞时段只有4维。本申请针对这种情况进行了优化。使用用户向量前,先对比航线向量,只取出航线向量非零的维度,再计算归一化、熵等。这样处理后,每个机票特征上的|f|大致相当,缓和了维度数量差异大的问题,频率值也更稳定。
模型训练的目标函数为文档对的准确率(目标函数设置为NDCG也可以得到相近的结果)。训练好的模型保存为文件,供线上服务使用。
相应地,热门机票召回策略对应的模型用于挖掘大众选择偏好,在构建训练样本时没有使用用户个性化的信息,而是仅仅考虑机票本身的特征。本模型用到的机票特征包括航司、起飞时段、价格、机型、起飞地、到达地、提前小时数等。在特征处理的方式上,本模型没有使用离散化和独热编码,而是使用其他可量化的指标来代替离散特征的具体值。具体地,每个航司、每个起飞时段等特征取值,都可以计算最近一周的总体搜索数、点击数、订票数和航班数,成为机票特征的一个维度。模型训练目标函数、训练方法等都与个人偏好排序模型相同。
在本公开的一种示例性实施例中,所述第一用户向量通过以下方式得到:
获取所述第一用户的机票购买记录;
将所述机票购买记录中的每一机票,分别处理成对应的子向量;
将每一所述子向量相加,得到所述第一用户向量。
本实施例在建模用户偏好时,只对用户进行划分,取消了航线的划分。本实施例利用spark进行计算,数据范围包括用户所有的机票购买记录,特征范围包括航司、起飞时间、机型、价格等。在数据处理流程上,本实施例针对每个特征维度,进行数据离散化、独热编码。每条数据代表用户购买的一张机票,处理后成为一个机票向量,只包含0和1。对于每个用户,所有机票向量进行加和,得到了新的向量,本实施例中的第一用户向量。第一用户向量包含了第一用户购买记录在每个特征上的分布,这个分布可以用于分析第一用户在某个维度上的选择偏好。实际工程会根据前一天的出行记录,将这部分数据按天更新,并且保存在HBase中,供在线服务使用。
具体地,用户偏好构建于历史行程数据,数据范围包括用户所有已经出行的记录。每条出行记录对应了一张机票,机票特征范围包括航司、起飞时间、机型、价格、准点率等。其中机型是指飞机的大小,分为三档。
为了把机票数据转化为可运算的形式,我们需要对机票原始特征进行预处理。机票特征有离散特征和连续特征两种。离散特征可以直接进行独热编码,而连续特征需要先离散化再独热编码。起飞时间可以离散化为“早上”、“中午”、“下午”和“晚上”,价格指数通过以下公式计算:
其中Pfull是经济舱全价,Pcur是当前机票价格,Plow是搜索列表中最低价。价格指数离散化时,根据分位数分为5个桶。
经过独热编码后,每张机票的每一个特征都会成为一个向量,只有一个值为1,其
余为0。例如航班起飞时间是中午,就会得到。一张机票有多个特征,所有特
征生成的向量拼接在一起,就成了机票向量。向量的每一维都对应了一个特征的某个具体
取值。形式化地,机票向量表示为:
一个用户有多次出行记录,对应了多张机票。对于每个维度,将这些机票的向量相加,再归一化,就得到了用户在这个特征上的偏好:
其中表示该特征中第i个值出现的频率。的值越大,说明用户在选择时更偏向
对应的取值。例如在起飞时段上,某用户归一化后的向量为,代表了用户
在每个时段起飞的频率,可以反应用户在起飞时段上的偏好。将用户在多个特征上的向量
拼接起来,就得到了第一用户向量:
第一用户向量包含了用户出行记录在每个特征上的分布,这个分布可以用于分析用户在某个维度上的选择偏好。本方案中,初次计算、保存第一用户向量时,没有进行归一化,而是保留了原始的购买次数。这是因为购买次数便于维护,含有更多的信息量,且归一化的向量在后续处理中很容易计算得到。
本方案对已有技术做了调整,建模用户偏好时,只对用户进行划分。也就是说,原先是对每个用户在每条航线上的历史记录做统计,本方案只计算用户在所有航线上的记录。这是因为大多数用户乘坐飞机出行的频率很低,按航线继续划分常常会导致数据过于稀疏。
本方案利用spark进行大规模的第一用户向量计算。实际工程每天会根据前一天的出行记录,将这部分有出行记录的用户的数据更新,并且保存在HBase中,供在线服务使用。
在本公开的一种示例性实施例中,所述将每一所述子向量相加,得到所述第一用户向量,包括:
将每一所述子向量相加,得到待优化向量;
获取与所述第一用户具有关联关系的至少一个第二用户;
获取每一所述第二用户对应的第二用户向量;
根据每一所述第二用户向量,对所述待优化向量进行优化,得到所述第一用户向量。
本方案中,还会通过社交关系等对第一用户向量进行优化。本方案中,社交关系包含同订单关系、同值机关系和同航班关系。当两个用户出现在同一个订单、同一个航班上,或一个人为另一个人值机,便会生成一对关系的记录。每条记录按照关系的紧密程度打分,两个用户所有关系记录得分之和就作为两个用户的相似度,这样便得到所有用户之间的相似度。对于每个用户,取与之相似度最高的几个用户(即第二用户),将这些相似用户(即第二用户)的向量加到第一用户向量中,相加时权重由相似度决定。利用第二用户的数据来改进第一用户向量,可以缓解数据稀疏问题,降低过拟合风险。在实际工程中,同订单和同值机的记录每天通过HIVE进行挖掘,同航班记录、相似度得分和用户向量相加由spark计算,保存在HBase中。
这里增加了一个收缩因子λ,减小相邻用户对当前用户的影响。利用相似用户的数据来改进用户向量,可以缓解数据稀疏问题,降低过拟合风险。
本实施例中,用户行为收集的范围包括搜索、点击和购买行为。用户搜索时,需要调用后台数据的协议,协议内容包含了一个可售机票的列表,以及每张机票的特征,这些信息都记录在了日志***中。点击和购买行为类似。通过分析协议内容,可以得知用户搜索到了哪些机票、点击了哪些机票、购买了哪些机票,并且得到这些机票的特征。用户的每一次搜索都会形成一个机票的列表,通过计算用户点击每张机票的次数、是否购买,每张机票都会得到一个分数,这个分数被用作排序模型训练的标签。此外,用户在搜索、浏览时,按时间还是价格排序、点击机票在列表中的位置也会被记录下来,用于分析用户习惯的排序方式和浏览行为。以上内容也是每日使用spark进行计算。
根据本公开的一个方面,提供一种机票展示装置,包括:
查询模块,用于根据查询信息确定若干待展示信息;
获取模块,用于获取第一用户向量;
召回模块,用于根据召回规则和第一用户向量,将符合召回规则的所述待展示信息确定为第一信息;所述第一用户向量为至少根据第一用户购买过的机票记录处理后得到的;
第一排序模块,用于根据第一排序规则对若干所述第一信息进行排序;
第二排序模块,用于根据第二排序规则对若干第二信息进行排序;
展示模块,用于展示排序后的若干所述第一信息和所述第二信息;
其中,所述第二信息为若干所述待展示信息内,除所述第一信息以外的信息,若干所述第一信息均排列在所述第二信息之前;所述第一排序规则所需的参数数量大于所述第二排序规则所需的参数数量。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为***、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
根据本发明的这种实施方式的电子设备。电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:上述至少一个处理器、上述至少一个储存器、连接不同***组件(包括储存器和处理器)的总线。
其中,所述储存器存储有程序代码,所述程序代码可以被所述处理器执行,使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
储存器可以包括易失性储存器形式的可读介质,例如随机存取储存器(RAM)和/或高速缓存储存器,还可以进一步包括只读储存器(ROM)。
储存器还可以包括具有一组(至少一个)程序模块的程序/实用工具,这样的程序模块包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线可以为表示几类总线结构中的一种或多种,包括储存器总线或者储存器控制器、***总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
电子设备也可以与一个或多个外部设备(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备交互的设备通信,和/或与使得该电子设备能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口进行。并且,电子设备还可以通过网络适配器与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器通过总线与电子设备的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种机票展示方法,其特征在于,包括:
根据查询信息确定若干待展示信息;
获取第一用户向量;
根据召回规则和第一用户向量,将符合召回规则的所述待展示信息确定为第一信息;所述第一用户向量为至少根据第一用户购买过的机票记录处理后得到的;
根据第一排序规则对若干所述第一信息进行排序;
根据第二排序规则对若干第二信息进行排序;
展示排序后的若干所述第一信息和所述第二信息;
其中,所述第二信息为若干所述待展示信息内,除所述第一信息以外的信息,若干所述第一信息均排列在所述第二信息之前,所述第一信息和所述第二信息相加后,为若干所述待展示信息;所述第一排序规则所需的参数数量大于所述第二排序规则所需的参数数量;
所述第一用户向量通过以下方式得到:
获取所述第一用户的机票购买记录;
将所述机票购买记录中的每一机票,分别处理成对应的子向量;
将每一所述子向量相加,得到待优化向量;
获取与所述第一用户具有关联关系的至少一个第二用户;
获取每一所述第二用户对应的第二用户向量;
根据每一所述第二用户向量,对所述待优化向量进行优化,得到所述第一用户向量。
2.根据权利要求1所述的机票展示方法,其特征在于,在所述根据第二排序规则对若干第二信息进行排序之前,所述方法还包括:
在若干所述第一信息的数量大于第一屏展示数量的情况下,将排序名次大于所述第一屏展示数量的所述第一信息归类为所述第二信息。
3.根据权利要求1所述的机票展示方法,其特征在于,所述根据召回规则和第一用户向量,将符合召回规则的所述待展示信息确定为第一信息,包括:
获取若干召回策略;
若干所述召回策略根据第一用户向量并行对每一所述待展示信息进行分数计算;
每一所述召回策略根据自身的打分结果,将分数大于阈值的所述待展示信息进行召回,确定为所述第一信息。
4.根据权利要求3所述的机票展示方法,其特征在于,所述召回策略包括用户偏好召回策略;
所述用户偏好召回策略,包括:
根据第一用户向量和所述待展示信息对应的机票特征,确定所述待展示信息的评分;
将所述评分达到阈值的所述待展示信息召回为所述第一信息;
其中,所述第一用户向量与输入所述查询信息的第一用户对应。
5.根据权利要求4所述的机票展示方法,其特征在于,所述根据第一用户向量和所述待展示信息对应的机票特征,确定所述待展示信息的评分,包括:
将所述第一用户向量和所述待展示信息对应的机票特征输入排序模型,所述排序模型输出所述待展示信息的评分;
其中,所述排序模型通过使用训练数据训练后得到;
所述训练数据包括:标签、分组ID和特征;
所述特征包括:原始用户向量、归一化的用户向量、经离散化和独热编码后的机票向量、以及用户偏好与机票特征的匹配程度。
6.一种机票展示装置,其特征在于,包括:
查询模块,用于根据查询信息确定若干待展示信息;
获取模块,用于获取第一用户向量;
召回模块,用于根据召回规则和第一用户向量,将符合召回规则的所述待展示信息确定为第一信息;所述第一用户向量为至少根据第一用户购买过的机票记录处理后得到的;
第一排序模块,用于根据第一排序规则对若干所述第一信息进行排序;
第二排序模块,用于根据第二排序规则对若干第二信息进行排序;
展示模块,用于展示排序后的若干所述第一信息和所述第二信息;
其中,所述第二信息为若干所述待展示信息内,除所述第一信息以外的信息,若干所述第一信息均排列在所述第二信息之前,所述第一信息和所述第二信息相加后,为若干所述待展示信息;所述第一排序规则所需的参数数量大于所述第二排序规则所需的参数数量;
所述第一用户向量通过以下方式得到:
获取所述第一用户的机票购买记录;
将所述机票购买记录中的每一机票,分别处理成对应的子向量;
将每一所述子向量相加,得到待优化向量;
获取与所述第一用户具有关联关系的至少一个第二用户;
获取每一所述第二用户对应的第二用户向量;
根据每一所述第二用户向量,对所述待优化向量进行优化,得到所述第一用户向量。
7.一种电子设备,其特征在于,包括处理器和存储器;
所述处理器通过调用所述存储器存储的程序或指令,用于执行如权利要求1至5任一项所述方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111191130.4A CN113641721B (zh) | 2021-10-13 | 2021-10-13 | 一种机票展示方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111191130.4A CN113641721B (zh) | 2021-10-13 | 2021-10-13 | 一种机票展示方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113641721A CN113641721A (zh) | 2021-11-12 |
CN113641721B true CN113641721B (zh) | 2022-03-04 |
Family
ID=78426560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111191130.4A Active CN113641721B (zh) | 2021-10-13 | 2021-10-13 | 一种机票展示方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113641721B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083688A (zh) * | 2019-05-10 | 2019-08-02 | 北京百度网讯科技有限公司 | 搜索结果召回方法、装置、服务器及存储介质 |
CN110096655A (zh) * | 2019-04-29 | 2019-08-06 | 北京字节跳动网络技术有限公司 | 搜索结果的排序方法、装置、设备及存储介质 |
CN111241388A (zh) * | 2019-12-13 | 2020-06-05 | 北京三快在线科技有限公司 | 多策略召回方法、装置、电子设备及可读存储介质 |
CN112785397A (zh) * | 2021-03-09 | 2021-05-11 | 中国工商银行股份有限公司 | 一种产品推荐方法、装置及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170293868A1 (en) * | 2014-09-23 | 2017-10-12 | Aviel SIMAN-TOV | Flight rebooking |
-
2021
- 2021-10-13 CN CN202111191130.4A patent/CN113641721B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096655A (zh) * | 2019-04-29 | 2019-08-06 | 北京字节跳动网络技术有限公司 | 搜索结果的排序方法、装置、设备及存储介质 |
CN110083688A (zh) * | 2019-05-10 | 2019-08-02 | 北京百度网讯科技有限公司 | 搜索结果召回方法、装置、服务器及存储介质 |
CN111241388A (zh) * | 2019-12-13 | 2020-06-05 | 北京三快在线科技有限公司 | 多策略召回方法、装置、电子设备及可读存储介质 |
CN112785397A (zh) * | 2021-03-09 | 2021-05-11 | 中国工商银行股份有限公司 | 一种产品推荐方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113641721A (zh) | 2021-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104169950B (zh) | 利用面向批处理的计算的数据库*** | |
US10282797B2 (en) | Inference model for traveler classification | |
CN111767466B (zh) | 基于人工智能的推荐信息推荐方法、装置及电子设备 | |
US20130290324A1 (en) | Categorizing and ranking travel-related database query results | |
US20090006216A1 (en) | Method, Device, and System for Analyzing and Ranking Web-Accessable Data Targets | |
CN112507196A (zh) | 融合排序模型的训练方法、搜索排序方法、装置和设备 | |
WO2017010317A1 (ja) | 表示制御装置、表示制御方法、及び、プログラム | |
JP2015518216A (ja) | 旅行関連検索結果の分類およびランク付け | |
US20220172258A1 (en) | Artificial intelligence-based product design | |
US20150100575A1 (en) | Electronic computing device, personalized data recommending method thereof, and non-transitory machine-readable medium thereof | |
US20100205038A1 (en) | Travel market analysis tools | |
CN108932625A (zh) | 用户行为数据的分析方法、装置、介质和电子设备 | |
CN112632379A (zh) | 路线推荐方法、装置、电子设备和存储介质 | |
CN111754278A (zh) | 物品推荐方法、装置、计算机存储介质和电子设备 | |
KR20220076012A (ko) | B2b 시장을 위한 인공지능 기반 판매가격 결정 서비스 제공 시스템 | |
CN107908616A (zh) | 预测趋势词的方法和装置 | |
Ma et al. | An interpretable produce price forecasting system for small and marginal farmers in india using collaborative filtering and adaptive nearest neighbors | |
CN114780600A (zh) | 航班搜索方法、***、设备及存储介质 | |
KR101676219B1 (ko) | 상호작용식 검색 폼을 위한 추천 엔진 | |
JP2008299842A (ja) | 広告執行による反応情報提供方法、コンピュータ読み取り可能な記録媒体、広告執行による反応情報提供システム | |
CN113641721B (zh) | 一种机票展示方法、装置、电子设备及存储介质 | |
CN115660728B (zh) | 一种机票销售订单预测方法、装置、电子设备和存储介质 | |
Fahmi et al. | Best Products with TOPSIS Method and Sales Forecasting with Weighted Moving Average | |
US20230054187A1 (en) | Methods and apparatus for keyword search term recommendations for taxonomy enrichment | |
US11893069B2 (en) | Platform, method, and system for a search engine of time series data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |