作者:王洲、王强强
口语环节正在语言类教育课程中获得更多重视,一对一的师生交流和指导是提高口语水平最有效的方式,但该方式很难满足数量众多的口语学习者需求。得益于计算机技术和语音评测技术的突飞猛进,计算机辅助语言学习(Computer Assisted Language Learning)技术应运而生,各种基于人工智能技术的口语评测方案相继落地。包括朗读,背诵,复述,自由表达等多种方式,它为学生提供了额外的学习机会和充足的学习材料,能够辅助或者替代教师指导学生进行更有针对性的发音练习,指出学生的发音错误,提供有效的诊断反馈信息,并评估学生的整体发音水平,从而切实提高学生的口语学习效率和口语水平。
文章转载自微信公众号-作业帮技术团队
语语音评测技术简介
2.1 评价指标
发音评测维度包括发音的准确率,流畅度,完整度,韵律,语调等。
准确度:体现用户的发音水平。
流利度:体现用户朗读流畅程度,和语速、停顿次数相关。
完整度:体现用户发音正确的单词占比。
单词得分:句子中每个单词的得分。
句子得分:段落中每个句子的得分。
总分:评测整体得分,综合上面分数获得,准确度对总分影响最大。
口语好坏的评价是主观的,人工专家根据自身的专业知识及经验,在各个维度按照优、良、中、差、劣等级进行打分,不同的专家会得出不同的结果。评价机器口语评测系统是否靠谱,一般采用相关系数(Pearson correlation coefficient),一致性(kappa coefficient)等指标来衡量打分系统的性能。与专家打分越接近,系统越靠谱。但有多靠谱,需要有参照物,通常会用平均的人与人之间的相关性来作为参照,目前的人机相关性、一致性已经超过了人与人之间的平均相关性,一致性。语音评测技术已被普遍使用在中英文的口语评测和定级中。
2.2 技术框架
语音评测目前的主流方案是基于隐马尔科夫-深度神经网络(Hidden Markov Model,HMM,Deep Neural Networks, DNN)模型获得语音后验概率,与评测文本强制对齐(force alignment)后,使用GOP(Goodness of Pronunciation)方法进行打分,流程如下图所示。

1)声学特征提取
语音信号在一帧(frame)观察窗口内平稳,将切分后的时域片段信号转换到频域,获得MFCC(13维或40维),Fbank(80维)等特征,一帧是语音序列的最小单元。在GMM(Gaussian Mixture Model)模型中,使用MFCC特征,是因为GMM的协方差估计使用了对角矩阵,输入特征需要保证每一帧的元素之间相互独立。DNN模型中,特征可以是MFCC或Fbank特征;
2)HMM-GMM无监督聚类
该过程用来获取帧标签(Frame-wise label)进行后面的DNN训练。HMM对语音的时序约束、依赖进行建模,GMM属于生成模型,对HMM的观察概率(属于各个音素的概率)进行建模。语音的标注通常是单词序列,每一帧对应哪个音素提前是不知道的。GMM通过相似度聚类,同一个音素的相邻各帧归为同一类,获得音素的duration、边界信息。目前语音信号中对齐算法主流依旧是HMM-GMM,其它算法ctc,attention对齐都有各自的问题,ctc的尖峰,attention的时序无约束问题。
3)DNN判别学习
GMM聚类效果尚可,但GMM对音素建模能力有限,无法准确的表征语音内部复杂的结构。通过DNN取代了GMM 来进行HMM观察概率的输出,可以大大提高准确率。DNN模型的最后一层使用softmax进行软分类,交叉熵loss进行训练,DNN的输出称为后验概率 (phonetic posteriorgrams,PPG)。
用一个例子来说明DNN的输出,假设有5帧语音特征, 发音内容为“er_3 duo_0”,取[sil,er_3,d,uo_0,uo_3]PPG如下:

在t=0第一帧,er_3的概率0.921272最大。
4)评测文本构建hmm解码图,约束文本时序关系:

对于上面的评测文本“er_3 duo_0”, 我们要评价每个音素的发音正确性,也要保证时序性,如果用户读的是“d uo_0 er_3”每个音都对,但时序是错误的,为了约束这种时序关系,我们定义了如上的HMM结构。状态0到1,1到2,2到3, er_3,d,uo_0 每个音至少发生一次,状态1,2,3上面每个都有自旋,表示该音素可以重复发生。
5)Viterbi解码获得强制对齐结果
首先我们将PPG,表示成状态转移图,如下图所示,有六个状态,状态之间的弧表示各个音素及音素的后验概率,0粗线圆圈代表开始状态,5双圆圈代表结束状态。如果音素个数为C,帧数为T,则弧路径个数为CT。

DNN的后验概率转移图,通过评测文本HMM解码图的约束,在CT条路径中,只剩下构成“er_3d uo_0”的路径及相应的score。使用Viterbi算法我们可以高效获得score最大路径。上图中Viterbi最优路径[er_3, er_3,d, uo_0, uo_0] ,也就是强制对齐结果。
6)GOP准确度打分,Averaged Frame-level Posteriors[1]:

P(St|Ot)是DNN模型softmax的输出,Ot是t时刻语音帧,St是force alignment后t时刻的对齐音素。ts,te是音素的开始和结尾。
7)整体打分
获得音素的准确度打分,离最终的单词,句子,整体打分还有距离。评测任务最后都会接一个打分模型,使用音素的GOP分数,流利度等特征拟合到专家分数。2021年腾讯提出一种将声学模型中的深层特征[2],而不是GOP特征传递到打分模块中,该模块基于注意力(attention)机制,考虑句子中不同粒度之间的关系,获得了更优的整体评分。
作业帮目前基于特征提取工程,收集了包括GOP分数,元辅音,词性,声调,发音时长,流利度等多维度信息,通过神经网络模型强拟合能力,预测单词,句子的分数结果,整体打分效果跟人工打分取得了较高的一致性。
DNN声学模型的改进
3.1 conformer模型
Conformer是Google在2020年提出的语音识别模型,基于Transformer改进而来,主要的改进点在于Transformer在提取长序列依赖的时候更有效,而卷积则擅长提取局部特征,因此将卷积应用于Transformer的Encoder层。Conformer的Encoder模型由多个encoder_layer叠加而成,每个encoder_layer由feed-forward ,multi-head self-attention,convolution,feed-forward组成。
在流式评测任务中,随着用户的朗读,需要实时快速的返回评测结果,直接使用conformer模型进行流式评测,会遇到以下问题:
1)由于attention机制,每一帧数据需要看到全部数据做weight计算,随着语音时长的增加,计算复杂度和内存储存开销会越来越大;

2)为了提高帧的识别准确率,每帧会向前看几帧数据,随着encoder_layer的增加,向前看数据量就会累加,这会造成很大的延迟;
3.2基于块(chunk)的mask流式解决方案[3]

如上图所示,相邻三帧为一个chunk,通过mask掉一些数据,attention作用在当前chunk和前一个chunk中,当前chunk中的每一帧对右边的视野依赖最多两帧,平均时延为一帧时长,在每个encoder_layer层,对历史数据的依赖最多五帧。通过mask机制牺牲掉一些attention带来的收益,换取流式低延迟作为妥协。
conformer中的卷积模块也使用了因果卷积,避免右边视野的累积。通过以上的改进,conformer胜任了流式评测任务,时延在300ms左右。

如上图所示,学生在手机应用中选择古文进行背诵,屏幕上就会实时显示背诵情况,正确染成黑色,有发音错误,染成红色。背诵后给出整体的评分报告,以此帮助学生检查和进行背诵练习。
多分支评测:古文背诵中,评测文本一般为一首诗,或古文的一段,包含了多句话。评测文本的解码图需要以句子为单位,支持句子的重复读(家长领读,小孩跟读),跳读(可以往前跳,也可以往后跳读)。

为了关注句子级别的构图关系,上图做了简化,将音素改为字,去掉字的跳读,重复读等弧。0为开始状态,1是结束状态,到达结束状态可以继续回到开始状态,开始下一句的背诵,每句背诵前面会有一个句子标识“$0”,“$1”等,通过该标识,我们可以知道当前用户读到了哪一句,方便染色。
上面的构图方式在一些诗句背诵中遇到问题,当诗句中存在重复诗句,或开头相似的句子。当回到开始状态0时,由于每条路径都是等概率的。会出现如下的现象:

在t+1 时刻读完了第二句,应该开始第三句“$3鱼”的染色,但由于等概率,及顺序问题,仍然会走$2路径,当t+5时刻读到“东”,路径会突然跳转到“$3鱼戏莲叶东”。用户的体验就是,读完第二句一直不染色,读到“东”,立马第三句整句染色,影响体验。
解决方案:如下图所示,每一句读完添加到下一句的弧,例如状态7到8添加空边,第一句读完可以走第二句路径,或者回到起始状态,但添加惩罚(比如0.5)。这样就可以保证古文多句的顺序读,但又保留了足够的自由度,允许重复读,跳读。


技术总结展望
[1]A NewDNN-based High Quality Pronunciation Evaluation for
Computer-AidedLanguage Learning (CALL)
[2]Deepfeature transfer learning for automatic pronunciation assessment
[3]DevelopingReal-time Streaming Transformer Transducer for Speech Recognition onLarge-scale Dataset
[4]Phoneme-to-audio alignment withrecurrent neural networks for speaking and singing voice
[5]NeuFA: Neural Network Based End-to-EndForced Alignment with Bidirectional Attention Mechanism
