APP下载

基于深度学习的智能语音助手研究

2021-01-14唐永军

现代信息科技 2021年12期
关键词:语音识别

摘  要:随着人工智能技术研究的进步和深度神经网络的兴起,基于神经网络的声学模型的应用性能显著提高。为进一步促进基于深度学习的语音识别技术的应用,基于深度学习技术和CNN、GRU、Bi-RNN模型,文章探究了深度学习技术在智能语音识别任务中的应用前景。以清华大学语音与语言技术中心(CSLT)出版的开放式中文语音数据库THCHS30为实验数据集,该实验对所搭建模型进行训练与测试,并将不同模型在训练不同轮次之后的词错率进行横纵向对比。

关键词:语音识别;声学模型;神經网络

中图分类号:TP181    文献标识码:A 文章编号:2096-4706(2021)12-0075-05

Abstract: With the progress of artificial intelligence technology and the rise of deep neural network, the application performance of acoustic model based on neural network is significantly improved. In order to further promote the application of voice recognition technology based on deep learning, this paper explores the application prospect of deep learning technology in intelligent voice recognition tasks based on deep learning technology and CNN, GRU, Bi-RNN models. Taking the open chinese voice database THCHS30 published by the Center for Speech and Language Technology (CSLT) of Tsinghua University as the experimental data set, the built model is trained and tested in this experiment, and the word error rates of different models after different rounds of training are compared horizontally and vertically.

Keywords: voice recognition; acoustic model; neural network

0  引  言

语言作为人与人之间的基本交流手段,在日常生活中起着至关重要的作用,其不但帮助人类有效实现信息互传和互通,也具备实现人机沟通的应用前景。随着人工智能技术的不断革新,国内外声学研究学者逐渐将其研究重心转移至智能语音识别(Automatic Speech Recognition, ASR)之中,进而催生了语音信号处理领域的进一步发展[1]。具体而言,语音识别的研究主体为“语音”本身,结合语音信号处理技术和模式识别技术使机器自动辨识和理解声音发出者表达的意义,实现“让机器能够听懂人说的话”的最终目标。

在当下计算机技术和信息处理技术共同高速发展的大环境下,实现人机交互的途径呈爆发式发展。一方面,语音输入作为一种高效、便捷、适用性强的人机交互方式,寄托着人们对实现与智能载体交流、沟通的巨大期盼[2,3]。另一方面,语音识别作为一种新兴的交叉方向,需要以人工智能、语音语言学、通信、信号处理等各领域知识融会贯通实现。因此,语音识别的实现相较于一般人工智能任务具有更严峻的难度和挑战,但有效的语音识别的实现能在最大程度上提高人类社会的生产、生活质量和效率,进而推动科学研究的发展与文明社会的共同进步。

现阶段,语音识别技术的成果已在较多工业领域得到应用,主要包括计算机应用、自动化办公、智能电子通信、新型国防技术等,智能语音的实现有效地推动了上述产业的技术创新和产品创新[4,5]。例如,由Amazon公司出品的“Alexa”智能语音助理、Microsoft公司出品的“Cortana”人机交互器、Alibaba公司出品的“天猫精灵”等智能语音处理系统均带来了极高的经济价值,同时促进了科技进步[6-8]。

简言之,语音识别技术发展的根本目的在于创造出一种具有声音接受和含义理解的智能设备,并将这种具备了语音信息处理能力的智能设备作为一种新的交流对象融入人类社会的日常生活,进而实现机器同样具备听、说、译的能力,能对输入语音做出必要理解和适度反应[9,10]。同时,上述的智能人机交互技术应不受时间和地点等因素的限制,因此上述方向均是基于机器学习的语音识别应用研究的重心所在。

面向于当前语音识别技术的重要作用,本项目基于深度学习技术提出了以CNN、GRU、Bi-RNN为核心的新型的智能语言识别助手,并且本文以清华大学语音与语言技术中心(CSLT)出版的开放式中文语音数据库THCHS30为实验数据集,分别训练和测试了上述模型,以词错误率(WER)为模型性能的评判标准,将不同模型在训练不同轮次之后的词错率进行横纵向对比,并用录制的语音进行效果测试。

1  方法论

本章主要介绍实验所选用的CNN、Bi-RNN和GRU三种神经网络声学模型、语言模型和涉及的算法并分析三种声学模型的优势。

1.1  基于卷积神经网络的智能语音助手

1.1.1  卷积神经网络

卷积神经网络(CNN)是一种典型的前馈式神经网络,其通过卷积计算实现输入特征的自动提取,并自动保留高权重特征,过滤低权重特征。CNN主要包含以下优势:

(1)局部连接,即CNN模型中各层的每个神经元只和其中一部分神经元相连,而非全部神经元。

(2)参数共享,在CNN进行特征提取时,其通过卷积核滑动运算的方式与所在层的所有神经元共享一组卷积核参数。

(3)下采样:下采样的实现主要通过卷积神经网络中的池化计算完成,以降低特征维度、减少特征数量,这将使网络仅保留部分对分类效果提升贡献更大的特征信息,自动过滤低权重信息。本文所用的CNN模型结构如图1所示。

CNN通过多层感知机抽取模型输入特征向量中的代表性特征,并通过池化对所提取的特征向量进行降维,以完成对输入数据的处理并完成重要特征信息的高效提取。

对于基本的CNN模型而言,其主要有输入层、卷积层、隐藏层和全连接层构成,而隐藏层中又主要包含激活层与池化层,其具体功能如下文所述:

(1)输入:用于数据输入。

(2)卷积:卷积层和池化层是CNN区别于其他类型神经网络的、独有的结构,其中卷积层更是CNN的核心。卷积操作的实质就是通过多个卷积核与输入的特征向量进行卷积计算。简言之,其通过卷积核在输入图像中进行滑动式特征提取,以返回特征信息。

(3)激活函数:由于卷积是一种线性运算,因此需要对卷积层输出的结果做一个非线性映射,常用的激活函数ReLU(Rectified Linear Unit)具有更快的收敛速度和更简便的梯度求解方式:

(4)池化:池化层常置于卷积层之后,以实现特征降维、减少训练参数、降低模型计算复杂度,并防止训练过程中出现过拟合,有助于CNN提取深层次的特征。池化方案通常为最大池化(Max Pooling),通过池化操作,可以很大程度上减少模型的计算量和特征的尺寸,保留有用信息,剔除冗余信息,且使模型的泛化能力更强。

(5)全连接:全连接层将连接前层输出的所有神经元,以实现保留有用信息,减少特征信息损失的目的。

(6)输出:用于最后输出结果。

1.1.2  模型搭建

参考当下应用效果较好的CNN模型搭建方案,本项目中CNN模型中的结构设置如下所示。其共包含10个卷积层、5个池化层和2个全连接层,且卷积填充(padding)为“same”;各卷积层的激活函数选用ReLU函数,接着再输出到下一层。本文CNN具体参数设置如表1所示。

1.2  基于门控制环单元网络的智能语音助手

1.2.1  门控制环单元网络

门控循环单元(Gate Recurrent Unit, GRU)是循环神经网络(Recurrent Neural Network, RNN)的变体,所以在介绍GRU之前先简单介绍RNN相关知识。RNN是一种隐层自连接网络,其对输入序列数据上下文的依赖关系具有较好的表达能力,其结构如图2所示。

在每个步中,RNN模型对一个输入xi和前一个节点的输出执行计算,生成的輸出hi将被用于下一个节点并进行相应评估。然而,在RNN模型的训练过程中,其存在长期依赖的问题,即随着时间增加,出现梯度消失现象。

GRU作为RNN的一种变体,能减少训练时间,并且使用的是能够记住长期依赖关系的网络。通过更新门和复位门两个门函数可以实现对输入值、记忆值和输出值的控制,GRU结构模型如图3所示。

其中zt代表更新门,rt代表重置门,σ为sigmoid函数,输入为当下时刻的输入x与上一个时刻的输出ht-1,输出这个时刻的输出值ht,其公式为:

rt=σ(Wr·[ht-1,xt])                        (2)

zt=σ(Wz·[ht-1,xt])                        (3)

=tanh(·[rt*ht-1,xt])                   (4)

ht=(1-zt)·ht-1+zt·                         (5)

其中[]表示向量相连,*代表矩阵乘积。式(2)、(3)表示利用xt和ht-1经过权重相乘通过sigmoid,得到两个门控值,式(4)中rt·ht-1表示重置之后的数据,得到的,相当于记忆了当前时刻的状态,式(5)表示忘记传递下来的ht-1中某些维度信息,并加入当前节点中某些维度的信息。

1.2.2  模型搭建

在本实验中,训练使用的模型结构为2个全连接层+GRU网络+2个全连接层,实验中模型采用ReLU激活函数、各层可训练节点数为512;设置四层GRU网络,一层GRU返回最后一个输出,一层GRU向后处理输入序列并返回反向的序列,再经过add层将特征叠加,两层GRU再跟一层add层为一组,均用he_normal进行初始化。在模型的全连接层,全连接层节点数为1 420,且采用softmax函数为全连接层激活函数。同时,为防止过拟合现象的发生且提高模型训练效率,本实验模型中使用了rate=0.5的Dropout层,且模型在训练过程中根据损失函数自动更新权重。

1.3  基于双向循环神经网络的智能语音助手

1.3.1  双向循环神经网络(Bi-RNN)原理

Bi-RNN网络是一种双向的RNN模型,即使用两个方向的RNN网络。这可以使Bi-RNN 模型在学习到正向规律的同时,还对反向规律进行学习,进而提高循环网络模型的拟合度,如图4所示。

x代表一个输入向量,A是一个向量,它表示隐藏层的值,y表示输出向量。

如上所示,每个时刻正向学习的和反向学习结合起来完成t时刻的预测yt,式(6)是输出层的计算公式,式(7)、式(8)是隐藏层的计算公式,它是循环层。G、f代表激活函数,U、U′、W、W′、V和V′代表不同的权重矩阵。

1.3.2  模型搭建

本次训练使用的模型结构为3个全连接层+Bi-RNN网络+2个全连接层。全连接层除最后一层外,均设置为512个节点,激活函数为RELU,使用偏置,用he_normal进行初始化;Bi-RNN网络采用GRU作为基本单元,向后处理输入序列并返回反向的序列,用he_normal進行初始化,与一个批标准化层和时间分布层连接。批标准化层能使训练更快,可以使用更高的学习率,最后一层全连接层节点数为1 424,最终结果输出到softmax输出层中。模型训练和测试的方式都和上述两种网络相同,训练阶段通过计算损失、优化器优化损失函数来更新网络权重,测试阶段测试模型性能。为减轻网络的过拟合问题,网络模型除输出层以外均采用了0.2的dropout结构。

1.4  语言模型设计

词频统计被应用于本项目中,以得到各个词的概率跟前词到这一个词的转移概率。同时,THCHS-30的文本信息主要选取于大容量新闻,所以统计词频时选用语料库为一篇新闻文献。

其中,每个拼音可以对应于多个汉字,而每个汉字每次仅有一个读音。因此,将每个拼音所对应的字从左向右依次连接,就成为一张有向图,如图5所示。

其中y代表拼音,w代表拼音的候选字,使用最短路径算法寻找从起点开始到终点概率最大的路径。本实验中设置第n步的阈值为[(0.001)]n,只保留大于阈值的路径。

2  案例分析

特征提取、声学模型、测试验证是语音识别算法的三个关键部分。由于神经网络模型比传统声学模型有更好的效果,所以实验中采取CNN、GRU、Bi-RNN三种神经网络模型来进行对比实验。

2.1  特征参数提取

在基于机器学习的语音识别系统的应用过程中,数据集准备至关重要。具体而言,本项目选取清华大学的公用中文语音数据库THCHS30进行实验,且该数据集语音数据详细信息可在python数据库中详细了解。其主要分为四部分:A部分句子为ID(1~250),B部分句子为ID(251~500),C部分句子为ID(501~750),D部分句子为ID(751~1 000)。本实验在window10系统环境下的服务器上部署基于TensorFlow的深度学习库keras,实验用Pycharm 2021.1进行,编译器使用Python3.7,进行神经网络模型的搭建、训练和测试。

首先,智能声音识别系统将读取样本数据,并进行格式转换,以音频A11_0.WAV为例。音频时长7.8 s,采样率16 kHz,采样点124 800个,先将音频文件转换为字符串,再转换为short型数据。

之后,将信号进行分帧,帧长25 ms,加汉明窗以提供变换结果的分辨率,所加窗函数代码为w = 0.54 - 0.46 * np.cos(2 * np.pi * (x) / (400 - 1) ),帧移10 ms,来弥补加窗造成的信号削弱。接着对一帧信号做快速傅立叶变换,取绝对值进行归一化处理,因为原始400列数据的对称性,取前200列数据。

最后,本实验进行取对数,进行补0操作,将输入data_input整形为[1 600,200,1]的三维数组形式,计算data_input的input_length数值。

2.2  模型训练细节及评价指标

在模型训练阶段,模型输入为data_input和input_length,系统实验及测试为戴尔笔记本(操作系统:Win10 64位;处理器:Intel(R) Core(TM) i5-7200U CPU @ 2.50 GHz 2.70 GHz;内存:4 GB;软件环境:python3.7),损失函数未CTC loss,优化器未Adam,训练回合数为4 000回合,批次大小为8。

在模型测试阶段,本实验选用随机录制的单声道,采样率16 kHz,采样大小16 bits的语音及逆行识别,识别任务通过100个音频来计算每条音频的WER并取平均值。WER计算公式如式(9)所示:

WER=×100%                   (9)

其中,S为替换错误词的数量,D为删除错误词的数量,I为插入错误词的数量。

2.3  实验结果与分析

2.3.1  测试方法

针对语音识别系统的性能测试主要进行同一模型训练不同轮次对比和训练同一轮次时不同模型性能对比。

首先,本实验进行了同一模型训练不同轮次对比,由于同一模型在训练轮次不一时,准确率也会不同,因此每个模型在训练时步长设置为4 000,在训练4 000、8 000、12 000、16 000轮时进行保存,取100条音频文件进行拼音识别并计算识错率,求取WER均值。测试方法采用控制变量法,在同一台笔记本电脑上进行训练避免由于处理器等设备不同,影响实验结果的可靠性。其次,本实验对训练同一轮次时不同模型性能进行对比,不同的模型性能效果不同,因此在训练轮次相同的时候,取100条音频文件进行拼音识别并计算平均识错率,来对比不同模型的识别效果。

2.3.2  结果分析

在项目所提的各类模型训练完成后,本实验对其最终性能进行评估,如表2所示。

横向标题表示模型训练的轮次,纵向标题表示训练所用的声学模型。根据实验结果绘制折线图如图6所示。

由图6可知,每个模型在训练轮次增大的时候,性能都能得到提升,训练伦次由4 000变为16 000时,CNN模型识错率从20.94%下降到了0.84%;GRU模型识错率从47.04%下降到了5.80%,Bi-RNN虽然变化较小,但也从最初的3.84%下降到了1.98%。这表明每个模型在训练轮次增大的时候,性能都能得到提升。在模型训练过程中,可以观测到loss值不断下降,下降趋势与学习率的设定有关,在训练量足够大时,loss值会逐渐趋于稳定并下降到一个较小的值。

纵向对比来看,在训练4 000轮时,Bi-RNN模型效果远好于CNN和GRU,训练轮次达到16 000时,CNN的识错率在三种模型中最低,性能最好。由于本实验CNN网络的结构相比于其他两种网络更加复杂,在训练过程中,CNN网络的训练所需时间明显长于GRU和Bi-RNN网络。

本设计的识别结果误差主要体现在设计模型时,模型性能计算和最终匹配阈值也会一定程度上影响到结果,存在一定主观误差。

3  结  论

面向于日益兴起的人工智能技术,进一步将其应用于产业实践至关重要。其中,基于深度学习的智能语音识别技术作为当下最热门的研究方向之一,充分结合、应用与创新将为科技发展注入新鲜活力。鉴于上述实际需求本文基于不同深度学习声学模型提出了一种新型的智能语音识别助手,并以语音识别系统的识错率为评价依据对所提出方案进行评估,其具体结论为:

(1)面对于语音识别任务,本文首先介绍了基于深度学习的智能语音识别的技术基础,并对信号处理与特征提取过程进行探讨与研究,并对包括CNN、GRU、Bi-RNN在内的三种深度学习智能语音识别网络进行对比与分析。

(2)在实验进行中,以公用中文语音数据库THCHS30为实验数据,本文在window10系统下Python环境内搭建实验所需模型,并基于Tensorflow及Keras工具箱搭建、训练和测试CNN、GRU和Bi-RNN三种声学模型,并通过CUDA及Cudnn实现模型训练加速。之后,以声学模型在测试集中的WER指标为评价参数,对训练后的三种模型进行评价。实验结果表明,GRU模型相比于CNN和Bi-RNN有着较大的性能提升;而在训练轮次达到16 000时,CNN模型相比GRU和Bi-RNN有着最低的识错率。在训练轮次足够多的时候能够很好地实现语音转文字。

(3)经过三种不同智能语音识别模型的训练与测试,结果表明,本文所提出的三种不同的声学模型均能够实现中文语音识别的功能。然而,在未来的研究过程中仍需要在模型选择、模型优化、算法优化及语音识别模型抗噪性加强等方面进行实验与创新。具体而言,随着时代的发展,工业实际生产为语音识别的应用提出了新的要求,且大量新兴的模型搭建方案被不同学者所提出,因此,未来实验应注重对新兴技术的实验、分析与应用。其次,模型优化与算法优化是快速实现基于深度学习的智能语音识别助手系统的核心所在,其同样需要学者投入更多的精力。此外,语音识别模型抗噪性的优劣与其语音识别效果直接相关,而现阶段的模型仍存在抗噪性较弱的现象,这需要学者们在未来的研究中进一步解决与改善。

参考文献:

[1] 刘明珠,郑云非,樊金斐,等.基于深度学习法的视频文本区域定位与识别 [J].哈尔滨理工大学学报,2016,21(6):61-66.

[2] 何湘智.语音识别的研究与发展 [J].计算机与现代化,2002(3):3-6

[3] 张会云,黄鹤鸣.基于异构并行神经网络的语音情感识别 [J/OL].计算机工程:1-7[2021-05-14].https://doi.org/10.19678/j.issn.1000-3428.0061076.

[4] 陈方,高升.语音识别技术及发展 [J].电信科学,1996(10):54-57.

[5] 袁翔.基于HMM和DNN的语音识别算法研究与实现 [D].赣州:江西理工大学,2017.

[6] 戚龙,赵丹.基于BP神经网络的非特定人语音识别算法 [J].科学技术与工程,2017,17(31):277-282.

[7] 刘加.汉语大词汇量连续语音识别系统研究进展 [J].电子学报,2000(1):85-91.

[8] 杜利民,侯自强.汉语语音识别研究面临的一些科学问题 [J].电子学报,1995(10):110-116+61.

[9] 宋丽亚.基于小波变换的说话人语音特征参数研究 [D].西安:西安电子科技大学,2004.

[10] 李辉,倪时策,肖佳,等.面向互联网在线视频评论的情感分类技术 [J].信息网络安全,2019(5):61-68.

作者简介:唐永军(1974.09—),男,汉族,内蒙古临河人,副教授,软件工程硕士,主要研究方向:軟件工程、计算机技术及应用。

猜你喜欢

语音识别
空管陆空通话英语发音模板设计与应用
通话中的语音识别技术
面向移动终端的语音签到系统
农业物联网平台手机秘书功能分析与实现
基于LD3320的非特定人识别声控灯系统设计
航天三维可视化系统中语音控制技术的研究与应用
基于语音识别的万能遥控器的设计
基于语音技术的商务英语移动学习平台设计与实现
基于Android手机语音和Arduino控制板的机器人控制系统
支持向量机在语音识别中的应用