融入集成卷积和注意力的民航业务实体识别
2022-03-01邢志伟
邢志伟,戴 铮,罗 谦
(1.中国民航大学 电子信息与自动化学院,天津 300300; 2.中国民航局第二研究所 工程技术研究中心,四川 成都 610041)
0 引 言
旅客运输是航空运输的重要组成部分,2019年全行业完成旅客运输量65 993.42万人次,比上年增长6.9%[1]。不断提高机场的旅客服务质量一直是机场管理者追求的目标,传统的问卷调查方式伴有随机性和盲目性难以获得真实客观的旅客评价。采用命名实体识别技术,针对互联网上的旅客评价文本进行识别可以快速找到评价的业务对象,帮助机场管理者聚焦旅客服务中的痛点。
命名实体识别[2]是从文本数据中抽取人名、地名、组织机构名等专有名词的技术。由于传统的规则与统计的方法过分依赖人工特征和专家知识而逐渐被基于深度学习的方法取代[3]。
民航业务实体识别[4]是一种特殊领域的实体识别,目的是从海量的非结构化文本中识别出运营业务、商业业务、其它服务业务(综合服务业务)等多种不同类型的实体。民航命名实体识别区别于一些规范的通用实体,旅客评价中存在较多的复杂命名实体,如地名与地名的嵌套,同时存在数据类别不平衡的情况,如地名与综合服务类实体数量相差较大,因此增加了民航业务实体的识别难度。
为了解决旅客评价中民航业务实体的识别问题,本文提出了集成卷积网络(ensemble convolution neural network,ECNN)与长短期记忆网络(long short-term memory,LSTM)融合的模型,并添加了注意力机制。该模型首先由集成卷积和长短期记忆网络提取文本的长短距离特征,然后由Attention分配权重,最后输入至条件随机场(conditional random filed,CRF)获取最终的预测标签。
1 相关工作
命名实体识别技术发展到深度学习阶段,文献[5]基于循环神经网络(recurrent neural network,RNN)网络的改进模型长短期记忆网络,提出了端到端的BLSTM-CRF模型,克服了传统的规则模版需要大量专家知识的缺陷,该模型能够满足大多数简单实体的识别。
为解决复合实体的识别,文献[6]设计了一种针对中文的动态meta-embedding模型,嵌入层不局限于词或字的模型,将句子的词语全划分后与字向量融合,提高了模型对于实体边界的划分能力。文献[7]针对微博中的复合实体设计了一种双层条件随机场模型,采用了基于词性标记的复合实体特征词提取算法并辅助了外部语义知识库。文献[8]将复合实体看作结点的联结使用从递归神经网络提取的特征来学习实体的超图表示。文献[9]利用卷积神经网络能够很好描述提取特征信息这一特点,在BLSTM-CRF模型的基础上利用CNN网络训练出具有形态特征的字符级向量,并从大规模背景语料训练中得到具有语义特征信息的词向量,然后将二者进行组合作为输入,提出了CNN-BLSTM-CRF模型。
为解决部分领域数据类别失衡导致的识别性能下降的问题。文献[10]使用了基于Transformer双向编码器的BERT模型,通过微调词嵌入层数增强了对句子的表达,从改善词嵌入层面提高了对微博这种非结构化文本的识别。文献[11]使用Attention机制获得词在全文范围的表示解决了化学领域实体一致性差的问题。文献[12]针对不规范文本中数据类别标记不平衡问题提出了一种基于遗传算法的数据类别标记方法,通过合成类别分布均衡的文本扩充源数据降低了分布不平衡性。
但是民航旅客评价规范性更差,它兼具复杂实体较多、数据类别不平衡这两大特点。因此本文提出一种融合ECNN 与Attention机制的模型ECNN-BLSTM-Attention-CRF,通过ECNN提取文本多范围的特征信息,并添加Attention机制增强模型对于小类别实体的关注,能有效应对旅客评价这一特殊领域文本。
2 旅客评价标注方案
2.1 机场旅客服务流程
结合民航业对国内民用机场服务质量的评价,经分析机场所涉及的旅客服务主要分为运营类、商业类和其它服务类(综合服务类)3大类,其中运营类和商业类具体分为5小类和3小类,其业务划分如图1所示。
图1 机场旅客服务业务划分
2.2 旅客评价数据特点
民航领域目前没有公开的标准数据集,本文从某点评类网站上获取旅客评价数据,进行了一定的数据处理,包括删减了部分字符和将部分阿拉伯数字替换为汉字,展示部分处理后的评价数据如下。
例:“XX地铁二号线终于通到了XX机场,过来方便多了,再也不用坐又破又味儿的机场巴士了。出了地铁站就是机场摆渡车…”
观察数据可以得出旅客评价文本有以下特点:
(1)存在较多的复杂实体。
(2)格式不规范,口语表达严重,例如“打的”。
(3)指代表述普遍,例如用“hk”指代香港。
(4)错别字现象普遍,例如“无限信号”。
由于旅客评价中各类别之间的数据量相差较大,这会导致训练集的标记类别不平衡,同时小样本的数据有时候具有更大的价值。数据类别不平衡将给模型带来较大的影响,导致模型更加关注大体量类别数据而对小体量类别数据有所忽略。在旅客评价数据中运营类、商业类等实体中均存在少数类别实体,在训练时会受到地名这类多数类别实体的影响。同时非实体字符与实体字符的数据量也存在较大差异,文献[13]采用数据平衡性指标R来评估非实体与实体标记数量的平衡性,计算方式如下
(1)
式中:WO表示文本中非实体字符数,WE表示文本中实体字符数。非实体与实体的比值即R值越大文本类别失衡越严重。对数据集中抽取的一部分数据进行平衡度计算,如图2所示,例如都从未添加领域知识的训练集和测试集的第三句旅客评价开始顺序抽取100字符,训练集的R值有阶段性上升并产生多次的波动,表明此时的文本类别较为不平衡。
图2 数据平衡与文本字符数关系
2.3 数据增量与标注规范
为了满足模型的数据需求,本文采用半监督思想与人工修正结合的方法扩充标准数据。为尽可能多地获取已标注数据,首先由民航从业者进行标注,同时从微博WeiboNER数据集中往训练集中补充了部分已标注数据,数据增量过程如下:
(1)input:已标注数据集合L,未标注数据集合U,集合H,测试集Q和基分类器。
(2)while总的F1未趋近收敛
(3)将L在基分类器上进行训练得出模型M,并对测试集Q测试得出总的F1
(4)使用M对U进行预测获得集合H: {wi,tagj} 其中w是字符,tag是该字符的预测标记
(5)人工修正H中明显的标注错误
(6)将H加入到L中
(7)output:集合L
上述过程中每次循环初:U会重新添加新的未标注数据,集合H和模型M置空。不同循环可调整基分类器的模型和参数。
词位标注采用BIO标注法,B表示实体开始,I表示实体中后部,O表示非实体部分。本文不只识别机场业务实体,同时识别了旅客评价文本中的人名、地名和组织机构名,标注方式的示例如下:
例:“武 B-LOC.NAM汉 I-LOC.NAM地B-TRAN铁I-TRAIN二 I-TRAN号 I-TRAN线 I-TRAN终 O于 O通 O到 O了 O天 B-LOC.NAM河 I-LOC.NAM机 I-LOC.NAM场 I-LOC.NAM…”
3 模 型
本文模型在BLSTM-CRF的基础上融合了集成卷积网络与注意力机制,整个模型框架如图3所示。
图3 基于ECNN-BLSTM-ATTENTION-CRF的 实体识别模型
3.1 字嵌入
3.2 ECNN
旅客评价文本中常常出现较为复杂的实体,例如“广西壮族自治区政府”地名与组织机构名嵌套在一起。因此整个学习模型中需要增加识别局部上下文的能力。卷积神经网络中的卷积层拥有良好的提取数据特征的能力。利用这一特性本文使用集成卷积神经网络提取文本上下文特征,使用不同窗口大小卷积核的网络获取更加丰富的词语边界特征信息,然后将信息集成[14]。
卷积仅在长方向或者宽方向上进行滑窗操作,如式(2)字嵌入矩阵X∈Rn×m首先经过不同窗口大小的卷积操作得到Cw i, 然后通过式(3)将其集成,提取多范围的特征信息后形成C={C1,C2,…Cw i}。 使用集成卷积时,设置多种不同大小的卷积窗口并设置步长值,当卷积核移动到边缘时使用padding对于边界进行扩充
Cw i=f(V·X)+b
(2)
C=Cw1⊕Cw2⊕…⊕Cw i
(3)
式中:V为权值矩阵,X为计算的字嵌入矩阵,b为偏置,wi是所使用的卷积窗口大小,f为激活函数,本文使用ReLU作为激活函数将卷积层的输出结果进行非线性映射。
3.3 BLSTM
梯度消失会阻碍模型学习长依赖关系,而LSTM网络能够在给定的时间步骤中更好控制记忆与遗忘,同时本文为了充分获取文本信息,采用了双向LSTM网络的模型。将ECNN网络的输出分别输入到前向LSTM和后向LSTM中,其计算流程如下。
(4)
通过输入门it来产生需要更新的信息,公式如下
(5)
使用tanh函数生成新的候选值,公式如下
(6)
综合遗忘门和输入门,去掉不用的信息并添加新的信息完成更新过程,公式如下
(7)
然后通过sigmoid函数来得到单元的初始输出。公式如下
(8)
(9)
3.4 Attention机制
Attention机制广泛的用于图像识别中,模仿人的注意力行为,例如当人在聚精会神看荧幕时,自然会忽视周围发生的事件。旅客评价文本中有相当一部分实体分布不均衡,例如出现的人名和安检类实体,相对于地名实体属于小类别实体,因此需要给学习模型添加注意力机制,使模型注意关键信息而忽略冗余信息,从而让小类别实体获得有效的训练。注意力机制的原理如图4所示,不同于分心模型,注意力机制是通过对输入的序列分配不同的权重,“避轻就重”优化资源配置,提高输出的质量。
图4 注意力机制
(10)
3.5 CRF模块
条件随机场[16]是一种无向图模型,结合了最大熵和隐马尔可夫模型的特点,克服了隐马尔可夫模型独立性假设和最大熵模型的标记偏置等缺陷,能获得全局最优解。传统的softmax以最高概率标签作为结果,视各标签为独立的个体,实际上标签之间存在互相的约束关系。CRF将这种约束关系也纳入考虑,为当前解决序列标注问题的较优选择。最终输出标签序列由输出层的输出yi和转移矩阵T运算得出,计算公式如下
(11)
式中:li表示i时刻的标签,Tli-1,li表示从li-1标签转移到li标签的概率,最终通过维特比算法解码得到预测标签。
4 实 验
4.1 实验环境与数据
实验使用的计算环境见表1。
表1 实验环境配置
实验的部分超参数设定见表2。
经数据增量并添加所整理的部分领域知识后,所构造数据集中的人名、地名、组织机构和机场业务实体分布见表3,其中具体人名与指代人名合并统计,地名和组织机构名中的具体与指代同理合并统计,各类实体数量的统计以数据集中每类实体开始标志符的数量为准。补充到训练集中的WeiboNER数据集中特有的实体类别和标注不进行去除,但不纳入实体数量分布的统计。由于本数据集除使用部分WeiboNER数据集以外,其它部分不是国际上开源数据集,因此在构造时规范性不足,测试集与训练集部分内容重合,按存储空间大小已标注数据中约86%的数据为训练集,约14%的数据为测试集。
表2 超参数设定
表3 机场业务实体分布
4.2 评价指标
命名实体识别的评价指标设定为精确率P、召回率R和综合精确率和召回率的评价指标F1值。其计算方法如式(12)~式(14)所示
(12)
(13)
(14)
4.3 实验结果与分析
实验参考文献[17]进行设计,为了评估本文模型在旅客评价数据集的上的性能,设计了3组实验8个模型进行分析,包括BLSTM-CRF、CNN-BLSTM-CRF为第一实验组;本文在代码实现时构建了两种Attention的实现方式,BLSTM-Attention(12)-CRF、CNN-BLSTM-Attention(12)-CRF、ECNN-BLSTM-Attention(12)-CRF为第二、第三实验组,第一实验组使用Word2Vec初始化字向量,第二、第三实验组随机初始化字向量,第三实验组的Attention_size设置为200,结果见表4。
表4中每个模型达到表中F1值的epoch数有所差异。从第一实验组的结果看出卷积神经网络能有效提高模型的识别性能,对比不使用卷积的模型在F1值上有1.88%的提升。第二、第三实验组结果显示出注意力机制的优越性,两种实现注意力方式的模型F1值优劣趋势相同,第二实验组实现注意力机制的代码虽然简单,但是需要训练更多的epoch相比于第一实验组牺牲了收敛速度,第三实验组的实现方式收敛速度不会下降。
表4 不同模型实验对比结果
为验证集成卷积的有效性,以BLSTM-Attention(1)-CRF为基础添加了不同的卷积,实验设置了卷积层中不同的卷积核大小进行对比,CNN3、CNN5、CNN7表示卷积窗口大小为3、5、7,卷积核数量为256*3,ECNN集成了以上3种窗口大小的卷积核,卷积核数量为256*3,训练相同的epoch数展示F1值最优的epoch的测试结果,见表5。
表5 不同卷积核大小对比结果
表5结果显示在使用单一窗口大小卷积核时,当卷积核大小为7时F1值为76.74%,当3种卷积核集成后F1值提高到77.38%。在ECNN-BLSTM-Attention(1)-CRF模型识别下,观察F1值为77.38%的测试集结果,部分复杂的实体如“广西壮族自治区政府”、“少林寺食品专卖店”能被正确识别,不同卷积核大小的网络可以获取不同范围的特征信息,多种卷积核的集成可以获得丰富的文本信息。
卷积神经网络池化层的作用是特征降维、压缩数据量和减小过拟合的作用,文献[18]表示在一定场景下池化层进一步压缩数据量的操作使得部分有价值的信息丧失。因此本文以ECNN-BLSTM-Attention(1)-CRF模型为基础使用平均池化、最大池化、无池化设置3组对比实验,训练相同的epoch数展示F1值最优的epoch的测试结果见表6。发现在本对比实验下,不使用池化层能得到更好的效果。
表6 不同池化对比结果
表7展示了ECNN-BLSTM-Attention(1)-CRF模型识别下总体F1值达到77.38%的测试集机场业务实体识别的结果,其中具体人名与指代人名合并计算展示,地名和组织机构名中的具体与指代同理合并计算展示。模型对于“行李类”、“地名”的识别效果较好,对于“餐饮类”、“酒店类”的识别效果较差,观察点评网站的原始数据时发现旅客用“星爸爸”代表“星巴克”,“酒店类”实体数量过少。考虑“综合服务”类由于涉及的实体范围较广,增加了模型的学习难度,识别效果较差。
表7 不同类别实体识别结果
经过数据增量过程与实验过程之后,展示两过程中的部分标注结果如下:
标注正确示例:“川 B-ORG.NAM航 I-ORG.NAM”、“少 B-SHOP林 I-SHOP寺 I-SHOP食 I-SHOP品 I-SHOP专 I-SHOP卖 I-SHOP店 I-SHOP”。
标注错误示例:“当 B-LOC.NOM场 I-LOC.NOM”、“无 O限 O信 O号 O”。
从正确示例中看出本文模型能够在出现缩写和长实体的情况下精准的识别部分较难实体。从错误示例中看出数据增量阶段所使用的基分类器对于近似的字词表示的识别能力较弱,考虑是字符相近“当场”被误识别为“机场”给予了通用地名的标注。但本文模型依然有不足之处,由于“无限信号”中的“限”字是错别字因此被错误预测成了非实体。
5 结束语
本研究在卷积网络提取特征信息的基础上设计了集成卷积并在模型中添加了注意力机制,模型能有效识别民航业务实体。但是本研究的不足之处有以下几点,数据集构建时部分业务划分不明确,出现了部分实体未能准确分类和标注的前后一致性不同等问题,同时构造训练集与测试集时有部分内容重合造成了一定程度上的测试集泄露,测试集中的最后一例文本数据及其标注未显示在测试结果中,数据集的构造和实验中有被标注文本、标签数据的错标、漏标现象,补充到训练集中的WeiboNER数据中所特有的实体类别在本研究部分测试结果中被错误显示出。因此未来需加强数据集构造和实验的规范性并致力加强对于缩写、指代、歧义实体的识别。