1.本发明属于语音识别领域,涉及一种语音识别方法和模型。
背景技术:2.目前对于中医临床语音识别的研究停留在使用传统的机器学习模型——隐马尔科夫模型(hidden markov model,hmm)来解决这一问题,并且仅仅是针对中医孤立词的识别,不能进行连续的语音识别。隐马尔可夫模型是由隐藏的马尔可夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测,从而产生观测随机序列的过程。隐马尔可夫模型由初始状态概率分布π、状态转移概率分布a和观测概率分布b决定,隐马尔科夫模型可以用三元符号表示,即λ=(a,b,π)。a,b,π称为隐马尔科夫模型的三要素。隐马尔科夫模型可以通过已有的数据,推测背后的状态变化,其中已有的数据通常称为观察状态,推测的状态称为隐含状态。在语音识别中,语音信号就是观察状态,识别出的汉字就是隐含状态。
3.隐马尔可夫模型只依赖于每一个状态和它对应的观察对象,而语音识别任务不仅与单个汉字相关,还和观察序列的长度,序列的上下文相关,这也导致基于隐马尔科夫的语音识别模型的在中医临床上的效果不如人意。
4.近年来,机器学习领域的研究热点逐步转向深度学习。深度学习模型比传统的机器学习模型有着更多层的非线性结构,在表达和建模能力上更加强大,从而大大提升了预测的准确性。中医临床语音识别任务中,深度学习模型在复杂信号特征的处理上相比于传统的隐马尔可夫模型更具有优势,在识别正确率方面有着极大的提升。
技术实现要素:5.本发明采用深度学习模型conformer成功解决上述难题,提供一种基于深度学习的中医临床语音识别模型和方法。
6.本发明的技术方案如下:
7.基于深度学习的中医临床语音识别方法,其特征在于,包括:
8.s1:音频特征提取:通过分帧、预加重、加窗、快速傅里叶变换、梅尔滤波提取中医音频的fbank特征;
9.s2:音频特征处理:在所述中医音频fbank特征的时域和频域范围内进行掩蔽处理;接着采用两层二维卷积的降采样网络,卷积核大小为3
×
3,步长为2,经过降采样之后,音频特征帧数降为原来的四分之一;
10.对经过分帧、预加重、加窗、快速傅里叶变换、梅尔滤波提取到中医音频的fbank特征进行音频特征增强操作;中医音频fbank特征是一个二维向量,可以分为时域和频域,音频特征增强就是在时域和频域范围内进行掩蔽;接着对音频特征增强后的的fbank特征进行降采样,即在保证语音信息不丢失的情况下降低帧数,从而减少在神经网络中的计算量,在语音任务中一般通过卷积来达到这一效果;因此在降采样部分采用了两层二维卷积的降采样网络,卷积核大小为3
×
3,步长设置为2,经过降采样之后,帧数降为原来的四分之一;
11.s3:将处理后的中医音频特征输入编码器:编码器包括两个前向反馈模块、一个多头自注意力模块、一个卷积模块;
12.所述前向反馈模块包括两个全连接层、两个残差层和一个非线性激活函数relu,在第一层全连接层之前进行了一次层标准化;
13.所述多头自注意力模块中,自注意力机制可以获得中医音频特征之间的相关性,从而得到中医音频序列之间的关系,其计算公式如下:
[0014][0015]
q,k,v是中医音频特征向量经过一次线性变换而来,dk为特征向量维度;
[0016]
多头自注意力机制从不同方面去学习中医音频特征的上下文信息,其计算公式如下:
[0017]
multihead(q,k,v)=concat(head1,
…
,headh)woꢀꢀꢀ
(2)
[0018][0019]
其中h表示注意力头数,wo为多头注意力拼接后进行线性变换的随机权重矩阵,wq,wk,wv为第i个注意力头中q,k,v对应的权重矩阵;
[0020]
所述卷积模块采用因果卷积,包括一个逐点卷积、门控线性单元、一维深度卷积、层标准化、激活函数relu;
[0021]
s4:文本特征提取:将中医音频对应的文本标签映射为建模单元中汉字的索引,即文本特征;
[0022]
s5:文本特征处理:在文本特征中加入文本特征对应的位置信息,位置信息通过位置编码获得,其公式如下:
[0023][0024][0025]
pos表示字符在当前文本特征向量的位置索引,i表示文本特征向量的索引,d
model
表示编码维度,设为256;
[0026]
s6:解码:解码器包括计算输入中医音频对应文本上下文信息的隐式多头自注意力模块、多头注意力模块、前向反馈模块;
[0027]
将经过步骤s5处理的文本特征输入解码器中的隐式多头自注意力模块,其操作与编码器中的多头自注意力模块相同,最终得到文本的attention数值;接下来进入到多头注意力模块,多头注意力的计算方式与自注意力一样,但输入的q,k,v有所不同,其中q来自中医文本序列,k和v来自编码器输出的语音特征序列,所述前向反馈模块与编码器中的前向反馈模块结构一致;
[0028]
s7:采用联合ctc/attention机制进行模型训练和解码,attention机制联系上下文将中医音频特征与中医文本标签进行非单调对齐,而ctc通过动态规划算法强制输入的中医音频特征和中医文本标签单调对齐,从而弥补注意力机制对齐不足的问题,使用混合ctc/attention结构可以有效利用两者优点,消除不规则对齐;在训练阶段,目标函数联合优化ctc损失和kl散度损失;在解码阶段,首先由ctc解码生成n个最佳候选,再由attention
解码器重新评分,将得分最高的结果作为输出。
[0029]
进一步地,所述步骤s7中ctc损失是由编码器的输出做一次前向线性计算,经过softmax归一化,再根据ctc损失公式计算得到;kl散度损失是由解码器的输出进行softmax运算后,再由kl散度损失公式计算得到,最终将两者进行加权求和得到联合损失,其公式如下:
[0030]
loss=λl
ctc
(x,y)+(1-λ)l
kl
(x,y)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0031]
其中,loss为联合损失,l
ctc
为ctc损失,l
kl
为kl散度损失,x表示输入的中医音频特征,y表示中医音频对应的文本标签;λ是一个超参数,其作用是平衡ctc损失和kl散度损失的重要性,设为0.3。
[0032]
进一步地,所述步骤s1中音频特征提取过程中梅尔滤波器个数设为80。
[0033]
本发明还提供一种基于深度学习的中医临床语音识别模型,包括:音频特征提取模块、音频特征处理模块、文本特征提取模块、文本特征处理模块、编码器、解码器、模型训练和解码模块,所述音频特征提取模块经过分帧、预加重、加窗、快速傅里叶变换、梅尔滤波提取音频的fbank特征,通过在所述音频特征处理模块将中医音频fbank特征的时域和频域范围内进行掩蔽处理,然后采用两层二维卷积的降采样网络,卷积核大小为3
×
3,步长为2,经过降采样之后,帧数降为原来的四分之一;文本特征提取模块将中医文本映射为特征向量,在文本特征处理模块通过位置编码获得文本特征的位置信息,并在中医文本特征中加入其对应的位置信息,其计算公式如下:
[0034][0035][0036]
pos表示字符在当前文本特征向量的位置索引,i表示文本特征向量的索引,d
model
表示编码维度,设为256;
[0037]
所述编码器包括两个前向反馈模块、一个多头自注意力模块、一个卷积模块;所述前向反馈模块包括两个全连接层、两个残差层和一个非线性激活函数relu,在第一层全连接层之前进行了一次层标准化;所述多头自注意力模块中,自注意力机制可以获得中医音频特征之间的相关性,从而得到中医音频序列之间的关系,其计算公式如下:
[0038][0039]
q,k,v是中医音频特征向量经过一次线性变换而来,dk为特征向量维度;
[0040]
多头自注意力机制从不同方面去学习中医音频特征的上下文信息,其计算公式如下:
[0041]
multihead(q,k,v)=concat(head1,
…
,headh)woꢀꢀꢀ
(2)
[0042][0043]
其中h表示注意力头数,wo为多头注意力拼接后进行线性变换的随机权重矩阵,wq,wk,wv为第i个注意力头中q,k,v对应的权重矩阵;
[0044]
所述卷积模块采用因果卷积,包括一个逐点卷积、门控线性单元、一维深度卷积、层标准化、激活函数relu。
[0045]
所述解码器包括计算输入中医音频对应文本上下文信息的隐式多头自注意力模块、多头注意力模块、前向反馈模块;
[0046]
经过文本特征提取模块和文本特征处理模块处理的文本特征输入解码器中的隐式多头自注意力模块,其操作与编码器中的多头自注意力模块相同,最终得到文本的attention数值;接下来进入到多头注意力模块,多头注意力的计算方式与自注意力一样,但输入的q,k,v有所不同,其中q来自中医文本序列,k和v来编码器输出的中医音频特征序列,所述前向反馈模块与编码器中的前向反馈模块结构一致。
[0047]
进一步地,所述模型训练和解码模块采用联合ctc/attention机制,目标函数联合优化ctc损失和kl散度损失,attention机制联系上下文将中医音频特征与中医文本标签进行非单调对齐,而ctc通过动态规划算法强制输入的中医音频特征和中医文本标签单调对齐,从而弥补注意力机制对齐不足的问题,使用混合ctc/attention结构可以有效利用两者优点,消除不规则对齐;在训练阶段,目标函数联合优化ctc损失和kl散度损失;在解码阶段,首先由ctc解码生成n个最佳候选,再由attention解码器重新评分,将得分最高的结果作为输出,所述ctc损失是由编码器的输出做一次前向线性计算,经过softmax归一化,再根据ctc损失公式计算得到;kl散度损失是由解码器的输出进行softmax运算后,再由kl散度损失公式计算得到,最终将两者进行加权求和得到联合损失,其公式如下:
[0048]
loss=λl
ctc
(x,y)+(1-λ)l
kl
(x,y)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0049]
其中loss为联合损失,l
ctc
为ctc损失,l
kl
为kl散度损失,x表示输入的中医音频特征,y表示中医音频对应的文本标签;λ是一个超参数,其作用是平衡ctc损失和kl散度损失的重要性,设为0.3;
[0050]
在解码阶段,首先由ctc解码生成n个最佳候选,再由attention解码器重新评分,将得分最高的结果作为输出。
[0051]
进一步地,所述音频特征提取模块中的梅尔滤波器个数设为80。
[0052]
综上所述,本发明的有益效果是:
[0053]
1、在中医临床语音识别的实际场景中,通常会有显著的背景噪声,这会导致在识别过程出现大量的错误。因此本发明对从输入音频中提取到的梅尔声谱特征进行增强,通过在横向频域范围的掩蔽以及在纵向时域范围的掩蔽,相当于人工增加一些噪声,从而避免模型训练中的过拟合问题,提高中医临床语音识别正确率。
[0054]
2、cnn擅长提取音频局部特征,transformer擅长捕获基于音频内容的全局交互,通过结合两者的优势,最大限度地保留了局部特征和全局表示,使得中医临床语音识别的效果更好。
[0055]
3、采用联合ctc/attention机制,ctc与attention共享一个编码器,目标函数联合优化ctc损失和attention损失,可以有效的加速训练收敛,同时在解码时,中医临床语音识别可以得到更好的识别结果。
附图说明
[0056]
图1是基于深度学习的中医临床语音识别模型训练和解码流程图;
[0057]
图2是基于深度学习的中医临床语音识别模型框架图;
[0058]
图3是实施例一识别示例图。
具体实施方式
[0059]
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明附图,对本发明技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
[0060]
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0061]
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0062]
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0063]
在本发明实施例的描述中,需要说明的是,指示方位或位置关系为基于附图所示的方位或位置关系,或者是该发明使用时惯常摆放的方位或位置关系,或者是本领域技术人员惯常理解的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0064]
在本发明实施例的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接连接,也可以通过中间媒介间接连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义;实施例中的附图用以对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
[0065]
实施例一:
[0066]
本实施例的基于深度学习的中医临床语音识别模型流程图如图2所示,该模型包括:音频特征提取模块、音频特征处理模块、文本特征提取模块、文本特征处理模块、编码器、解码器、模型训练和解码模块。其中,音频特征提取模块提取中医音频的fbank特征,再由音频特征处理模块对其进行音频特征增强和降采样;文本特征提取和处理模块将中医文本映射为建模单元的索引,并添加文本位置信息。
[0067]
编码器包括两个前向反馈模块、一个多头自注意力模块、一个卷积模块;其中前向反馈模块包括两个全连接层、两个残差层和一个非线性激活函数relu,在第一层全连接层之前进行了一次层标准化。
[0068]
多头自注意力模块中,自注意力机制可以获得中医音频特征之间的相关性,从而得到中医音频序列之间的关系,其计算公式如下:
[0069]
[0070]
q,k,v是中医音频特征向量经过一次线性变换而来,dk为特征向量维度。
[0071]
多头自注意力机制则是从不同方面去学习中医音频特征的上下文信息,相比单一注意力机制,它可以学习到更多方面的信息,计算公式如下:
[0072]
multihead(q,k,v)=concat(head1,
…
,headh)woꢀꢀꢀ
(2)
[0073][0074]
其中h表示注意力头数,wo为多头注意力拼接后进行线性变换的随机权重矩阵,wq,wk,wv为第i个注意力头中q,k,v对应的权重矩阵。
[0075]
语音识别是一个序列问题,其在时刻t只需考虑t时刻和之前的输入,因此在卷积模块采用因果卷积,包括一个逐点卷积、门控线性单元、一维深度卷积、层标准化、激活函数relu。
[0076]
解码器包括计算输入中医音频对应文本上下文信息的隐式多头自注意力模块、多头注意力模块、前向反馈模块。利用上述模型进行中医临床语音识别方法如下:
[0077]
首先选取一段中医临床语音信息,在音频特征提取模块经过分帧、预加重、加窗、快速傅里叶变换、梅尔滤波(滤波器个数设为80)提取到中医音频的fbank特征,再由音频特征处理模块对其进行音频特征增强操作和降采样操作。
[0078]
首先经过分帧、预加重、加窗、快速傅里叶变换、梅尔滤波(设为80)提取到中医音频的fbank特征,再对其进行音频特征增强操作,中医音频fbank特征是一个二维向量,可以分为时域和频域,音频特征增强就是在时域和频域范围内进行掩蔽。
[0079]
接着对音频特征增强后的中医音频fbank特征进行降采样,即在保证语音信息不丢失的情况下降低帧数,从而减少在神经网络中的计算量,在语音任务中一般通过卷积来达到这一效果。因此在降采样部分采用了两层二维卷积的降采样网络,卷积核大小为3
×
3,步长设置为2。经过降采样之后,帧数降为原来的四分之一。同时文本特征提取和处理模块将中医文本映射为建模单元的索引,并添加文本位置信息。位置信息通过位置编码获得,其公式如下:
[0080][0081][0082]
pos表示字符在当前文本特征向量的位置索引,i表示文本特征向量的索引,d
model
表示编码维度,设为256;
[0083]
编码器包括两个前向反馈模块、一个多头自注意力模块、一个卷积模块;其中前向反馈模块包括两个全连接层、两个残差层和一个非线性激活函数relu,在第一层全连接层之前进行了一次层标准化。
[0084]
然后在解码结构中,将中医文本向量输入解码器中的隐式多头自注意力模块,其操作与编码器中的多头自注意力模块相同,最终得到文本的attention数值,接下来进入到多头注意力模块,多头注意力的计算方式与自注意力一样,但输入的q,k,v有所不同,其中q来自中医文本序列,k和v来编码器输出的中医音频特征序列,最后前向反馈模块与编码器中的前向反馈模块结构一致。
[0085]
在模型训练过程中采用联合ctc/attention机制,目标函数联合优化ctc损失和kl
散度损失。attention机制联系上下文将中医音频特征与中医文本标签进行非单调对齐,而ctc通过动态规划算法强制输入的中医音频特征和中医文本标签单调对齐,从而弥补注意力机制对齐不足的问题,使用混合ctc/attention结构可以有效利用两者优点,消除不规则对齐。所述ctc损失是由编码器的输出做一次前向线性计算,经过softmax归一化,再根据ctc损失公式计算得到;kl散度损失是由解码器的输出进行softmax运算后,再由kl散度损失公式计算得到,最终将两者进行加权求和得到联合损失,其公式如下:
[0086]
loss=λl
ctc
(x,y)+(1-λ)l
kl
(x,y)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0087]
其中loss为联合损失,l
ctc
为ctc损失,l
kl
为kl散度损失,x表示输入的中医音频特征,y表示中医音频对应的文本标签;λ是一个超参数,其作用是平衡ctc损失和kl散度损失的重要性,设为0.3。
[0088]
在解码阶段,首先由ctc解码生成n个最佳候选,再由attention解码器重新评分,将得分最高的结果作为输出。模型训练和解码流程图如图1所示。
[0089]
接下来,对本发明的语音识别模型和方法的识别效果进行验证。
[0090]
中文语音识别的评价指标是字错率cer(character error rate),因此本发明中医临床语音识别的评价指标也是cer。其计算公式如下,n表示单词数目,s表示替换,d表示删除,i表示插入
[0091][0092]
为了使识别出来的词序列和标准的词序列之间保持一致,需要进行替换、删除、插入某些词,这些插入、替换或删除的词的总个数,除以标准的词序列中词的总个数的百分比,即为wer。
[0093]
本发明利用中医临床病历文本以及其转录的音频作为实验数据。采用了三种不同的深度学习模型进行了实验,分别是卷积神经网络cnn、transformer、conformer,以wer作为评价指标。实验结果如表1所示,识别效果如图3所示。
[0094]
通过实验结果可以看出conformer模型在中医临床语音识别上的效果是最好的。
[0095]
表1实验结果
[0096]
modelcercnn19.1%transformer5.50%conformer3.79%
[0097]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。