跨语种民航陆空通话语音识别模型研究
2021-05-14刘远庆郭晓静张海刚杨金锋
刘远庆 郭晓静 张海刚 杨金锋
1(中国民航大学计算机科学与技术学院 天津 300300) 2(深圳职业技术学院人工智能学院 广东 深圳 518055)
0 引 言
陆空通话是飞行员与管制员在整个飞行过程中按照飞行程序进行交流、沟通的语言,具有很强的专业性和情境性。在陆空通话过程中,由于通话内容不正确、通话语言模糊等原因造成陆空通话错误的情况时常发生[1-2]。而陆空通话错误增大了飞行事故发生的概率,所以正确使用陆空通话用语进行信息沟通,对航空器安全高效运行有着至关重要的作用。民航陆空通话特点如下:(1) 语言标准规范,如:“对方呼号-己方呼号-内容”;(2) 词义固定、单一,如:stand-飞机停机位、departure-离场;(3) 句式简短、紧凑,如:Cleared(to) touch and go(省略不定式符号to)。近几年,随着神经网络再度兴起,深度学习在语音识别领域得到成功应用,语音识别性能也得到大幅提升。文献[3-4]分别将深度神经网络(Deep Neural Network,DNN)和双向长短时记忆网络(BiLSTM)用于解决日常对话的语音识别问题。将语音识别技术应用到陆空通话领域不仅可以用于管制员与飞行员的训练,减少民航通话语义表达错误,还可以辅助管制员工作,提高工作效率。但是传统语音识别的效果却不尽人意,因此将深度学习应用在民航陆空通话语音识别中以提升识别效果显得尤为关键。
现在有很多语音识别技术已在民航陆空通话语音识别中应用。例如:使用动态时间规整算法来实现陆空通话的语音识别[5];利用基于混合高斯-隐马尔可夫模型进行英文陆空通话标准用语的关键词识别[6];利用基于深度神经网络-隐马尔可夫模型在专有的英文陆空通话语音数据库上进行实验,并使词错误率下降到9.4%[7];将自动语音识别技术应用到空中交通管制领域构建的封闭式跑道运行预防装置也取得一定成果[8]。文献[9-10]在将语音识别技术应用到民航陆空通话的基础上,又加入了雷达信息进行辅助,不仅提高了空中交通管理的效率,而且减少了管制员的工作量和飞机的油耗。文献[11]则使用迭代半监督的方法在空中交通管制领域构建语音识别系统,该方法利用有限的转录数据和大量未转录数据进行模型训练,得到较好的效果。文献[12]对比了不同的模型在陆空通话语音识别和呼号识别这两个任务中的性能,其中使用隐马尔可夫-多层感知机的模型效果最好,词错误率降至7.62%。文献[13]提出了基于双向长短时记忆网络-端到端的民航陆空通话语音识别方法,用于英文陆空通话的语音识别,使词错误率降至5.53%。当前大部分民航陆空通话语音识别都是针对单语进行的,但是在国内,一名管制员在工作期间会和不同的航班(国际、国内)进行交流,那么所用的语言就会涉及到英文和中文,所以有必要构建一种跨语种民航陆空通话语音识别方法。针对于跨语种语音识别的研究方法总结如下:一种方法是利用语种识别系统[14]先对输入的语音进行语种判别,之后根据语种判别结果选择对应的单语语音识别系统进行识别,但是其识别准确率依赖于前端的语言识别的准确率;另一种方法是建立多语言共享音素库,构建方法有很多,例如利用巴氏系数距离[15]和声学似然[16]等。
本文将注意力集中在民航领域的跨语种(中文、英文)陆空通话语音识别上,根据中英文陆空通话语言特点,提出一种基于深度学习的跨语种民航陆空通话语音识别方法。在构建声学模型时,由于卷积的不变性[17]可以克服语音信号本身的多样性,所以在DNN中引入卷积神经网络CNN构成卷积深度神经网络CDNN,其中CNN主要对声学特征进行加工和处理,使其能更好地被用于DNN的分类。最终,将卷积深度神经网络与隐马尔可夫模型结合构建共享隐层的跨语种声学模型。本文利用中文(声韵母音素标注)和英文(CMU音素标注)音素直接融合的方法构建中英文混合语言模型;为了减少总的音素数量、降低识别复杂度,将基于卡内基梅隆大学(Carnegie Mellon University,CMU)标准音素表建立的英文音素映射为TIMIT标准音素,使它与中文音素进行融合重新构建语言模型,同时在提取声学特征时加入低帧率用于缩短训练解码时间。实验结果表明,基于CDNN-HMM声学模型音素先映射再融合的方法得到的效果较好。在此基础上,通过加入低帧率有效降低了训练解码时间,而且使得词错误率进一步下降。
1 卷积深度神经网络基本原理
通常情况下,语音识别都是基于时频分析后的语音谱完成的,其中语音时频谱是具有结构特点的。要想提高语音识别率,就需要克服语音信号所面临多样性,包括说话人的多样性(说话人自身、说话人间)、环境的多样性等。基于以上考虑,本文将卷积神经网络(CNN)引入到深度神经网络(DNN)中共同构成卷积深度神经网络(CDNN),其结构如图1所示,以此来建立中英文民航陆空通话声学模型。CNN主要用来处理声学特征,利用其在时间和空间上的平移不变性卷积来克服语音信号本身的多样性。CNN在语音识别任务中可以使用一维模型或者二维模型,由于一维模型能很好地适应语音的一维特性,而二维模型的网络过于复杂,因此本文在构建声学模型时选取一维模型。DNN则是用来对音素进行分类,因为DNN能够将特征映射到独立空间,所以DNN强大的分类能力能准确将语音的声学特征分类到相应的HMM状态。
图1 CDNN结构
CNN[18]抛开输入、输出层不谈,其主体包括卷积层和池化(采样)层,卷积层通过卷积核在时间轴上移动对输入的语音信号进行声学特征提取,这样一方面可以适应语音信号的时变的特点,另一方面保留了频带的相关性,对识别性能的提高有很大帮助。对给定一系列声学特征值X,卷积层将X与k个滤波器{Wi}进行卷积,得到的激活特征映射:
Hi=sigmoid(Wi*X+bi)i=1,2,…,k
(1)
式中:符号*表示卷积运算;Wi表示权值矩阵;bi表示偏置参数。对于该模型中的所有卷积运算,卷积步幅选择为1,最后得到的特征作为DNN的输入向量。
池化层是对卷积层提取出的特征进行降维,一方面使特征图变小,简化网络计算复杂度;另一方面进行特征压缩,提取主要特征,减小过拟合,同时提高模型的容错性。池化方法有最大池化和平均池化,本文选择在语音识别中普遍使用的最大池化。
(2)
式中:σ(·)是sigmoid函数。以上元素是下一层l+1的输入,观测向量输入到最底层l=0。
对于CD-DNN-HMM[21],顶层L是一个针对于每个上下文相关音素状态的softmax函数:
(3)
DNN可以使用预训练进行初始化,预训练是在受限玻尔兹曼机RBM[22]上使用对比散度算法进行初始化。同时也可以使用随机初始化的方法,顶层权重通常是随机初始化的,初始化完成后,使用反向传播算法的微调过程来更新所有DNN参数。损失函数选择交叉熵函数,如式(4)所示,其中:q(t)为时刻t时的期望输出。
(4)
2 基于CDNN-HMM的跨语种陆空通话声学模型
2.1 低帧率
训练中英文民航陆空通话混合声学模型时,首先要对语音数据集进行一系列的处理,例如分帧加窗,它是将时变语音信号处理成短时平稳信号,用于之后的特征提取。之所以这样处理是因为语音信号是时变非平稳信号,平稳信号的相关的处理方法对于它并不适用。但是语音信号属于短时平稳信号,一般认为10~30 ms内语音信号的特性是基本不变的,或者变化很慢[23]。因此需要将语音信号切分为极短的片段,这些片段称为语音帧,帧长一般为10~30 ms,本文最初帧长取25 ms,帧移为10 ms,从而有15 ms的重叠。通过这种方式来防止帧与帧之间丢失重要的信息。
分帧是利用一个窗函数来实现。为了减少信息的泄露,所以在加窗时选择主瓣宽度窄、旁瓣衰减大的窗函数(汉明窗):
(5)
对于一段语音进行加窗操作时设置的参数包括帧长、帧移以及重叠时间,它们之间关系:重叠=帧长-帧移。为了缩短训练和解码的时间,本文在提取声学特征之前加入低帧率,原理如图2所示。
图2 低帧率原理图
一帧的帧长25 ms,帧移10 ms,帧与帧之间有15 ms的重叠,然后再对每帧加窗处理。本文所讲的低帧率就是在分帧时将帧长和帧移都延长,将帧长设置为30 ms、帧移15 ms,让帧与帧之间仍有15 ms的重叠。
由上述可知,当帧移取较大值时,帧数会减少,相应的帧率降低,所以本文所讲的低帧率就是通过增加帧移的值来减少帧数,从而通过降低帧率来加快训练速度和解码速度。
2.2 声学模型训练
本文使用的声学特征包括Filter-Bank(FBank)和梅尔倒谱系数(MFCC)。MFCC是在FBank的基础上又做了一步离散余弦变换,对FBank进行去相关和压缩处理。
CDNN声学模型训练流程如图3所示。首先用经过倒谱均值归一化(CMVN)处理的MFCC特征训练单音素模型,即标签到语音的映射,它是针对每个音素分别建立HMM;然后基于单音系统构造三音素模型,并在此基础上对特征进行线性判别分析(Linear Discriminant Analysis,LDA)、最大似然线性变换(Maximum Likelihood Linear Transform,MLLT)和说话人自适应变换(Speaker Adaptation Transform,SAT);最终利用经过变换的特征和GMM-HMM模型生成的状态对齐训练CDNN。
图3 CDNN声学模型训练流程
训练CDNN-HMM之前首先需要用混合高斯-隐马尔可夫模型(GMM-HMM)将各个状态进行强制对齐,GMM-HMM的输入为39维(标准的13维MFCC加上一阶和二阶差分参数)声学特征,在训练HMM模型的参数时,每次要求输入到HMM中的数据是一个观测值序列。此时每个状态对应的观测值为39维的向量,因为向量中元素的取值是连续的,所以需要用多维密度函数来模拟。陆空通话语音识别任务中,用提前标注好的训练样本对每个音素建立一个HMM模型,建立模型时分别用EM算法和Baum-Welch算法训练出GMM-HMM的所有参数,这些参数包括初始状态的概率向量、状态之间的转移矩阵、每个状态对应的观测矩阵。
基于GMM-HMM训练的CDNN-HMM声学模型的输入特征是40维FBank,相邻的帧由11帧窗口(每侧5个窗口)连接而成。为了便于CNN对声学特征进行进一步的处理,本文将输入特征变成一维向量,具体的步骤是将提取的声学特征参数按照帧的顺序排列(首尾相连),例如将11帧40维FBank首尾连接,构成1×440的一维向量作为CNN的输入。用于处理声学特征的CNN包括两个卷积层和一个池化层,两个卷积层的卷积核大小分别为11×8和128×4,卷积步幅均为1;池化层池化大小、步幅均为3,最后输出2 048维向量作为DNN的输入。DNN的架构由4个隐藏层组成,每个层由1 024个单元组成,输出层由3 613个单元组成。DNN模型用交叉熵准则进行训练,使用随机梯度下降算法来执行优化,将最小批量处理大小设定为256帧,初始学习率设定为0.008。其框架如图4所示。
图4 CDNN-HMM框架
3 实 验
本文所有的实验都是在Linux系统下安装的Kaldi[24]语音识别平台上完成的。硬件配置如下:CPU为Inter酷睿i7-5690八核处理器,主频3.3 GHz,内存32 GB,搭配显卡GTX 1070。
语音识别的评价指标常选用词错误率(Word Error Rate,WER),为了使识别出来的词序列和标准的词序列之间保持一致,需要进行替换(Ci)、删除(Cd)、插入(Cs)某些词,将这些词的总数除以标准词序列中词的总数C从而得到用百分比表示的词错误率:
(6)
3.1 民航陆空通话数据集
实验所用的数据集是根据民航陆空通话标准建立的。该语料库由空管专业人员与一线管制员共同录制,包含飞行各个阶段的民航陆空通话语音,并标注出语音的文本序列和音素信息。
如表1所示,中英文民航陆空通话数据集共有音频文件27 700条、57小时、说话人31名,其中:中文数据集包含13 400条(说话人21)音频文件,27小时;英文数据集包含14 300条(说话人11)音频文件,30小时。此数据集包括训练集、测试集、开发集,分别占总数据集的80%、13%、7%,并且各个数据集中均包含男性和女性录制的陆空通话音频文件。
表1 中英文陆空通话数据集
3.2 卷积神经网络模型选择
卷积神经网络在图像处理任务中表现十分出色,但是将其应用到语音识别任务中就需要根据实际情况认真考虑分析。针对语音识别的卷积神经网络可以选择一维卷积和二维卷积,为了验证哪种卷积更适合于民航陆空通话语音识别任务,本文进行了对比实验。实验分别使用相同层数(卷积层+池化层+卷积层)的一维卷积(1D-CNN)和二维卷积(2D-CNN)对上文提到的民航陆空通话语音的声学特征进行处理,处理后的声学特征在相同配置的深度神经网络上进行训练识别,识别结果如表2所示。
表2 两种卷积神经网络对比
可以看出,一维卷积神经网络比二维卷积神经网络在民航陆空通话语音识别任务中表现要好,这主要因为其在时间轴上对语音信号进行卷积时保留了语音信号的时变性和频带的相关性。而在训练解码耗时方面,由于一维卷积神经网络的模型复杂程度较低,因此其表现明显好于二维卷积。所以在训练CDNN时,选择1D-CNN来对声学特征进行处理,然后输入到DNN网络中进行训练。
3.3 CMU映射为TIMIT对英文语料进行标注
本文所用语言模型是3-Gram中英文陆空通话语言模型,此语言模型是使用SRILM工具生成统计语言模型。训练步骤:首先将已有的中英文陆空通话文本语料读入到SRILM中生成n-gram计数文件,然后用生成的计数文件训练语言模型,语言模型为ARPA格式文件,其中包括一、二、三元词的总数及其出现的概率。用于中英文陆空通话语音识别的字典中共有1 118个词,包含中文词汇467个、英文词汇653个,每个词都是用对应语种的音素进行标注。
标注的目的就是为了将由句子分成的各个词进一步划分为更小的状态(音素),这样可以在音素级别对语音进行识别。对于中文而言,通常采用声母、韵母以及音调对涉及到的字词进行标注。对于英文的音素标注,则可以选择CMU或TIMIT两种标准音素表进行标注。针对民航陆空通话,初步尝试中文应用声韵母标注,英文使用CMU进行标注,然后将二者进行融合共同构建混合语言模型,用于最终的中英文民航陆空通话语音识别,结果如表3所示。
表3 CMU标注中英文语音识别结果
可以看出,考虑上下文信息的三音素混合高斯隐马尔可夫模型(TRI-GMM-HMM)比单音素混合高斯隐马尔可夫模型(MONO-GMM-HMM)的词错误率减少了7.2百分点;从实验结果可知擅长对时序序列建模的长短时记忆网络(LSTM)在陆空通话领域表现并不突出,主要是因为陆空通话的特殊应用场合要求对话尽可能简短、紧凑,这就使得LSTM的优势发挥不了很大的作用;加入卷积的深度神经网络模型(CDNN-HMM)词错误率进一步降低了2.11百分点,而且比不加卷积的深度神经网络模型(DNN-HMM)在识别性能上有了进一步提高。
在此基础上,将英文采用的CMU标注映射为TIMIT进行标注,映射方法如图5所示,CMU标准音素表和TIMIT标准音素表中对应英文的音标相同,但是表现形式不同,TIMIT标准音素表的形式与中文标注的声韵母比较相近,所以融合之后比之前音素的个数少了17个。
图5 CMU到TIMIT音素映射过程
实验结果如表4所示。在使用TIMIT标准进行标注时,由于MONO-GMM-HMM模型只考虑单个音素,没有考虑协同发音效应即上下文音素会对当前的中心音素发音有影响,所以效果提升不明显。而TRI-GMM-HMM模型、DNN-HMM模型和CDNN-HMM模型的识别效果均比使用CMU标注时的效果好。由CMU映射到TIMIT之后,再与中文音素进行融合重构语言模型的识别方法,音素数量的减少使得音素彼此之间的影响降低,识别解码复杂程度降低,词错误率也有所下降。
表4 TIMIT标注中英文语音识别结果
3.4 低帧率实验
在声学模型的训练过程中,将本文提出的低帧率加入其中,得到的实验结果如表5所示。
表5 低帧率(LFR)实验结果
可以看出,加入LFR以后,相似帧数量减少,使得不同音素对应帧之间的区分性增大,从而减小了计算量,进一步提高了识别性能。除此之外,LFR也缩短了训练和解码的时间。
本文将基于CDNN模型的实验结果进行了一个简单的对比,可以明显看出用TIMIT标注的识别结果要比CMU标注识别的结果好;而加入LFR后,TIMIT标注的效果依然表现良好,不过在耗时方面稍显逊色。但是从整体上看,加入LFR确实将训练解码时间缩小,而且性能也有所提升。
4 结 语
本文根据民航中英文陆空通话语言特点,提出了基于卷积深度神经网络模型的跨语种陆空通话语音识别方法。对不同卷积模型的实验结果分析发现,一维卷积模型更适合陆空通话语音识别任务,加入卷积的深度神经网络声学模型(CDNN)比单纯的DNN-HMM模型性能更好。从实验结果来看,在已有的中英文民航陆空通话语料库上,采取不同的标注形式(CMU/TIMIT)构建的语言模型对识别性能有影响,TIMIT标注形式适用于跨语种民航陆空通话语音识别。LFR思想的加入,不仅有效地降低了词错误率,而且也缩短了模型训练解码的时间。最终使用CDNN-HMM模型,结合词典以及语言模型实现了跨语种民航陆空通话语音识别,将词错误率降至4.28%。