人类主要依靠语言进行交流沟通,但在使用计算机时却离不开双手,通常使用键盘输入计算机命令,或根据计算机提示进行点击操作。随着语音搜索服务及智能音箱产品的日渐成熟,与语音识别技术相关的智能车载、智能家居、智能客服等应用陆续走进大众生活,促使人们使用计算机的操作方式发生转变。例如在身份识别的应用方面,与指纹识别、虹膜识别等生物识别技术相比,语音识别技术无需记忆密码,身份验证过程更为快捷,一条简短的语音指令即可代替以往的复杂操作,用户易于接受,便于推广应用。 在深度学习技术兴起之前,语音识别技术主要采用隐马尔可夫模型〔1〕(HMM,HiddenMarkovModel)和高斯混合模型〔2〕(GMM,GaussianMixedModel);其中,HMM用于描述音频信号的动态特性,GMM用于描述HMM每个状态的静态特性。这个时期因受技术所限,语音识别率提升缓慢,语音识别技术的发展一度停滞不前。随着深度神经网络〔3〕(DNN,DeepNeuralNetwork)的兴起,语音识别技术框架逐渐由GMMHMM转变为DNNHMM,以DNN模型替代GMM模型,无需假设语音数据的分布,即可获得语音时序结构信息,使得状态分类概率得以改善,语音识别准确率显著提升。特别是在端到端(E2E,EndtoEnd)机器学习策略出现后,语音识别技术开始进入百花齐放时代,涌现出多种复杂的训练网络。其中,较为常用的E2E机器学习模型有:连接时序分类(CTC,ConnectionistTemporalClassification)模型〔4〕、递归神经网络传感器(RNNT,RecurrentNeuralNetworkTransducer)模型〔5〕、LAS(ListenAttendandSpell)模型〔6〕,TT(TransformerTransducer)模型〔7〕。与传统语音识别模型不同,CTC模型不需要在训练数据前对语音与标签进行对齐处理,节省了训练开销,但是CTC模型没有考虑上下文之间的关系,生成的文本质量较差。RNNT模型是在CTC模型的基础上加以改进,能够支持流式语音识别,具有语言模型建模能力,主要用于辅助文本的生成,解决了CTC模型生成文本质量差的问题。LAS模型利用注意力(Attention)机制实现有效的对齐,因其考虑了上下文信息,在准确度上会略高于其它模型,但正是因为它需要上下文信息,因而无法支持流式语音识别,且准确度会受到输入语音长度的影响。TT模型是对RNNT的改进,它将RNNT中长短时记忆〔8〕(LSTM,LongShortTermMemory)编码器替换为Transformer〔9〕编码器,Transformer是一种非循环的注意力机制,可以让网络执行并行计算,能够支持流式语音识别。 近年来,我国铁路运输能力和服务水平持续提升,铁路凭借其便捷性、舒适性和安全性,成为民众出行首选的交通方式。目前,语音识别技术在铁路领域主要应用于面向旅客的铁路互联网售票系统(简称:12306)智能客服,在站车交互、移动检票、列车补票等业务中尚未广泛应用。研究面向铁路旅客服务应用的语音识别模型时,首先要选用合适的语音识别模型进行优化改进,使其达到较高的识别准确率,并针对特定的应用场景构造特定的铁路领域训练数据集,将其用于语音识别模型的训练,以增强模型的铁路领域特征;此外,目前的铁路旅客服务涉及铁路出行条例、旅客常问问题等众多文本信息,为此,在语音识别模型的基础上结合特定的文本处理机制,将进一步有效地提高具体应用的语音识别准确率。 本文研究提出一种改进的语音识别模型,借助RNNT模型对于语音识别处理的优势,用Conformer〔10〕结构替换RNNT中的RNN结构,Conformer结构是以卷积增强的Transformer模型,Transformer能够有效提取长序列依赖关系,而卷积擅长提取局部特征,Conformer结构可将两者结合起来,以增强语音识别的效果;另外,在卷积模块上加入注意力机制,发挥注意力机制参数少、速度快的优势,且基于注意力机制的每一步计算不依赖于上一步的计算结果,可解决RNN不能并行计算的问题,还能从较长的文本信息中捕获重要特征,解决长文本信息被弱化的问题。结合旅客常问问题查询设备和车站智能服务机器人2个应用场景中的旅客服务功能,利用改进的语音识别模型完成定制化开发,使旅客可通过语音交互方式简单、快捷、高效地获取所需服务。1。相关的网络模型1。1CTC模型和RNNT模型 CTC模型是一种可以把语音转化文本的语音识别模型,只需要提供输入的音频序列和对应的输出文本序列,就可以对CTC模型进行训练,解决了传统语音识别模型训练时需要标签对齐的问题。经CTC解码后,每一帧都能生成对应的字词,不需要进行后续的处理,因而CTC模型能够很好地支持流式语音识别。 如图1所示,CTC模型完成语音识别的音频数据处理流程为:(1)将音频数据均分成若干段,每段都匹配一个音节,生成预测序列,此处引入空白符用于分割音节(即图1中表示为灰色框),空白符不对应任何输入,后续会从输出中将其删除;(2)合并重复的音节,并去除空白符;(3)输出对应的文本序列。 图1CTC模型处理流程 下载:全尺寸图片幻灯片 CTC模型的缺点是忽略了音频序列间的前后依赖关系,即认为当前帧yuyu与前序各帧yi(iu)yi(iu)没有任何联系。由于语音信号是连续的,不仅各个音素、音节以及词之间没有明显边界,各个发音单位还会受到上下文的影响。因此,对语音信号进行建模时,需要考虑音频序列间前后依赖关系,否则会对模型的识别准确率产生不良影响。 为解决这个问题,RNNT模型对CTC模型进行了改进,在CTC模型的编码器(Encoder)基础上,加入了RNN结构,它将前面输出的帧作为预测网络(PredictionNetwork)的输入,再将输出的隐藏向量pupu与由Encoder生成的声音特征序列henchenc输入到联合网络(JointNetwork)中,经联合网络处理后得到输出值zizi,再将zizi传递到Softmax层,最终得到对应类的概率P(yix1,,xti,y0,,yui1)P(yix1,,xti,y0,,yui1),其结构如图2所示。 图2RNNT模型结构 下载:全尺寸图片幻灯片 RNNT模型的特点是,可将预测网络输出的文本特征和语音信号的声学特征较好地融合在一起,同时对两者进行联合优化,从而获得较好的识别准确率。1。2Conformer模型 ConformerEncoder整体结构如图3所示,每个Conformer块类似于一个三明治结构,前后用到2个FeedForwardNetwork(FFN)模块,每个FFN模块的输出只取原输出的一半。文献〔10〕通过实验验证表明,与只取单个FFN结构的全部输出相比,各取2个FFN结构的一半输出,可使模型整体上表出更为优异的性能。 图3ConformerEncoder整体结构 下载:全尺寸图片幻灯片 ConformerEncoder的计算公式为 xixi12FFN(xi)xixiMHSA(xi)xixiConv(xi)yiLayernorm(xi12FFN(xi))xixi12FFN(xi)xixiMHSA(xi)xixiConv(xi)yiLayernorm(xi12FFN(xi)) (1) 其中,FFN(x)FFN(x)、MHSA(x)MHSA(x)、Conv(x)Conv(x)分别为FeedForward模块、MultiHeadSelfAttention模块、Convolution模块的计算结果,yiyi为这3个模块经Layernorm规范化处理后的输出结果。2。语音识别模型改进2。1注意力机制 考虑到铁路旅客服务应用场景,存在众多长句表述的情况,且需要考虑上下文之间的联系。Conformer结构中的卷积模块在训练中忽略了长句中的局部特征,且音频信息本身也存在难以获取局部与整体之间关联性的缺陷,为此需要对卷积模块做出改进。 原先的Conformer模型中的卷积模块使用prenorm残差、pointwise卷积和线性门单元(GLU,GatedLinearUnit)。为了解决难以将长语音序列合理表示为对应特征向量的问题,在Conformer模型的卷积模块中增加一条基于Attention机制的计算路径,将原先卷积模块的计算结果与Attention模块的计算结果相乘,作为最终卷积模块的结果,如图4所示。 图4Conformer的卷积模块结构 下载:全尺寸图片幻灯片 Attention机制能够较好地捕获全局和局部间的联系,在一定程度上弥补了卷积神经网络对局部与整体之间关联性的忽略。改进后的卷积模块的计算公式为 Conv(xi)conv(xi)att(xi)Conv(xi)conv(xi)att(xi) (2) 其中,conv(x)conv(x)、att(x)att(x)分别为卷积模块、Attention模块的计算结果,Conv(x)Conv(x)为两个模块相乘的结果。 Attention处理过程为:(1)对输入进行线性变换,得到Query、Key、Value(分别记为Q、K、V);(2)将Q与K进行点积运算,得到输入词之间的依赖关系;(3)进行尺度变换、掩码和softmax操作,最终生成Attention矩阵: att(Q,K,V)softmax(QKTdk)Vatt(Q,K,V)softmax(QKTdk)V (3) 其中,dkdk为Q和K向量的维度,除以该参数是为了防止Q与K的点积运算结果过大。 由公式(1)(3)可得,改进后的Conformer结构的计算公式为 xixi12FFN(xi)xixiMHSA(xi)xixiconv(xi)att(xi)yiLayernorm(xi12FFN(xi))xixi12FFN(xi)xixiMHSA(xi)xixiconv(xi)att(xi)yiLayernorm(xi12FFN(xi)) (4)2。2ConformerTransducer模型结构 ConformerTransducer(CT)模型是对RNNT模型的改进,用ConformerEncoder结构替代RNNT模型中的RNNEncoder结构,并且延用2。1节中提出的在卷积模块中引入注意力机制的ConformerEncoder结构,预测网络结构选用双层LSTM,其模型结构如图5所示。 图5ConformerTransducer模型结构 下载:全尺寸图片幻灯片 LSTM是对序列数据进行操作,适用于对时间序列中间隔和延迟相对较长事件的处理。在堆叠式LSTM结构中,上层的LSTM为下层的LSTM提供的是序列输出,而不是单个值输出。因此,该模型能够更复杂地处理时间序列数据,以不同的比例捕获信息。选择双层LSTM作为预测网络可增加神经网络的深度,提高训练效率,并获得更高的识别准确率。3。改进模型语音识别效果分析3。1数据集与评估指标 为加强语音识别模型的领域特征,数据集的数据一部分来源于12306人工客服对话音频资料,对旅客与客服间对话音频进行清洗和拆分,去除音频中无人声的部分音频,提取的有效语音音频时长约为540h;另有一部分数据是组织专人录制的铁路出行条例及旅客常问问题的问答对话,录制的有效语音音频时长约为200h。数据集内含约32万对语音文本数据对,按照7:3的比例,将数据集分成训练集和测试集;其中,训练集用于对语音识别模型的训练,测试集用于对模型进行测评。实验数据集的统计信息如表1所示。 表1数据集统计信息 数据集划分 语音时长h 语音文本数据对103对 训练集 527hr236。2 测试集 219hr91。4 下载:导出CSV显示表格 在语音识别任务上,采用字错误率(CER,CharacterErrorRate)作为语音识别模型的准确率评价指标,数值越低,表示效果越好;CER计算公式为 CERSDIN100CERSDIN100 (5) 其中,SS表示替换的字符数目;DD表示删除的字符数目;II表示插入的字符数目;NN表示参考序列中字符总数。3。2实验环境配置 实验环境配置如表2所示。 表2实验环境配置 实验环境 配置 操作系统 Linux CPU型号 Inter(R)Xeon(R)CPUE52698v42。20GHz GPU型号 TeslaV100 运行内存 251GB 程序语言 Python 程序框架 Pytorch 下载:导出CSV显示表格3。3语音识别模型参数设置 由于参数规模对模型准确率会产生一定的影响,考虑了2种参数规模的Conformer模型(Conformersmall和Conformerbig),其具体参数设置如表3所示。 表32种语音识别模型的参数规模设置 模型 Params(B) Layers Dimension AttentionHeads Conformersmall 0。6 34hr1024hr8hrConformerbig 1。0 36hr1024hr8hr下载:导出CSV显示表格 输入帧使用了大小为8的上下文窗口,可生成640维特征向量,将其作为传感器编码器的输入,帧移位设置为30ms;所有模型的卷积核大小都设置为5;预测网络选用2个隐藏节点为720的LSTM层。2个模型分别在训练迭代12个epoch和15个epoch后结果趋于稳定,模型训练耗时约23天时间。3。4训练细节 (1)数据处理:实验中音频统一使用16KHz的采样率,若存在不符合16KHz采样率的音频,则对其进行采样率转化;音频特征为80维logmelFBank。 (2)预训练:采用wav2vec对Conformer编码器网络进行预训练,预训练的掩码起点以0。06的概率随机选择,掩码步长设置为10。使用Adam优化器和Transformer学习率策略调节学习率,峰值学习率为2e3,预热步长设置为25。Comformersmall模型和Comformerbig模型均使用Adam优化器和指数移动平均进行训练。 (3)模型训练:与预训练相同,所有模型都使用Adam优化器和指数移动平均进行训练,根据下游任务调整batch大小、学习率和预热步长。使用标准的自适应SpecAugment策略,频率掩码F设置为27,时间掩码的最大时间掩码比Ps设置为0。05,使用2个频率掩码和10个时间掩码对输入进行增强。3。5结果分析 以RNNT模型作为基线模型,对TT模型和改进前后的CT模型进行对比测试,不同模型的测评结果如表4所示。 表4RNNT基线模型、TT模型和改进前后的CT模型的测评结果 模型 CER 与基线模型差值 基线模型 9。13 TT 8。59 0。54 CT(Conv)small 8。24 0。89 CT(Conv)big 8。15 0。98 CT(ConvAttention)small 7。98 1。15 CT(ConvAttention)big 7。91 1。22 下载:导出CSV显示表格 结果表明: (1)参数规模会对模型准确率产生一定影响。从测评结果可以看出,相对于CT(Conv)small模型,CT(Conv)big模型的字错误率降低0。09;CT(ConvAttention)big模型较于CT(ConvAttention)small模型,在字错误率上降低0。07。2组实验均表明,参数规模的扩大,在一定程度上能提高模型识别准确率,提升模型的性能。 (2)Attention机制对卷积模块具有一定的修正作用。相对于无Attention机制的CTsmall模型,加入Attention机制的CTsmall模型的字错误率降低0。26;相对于无Attention机制的CTbig模型,加入Attention机制的CTbig模型的字错误率降低0。24,识别准确率达到92。09。2组实验均表明,Attention机制在一定程度上能对卷积模块的解码结果进行修正,从而提高模型的识别准确率。4。融入面向铁路旅客服务应用的文本处理机制 在铁路旅客服务中,客服人员与旅客进行语言交互,形成音频信息。而铁路旅客服务中语言交互内容往往对应着特定的文本信息,如铁路出行条例汇编、旅客常问问题库等。为此,可考虑利用领域特征文本信息来辅助语音识别,在语音识别模型中加入文本处理机制。针对特定的铁路旅客服务语音识别应用,除了对语音识别模型进行改进和基于领域特征数据集训练外,进一步结合以下2种文本处理机制进行定制化处理。 (1)语言模型:语言模型的作用是通过计算一句话的概率来判断该语句的语序是否通顺,分为统计语言模型和神经网络语言模型2种类型。统计语言模型是通过计数的方式对概率进行求解,而神经网络语言模型是通过神经网络进行建模求解,但两者都是基于模型对输入文本进行概率预估。最常用的统计语言模型是ngram语言模型,该模型认为当前词与前面的n1个词有关,但该模型没有充分考虑词与词之间的关系,容易导致数据稀疏;为了解决数据稀疏的问题,研究人员提出了神经网络语言模型,常用于构建语言模型的神经网络有:循环神经网络、长短时记忆网络、Transformer等。语言模型与语音识别模型的融合方式是,利用铁路相关语料对语言模型进行训练,再在语音识别模型的解码阶段,将语言模型进行插值融合。 (2)热词赋权:在语音识别模型中,对于常用词汇的识别效果较好,但对于特有的人名、地名或者特定领域的专有词汇来说,可能存在识别准确率不高的情况。对于这些专有词汇,可以建立语音识别任务专用的热词词典,并设置热词赋权模块,以显著提升专有词汇的识别准确率。在语音识别模型的解码阶段,除了利用语言模型进行插值融合外,还可以利用热词赋权模块对解码结果进行修正。5。铁路旅客服务语音识别应用实例5。1旅客常问问题查询设备 铁路12306官方网站按照车票、购票、进站乘车等不同阶段,对旅客常问问题进行分类。旅客可根据查询需求,通过索引或使用搜索框来寻找解答,这种查询操作方式较为耗时,更适合在电脑上进行操作。目前,12306App尚未提供旅客查询旅客常问问题的搜索框,旅客拨打12306人工客服往往需要排队等候较长时间,才能获得客服人员的问题解答。 为此,设计了一款基于语音识别技术的旅客常问问题查询设备,直接通过语音交互来完成旅客遇到的大多数问题解答,旅客无需手动输入查询条件,也不需要拨打客服电话咨询,极大地缩短旅客咨询问题的时间。铁路旅客常问问题查询设备的语音数据处理流程如图6所示。 图6铁路旅客常问问题查询设备的语音数据处理流程 下载:全尺寸图片幻灯片 该设备结合流式与非流式2种语音识别模型。其中,流式语音识别模型能够在处理音频流的过程中实时返回识别结果,适用于要求查询设备实时返回查询结果的应用场景。相对流式语音识别模型,非流式语音识别模型的识别结果更为准确,可用于修正流式模型的识别结果。 在音频编码处理阶段,将Transformer模型与Conformer模型相结合,充分结合两种模型的优点,保证长短句子的有效编码。在音频解码处理阶段,增加基于Transformer和ngram的2种语言模型,利用铁路相关语料对语言模型进行训练。为提高音频解码的召回率,增加了CTCprefixbeamsearch的解码过程,该解码算法可筛选出N条最佳解码路径。在完成音频解码处理后,增加了热词赋权模块,设置旅客常用问题热词词典,根据这N条最佳解码路径中包含热词的情况进行赋权加分,最终选定得分最高的那一条最佳解码路径作为识别结果。 通过搜集和整理旅客常问问题,在实验室环境对语音查询功能进行模拟测试,准确率达约为92。5。2车站智能服务机器人 随着人工智能(AI,ArtificialIntelligence)技术的逐渐成熟及智能机器人的应用普及,铁路车站新型智能机器人正朝着AI智能出行方向发展。新型智能机器人的使用改变了传统车站只能靠人工服务和标识引导的方式开展车站旅客服务工作,使铁路旅客出行更加便捷、高效。目前,已有部分铁路车站引入智能机器人为旅客提供向导服务,同时还能提供车次、公共交通线路、天气、酒店等信息查询服务。目前,这些查询服务还需要旅客手动操作,还没有有效地结合语音识别技术。 为此,研发了零操作车站智能服务机器人,可通过语音交互方式为铁路旅客提供更为全面的人性化服务,车站智能服务机器人与铁路旅客的交互过程如图7所示。 图7车站智能服务机器人与铁路旅客的交互过程 下载:全尺寸图片幻灯片 车站智能服务机器人与铁路旅客的交互过程为:(1)机器人首先进行语音识别,将语音信号转化为文本;(2)通过自然语言理解技术对文本进行语义理解,将其映射为旅客对话行为;(3)对话管理模块根据旅客对话行为,结合旅客常问问题知识库内容,选择机器人需要执行的系统行为;(4)通过自然语音生成技术,生成需要反馈给旅客的自然语言;(5)机器人将合成的问题解答语音反馈给用户。 本文提出的语音识别模型主要用于实现车站智能服务机器人的语音识别功能模块,与通用的语音识别模型相比,为车站智能服务机器人定制开发的语音识别模型在识别铁路专有名词方面效果甚佳。这个语音识别模型的训练集选用铁路客服对话语料,且设置有铁路专用字典,收录了车站名、城市名、车次信息等铁路相关行业术语,以及行程所遇到问题的关键词,可显著地提高车站智能服务机器人内置的语音识别算法的适用性。车站智能服务机器人在与乘客的交互过程中,能更加准确地识别出旅客所提出的问题,例如检票口怎么走、如何做人脸核验、怎么取报销凭证之类的常见问题,从而给出符合旅客所问问题的解答。 除了为铁路旅客提供所在车站、车站所在城市等出行相关资讯外,车站智能服务机器人还可提供火车线路查询、车次时间、票价政策、乘车须知、失物招领、引导窗口、业务办理等客服信息,能够替代车站客服人员完成大量的旅客服务工作。6。结束语 本文基于RNNT模型进行语音识别模型研究,用Conformer结构代替了RNNEncoder,并对Conformer结构的卷积模块进行了改进,并在其中加入注意力机制,弥补了卷积网络训练的缺点,可有效提高语音识别模型的识别准确率。考虑到铁路旅客服务通常都对应着特定文本信息,在语音识别模型的基础上融合了语言模型与热词赋权2种文本处理机制,使其在铁路专有名词的识别上优于通用的语音识别算法。同时,基于改进后的语音识别模型,完成了旅客常问问题查询设备与车站智能服务机器人中语音识别应用的开发。语音识别应用有助于提高铁路旅客服务水平,改善铁路旅客出行体验,还能更为有效地替代铁路工作人员完成更多旅客服务,促进铁路旅客服务工作实现减员增效。 在实际场景中,铁路旅客使用铁路旅客服务语音识别应用时,很难保证所处环境相对安静,各种复杂的声学环境会对语音识别的效果造成不良影响。此外,在日常生活中,人们说话往往也较为随意,语言习惯不一,如带有明显地方口音、经常重复、停顿或插入,不会严格遵循语法要求。对于基于标准语音训练的语音识别模型而言,要做到准确识别这类缺乏足够规范性的语音是相当困难的。因此,如何逐步提升铁路旅客服务语音识别技术的鲁棒性将是下一阶段的研究重点。