乔 璇 郭晓静 杨金锋
1(中国民航大学计算机科学与技术学院 天津 300300) 2(中国民航大学 天津 300300) 3(深圳职业技术学院 广东 深圳 518055)
无线电陆空通话是空中交通管制员和飞行机组的主要信息传输方式,对话双方相互传达的信息内容是否一致直接关系到飞行的安全。陆空通话过程中,由于设备、环境和压力等因素会导致通话过程中出现复诵错误、应答内容缺失以及用语不规范等问题,对飞行安全产生威胁[1-4]。因此,对陆空通话内容进行语义分析,判断管制员与飞行员交流中出现的问题,保证指令能够被正确理解,对增强民航安全有重要意义。
陆空通话语义感知任务是通过对指令和答复语义信息的提取与分析来判断句子对应关系,可以抽象为句子匹配问题。传统句子匹配方法需要大量人工提取的特征,依赖于人的经验,存在一定局限性。目前采用神经网络为主的深度学习模型处理句子匹配更为广泛,基于深度学习的句子匹配模型由最初的单语义模型发展到多语义模型,即由简单的卷积神经神经网络(CNN)或者循环神经网络(RNN)对句子进行编码后计算匹配程度,发展为获取句子交互信息建立匹配矩阵。多语义模型解决了单语义模型无法处理句子局部信息的不足,能够从不同粒度信息进行句子语义的匹配分析[5-6]。在此基础上提出匹配矩阵模型能够更早进行句子交互,比多语义模型考虑了更加精细的匹配关系,但匹配时没有考虑到句子中不同单词的重要性[7]。随着深度学习的发展,引入注意力机制的句子匹配方法获得广泛关注,注意力机制根据人的视觉原理提出,本质是指人在观察中会对感兴趣的部分投入更多注意力。在文本处理过程中使用注意力机制能够给予词语不同程度的关注,帮助理解句子语义,相比传统的深度学习方法具有更好的处理效果[8-9]。
本文针对陆空通话中普遍存在的复诵与问答两类对话,建立基于注意力机制的匹配模型实现陆空通话语义的感知与分析。该模型结合多种特征信息对句子进行表示,获得丰富的语义信息输入,通过构建注意力交互矩阵实现句子间的语义交互,使用前馈神经网络和增强差异性的方法进行语义对比分析,能够更准确地对陆空通话内容进行语义感知与判断。
为了提高语义匹配的准确性,按照图1所示流程进行数据收集与预处理,首先将陆空通话语音转为文本数据,然后进行标注,通过分词、大小写转换等处理后,构建陆空通话专用词表,得到陆空通话数据集。
图1 数据收集与预处理流程
将语音内容转化为文本数据后,需要对文本数据进行整理和标注,根据空中交通管制员无线电陆空通话标准,复诵类型对话中出现的错误可归纳为复诵错误和复诵缺失,问答类型对话中的错误可归纳为用语不规范和回答不完整。其中复诵缺失和回答不完整都属于信息缺失的问题,因此将二者统一标注为内容不完整。最终将陆空通话数据分为四部分,标签分别为正确、复诵错误、用语不规范和内容不完整。每类数据的标注规范如下所示:
(1)正确。对话内容符合标准的数据标注为正确。
(2)复诵错误。指令与复诵信息不一致的数据标注为复诵错误,例如高度、航向、呼号、跑道号的复诵错误。
(3)用语不规范。使用不规范的词语导致信息模糊,或者回答中包含与指令无关内容,这类数据标注为用语不规范。例如管制员指令要求“收到请回答”,飞行员的回答中没有出现“收到”,而是使用“了解”、“明白了”等用语。
(4)内容不完整。答复时缺少呼号,或者对于指令要求的内容未能完整地进行答复,这类数据标注为内容不完整。例如指令要求回答飞机的高度与方向,回答中只有高度信息,缺少了对方向的回答。
根据标注规范,数据标注时采用双人标注的方式,两个标注结果相同时视为有效,将标注好的数据存入数据库。两个标注结果不同时则交由专业空管人员进行判断,确定标签类型,以保证数据标注的准确性。
预处理的目的是对数据格式进行整理,得到适合于模型训练的数据。在预处理过程中,中文数据使用目前通用的结巴中文分词工具进行分词,得到由空格将词语分隔开的数据,英文数据则直接进行大小写转换,即将大写字母转换为小写字母,同时进行去标点符号的操作。以陆空通话数据样本为例,表1展示了预处理前后数据的对比。
表1 数据处理前后对比
由于陆空通话用语的专业性,需要建立陆空通话专用词表。根据已整理的陆空通话数据,对分词和转换后的数据进行词频的统计,将所有出现在数据中的词语汇总,建立实验所用的陆空通话数据集专用词表,经过统计和汇总后陆空通话数据集的词表大小为2 848。
本文提出的基于注意力机制的陆空通话语义感知模型如图2所示,模型由五部分组成,分别是输入层、编码层、注意力交互层、语义对比层、语义判别层。输入层将不同的特征向量进行拼接得到句子的向量表示,由编码层得到句子的语义向量,使用注意力交互进行软对齐,通过语义对比层获取句子的语义对比信息,最后使用池化方式提取比较结果获得语义匹配特征,进行句子语义的感知与判别。
图2 注意力机制语义感知模型
输入层的作用是获得适用于模型输入的句子向量,为了获得丰富的句子特征信息,在输入层中结合了字向量、词向量与特征标志三个方面的信息,句子向量表示方法如图3所示。字向量是将句子中的单个字符进行随机向量化,通过卷积神经网络,结合最大池化的方式及获得最终的字向量表示[11],词向量使用的是根据陆空通话数据库预先训练好的Word2vec词向量。特征标志是根据指令与答复是否包含相同词汇进行标记,对于指令中的词,如果在答复句子中出现相同的词则标记为1,没有相同的词的标记为0,答复的句子也使用同样的方法进行标记。
图3 句子向量表示方法
将字向量、词向量与特征标志进行拼接,获得指令句子的向量表示C1,C2,…,Cm以及答复句子的向量表示P1,P2,…,Pn,其中Ci表示指令中第i个词的向量表示,Pj表示答复中第j个词的向量表示,m和n分别表示指令与答复的句子长度。
编码层的作用是对句子向量进行语义信息的提取,为了获取丰富的语义信息,提出使用双向长短时记忆循环神经网络(BiLSTM)对指令和答复进行编码。BiLSTM输入的数据会经过向前和向后两个方向推算,最后输出的隐含状态再进行拼接,再作为下一层的输入,这样能够对句子进行更好的信息提取,获得更加丰富的语义信息[12],BiLSTM的计算方法如式(1)-式(3)所示。
(1)
(2)
(3)
其中:L(·)为单向LSTM网络,xt为网络在t时刻的输入,从前后两个方向计算当前的隐藏层状态,然后将两个方向的隐藏层状态拼接得到BiLSTM在t时刻的输出ht。编码层的结构如图4所示,输入为指令向量和答复向量,输出为指令与答复的语义向量。
图4 编码层结构
注意力交互层的作用是利用交互注意力机制得到句子间的软对齐表示,软对齐是对两个句子中每个单词都进行相关性权重的计算,能够捕捉到所有词语的匹配关系,比根据句子成分实现的硬对齐方法更加适合陆空通话数据的处理。对编码层得到的语义向量构建注意力交互矩阵,实现句子的软对齐表示,然后分别对指令和答复的软对齐结果进行计算,结构如图5所示。
图5 注意力交互层结构
(4)
式中:F(·)表示前馈神经网络。然后根据eij计算指令与答复的软对齐结果,计算方法如式(5)-式(6)所示。
(5)
(6)
其中:βi为答复向量中每个词与指令序列软对齐的结果;αj为指令中每个词与答复向量软对齐的结果。
语义对比层的作用是对答复和指令分别与软对齐的结果进行对比,以获取指令与答复的语义匹配特征,为了更好地获取语义匹配特征,选取了两种方法进行语义对比分析。方法一选用前馈神经网络进行语义对比分析,因为前馈神经网络能够实现特征的交叉、组合,进行特征变换,适用于对齐结果的比较[13]。方法二将句子与其对应软对齐结果进行做差和相乘,计算结果进行拼接通过 BiLSTM进行对比特征提取,增加了差异性信息之后,语义匹配特征会更加明显。两种语义对比方法结构如图6所示。
图6 语义对比层结构
2.4.1前馈神经网络对比方法(Compare1)
使用前馈神经网络将指令和答复分别与其对应的软对齐结果进行对比,得到两组比较向量v1,i和v2,j,方法如式(7)-式(8)所示。
(7)
(8)
其中:G(·)为前馈神经网络,[·;·]为两部分的拼接操作。
2.4.2增强差异性对比方法(Compare2)
将指令与答复分别与其对应的软对齐结果进行做差和相乘的计算,然后将计算结果拼接,计算方法如式(9)-式(10)所示。
(9)
(10)
其中:m1表示指令句子与其软对齐结果和差异性计算结果的向量拼接;m2表示复诵句子与其软对齐结果和差异性计算结果的向量拼接。
将拼接后的向量m1和m2使用BiLSTM进行特征提取[14],获得两组语义对比结果v1,i和v2,j,计算公式如式(11)-式(12)所示。
(11)
(12)
式中:F(·)表示使用ReLU激活函数的前馈神经网络。
语义判别层的目的是分析匹配特征,获得句子的语义判别结果。为实现有效特征的提取,采用平均池化与最大池化的方法分别对两组比较结果进行特征的提取,将池化得到的向量进行拼接,得到用于语义判别的向量v,然后将v输入到多层感知机中获得语义判别的结果,语义判别层结构如图7所示。
图7 语义判别层结构
首先将两组语义对比的结果v1,i和v2,j分别进行池化,池化计算方法如式(13)-式(16)所示。
(13)
(14)
(15)
(16)
其中:v1,avg和v2,avg表示平均池化的结果;v1,max和v2,max表示最大池化的结果。将池化得到的结果进行拼接,获得语义向量v,计算方法如下:
v=[v1,avg;v1,max;v2,avg;v2,max]
(17)
最后将语义向量输入到多层感知机(MLP)中,获得语义感知的结果:
y=softmax(M(v))
(18)
式中:y为语义感知与判别的结果;M为多层感知机,softmax为归一化函数。
实验所使用的数据集是由专业空管人员从陆空通话录音中挑选的对话数据,并且按照空中交通管制无线电陆空通话标准进行了整理校对,每组数据均由指令与答复两句话组成。数据集共有6 000条陆空通话样本,由答复正确、复诵错误、用语不规范、内容缺失四类数据组成,每类数据同时包含了英文和中文数据,英文和中文样本比例为1∶1,其中包含的四类数据分布及样例如表2所示。
表2 数据分布及样例
实验数据是从陆空通话数据集中对每个类别随机抽取70%数据作为训练集,20%数据作为测试集,10%数据作为验证集。输入层的字符向量随机初始化,经过卷积和池化操作后提取100维的字符表示,词向量使用300维的Word2vec词向量,该词向量根据陆空通话语料进行训练,包含了数据集内所有词语。模型使用了Adam优化算法进行参数优化,并且使用了Dropout避免模型出现过拟合,具体实验参数设置如表3所示。
表3 参数设置
本文采用测试集准确率(ACC)作为模型性能评价指标,计算方法如下:
(19)
式中:N表示测试集的样本总数;Ncorrect表示测试样本中语义判别结果与真实标签一致的样本数。
为了验证模型的有效性,对于本文提出的方法在陆空通话数据集上的实验结果与其他已有的句子匹配方法进行对比,对比方法选取了以下几种模型:
(1)LSTM[15]。该模型使用两个权重共享的LSTM网络,对句子进行编码,是两个句子成为相同长度的向量,然后使用余弦相似度和曼哈顿距离进行相似度计算。
(2)BILSTM[16]。该模型使用BiLSTM分别提取句子语义信息,使用神经张量网络进行句子匹配。
(3)DIIN[11]。该模型使用了句子内注意力机制进行编码,并且提出DenseNet(Dense Convolutional Network)做特征提取,在问答匹配和语义推断任务上取得良好效果。
(4)LSTM-ATT[17]。该模型使用两个权重不同的LSTM分别读取两个句子,并在网络中引入注意力权重,使第二个LSTM处理词语时注意到前一个网络的输出。
(5)BIMPM[18]。该模型采用的双向匹配方式,并且在每个方向上都考虑了多个角度的匹配,最后将所有匹配结果集中进行判断。
(6)ATT-Compare1。本文所提出基于注意力机制的语义感知模型,语义对比层使用前馈神经网络的对比方法。
(7)ATT-Compare2。本文所提出基于注意力机制的语义感知模型,语义对比层使用增强差异性对比方法。
由表4的实验结果可以看出,加入注意力机制的匹配模型在测试准确率上高于单纯使用神经网络的模型,说明引入注意力机制在语义分析中起到了重要作用。陆空通话语义感知任务需要考虑复诵和问答两种类型的句子,并且需要重点关注句子间词语的对应关系,因此句子交互的方式比基于编码的匹配方法效果更好。实验结果表明BIMPM模型的效果要优于以上所提到的几种模型,但是在陆空通话语义感知任务中,复杂的匹配角度会引入多余的信息,因此准确率低于本文提出的语义感知模型。本文所提出的模型使用交互注意力机制对句子进行软对齐表示,能够重点关注到句子间语义的关系,并且能够根据交互信息计算词语的权重,测试准确率高于其他匹配方法,可以证明基于注意力的语义感知方法对于陆空通话内容的分析具有更好效果。
表4 实验结果对比(%)
根据表4的实验结果显示,使用前馈神经网络和增强差异性两种语义对比方式的准确率分别为94.33%和94.57%。可以看出对语义向量进行差异性计算能够更好地体现句子匹配特征,从而能够对语义进行更加准确的感知与判断。在语义对比过程中增加差异性计算的拼接项能够更好地捕获句子匹配关系,使模型的性能得到提升。
为了分析模型关键部分的作用,针对输入层和编码层分别进行了对比实验,并且对ATT-Compare1和ATT-Compare2两种方法进行对比,进一步分析增加差异性计算对模型性能的影响。针对输入层,统一使用BiLSTM编码,然后使用不同的向量表达方式进行实验,表5展示了两种方法分别对应不同向量表示的实验结果。实验表明,在对句子进行向量表示时引入丰富的特征信息能够提升模型判别效果,并且使用相同的向量表示时,ATT-Compare2的测试准确率均高于ATT-Compare1。
表5 使用不同向量实验结果(%)
为针对编码层进行对比实验,统一在输入层使用词向量、字向量和特征标志结合的向量表示方式。表6中的实验结果表明,将BiLSTM编码换成LSTM编码后ATT-Compare1的准确率由94.33%下降至92.22%,ATT-Compare2的准确率由94.57%下降至92.25%,可以看出使用BiLSTM提取语义信息的具有更好的效果,当二者使用同一种编码方式时,ATT-Compare2准确率较高。
表6 不同编码方式实验结果(%)
注意力交互矩阵的计算结果会对模型产生重要影响,为了验证注意力交互矩阵计算结果的准确性,将注意力矩阵的权重进行了可视化展示。图8展示了四类数据中指令与答复的对齐权重分布,其中颜色越深表示词语的相关权重越大。可视化结果表明,注意力交互矩阵可以反映出指令与复诵之间词语的相似度,对文本的语义感知有重要作用。
图8 注意力交互矩阵可视化结果
陆空通话语义感知任务中需要处理复诵与问答两种类型的对话,针对通话所出现的错误进行标注,为此任务整理了陆空通话数据集,保证模型所需要的数据基础。模型通过建立注意力交互矩阵,对词语交互信息进行权重计算,根据交互矩阵的软对齐结果获得语义对比信息,能够对陆空通话语义做出感知与判断。实验准确率达到94.57%,证明该方法在陆空通话语义感知任务上是有效的。由于陆空通话用语的标准性,匹配时需要更加关注词语间的对应关系,模型中使用多种特征向量结合的句子向量表示方法能够对应陆空通话句子的特性,对提升模型性能起到积极作用。在下一步的工作中,还需要继续深入分析陆空通话的用语特点,研究更加适合陆空通话语言特点的语义感知模型,进一步提升语义感知的准确性。