基于跨领域的机票个性化推荐系统及推荐方法

文档序号:10553036阅读:1207来源:国知局
基于跨领域的机票个性化推荐系统及推荐方法
【专利摘要】本发明提供了一种基于跨领域的机票个性化推荐系统及推荐方法,包括:多个领域矩阵,其中,多个领域矩阵分为主领域矩阵和辅助领域矩阵;所述主领域矩阵和辅助领域矩阵中均包括相同的用户数据。步骤S1,获取用户历史机票订单;步骤S2,拆分用户历史机票订单为多个领域矩阵;步骤S3,将多个领域矩阵转化为一个多维张量,并训练多维张量得到多维张量的特征;步骤S4,利用多维张量的特征还原多个领域矩阵的主领域矩阵,根据主领域矩阵中值的大小进行推荐。本发明充分利用了历史订单的数据,将用户偏好细分成用户关于不同领域的偏好,从而丰富了用于构建模型所需的信息,也可以用在其他具有类似应用场景的推荐技术中。
【专利说明】
基于跨领域的机票个性化推荐系统及推荐方法
技术领域
[0001] 本发明涉及票务推荐系统技术领域,具体地,涉及一种基于跨领域的机票个性化 推荐系统及推荐方法。
【背景技术】
[0002] 个性化推荐技术的主要作用是在信息爆炸时代根据用户的行为提取出用户的兴 趣爱好,准确高效地为用户提供获取信息的建议,减少用户为获取信息所花费的时间。个性 化推荐已经是互联网时代不可缺少的技术。个性化推荐能够有效预见用户的需求,使得交 互过程更有效率并提升用户的满意度,因此在包括电子商务、新闻门户、多媒体等各种服务 网站都有广泛的应用。每年还会有重大的推荐技术竞赛。随着互联网技术的发展以及用户 信息的不断完善,可以预见个性化推荐技术将有更加广泛的应用。而随着互联网不断发展, 互联网公司收集到的数据领域越来越广,规模越来越大。
[0003] 目前大部分推荐系统主要利用单个领域的信息,比如对机票推荐问题来说,一种 简易的解决方法是把选定出发地与目的地的所有航班当做物品,把机票推荐问题转化为普 通的单领域用户-物品推荐问题。这样虽然模型简单,也有诸如基于物品、用户的协同过滤 或者矩阵分解等成熟的方法可以使用,但是相当于只选择了用户数据中极小的一部分(特 定出发地与目的地的用户历史机票订单),用户的行为信息过于稀少,并不足以建立偏好模 型。
[0004] 目前没有发现同本发明类似技术的说明或报道,也尚未收集到国内外类似的资 料。

【发明内容】

[0005] 针对现有技术中存在的上述不足,本发明的目的是提供一种基于跨领域的机票个 性化推荐系统及推荐方法,该推荐系统及推荐方法利用海量的直接或间接的相关数据,通 过把多个领域的数据相互关联,旨在利用丰富的辅助领域(矩阵)信息,帮助训练主领域(矩 阵),从而解决主领域(矩阵)数据稀疏等问题;充分利用已有的数据信息,通过辅助矩阵细 分用户的偏好,增加偏好模型的准确性,且很容易即可移植到机票推荐以外的问题中去。
[0006] 为实现上述目的,本发明是通过以下技术方案实现的。
[0007] 根据本发明的一个方面,提供了一种基于跨领域的机票个性化推荐系统,包括:多 个领域矩阵,其中,多个领域矩阵分为主领域矩阵和辅助领域矩阵;所述主领域矩阵和辅助 领域矩阵中均包括相同的用户数据。
[0008] 优选地,所述多个领域矩阵通过拆分用户历史机票订单中的数据得到。
[0009] 优选地,所述多个领域矩阵包括:用户航班领域矩阵、用户机型领域矩阵和用户价 格敏感度领域矩阵;其中,所述用户航班领域矩阵为主领域矩阵,用户机型领域矩阵和用户 价格敏感度领域矩阵为辅助领域矩阵。
[0010] 根据本发明的另一个方面,提供了一种基于跨领域的机票个性化推荐方法,包括 如下步骤:
[0011] 步骤S1,获取用户历史机票订单;
[0012] 步骤S2,拆分用户历史机票订单为多个领域矩阵;
[0013] 步骤S3,将多个领域矩阵转化为一个多维张量,并训练多维张量得到多维张量的 特征;
[0014] 步骤S4,利用多维张量的特征还原多个领域矩阵的主领域矩阵,根据主领域矩阵 中值的大小进行推荐。
[0015] 优选地,所述步骤S3具体为:
[0016] 步骤S3.1,根据可逆变换将具有不同物品维长度的多个领域矩阵转变为具有共同 物品维长度的矩阵后,合成一个多维张量;该多维张量由多个领域矩阵拼成,分别对应多个 领域矩阵;
[0017] 步骤S3.2,采用张量分解的方法,将多维张量分解训练得到多维张量的多个特征。
[0018] 优选地,所述步骤S4具体为:
[0019]步骤S4.1,利用多维张量的多个特征还原张量,通过可逆变换得到原多个领域矩 阵;
[0020] 步骤S4.2,多个领域矩阵中的主领域矩阵中为0的部分被填充上了值,根据主领域 矩阵中值的大小对用户进行推荐。
[0021] 优选地,所述主领域矩阵中为0的部分为用户历史未乘坐的航班。
[0022] 优选地,所述多个领域矩阵包括:用户航班领域矩阵、用户机型领域矩阵和用户价 格敏感度领域矩阵;
[0023] 合成的多维张量为一个用户/虚拟物品/领域的三维张量;
[0024]三维张量的三个特征包括:用户特征、虚拟物品特征和领域特征。
[0025]优选地,三维张量的三个特征:用户特征、虚拟物品特征和领域特征,是对三维张 量进行分解得到的三个矩阵,大小分别为UXR、IXR和DXR,其中U为用户数,I为虚拟物品 维度大小(人工设定),D为领域(矩阵)数(这里是3),R为特征大小(人工设定)。
[0026] 与现有技术相比,本发明具有如下有益效果:
[0027] 1、本发明除了考虑用户选定的出发地与目的地历史订单数据之外,还通过把订单 数据细化成多个领域,使用户在其他航线上的历史数据也得以被利用;本发明中细化的多 个领域很容易即可利用原本的数据挖掘出来,不需要额外的数据,通过这种方式可以帮助 用户更好地建模,从而提升个性化推荐的整体效果;
[0028] 2、本发明充分利用了历史订单的数据,将用户偏好细分成用户关于不同领域(如 机型、航空公司等)的偏好,从而丰富了用于构建模型所需的信息,也可以用在其他具有类 似应用场景的推荐技术中。
【附图说明】
[0029]通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、 目的和优点将会变得更明显:
[0030]图1为本发明中机票订单拆分领域图;
[0031]图2为本发明推荐方法流程图。
【具体实施方式】
[0032]下面对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行 实施,给出了详细的实施方式和具体的操作过程。应当指出的是,对本领域的普通技术人员 来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保 护范围。
[0033] 实施例
[0034]本实施例提供了一种基于跨领域的机票个性化推荐系统,包括:多个领域矩阵,其 中,多个领域矩阵分为主领域矩阵和辅助领域矩阵;所述主领域矩阵和辅助领域矩阵中均 包括相同的用户数据。
[0035] 进一步地,所述多个领域矩阵通过拆分用户历史机票订单中的数据得到。
[0036] 进一步地,所述多个领域矩阵包括:用户-航班领域矩阵、用户-机型领域矩阵和用 户-价格敏感度领域矩阵;其中,所述用户-航班领域矩阵为主领域矩阵,用户-机型领域矩 阵和用户-价格敏感度领域矩阵为辅助领域矩阵。
[0037]本实施例提供的基于跨领域的机票个性化推荐系统,其推荐方法,包括如下步骤: [0038]步骤S1,获取用户历史机票订单;
[0039]步骤S2,拆分用户历史机票订单为多个领域矩阵;
[0040]步骤S3,将多个领域矩阵转化为一个多维张量,并训练多维张量得到多维张量的 特征;
[0041]步骤S4,利用多维张量的特征还原多个领域矩阵的主领域矩阵,根据主领域矩阵 中值的大小进行推荐。
[0042]进一步地,所述步骤S3具体为:
[0043] 步骤S3.1,根据可逆变换将具有不同物品维长度的多个领域矩阵转变为具有共同 物品维长度的矩阵后,合成一个多维张量;该多维张量由多个领域矩阵拼成,分别对应多个 领域矩阵;
[0044] 步骤S3.2,采用张量分解的方法,将多维张量分解训练得到多维张量的多个特征。 [0045] 进一步地,所述步骤S4具体为:
[0046]步骤S4.1,利用多维张量的多个特征还原张量,通过可逆变换得到原多个领域矩 阵;
[0047]步骤S4.2,多个领域矩阵中的主领域矩阵中为0的部分被填充上了值,根据主领域 矩阵中值的大小对用户进行推荐。
[0048] 进一步地,所述主领域矩阵中为0的部分为用户历史未乘坐的航班。
[0049] 进一步地,所述多个领域矩阵包括:用户-航班领域矩阵、用户-机型领域矩阵和用 户-价格敏感度领域矩阵;
[0050] 合成的多维张量为一个用户-虚拟物品-领域的三维张量;
[0051]三维张量的三个特征包括:用户特征、虚拟物品特征和领域特征。
[0052]进一步地,三维张量的三个特征:用户特征、虚拟物品特征和领域特征,是对三维 张量进行分解得到的三个矩阵,大小分别为UXR、IXR和DXR,其中U为用户数,I为虚拟物 品维度大小(人工设定),D为领域(矩阵)数(这里是3),R为特征大小(人工设定)。
[0053]下面结合附图对本实施例进一步说明。
[0054] 本实施例的工作原理为:
[0055] 相比于火车和长途汽车,飞机的订票具有更加灵活多变的特性,包括多个航空公 司、不同档次的机票舱位、多变的机票价格等。当用户在售票网站搜索从出发地到目的地的 机票时,如果能够给每位用户推荐符合其偏好的机票,将可以为用户节省浏览时间,同时也 可以为售票网站带来更高的转化率。获得用户偏好最直接的途径就是统计并分析用户的历 史订单。然而,不同出发地与目的地的历史订单信息,因为航线的不同无法直接融合以供分 析使用;而如果只采用选定的出发地与目的地的机票订单数据获取用户偏好,又会丢失掉 该用户其他(非该出发地与目的地)历史订单数据,而降低对用户偏好提取的效果。为此,我 们希望找到一种方法,可以把不同出发地与目的地的历史订单信息提取成多个不同领域的 矩阵,每个领域是用户一种行为或偏好的表现。我们通过把这些不同领域矩阵联合起来用 以训练用户与航班特征,依据这些特征向用户推荐特定出发地与目的地的航班。这种基于 跨领域的推荐技术充分利用了历史订单的数据,将用户偏好细分成用户关于不同领域(如 机型、航空公司等)的偏好,从而丰富了用于构建模型所需的信息,也可以用在其他具有类 似应用场景的推荐技术中。
[0056] 机票推荐系统根据机票订单的特点,将用户以往的机票订单数据拆分成多个领域 (矩阵)。用户-特定目的地与出发地航班为主领域(矩阵),而从机票订单中提取的其他信 息,如用户-航空公司、用户-机型、用户-价格敏感度等为辅助领域(矩阵)。这些矩阵中,用 户这一维是相同的,即都是订票网站的客户。通过基于张量分解的跨领域推荐方法,我们可 以把这些领域联合起来训练得到用户、航班、及领域特征,然后利用这些特征还原主领域 (矩阵)
[0057]本实施例的具体技术方案为:
[0058]如表1所示,为机票属性列表;一条机票订单数据中包含有非常丰富的信息,包括 用户ID(UID),订单ID(OrderlD),航班号(FlightNo),价格(Price),航空公司(Airline),出 发地(00:^5〇,目的地(4(];^5〇,订票时间((^(16抑3七6),出发时间(131^(^;1;7;[1116),到达时间 (八1'1';[¥311';[1116),机型(八;[1'1;[11615^6),舱位等级(6抑(16),价格敏感指标(?1';[061(?1),序列 (sequence),优惠利率(PriceRate),出发港口(DPort),到达港口(APort),替补仓位等级 (SubGrade),远程控制策略(RCEPolicy),订单状态(OrderStatus)。对于限定出发地与目的 地的机票来说,机票的航班号、价格、出发及到达时间是与出发地目的地关联的特有信息, 而航空公司、机型、舱位等级、价格敏感指标等信息则是通用的,不只限于特定出发地与目 的地。根据这样的机票订单特点,我们可以把机票拆分成多个领域,比如可以根据图2把机 票订单拆分成用户-航班、用户-机型、用户_价格敏感度三个领域。其中,用户-航班为主领 域,航班这一维度表示的是特定出发地与目的地(如上海-北京)的当日航班,数据都是从选 定出发地目的地(如上海-北京)的用户历史订单中提取;而用户-机型、用户-价格敏感度领 域为辅助领域,这两个领域不需要指定出发地与目的地(不同出发地与目的地的机型都是 那几种),因此我们可以从数据库中抽取所有的用户订单提取用户-机型和用户-价格敏感 度信息。
[0059]表 1
[0061] 通过上述推荐系统,我们不仅有特定领域的信息(用户-航班),这种特定领域专门 针对我们选定的出发地与目的地,更为精确;同时,我们还有通用的辅助领域(用户-机型、 用户-价格敏感度),这样的辅助领域涵盖了整个数据库中的用户数据,更能精确地反映用 户的某些特征偏好。通过这些领域来辅助主领域推荐,会使得推荐更为精确。
[0062] 根据以上描述,我们把机票推荐问题,转换成了一个跨领域推荐问题。现在我们有 不同领域的数据(矩阵),那么,如何将这多个领域联合起来,共同作用于主领域推荐是问题 的关键。
[0063] 我们采用的方法是基于张量分解的方法,依据PARAFAC2,如图1,利用可逆变换把 多个领域物品转换为一个用户-虚拟物品-领域的三维张量,这个三维张量是由三个用户-虚拟物品的矩阵拼成(虚拟物品可以是航班、机型、价格敏感度),分别对应原来的三个领 域。即我们根据可逆变换把三个物品维长度不同的矩阵变成了有共同物品维长度的矩阵后 合成一个三维张量。我们得到了这个三维张量后,即可采用张量分解的方法把张量分解训 练得到三个特征(用户特征、虚拟物品特征、领域特征)。之后我们利用三个特征还原张量, 可逆变换回去得到原来的领域矩阵。此时,主矩阵中为〇的部分(即用户历史未乘坐的航班) 被填充上了值,我们根据值的大小对用户进行推荐。具体推荐流程见图2。
[0064] 在本实施例中,符号-为一个连接符,用于分隔矩阵中的各元素。
[0065] 以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述 特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影 响本发明的实质内容。
【主权项】
1. 一种基于跨领域的机票个性化推荐系统,其特征在于,包括:多个领域矩阵,其中,多 个领域矩阵分为主领域矩阵和辅助领域矩阵;所述主领域矩阵和辅助领域矩阵中均包括相 同的用户数据。2. 根据权利要求1所述的基于跨领域的机票个性化推荐系统,其特征在于,所述多个领 域矩阵通过拆分用户历史机票订单中的数据得到。3. 根据权利要求2所述的基于跨领域的机票个性化推荐系统,其特征在于,所述多个领 域矩阵包括:用户航班领域矩阵、用户机型领域矩阵和用户价格敏感度领域矩阵;其中,所 述用户航班领域矩阵为主领域矩阵,用户机型领域矩阵和用户价格敏感度领域矩阵为辅助 领域矩阵。4. 一种基于跨领域的机票个性化推荐方法,其特征在于,包括如下步骤: 步骤S1,获取用户历史机票订单; 步骤S2,拆分用户历史机票订单为多个领域矩阵; 步骤S3,将多个领域矩阵转化为一个多维张量,并训练多维张量得到多维张量的特征; 步骤S4,利用多维张量的特征还原多个领域矩阵的主领域矩阵,根据主领域矩阵中值 的大小进行推荐。5. 根据权利要求4所述的基于跨领域的机票个性化推荐方法,其特征在于,所述步骤S3 具体为: 步骤S3.1,根据可逆变换将具有不同物品维长度的多个领域矩阵转变为具有共同物品 维长度的矩阵后,合成一个多维张量;该多维张量由多个领域矩阵拼成,分别对应多个领域 矩阵; 步骤S3.2,采用张量分解的方法,将多维张量分解训练得到多维张量的多个特征。6. 根据权利要求4所述的基于跨领域的机票个性化推荐方法,其特征在于,所述步骤S4 具体为: 步骤S4.1,利用多维张量的多个特征还原张量,通过可逆变换得到原多个领域矩阵; 步骤S4.2,多个领域矩阵中的主领域矩阵中为O的部分被填充上了值,根据主领域矩阵 中值的大小对用户进行推荐。7. 根据权利要求6所述的基于跨领域的机票个性化推荐方法,其特征在于,所述主领域 矩阵中为〇的部分为用户历史未乘坐的航班。8. 根据权利要求4或5所述的基于跨领域的机票个性化推荐方法,其特征在于,所述多 个领域矩阵包括:用户航班领域矩阵、用户机型领域矩阵和用户价格敏感度领域矩阵;合成 的多维张量为一个用户/虚拟物品/领域的三维张量;三维张量的三个特征包括:用户特征、 虚拟物品特征和领域特征。9. 根据权利要求8所述的基于跨领域的机票个性化推荐方法,其特征在于,所述用户特 征、虚拟物品特征和领域特征是对三维张量进行分解得到的三个矩阵,三个矩阵的大小分 另Ij为UXR、I XR和DXR,其中,U为用户数,!为虚拟物品维度大小,D为矩阵数,R为特征大小。
【文档编号】G06F17/30GK105912685SQ201610237579
【公开日】2016年8月31日
【申请日】2016年4月15日
【发明人】曹健, 欧辉思
【申请人】上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1