民航陆空通话是飞行员与管制员进行话音通信的主要方式,是管制员指令发送与飞行员指令回复的信息载体,飞行员正确理解管制员所发出的指令对于民航运输安全有着重要意义。采用深度学习方法对陆空通话进行实时语义校验可以及时发现飞行员错误的复诵内容。考虑到训练一个有效的差错校验网络模型需要大量的文本数据,本文提出一种基于生成对抗网络GAN的陆空通话文本生成方法。首先对现有真实的陆空通话文本进行筛选和分类,并将其转换成one-hot词向量。其次,使用one-hot训练GAN模型,并使用其生成新的陆空通话文本。最后,根据陆空通话语法规则筛选出符合要求的生成文本。本文比较了不同参数选择下网络训练的效果,通过实验验证,使用GAN模型能生成符合民航陆空通话语言规则的文本。 Civil aviation radiotelephony communication is the main way for pilots and controllers to conduct voice communication. It is the information carrier that the controller commands to send and respond to the pilot's instructions. Pilots’ understanding the order correctly by controllers is significant for the safety of civil aviation transportation. Using the deep learning method to perform automatic semantic verification in civil aviation radiotelephony communication can timely discover the contents of the pilot's read-back errors. Considering that training an effect automatic semantic verification model needs a lot of text data, this paper proposed a method of text generation in civil aviation radiotelephony communication using Generative Adversarial Network. First, the existing texts in civil aviation radiotelephony communication are classified and converted into one-hot vectors. Second, the new texts in civil aviation radiotelephony communication are generated based on the seq GAN model. And we compare the training effect of network based on different parameters. Finally, the generated texts are removed, which do not meet the grammar rules in civil aviation radiotelephony communication. This paper compared the effects of network training under different parameter selections. Experiment shows that GAN can be used to generate texts that comply with the civil aviation radiotelephony communication’s rules.
邱意*,赵子豪,李丹,程方圆
中国民航大学电子信息与自动化学院,天津
收稿日期:2018年12月7日;录用日期:2018年12月20日;发布日期:2018年12月27日
民航陆空通话是飞行员与管制员进行话音通信的主要方式,是管制员指令发送与飞行员指令回复的信息载体,飞行员正确理解管制员所发出的指令对于民航运输安全有着重要意义。采用深度学习方法对陆空通话进行实时语义校验可以及时发现飞行员错误的复诵内容。考虑到训练一个有效的差错校验网络模型需要大量的文本数据,本文提出一种基于生成对抗网络GAN的陆空通话文本生成方法。首先对现有真实的陆空通话文本进行筛选和分类,并将其转换成one-hot词向量。其次,使用one-hot训练GAN模型,并使用其生成新的陆空通话文本。最后,根据陆空通话语法规则筛选出符合要求的生成文本。本文比较了不同参数选择下网络训练的效果,通过实验验证,使用GAN模型能生成符合民航陆空通话语言规则的文本。
关键词 :陆空通话文本,生成式对抗网络,文本生成
Copyright © 2018 by authors and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
民航安全在中国民航事业的发展中具有重要的作用与意义。在民航运输健康运行中,为了保证航空器安全、高效的运行,管制员和飞行员必须清晰准确的理解双方的指令内容,进而保证导航指令准确无误地进行传递。民航陆空通话语音指令的识别,语义一致性校验的技术在保证航空器飞行安全中具有重要作用 [
现有的扩大数据方式一般是人工抽取和标注,由于人工抽取和标注的方式工作量大且易出错,使用机器代替人工进行语料库的扩充具有重大的研究意义。近些年,生成对抗网络(Generative Adversarial Networks, GANs)在数据生成上表现出很好的性能,提供了一种不需要大量标注训练数据就能学习深度表征的方式,从而可以产生与真实数据相同分布的海量数据。
生成对抗网络目标旨在构成一个生成器,它将来自给定先验分布的样本功能性地映射到合成数据 [
陆空通话语言自动校验任务面临着数据量小,模型训练不充分的问题。针对这个问题,本文提出陆空通话文本生成GAN模型来扩充样本并提高多样性,减少人工标注的繁琐。首先,对真实的民航陆空通话文本进行序列长度整理,并对文本的词个数进行统计,提出每个词的one-hot向量,然后,使用递归神经网络(Recurrent Neural Network, RNN)搭建文本生成器,使用CNN搭建文本判别器,并初始化它们;在规定的训练次数中,使用真实数据训练生成器与判别器;最后,在对抗训练中,使用判别器对生成器进行动态调整训练。
本文提出的基于GAN的民航陆空通话文本生成模型框架如图1所示,该模型由两部分组成:文本生成器,文本判别器。
图1. 民航陆空通话文本生成GAN模型
在民航陆空通话中,为保证飞行员与管制员的通话语义清晰,通话的规则有以下特点:1) 单词发音特殊,如,1读作幺,A读作ALPHA;2) 通话用词固定,如进近:approach,终止:terminate;3) 句式固定,飞行员与管制员之间严格按照“对方–己方–内容”的固定语法通话,如飞行员(Beijing TWR, CCA123.Request start up.),管制员(CCA123, Beijing TWR, Start up approved.)。
在民航陆空通话文本生成任务中,生成器的目标是实现文本序列的生成。本文使用RNN [
h t = f ( h t − 1 , x t ) (1)
然后,生成模型中softmax层以状态序列为输入,输出输入序列X的输出标签 Z ( z 1 , z 2 , ⋯ , z m ) 概率分布,计算公式如公式(2)表示。
p ( z t | x 1 , ⋯ , x t ) = softmax ( c + V h t ) (2)
其中,C表示偏置量,V表示权值矩阵。
在民航陆空通话文本生成中,文本生成器训练需要文本判别器参与,从而生成特定的文本。对于文本生成器生成的结果序列,文本判别器的功能是判别输入的文本序列X是否为真实数据,并通过调整目标函数对生成器进行动态更新。随着深度学习的快速发展,在文本分类任务中,应用深层的CNN网络与RNN网络模型能取得令人满意的效果。本文使用CNN搭建文本判别器,并使用它判别生成器生成的结果序列是否为真实的民航陆空通话文本序列。
对于给定的输入序列 X = ( x 1 , x 2 , ⋯ , x T ) ,本文首先对X进行编码,如公式(3)所示。
χ 1 : T = x 1 ⊕ x 2 ⊕ ⋯ ⊕ x T (3)
其中xt表示一个k维的词向量,且 , ⊕ 表示词向量间的连接处理。 χ 1 : T 表示词向量的连接矩阵,且 。对于词向量矩阵,然后使用一个长度为l的卷积核wj进行卷积,且 w ∈ ℝ l × k ,得到一个新的特征图ci,其中计算入公式(4)所示。
c j i = φ ( w j ⊗ χ i : i + l − 1 + b ) (4)
其中 表示卷积核与词向量矩阵进行卷积求和运算, φ 表示一个非线性函数。对于卷积神经网络,不同大小的卷积核将会提取不同的民航陆空通话文本语义特征。因此,本文参考 [
c j i = max { c j 1 , ⋯ , c j T − l + 1 } (5)
最后在文本生成器中,提取的特征通过一个激活函数为sigmoid函数的全连接层,得到输入文本序列X是真实民航陆空通话文本序列的概率值,其中sigmoid函数形式如公式(6)所示。本文在文本生成器的CNN网络训练中,使用交叉熵损失函数(7)作为目标函数。
sigmoid ( x ) = 1 1 + e − x (6)
min { loss ( log D ( Z ) ) − loss ( log ( 1 − D ( Z ) ) ) } (7)
本文参考 [
J ( θ ) = ∑ Z 1 : T G θ ( Z 1 : T | X ) ⋅ R D G θ ( Z 1 : T − 1 , X , z T , Z ∗ ) (8)
其中, θ 表示生成器G的参数,Z1:T表示G生成的文本序列,X表示真实的民航陆空通话文本序列, Z ∗ 表示期望的生成民航陆空通话文本序列。 R D G θ 是一个函数,对于给定的 G θ ,它可以计算文本序列X在当前状态 s ( Z 1 : T − 1 , X ) ,转移到下一个状态的概率 。文本生成任务的期望是能生成一个被文本判别器判别为真实数据的文本序列,在本文中,使用文本判别器 D ( Z 1 : T n ) 的值作为第n次搜索的结果序列 Z 1 : T n 是真实数据的概率值。但是在实际中,如果 Z 1 : T n 不是一个完整的民航陆空通话文本序列,本文将使用蒙特卡洛树搜索(MCTS)代替文本判别器D的输出值,并使用其输出值训练文本生成器G,在N次的MCTS搜索中有:
{ Z 1 : T 1 , ⋯ , Z 1 : T N } = Mc G θ ( ( Z 1 : t , X ) , N ) (9)
其中 Z 1 : T N 表示在时间T内,由MCTS生成的第N个序列。 ( Z 1 : t , X ) = ( z 1 , z 2 , ⋯ , z t , X ) 表示当前搜索状态, Z t + 1 , T N 表示由 G θ 生成的词。综上所述有:
R D G θ ( Z 1 : T − 1 , X , z T , Z ∗ ) = { 1 N ∑ n = 1 N D ( Z 1 : T n ) , Z 1 : T n ∈ Mc G θ ( ( Z 1 : t , X ) , N ) for t < T D ( Z 1 : t ) for t = T (10)
在文本生成器 的训练中,使用文本判别器D的输出值可以参与 G θ 的迭代更新中,并且可以使用生成的真实文本序列重新训练文本判别器D,如公式(10)所示。
min { loss Z * ∈ P d a t a ( log D ( Z ) ) − loss Z * ∈ G θ ( log ( 1 − D ( Z ) ) ) } (11)
在更新文本判别器D后,将继续对文本生成器 G θ 的权值 θ 进行更新,其计算公式如(11)所示:
∇ J ( θ ) = 1 T ∑ t = 1 T ∑ Z t ∈ Z R D G θ ( Z 1 : T − 1 , X , z T , Z ∗ ) ⋅ ∇ θ ( G θ ( z t | Z 1 : t − 1 , X ) ) = 1 T ∑ t = 1 T loss z t ∈ G θ [ R D G θ ( Z 1 : T − 1 , X , z T , Z ∗ ) ⋅ ∇ θ log p ( z t | Z 1 : t − 1 , X ) ] (12)
生成式对抗网络的训练是一个生成器与判别器博弈的过程,需要生成器与判别器同时参与训练并更新参数,其训练过程具有不稳定的特点。在本文中,首先使用最大似然估计为目标函数对文本生成器进行预训练,并每隔一定的训练次数,使用生成器生成一部分数据,且以最大交叉熵函数为目标函数,使用这部分数据预训练判别器。在对抗训练中,1) 首先本文使用训练完成的文本生成器生成民航陆空通话文本序列,并使用预训练完成的文本判别器D与MCTS搜索方法,对生成的文本计算 R D G θ 值;2) 然后更新文本生成器参数;3) 最后,在规定训练次数中使用更新的文本生成器生成文本,并使用生成文本训练文本判别器。
本文处理的数据集为中文陆空通话文本,文本包含24,780条指令文本,从中挑选1000条作为测试集,10,000条作为训练集。由于陆空通话的结构特殊,一条指令文本包含航班呼号,管制区号,指令动作与动作状语,如CCA3818北京塔台下降到1500米,在其中包含中文,英文及数字,因此本文使用字符级别的one-hot向量作为词向量。
本文在预训练中,对RNN网络搭建的文本的生成器G和CNN搭建的文本判别器D进行20次预训练。然后,在40次对抗训练中,本文参考论文 [
(13)
2) 为计算两个文本的相似性,对每次生成文本的词计算EmbSim值,其中 表示生成的民航陆空通话文本中序列词的相似性,这里是计算两个单词词向量的余弦值,同样, 表示真实民航陆空通话文本中词与词间的相似余弦值,N表示文本词的个数,本文N取10,000。整个实验中,对抗训练为100,MCTS搜索长度为16。
EmbSim = log ( ∑ i = 1 N cos ( W ′ i , W i ) / N ) (14)
在本文的实验中,本文使用不同的训练策略对文本生成器G与文本判别器D的训练进行训练。由于民航陆空通话的语言规则固定,为提高文本判别器D的性能,在预训练中,对D进行了不同次数的训练,并对抗训练中,使用它指导文本生成器G的训练。其实验结果如图2所示。
图2. 不同训练策略的Nll-test实验结果
其中Nlltest4015表示预训练次数为40次,对抗训练中,文本生成器G训练1次,文本判别器D训练5次。从图2可知,不同的预训练次数影响GAN的民航陆空通话文本生成效果,随着预训练次数的增加,Nll-test值越低,生成文本质量越好。因此,本文在后期实验中,在进行对抗训前,对生成器与判别器进行40次的预训练。在对抗训练中,生成器的更新需要判别器参与,从图3可知,当生成器与判别器进行同步训练时,GAN的训练稳定。
在自然语言处理领域,BLEU是一种广泛被使用的评价标准,可以对句子和文本中的词的相似性进行计算,得出一个BLEU [
图3. 不同训练策略的EmbSim实验结果
BLEU-* | Training data | Test data |
---|---|---|
2 | 0.924 | 0.814 |
3 | 0.811 | 0.513 |
4 | 0.542 | 0.486 |
表1. 训练集与测试集的BlEU结果
在自然语言处理中,GAN是实现无监督学习与样本生成的重要方法,使用GAN生成文本序列是自然语言理解的高级阶段。在为实现民航陆空通话的文本生成中,本文探究了GAN在民航陆空通话文本生成中的应用,从实验结果分析可得,GAN生成的民航陆空通话文本在句子结构方面能与真实的民航陆空通话文本相同,但是存在个别生成序列不符合民航陆空通话语言规则,如(国航4811近地告警上升到修正海压向南),对于真实的民航陆空通话文本,“修正海压”后应跟具体数值,如1010,而非“向南”。但总体而言,使用GAN生成的民航陆空通话文本基本符合实际数据,有利于进行陆空通话语义校验的研究。
感谢中央高校基本科研业务费资助项目(项目编号:ZYGX2018042)的资助。
中央高校基本科研业务费资助项目,项目编号:(ZYGX2018042)。
邱 意,赵子豪,李 丹,程方圆. 基于GAN的民航陆空通话文本生成方法Text Generation in Civil Aviation Radiotelephony Communication Using Generative Adversarial Network[J]. 计算机科学与应用, 2018, 08(12): 1870-1877. https://doi.org/10.12677/CSA.2018.812208
https://doi.org/10.1049/el.2016.2877
https://zhegan27.github.io/Papers/textGAN_nips2016_workshop.pdf
https://doi.org/10.1162/neco.1997.9.8.1735