面向民航旅客同行特征提取与设计
2021-02-25邢泽文李忠虎
徐 涛,邢泽文,卢 敏,李忠虎
(1.中国民航大学 计算机科学与技术学院,天津 300300;2.中国民航大学 中国民航信息技术科研基地,天津 300300;3.中国民航信息网络股份有限公司 民航旅客服务智能化应用技术重点实验室,北京 101318)
0 引 言
民航旅客同行关系描述两名旅客是否发生共同订票并乘坐相同航班的行为,是民航领域重要的社交关系,具有广泛的应用,其中包括:①航空公司通过旅客同行关系可针对旅客共同出行需求进行精准的旅客出行偏好服务推荐和个性化定向服务;②机场通过同行旅客特征的提取,可获得黑白名单中随同出行的旅客名单,进而针对上述旅客开展有针对性的黑白名单分级安检,提升安保服务效率。
为了更准确挖掘民航旅客同行关系,本文开展民航旅客同行特征抽取研究,旨在从旅客的订票数据中抽取能够刻画两名旅客共同出行的特征集合。其主要思想是:首先从大规模的民航旅客订票记录进行特征属性分类并构建特征群,然后对同行旅客对之间各特征计算信息熵并进行相关性分析,提取旅客同行表现出强相关性的特征,最后细化设计同行旅客对的特征集合。实验结果表明,本文所抽取的特征反映了不同强度的旅客同行关系,且利用特征向量对基础分类器模型进行训练预测,平均准确率高达0.91,验证了该特征提取方法具有极高的适用性。
本文的主要贡献是:①克服了因各同行旅客社区内的平均节点度为0.12,具有极强的稀疏性,使得传统特征提取方法不适用的难题。在有限的数据字段中提取并特征,对后续的民航旅客同行网络链接预测具有借鉴意义[1,2];②利用基础分类器对各特征及特征集合进行训练预测实验,并得到较高的准确率,验证了特征提取具有一定的适用价值。
1 相关工作
理论上,目前仍缺乏直接对民航同行旅客特征提取的研究文献。针对特征提取的研究方向集中在文本特征[3,4]、图像特征[5,6]、社交网站数据特征[7,8]等领域。在相关研究文献中,通常将文本特征提取的分为Filter过滤式和Wrapper封装式两大类[9]。其原理是将高维度高冗余性的文本信息进行特征降维并分类,并选择一个最优特征子集。在图像特征提取研究中,主要以图像构成元素进行分类特征抽取,如颜色、形状、纹理等。对于社交网站数据来说,不仅可以利用文本特征提取方法对网站数据热度进行提取,在构建社交网络用户社区的基础上,可针对其节点关系强度及节点相似度等网络结构特征进行提取分析。然而这些方法难以应用于民航同行旅客特征提取工作中,原因是其相比文本和图像来说,数据集呈散列性且字段较少,其特征提取方法在该问题下适用性极低;且民航同行旅客数据相比社交网站用户数据,动态性较差,稀疏性极强,不适合使用相似度算法来对旅客之间的关系强度进行特征提取分析。
李志宇等提出一种大规模网络中基于节点结构特征映射的链接预测方法[10],其利用网络数据集序列化方法,将网络节点的结构特征信息映射到一个连续的固定维度的实数向量并学习,计算节点相似度来进行网络中的链接预测。Wan等提出了一个社会化网络用户关系强度计算模型,该研究使用了某社交网络用户数据,分别建立计算直接关系和间接关系的关系强度模型,预测用户之间的社交关系。该两种方法使用数据动态性极强,社交网站数据量大且容易获取,成本小,噪声数据容易处理,但关系可靠性差,与民航旅客数据相比差异较大,适用性较弱。
2 问题提出及分析
本文对近某年民航旅客订票记录(passenger name records,PNR)进行旅客同行关系统计。在原始的民航旅客订票数据集中,每一条PNR拥有包括订票号(PNRNBR)在内共17个属性字段(表1)。将每条PNR的属性字段进行筛选并分类为每对节点的3种信息特征群,即旅客个人信息特征群、航班信息特征群和旅客行为信息特征群。3种信息特征群包括的所有属性字段定义见表2。
表1 民航旅客订票记录(PNR)字段描述及示例
表2 特征群分类及描述
其中,利用订票号这一特征作为唯一标识与航班信息特征群将PNR分为具有同行关系旅客和非同行旅客。其中同一航班下同一订单内的旅客之间为同行旅客,同一航班下不同订单间的旅客为非同行旅客。需要说明的是,在同一趟航班下的所有旅客拥有相同的飞行旅程,而同一航班下不同订单间的旅客可能存在未一起购票却是同行的关系,也就是所谓的潜在同行关系。但对于所有非同一订单间的旅客对集合下这种情况十分稀少。
本文对同行旅客间的旅客个人信息特征群及旅客行为信息特征群的各特征数据标准化,对各特征分类占比进行统计并计算其信息增益(表3)。由于身份证号字段本身属于加密后数据,对其进行相关分析失去意义,故不对其进行分析
(1)
IG(T)=H(C)-H(C|T)
(2)
其中,利用式(1)计算信息熵H,式(2)计算信息增益;T表示各特征,本文中指旅客个人信息特征群及旅客行为信息特征群中的每一特征;C表示总聚类,在本文中指样本空间中同行与非同行旅客对集合。
表3 同行旅客对各特征分类占比及信息增益(总信息熵:0.998)
根据表3结果直观显示,旅客个人信息特征群中各特征均有一定程度的信息增益,但性别特征的信息增益仅为0.003;而旅客行为信息特征群中各特征相对产生较大的信息增益,其中折扣率及舱位特征表现较为显著。然而这种做法只是从统计学意义出发对特征进行选择,由于民航旅客数据局限性势必会降低某些具有真实意义的特征判断,为此本文提出针对民航旅客同行特征进行提取设计及向量化,并建立基于民航旅客同行特征的关系预测分类器模型。
3 旅客同行特征提取及设计
在第2节中,本文提出将PNR原始数据进行同行旅客对筛选,在旅客两两同行数据的基础上将其整合并数据标准化为旅客对原始特征提取并分类,计算信息熵和信息增量等参数来判断原始特征提取的可靠程度及适用性强弱。由数据结果可知,旅客个人信息特征群中的性别特征及旅客行为信息特征群中的团队名特征,其信息增益仅为0.003和0.004,可信度极低。不难证明,在乘机过程中,同行关系作为依附于社会关系的一种旅客所特有的关系,在性别异同中同样类似于社会关系中性别的选择且相比社会关系中的性别差异更为简单,故在旅客同行特征细化中不再将性别特征加入细化分析。
而将团队名作为原始特征进行分析时发现,大量的旅客PNR中缺少对团队名的标记或记录,使得在计算信息熵时不得不将缺失字段作为第三类特征表现加入计算且结果表现不佳。团队名作为缺失数据较多的字段对特征细化产生极大的影响,且缺少实际应用价值,故本文同样不将该原始特征加入细化分析。
3.1 旅客同行特征提取及细化分析
将旅客同行特征两两整合,提取中强相关及强相关特征,细化并设计针对同行旅客之间的特征属性见表4。
表4 特征属性描述及释义
(1)年龄差特征
利用出生年份特征可计算同行旅客间的年龄差,并对该结果进行划分如图1所示,民航同行旅客间年龄差由小到大呈对数分布。故将年龄差特征设置为0岁-5岁、5岁-15岁、15岁-30岁、大于30岁这4个区间定义为year_feat进行特征分类,可使特征数据均匀且符合实际意义。
图1 年龄差百分比分布
(2)地址特征
居民身份证前4位代表地址码(省市),反映了该旅客的出生户籍,将该特征数据提取并细化为旅客对信息特征属性,由数据统计显示,旅客同行网络中地址码相同的旅客对占旅客对集合的72%,验证该特征在一定程度上可以根据实际情况判断旅客对间同行关系中潜在社交关系的可能性,若旅客本身具有一定的潜在社交关系,故可以将native_feat作为一个必要不充分条件来判断他们有是否有同行关系。
(3)舱位特征
飞机在安排座位时会利用舱位将座位分成不同的等级,不同的舱位对应的机票折扣不同,价格不同所得到的服务也不一样。在一趟航班中最多可达24种不同的舱位[11]。舱位具有将旅客客票划分为不同等级的作用,故利用cabin_feat作为特征属性进行提取,可以反映旅客之间的相似度,进而确定他们是否构成同行关系。
(4)折扣率特征
各航空公司为促进营销通常会在不同时段销售不同折扣的机票,不同折扣的机票往往在旅客退票、签转、行李额等权限方面进行区别划分。selloff_feat表示在购票时对于价格的选择作为特征属性进行提取。该特征从侧面反映了旅客之间是否在相同或相近的时段内进行了购票行为,进而确定他们是否构成同行关系。
(5)座位关系特征
座位行号与座位号属性是旅客在该航班中座位的确定标识。在一般情况下同行的旅客会选择靠近的位置就坐。将旅客座位行号差值seat_row_dif单独定义一类特征,而座位号通常是由A到K之间的字母表示,故不适合单独作为特征。所以本文将旅客对座位号属转化为ASCII值并求差值与座位行号差值相加定义seat_sum特征。
(6)登机序号特征
在民航客票信息中,登机序号指旅客在值机时生成的序号,将旅客对登机序号差值boarding_dif定义为登机序号特征,与座位关系特征有着类似的作用。通常同行的旅客会在值机方面存在伴随的行为特征,故可以从登机序号的关系特征一定程度反映出旅客之间是否存在同行关系。
3.2 特征向量化
同行旅客特征提取后数据种类与判断方式不同,3.1中定义的年龄差特征、地址特征、舱位特征及折扣率特征均属于类别型特征。其中,年龄差特征以区间分为4类,其它3种特征分为相同或不同两类。由于类别性特征无法直接数字化表示,因此要借助原特征的分类特点,组合产生新特征并将其文本化用于提取储存和任务计算,并采用0/1二值方式进行量化。
图2代表了年龄差特征定义四维向量分别储存将其分为的4个特征;地址特征、舱位特征及折扣率特征均定义二维向量储存,其中[1 0]代表特征相同,[0 1]代表特征不同。而座位关系特征及登机序号特征作为数值型特征的转换相对简单,将其维持原始特征值进行储存即可。图3为将旅客对提取所有特征组成的特征矩阵集示意。
图2 特征向量化表示
图3 提取旅客对所有特征组成特征矩阵集示例
4 实验及结果分析
4.1 实验设置
(1)原始数据
将近某两年民航旅客订票记录PNR作为实验数据,其中包含旅客个人信息、航班信息、旅客行为信息等共17个字段,总订单数量为74 461 114单。其中,旅客节点总数为180 451 121,而边总数只有24 503 142,平均节点度为0.12,稀疏性极强;图4显示了同样两年间同行旅客订单数统计,其中单人行程订单数占总订单数的82.79%,不仅进一步验证旅客同行网络的极强稀疏性,更说明了在订单数据中表现出的同行关系十分稀少,可用于研究的同行旅客数据只占总数据的不到18%。
图4 中航信近某两年PNR数据同行旅客订单数统计(总订单数:74 461 114)
(2)数据预处理
由于原始数据量极为庞大,且存在大量缺失字段,故首先判断各字段数据是否为空,删除有空字段的PNR,并删除出行次数小于5次的旅客订票记录以便数据分析;利用order_id将每条订单数据按相同订单号进行储存,并利用航班信息属性集合进行分类,即将乘坐同一航班的旅客信息进行分类并储存。
(3)实验评价指标
本文采用支持向量机(support vector machine,SVM)分类器对数据进行二元分类预测,将每一种特征对模型进行分类预测,采用均方误差作为评价指标(mean square error,MSE)表示特征间的差异。并将所有特征加入训练,使用准确率(Accuracy)、召回率(Recall)、F1值(F-Mea-sure)作为评价指标来评价本文特征提取方法。
(4)K-折交叉验证
由于处理后的实验数据经过正负例分别为20 067例和2 931 44例,比例不均衡,故加入损失函数,并按照正负例相应的比例定义惩罚值,使用K-折交叉验证。即将实验数据平均随机分为K份,每次将其中的K-1份作为训练数据,另一份作为预测数据,共进行K轮实验,并将K份测试数据评价结果的平均值作为最终的算法性能。
4.2 实验环境
本文使用map-reduce平台进行对PNR数据的加密处理,算法使用Python语言进行编写。样本数据处理及参数计算运行硬件环境为MacBook Pro 2.4 GHz主频,Intel Core i5处理器,8 G内存的计算机;原始数据预处理及模型训练预测运行硬件环境为DELL 3.40 GHz主频,Intel(R)Core(TM)i7-6800K处理器,64 G内存的计算机并行NVIDIA TITAN Xp COLLECTORS EDITION的GPU。
4.3 实验结果及分析
4.3.1 单一特征模型预测分析
将处理后的所有正负例实验数据随机排列,分别提取各特征组成特征矩阵并平均分成10份,进行10-折交叉验证,输出得到各特征训练预测的均方误差如图5所示。图5可以看出,年龄差特征和舱位特征的平均误差率分别在0.46和0.41,单一影响强度最低;折扣率特征和舱位特征的平均误差率分别在0.33和0.24,说明对关系预测效果有一定的单一影响强度;而座位关系特征和登机序号特征的平均误差率分别达到了0.20和0.17,验证二者在各个特征中表现出的关系预测效果最佳。
图5 各单一特征模型预测均方误差
4.3.2 特征集合模型预测分析
将实验数据中所有特征提取并组合成具有13维的特征矩阵输入SVM模型进行特征训练,分别使用5-折交叉验证和10-折交叉验证进行对比,来验证将本文提取到的特征组合后的关系预测效果(表5)。
表5 组合特征模型预测实验结果
其中,在10-折交叉验证下组合特征模型预测结果平均准确率可达0.916,召回率也在表现良好,验证了本文提出的针对民航旅客同行特征提取方法在旅客同行网络研究领域具有极大的适用价值。
5 结束语
民航旅客同行关系特征的提取作为旅客同行网络链接预测的基础研究,不仅可以对旅客同行网络进行网络补全,还可以应用于航司的航班推荐,也为机场对旅客的分级安检提供了方便。为了精准提取影响强度大的特征,本文在民航旅客订票记录上进行数据分析,分类提取了针对民航同行旅客间的特征对,并将各特征向量化,组成特征矩阵,利用分类器模型SVM对其进行训练预测。实验结果表明,各特征对分类预测结果均具有一定程度的影响强度,且在5-折及10-折交叉验证组合特征模型中的预测准确率分别达到0.84和0.91以上。