语音识别方法、装置、计算机设备及存储介质

文档序号:139042 发布日期:2021-10-22 浏览:22次 >En<

阅读说明:本技术 语音识别方法、装置、计算机设备及存储介质 (Speech recognition method, speech recognition device, computer equipment and storage medium ) 是由 孙思宁 于 2020-12-23 设计创作,主要内容包括:本申请是关于一种语音识别方法、装置、计算机设备及存储介质,涉及语音识别技术领域。所述方法包括:通过声学模型对语音信号进行处理,获得所述语音信号中各个语音帧对应的音素识别结果;对所述各个语音帧对应的所述音素识别结果中的空输出的概率进行抑制调整,以降低所述音素识别结果中的空输出的概率与各个音素的概率的比值;将调整后的所述各个语音帧对应的所述音素识别结果输入解码图,获得所述语音信号对应的识别文本序列。本方案能够在人工智能领域的语音识别场景中,提高模型的识别准确性。(The application relates to a voice recognition method, a voice recognition device, computer equipment and a storage medium, and relates to the technical field of voice recognition. The method comprises the following steps: processing a voice signal through an acoustic model to obtain a phoneme recognition result corresponding to each voice frame in the voice signal; performing suppression adjustment on the probability of the null output in the phoneme recognition result corresponding to each voice frame so as to reduce the ratio of the probability of the null output in the phoneme recognition result to the probability of each phoneme; and inputting the adjusted phoneme recognition result corresponding to each voice frame into a decoding graph to obtain a recognition text sequence corresponding to the voice signal. The method and the device can improve the recognition accuracy of the model in the voice recognition scene in the field of artificial intelligence.)

语音识别方法、装置、计算机设备及存储介质

技术领域

本申请涉及语音识别技术领域,特别涉及一种语音识别方法、装置、计算机设备及存储介质。

背景技术

语音识别是一种将语音识别为文本的技术,其在各种人工智能(ArtificialIntelligence,AI)场景中具有广泛的应用。

语音识别框架通常包含声学模型部分和解码部分,其中,声学模型部分用于将识别输入的语音信号中的各个语音帧的音素,解码部分通过识别出的各个语音帧的音素,输出语音信号的文本序列。在相关技术中,通过递归神经网络转移机(Recurrent NeuralNetwork Transducer,RNN-T)来实现声学模型,是业内研究的重点之一。

然而,RNN-T模型在音素识别过程中引入了空输出的概念,即预测某个语音帧上不包含有效的音素,空输出的引入,在一些应用场景中会导致后续解码过程的错误率上升,尤其是导致删除错误的增多,影响语音识别的准确性。

发明内容

本申请实施例提供了一种语音识别方法、装置、计算机设备及存储介质,可以提高语音识别的准确性,该技术方案如下:

一方面,提供了一种语音识别方法,所述方法包括:

通过声学模型对语音信号进行处理,获得所述语音信号中各个语音帧对应的音素识别结果;所述音素识别结果用于指示对应的语音帧在音素空间中的概率分布;所述音素空间中包含各个音素以及一个空输出;所述声学模型是通过语音信号样本,以及所述语音信号样本中各个语音帧的实际音素训练得到的;

对所述各个语音帧对应的所述音素识别结果中的空输出的概率进行抑制调整,以降低所述音素识别结果中的空输出的概率与各个音素的概率的比值;

将调整后的所述各个语音帧对应的所述音素识别结果输入解码图,获得所述语音信号对应的识别文本序列。

一方面,提供了一种语音识别方法,所述方法包括:

获取语音信号,所述语音信号包括对原始语音进行切分获得的各个语音帧;

通过声学模型对语音信号进行处理,获得所述各个语音帧对应的音素识别结果;所述音素识别结果用于指示对应的语音帧在音素空间中的概率分布;所述音素空间中包含各个音素以及一个空输出;所述声学模型是通过语音信号样本,以及所述语音信号样本中各个语音帧的实际音素训练得到的;

将所述各个语音帧对应的所述音素识别结果中,空输出的概率满足指定条件的所述音素识别结果输入解码图,获得所述语音信号对应的识别文本序列。

又一方面,提供了一种语音识别装置,所述装置包括:

语音信号处理模块,用于通过声学模型对语音信号进行处理,获得所述语音信号中各个语音帧对应的音素识别结果;所述音素识别结果用于指示对应的语音帧在音素空间中的概率分布;所述音素空间中包含各个音素以及一个空输出;所述声学模型是通过语音信号样本,以及所述语音信号样本中各个语音帧的实际音素训练得到的;

概率调整模块,用于对所述各个语音帧对应的所述音素识别结果中的空输出的概率进行抑制调整,以降低所述音素识别结果中的空输出的概率与各个音素的概率的比值;

解码模块,用于将调整后的所述各个语音帧对应的所述音素识别结果输入解码图,获得所述语音信号对应的识别文本序列。

在一种可能的实现方式中,所述概率调整模块,用于通过以下调整方式中的至少一种,对所述各个语音帧对应的所述音素识别结果进行调整:

降低所述各个语音帧对应的所述音素识别结果中的空输出的概率;

以及,

提高所述各个语音帧对应的所述音素识别结果中的各个音素的概率。

在一种可能的实现方式中,所述概率调整模块,用于将所述各个语音帧对应的所述音素识别结果中的空输出的概率乘以第一权重,所述第一权重小于1且大于0。

在一种可能的实现方式中,所述概率调整模块,用于将所述各个语音帧对应的所述音素识别结果中的各个音素的概率乘以第二权重,所述第二权重大于1。

在一种可能的实现方式中,所述解码模块,用于,

响应于目标音素识别结果中的空输出的概率满足指定条件,将所述目标音素识别结果输入所述解码图,获得所述目标音素识别结果对应的识别文本;

其中,所述目标音素识别结果是所述各个语音帧对应的所述音素识别结果中的任意一个。

在一种可能的实现方式中,所述指定条件包括:

所述目标音素识别结果中的空输出的概率小于概率阈值。

在一种可能的实现方式中,所述装置还包括:

参数获取模块,用于获取阈值影响参数,所述阈值影响参数包括环境音强度、指定时间段内语音识别失败的次数、以及用户设置信息中的至少一种;

阈值确定模块,用于基于所述阈值影响参数,确定所述概率阈值。

在一种可能的实现方式中,所述语音信号处理模块,用于,

对目标语音帧进行特征提取,获得所述目标语音帧的特征向量;所述目标语音帧是所述各个语音帧中的任意一个;

将所述目标语音帧输入所述声学模型中的编码器,获得所述目标语音帧的声学隐层表示向量;

将所述目标语音帧的历史识别文本的音素信息输入所述声学模型中的预测器,获得所述目标语音帧的文本隐层表示向量;所述目标语音帧的历史识别文本,是所述解码图对所述目标语音帧的前n个非空输出的语音帧的音素识别结果进行识别得到的文本;n为大于或者等于1的整数;

将所述目标语音帧的声学隐层表示向量,以及所述目标语音帧的文本隐层表示向量输入联合网络,获得所述目标语音帧的所述音素识别结果。

在一种可能的实现方式中,所述编码器为前向序列记忆网络FSMN。

在一种可能的实现方式中,所述预测器为一维卷积网络。

在一种可能的实现方式中,所述解码图由音素词典和语言模型复合构成。

再一方面,提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条计算机指令,所述至少一条计算机指令由所述处理器加载并执行以实现上述的语音识别方法。

又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条计算机指令,所述至少一条计算机指令由处理器加载并执行以实现上述语音识别方法。

又一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述计算机程序方法。

本申请提供的技术方案可以包括以下有益效果:

通过对于包含语音帧在各个音素以及空输出上的概率分布的音素识别结果,在将该音素识别结果输入解码图之前,先对音素识别结果中的空输出的概率进行抑制,降低语音帧被识别为空输出的几率,从而降低语音帧被误识别为空输出的可能性,也就是降低模型的删除错误,从而提高模型的识别准确性。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1是本申请各个实施例涉及的一种语音识别系统的系统构成图;

图2是根据一示例性实施例示出的语音识别方法的流程示意图;

图3是根据一示例性实施例示出的语音识别方法的流程示意图;

图4是图3所示实施例涉及的对齐过程示意图;

图5是图3所示实施例涉及的一种声学模型的结构示意图;

图6是图3所示实施例涉及的预测器的网络结构图;

图7是图3所示实施例涉及的模型训练及应用流程图;

图8是根据一示例性实施例示出的语音识别系统的框架图;

图9是根据一示例性实施例示出的视频中的对象标注装置的结构方框图;

图10是根据一示例性实施例示出的一种计算机设备的结构框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在对本申请所示的各个实施例进行说明之前,首先对本申请涉及到的几个概念进行介绍:

1)人工智能(Artificial Intelligence,AI)

AI是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

2)语音技术(Speech Technology,ST)

语音技术的关键技术有自动语音识别技术(AutomaticSpeechRecognition,ASR)和语音合成技术(Text To Speech,TTS)以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。

3)机器学习(Machine Learning,ML)

机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。

本申请实施例提供的方案应用在涉及人工智能的语音技术和机器学习技术等场景,以实现将用户语音准确的识别为对应的文本。

请参考图1,其示出了本申请各个实施例涉及的一种语音识别系统的系统构成图。如图1所示,该系统包括声音采集组件120、以及语音识别设备140。

其中,声音采集组件120和语音识别设备140之间通过有线或者无线方式相连。

声音采集组件120可以实现为麦克风、麦克风阵列或者拾音器等。声音采集组件120用于采集用户说话时的语音数据。

语音识别设备140用于对声音采集组件120采集到的语音数据进行识别,获得识别出的文本序列。

可选的,语音识别设备140还可以对识别出的文本序列进行自然语义处理,以对用户语音做出响应。

其中,声音采集组件120和语音识别设备140可以实现为相互独立的两个硬件设备。例如,声音采集组件120是设置在车辆方向盘上的麦克风,语音识别设备140可以是车载智能设备;或者,声音采集组件120是设置在遥控器上的麦克风,语音识别设备140可以是遥控器控制的智能家居设备(比如智能电视、机顶盒、空调等等)。

或者,声音采集组件120和语音识别设备140可以实现为同一个硬件设备。例如,语音识别设备140可以是智能手机、平板电脑、智能手表、智能眼镜等智能设备,而声音采集组件120可以是语音识别设备140内置的麦克风。

在一种可能的实现方式中,上述语音识别系统还可以包含服务器160。

其中,该服务器160可以用于对语音识别设备140中的语音识别模型进行部署和更新。或者,服务器160也可以向语音识别设备140提供云端语音识别的服务,即接收语音识别设备140发送的语音数据,对语音数据进行语音识别后,将识别结果返回给语音识别设备140。或者,服务器160也可以与语音识别设备140协作完成对语音数据的识别以及对语音数据的响应等操作。

服务器160是一台服务器,或者由若干台服务器,或者是一个虚拟化平台,或者是一个云计算服务中心。

服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。

服务器160与语音识别设备140之间通过通信网络相连。可选的,该通信网络是有线网络或无线网络。

可选的,该系统还可以包括管理设备(图1未示出),该管理设备与服务器160之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。

可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(Extensible MarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet ProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。

请参考图2,其是根据一示例性实施例示出的一种语音识别方法的流程示意图,该语音识别方法可以用于计算机设备。比如,该计算机设备可以是上述图1所示系统中的语音识别设备140或者服务器160,或者,计算机设备可以同时包括上述图1所示系统中的语音识别设备140和服务器160。如图2所示,该语音识别方法可以包括如下步骤:

步骤21,通过声学模型对语音信号进行处理,获得该语音信号中各个语音帧对应的音素识别结果;该音素识别结果用于指示对应的语音帧在音素空间中的概率分布;该音素空间中包含各个音素以及一个空输出;该声学模型是通过语音信号样本,以及该语音信号样本中各个语音帧的实际音素训练得到的。

音素(phone),是根据语音的自然属性划分出来的最小语音单位,依据音节里的发音动作来分析,一个动作构成一个音素。音素分为元音与辅音两大类。比如,汉语音节啊(ā)只有一个音素,爱(ài)有两个音素,代(dài)有三个音素等。

音素是构成音节的最小单位或最小的语音片段,是从音质的角度划分出来的最小的线性的语音单位。音素是具体存在的物理现象。国际音标(由国际语音学会制定,用来统一标示各国语音的字母。也称为“国际语音学字母”、“万国语音学字母”)的音标符号与全人类语言的音素一一对应。

在本申请实施例中,对于语音信号中的每个语音帧,声学模型可以识别该语音帧对应的音素,得到该语音帧的音素属于各个预先设置的音素以及空输出的概率。

例如,在一种可能的实现方式中,上述音素空间包含212种音素以及一个空输出(表示对应的语音帧没有用户发音),也就是说,对于一个输入的语音帧,本申请实施例所示的声学模型,能够输出该语音帧分别对应212种音素以及空输出的概率。

步骤22,对该各个语音帧对应的该音素识别结果中的空输出的概率进行抑制调整,以降低该音素识别结果中的空输出的概率与各个音素的概率的比值。

步骤23,将调整后的该各个语音帧对应的该音素识别结果输入解码图,获得该语音信号对应的识别文本序列。

在本申请实施例中,音素识别结果输入解码图后,解码图根据音素识别结果中的音素空间中各个音素以及空输出的概率,确定该音素识别结果对应的是某一个音素或者对应的是空输出,并根据确定音素确定对应的文本,如果音素识别结果对应的是空输出,则确定该音素识别结果对应的语音帧中不包含用户发音,即没有对应的文本。

由于上述音素识别结果中包含空输出,可能会导致识别错误率上升,例如,有可能会出现某个有发音的语音帧被误识别为空输出的情况(这种情况也被称为删除错误),从而影响语音识别的准确性,对此,本申请实施例所示的方案,在声学模型输出音素识别结果之后,对音素识别结果中的空输出的概率进行抑制,而随着音素识别结果中的空输出的概率被抑制,该音素识别结果被识别为某一个音素的可能性也随之上升,从而能够有效的减少有发音的语音帧被误识别为空输出的情况。

综上所述,本申请实施例所示的方案,对于包含语音帧在各个音素以及空输出上的概率分布的音素识别结果,在将该音素识别结果输入解码图之前,先对音素识别结果中的空输出的概率进行抑制,降低语音帧被识别为空输出的几率,从而降低语音帧被误识别为空输出的可能性,也就是降低模型的删除错误,从而提高模型的识别准确性。

请参考图3,其是根据一示例性实施例示出的一种语音识别方法的流程示意图,该语音识别方法可以用于计算机设备。比如,该计算机设备可以是上述图1所示系统中的语音识别设备140或者服务器160,或者,计算机设备可以同时包括上述图1所示系统中的语音识别设备140和服务器160。如图3所示,该语音识别方法可以包括如下步骤:

步骤301,获取语音信号,该语音信号包括对原始语音进行切分获得的各个语音帧。

在本申请实施例中,声音采集组件采集到的用户说话过程中的原始语音后,将采集到的原始语音发送给计算机设备,比如,发送给语音识别设备,语音识别设备对原始语音进行切分,获得若干个语音帧。

在一种可能的实现方式中,语音识别设备可以将原始语音切分成带有重叠的短时语音片段,例如,一般对于采样率为16K的语音,切分后一帧语音长度为25ms,帧间重叠为15ms,此过程也称为“分帧”。

步骤302,通过声学模型对语音信号进行处理,获得该语音信号中各个语音帧对应的音素识别结果。

其中,该音素识别结果用于指示对应的语音帧在音素空间中的概率分布;该音素空间中包含各个音素以及一个空输出;该声学模型是通过语音信号样本,以及该语音信号样本中各个语音帧的实际音素训练得到的。

在本申请实施例中,声学模型为端到端的机器学习模型,其输入数据包括语音信号中的语音帧(例如,输入包括语音帧的特征向量),输出数据为预测出的该语音帧的音素在音素空间中的分布概率,即音素识别结果。

例如,上述音素识别结果可以表示为如下所示的一个概率向量:

(p0,p1,p2,……p212)

上述概率向量中,p0表示语音帧为空输出的概率,p1表示语音帧对应第1种音素的概率,整个音素空间中包含212种音素,外加一个空输出。

在一种可能的实现方式中,该通过声学模型对语音信号进行处理,获得该语音信号中各个语音帧对应的音素识别结果,包括:

对目标语音帧进行特征提取,获得该目标语音帧的特征向量;该目标语音帧是该各个语音帧中的任意一个;

将该目标语音帧输入该声学模型中的编码器,获得该目标语音帧的声学隐层表示向量;

将该目标语音帧的历史识别文本的音素信息输入该声学模型中的预测器,获得该目标语音帧的文本隐层表示向量;该目标语音帧的历史识别文本,是该解码图对该目标语音帧的前n个非空输出的语音帧的音素识别结果进行识别得到的文本;n为大于或者等于1的整数;

将该目标语音帧的声学隐层表示向量,以及该目标语音帧的文本隐层表示向量输入联合网络,获得该目标语音帧的该音素识别结果。

本申请实施例中,可以通过转换机(Transducer)模型,实现上述声学模型。Transducer模型介绍如下:

给定输入序列:

和输出序列:

其中,表示所有的输入序列的集合,表示所有输出序列的集合,均为实数向量,分别表示输入和输出空间。例如,在本方案中,Transducer模型用来进行音素识别,输入序列x为特征向量序列,比如滤波器组(FilterBank,FBank)特征,或者,梅尔倒谱系数(Mel Frequency Cepstrum Coefficient,MFCC)特征,xt表示t时刻的特征向量;输出序列y则为音素序列,yu表示第u步的音素。

定义一个扩展输出空间 表示空输出符号,代表模型没有输出。引入空输出符号之后,序列就等价于在本方案中,因为空输出的引入,输出序列与输入序列将有相同的长度,因此,也将集合中的元素称为“对齐”。给定任意输入序列,Transducer模型定义了一个条件分布此条件分布将用来计算给定输入序列x后输出序列y的概率:

其中表示移除对齐序列中的空输出,表示对输出序列添加空输出生成对齐序列。从公式(1)中可以看出,为了计算输出序列y的概率,需要将序列y所对应的所有可能的对齐a的条件概率进行求和,请参考图4,其示出了本申请实施例涉及的对齐过程示意图。该图4给出一个示例用来说明公式(1)。

在图4中,U=3,T=5,从左下角到右上角所有可能的路径,都是一个对齐。加粗箭头标出的为其中一条可能路径,当模型沿着纵向前进一步时,将输出一个非空符号(音素);当模型沿着横向前进一步时,将输出空符号(即上述空输出),表示没有输出产生。在同一时刻,模型允许多个输出产生。

为了建模一般采用三个子网络进行联合建模,请参考图5,其示出了本申请实施例涉及的一种声学模型的结构示意图。如图5所示。声学模型包含编码器51、预测器52、以及联合网络53。

其中,编码器51(Encoder),可以为递归神经网络,例如长短期记忆(Long Short-Term Memory,LSTM)网络,接受t时刻的音频特征输入,输出声学隐层表示

预测器52(Predictor),可以为递归神经网络,例如LSTM,接受模型历史的非空输出标签输出为文本隐层表示

联合网络53(Joint Network),可以为全连接神经网络,如线性层加激活单元,用于将经过线性变换之后求和,输出隐单元表示zi;最后,经过一个softmax函数,将其转换成概率分布。

上述图5中,且对齐最终,公式(1)的计算为:

公式(2)的计算,需要遍历计算所有可能的对齐路径,直接使用该算法将导致大量的计算量,在模型训练过程中,可以采用前后向算法来进行公式(2)的概率计算。

在一种可能的实现方式中,该编码器为前向序列记忆网络(FeedforwardSequential Memory Networks,FSMN)。

在一种可能的实现方式中,该预测器为一维卷积网络。

本申请实施例所示的方案,可以应用在车载离线语音识别系统等计算能力有限的场景。车载设备对模型参数量和计算量要求高,中央处理器(Central Processing Unit,CPU)算力有限,因此,对模型参数量和模型结构要求较高。为了降低计算量,适应此类计算能力有限的应用场景,本申请所示的方案采用全前向神经网络FSMN作为模型的Encoder(编码器),并采用一维卷积网络替代常用的长短时记忆网络LSTM作为Predictor(预测器)。

上述的Transducer模型,为了刻画模型的历史信息,Encoder和Predictor网络一般采用循环神经网络(Recurrent Neural Network,RNN)结构,例如LSTM或者门控循环单元(Gated Recurrent Unit,GRU)。但是在计算资源有限的嵌入式设备上,递归神经网络会带来大量的计算量,会带来大量的CPU资源的占用。另一方面,车载离线语音识别的内容主要为查询和控制类的指令,句子相对较短,无需太长的历史信息。对此,本方案使用了基于FSMN的Encoder和基于一维卷积的Predictor网络。一方面,可以压缩模型参数,另一方面,可以极大的节省计算资源,提高计算速度,保证语音识别的实时性。

本方案中,采用了基于FSMN的Encoder结构。FSMN网络应用于大词汇量语音识别任务中。本方案中所采用的FSMN结构,可以为带有投影层和残差连接的结构。

对于Predictor网络,本方案中采用了一维卷积网络,根据有限的历史预测输出,来产生当前的输出。请参考图6,其示出了本申请实施例涉及的预测器的网络结构图。如图6所示,Predictor网络使用了4个非空的历史输出来预测当前输出的框架。也就是,将当前输入对应的4个非空的历史输出61经过向量映射后,输入到以为一维卷积网络62中,得到文本隐层表示向量。

在本申请实施例中,上述声学模型可以通过预先设置的语音样本、以及该语音信号样本中各个语音帧的实际音素训练得到。例如,在训练过程中,将语音样本中的一个语音帧输入到声学模型中基于FSMN的Encoder网络,并将该语音帧的前4个非空语音帧的实际音素(训练开始时刻不存在历史的非空语音帧,或者历史非空语音帧不足时,可以通过预先设置的音素来代替),输入到基于一维卷积的Predictor网络,在声学模型对输入数据进行处理的过程中,对声学模型中三个部分(Encoder、Predictor以及联合网络)的参数进行更新,使得所有可能的对齐路径上的概率之和,也就是上述公式(2)的结果最大化,从而实现对声学模型的训练。

步骤303,对该各个语音帧对应的该音素识别结果中的空输出的概率进行抑制调整,以降低该音素识别结果中的空输出的概率与各个音素的概率的比值。

在一种可能的实现方式中,该对该各个语音帧对应的该音素识别结果中的空输出的概率进行抑制调整,包括:

通过以下调整方式中的至少一种,对该各个语音帧对应的该音素识别结果进行调整:

降低该各个语音帧对应的该音素识别结果中的空输出的概率;

以及,提高该各个语音帧对应的该音素识别结果中的各个音素的概率。

在一种可能的实现方式中,该降低该各个语音帧对应的该音素识别结果中的空输出的概率,包括:

将该各个语音帧对应的该音素识别结果中的空输出的概率乘以第一权重,该第一权重小于1且大于0。

在本申请实施例中,对音素识别结果中的空输出的概率进行抑制,可以只降低音素识别结果中的空输出的概率,例如,在音素识别结果中的空输出的概率上乘以一个介于0到1之间的数。这样在音素识别结果中各个音素的概率不变的情况下,能够降低空输出的概率与各个音素的概率之间的比值。

在一种可能的实现方式中,该降低该各个语音帧对应的该音素识别结果中的空输出的概率,包括:

将该各个语音帧对应的该音素识别结果中的各个音素的概率乘以第二权重,该第二权重大于1。

在本申请实施例中,对音素识别结果中的空输出的概率进行抑制,可以只提升低音素识别结果中的空输出的概率,例如,在音素识别结果中的各个音素的概率上乘以一个大于1的数。这样在音素识别结果中的空输出的概率不变的情况下,能够降低空输出的概率与各个音素的概率之间的比值。

在另一示例性的方案中,计算机设备也可以在降低音素识别结果中的空输出的概率的同时,提高该音素识别结果中的各个音素的概率。例如,在音素识别结果中的空输出的概率上乘以一个介于0到1之间的数,同时,在音素识别结果中的各个音素的概率上乘以一个大于1的数。

在本方案中,上述声学模型为了得到输入和输出之前的对齐,在输入的音素序列中,需要插入空输出符号,即 符号和其他音素一样,使用模型进行预测。假设非空音素总数为P,则最终模型的输出维度为P+1,通常第0维表示空输出实验发现,空输出的引入,使模型的删除错误大幅提高,这说明大量的音素被错误的识别为空输出,为了解决空输出概率过高的问题,本申请在Transducer解码过程中,通过调节空输出的概率权重,来减少删除错误的产生。

以将该各个语音帧对应的该音素识别结果中的空输出的概率乘以第一权重为例,假设空输出的概率为为了降低空输出的概率,本方案在原始的空输出概率值上,除以一个大于1的权重α,α>1,α称为折扣因子(discountfactor),调整之后的空输出概率值为:

一般来说,采用对数概率作为最终的数值参与最终的解码分数计算,因此,对公式(3)两边取对数之后,可以得到:

上述公式(4)的结果可以作为空输出的调整后概率,以进行后续的解码。

在一种可能的实现方式中,上述第一权重或第二权重,是由开发人员或者管理人员预先设置在计算机设备中的,例如,上述第一权重或第二权重可以由开发人员预先设置在语音识别模型中。

步骤304,将各个语音帧对应的该音素识别结果中,空输出的概率满足指定条件的该音素识别结果输入解码图,获得该语音信号对应的识别文本序列。

在一种可能的实现方式中,该将调整后的该各个语音帧对应的该音素识别结果输入解码图,获得该语音信号对应的识别文本序列,包括:

响应于目标音素识别结果中的空输出的概率满足指定条件,将该目标音素识别结果输入该解码图,获得该目标音素识别结果对应的识别文本;

其中,该目标音素识别结果是该各个语音帧对应的该音素识别结果中的任意一个。

在一种可能的实现方式中,该指定条件包括:

该目标音素识别结果中的空输出的概率小于概率阈值。

实验中发现,相比于DNN-HMM模型,Transducer模型的输出具有明显的尖峰效应,即在某一时刻,模型会以极高的置信度输出某一个预测结果。利用模型的尖峰效应,我们可以在解码过程中,跳过模型预测为空输出的概率,即这些概率将不会参与到解码图的解码过程中,由于本专利以音素为建模单元,同时,解码时跳过空输出,则解码图搜索的步数只与音素的个数有关,本方案中称之为“音素同步解码(PhoneSynchronous Decoding,PSD)。下图给出了本方案所提出的PSD算法和空输出权重调整的整个流程:

算法1:PSD算法;

其中,上述算法中的第6行进行了权重的调整,算法中的βblank即为公式(3)中的1/α,上述算法中的第13-17行,为本方案所提出的PSD算法,即只有当空输出的概率小于一定的阈值γblank时,网络输出的概率分布才会参与到后续的解码图的解码中。

在一种可能的实现方式中,上述概率阈值是由开发人员或者管理人员预先设置在计算机设备中的,例如,上述概率阈值可以由开发人员预先设置在语音识别模型中。

在一种可能的实现方式中,该将调整后的该各个语音帧对应的该音素识别结果输入解码图,获得该语音信号对应的识别文本序列之前,还包括:

获取阈值影响参数,该阈值影响参数包括环境音强度、指定时间段内语音识别失败的次数、以及用户设置信息中的至少一种;

基于该阈值影响参数,确定该概率阈值。

在本申请实施例中,上述概率阈值也可以由计算机设备在进行语音识别过程中进行调整。也就是说,计算机设备可以获取可能影响概率阈值的取值的相关参数,并通过相关参数来灵活设置概率阈值。

例如,环境音强度可以会对用户发出的语音造成干扰,因此,当环境音强度较强时,计算机设备可以将概率阈值设置的较高,使得更多的音素识别结果被输出解码图进行解码,从而保证识别的准确性;反之,当环境音强度较弱时,计算机设备可以将概率阈值设置的较低,使得更多的音素识别结果被跳过,从而保证识别的效率。

再例如,解码图对音素识别结果进行解码的准确性会影响语音识别的成功率,当指定时间段(比如当前时刻之前的一段时间,例如5分钟)内语音识别失败的次数过多时,计算机设备可以将概率阈值设置的较高,使得更多的音素识别结果被输出解码图进行解码,从而保证识别的准确性;反之,当指定时间段内语音识别失败的次数较少或者未失败时,计算机设备可以将概率阈值设置的较低,使得更多的音素识别结果被跳过,从而保证识别的效率。

在一种可能的实现方式中,该解码图由音素词典和语言模型复合构成。

本方案采用的解码图是由音素词典和语言模型两个子加权有限自动机(WeightedFinite State Transducer,WFST)图复合而成。

音素词典WFST:汉字或词到音素序列的映射。输入音素序列串,WFST可以输出对应的汉字或者词;通常,此WFST与文本领域无关,在不同的识别任务中为通用部分;

语言模型WFST:此WFST通常由n-gram语言模型转换而来,语言模型用来计算一个句子出现的概率,利用训练数据和统计学方法训练而来。通常,不同领域的文本,例如新闻和口语对话的文本,常用词和词间搭配存在较大的差异,因此,当进行不同领域的语音识别时,可以通过改变语言模型WFST,来实现适配。

请参考图7,其示出了本申请实施例涉及的模型训练及应用流程图。如图7所示,以应用于车载设备为例,本申请实施例所示的模型训练完成之后,采用libtorch进行模型的量化和部署。libtorch的安卓版本,采用QNNPACK库进行INT8的矩阵计算,大大加速的矩阵运算速度。模型在Python环境71中,采用pytorch进行训练,然后对模型进行训练后量化,即把模型参数量化为INT8,并采用INT8的矩阵乘法来加速计算,将量化后的模型导出后,用于C++环境72的前向推断,以通过测试数据进行测试。

通过本申请所示的方案,一方面,基于Transducer的端到端模型在训练过程中,无需帧级别的对齐信息,极大的简化了建模过程;其次,简化解码图,减小搜索空间。而本方案中提出的方法,由于采用音素建模,解码图只需要L和G复合,搜索空间大为降低。最后,采用音素建模,结合自定义的解码图,可以实现灵活的定制需求,可以根据不同的业务场景,在不改变声学模型的条件下,只需要定制语言模型,就可以适配各自的业务场景。

相比于相关技术中的离线识别系统,本方案在识别率和CPU占用率上都具有优势:

在识别率方面,相比于DNN结合隐马尔可夫模型(Hidden Markov Model,HMM)系统模型(DNN-HMM模型),本方案所示的系统模型取得了大幅的提高;

在CPU占用方面,本方案所示的系统模型在模型参数量是DNN-HMM系统的4倍的情况下,仍与DNN-HMM系统模型具有相似的cpu占用率。

语音识别率对比如下:

下表1示出了在3个数据集合上,现有的DNN-HMM系统和本方案所提出的Transducer系统的字错误率(CharacterErrorRate,CER)对比。

表1

模型 参数量 测试集1CER(%) 测试集2CER(%)
DNN-HMM 0.7M 14.88 19.77
Transducer1 0.8M 12.1 16.09
Tansducder2 1.9M 9.76 13.4
Tansducder3 2.1M 8.93 13.18

从表1中可以发现,相似参数量下,在两个测试集合上,Transducder1模型分别取得了相对18.7%和18.6%的CER的下降。同时,当增加模型参数量之后,利用Transducer3,分别取得了8.93%和13.18%的词错误率。

CPU占用率对比:

表2

模型 参数量 CPU占用(峰值)
DNN-HMM 0.7M 16%
Transducer1 0.8M 18%
Tansducder2 1.9M 20%
Tansducder3 2.1M 20%

通过表2对比Transducer1和DNN-HMM,两个模型在同等参数量时,Transducer1模型比DNN-HMM模型的峰值高了2%,但是当模型参数量增加,Transducer模型的峰值并没有明显变化,在大幅增加模型参数量和降低识别错误率的条件下,CPU占用率仍然保持在较低的水平。

综上所述,本申请实施例所示的方案,对于包含语音帧在各个音素以及空输出上的概率分布的音素识别结果,在将该音素识别结果输入解码图之前,先对音素识别结果中的空输出的概率进行抑制,降低语音帧被识别为空输出的几率,从而降低语音帧被误识别为空输出的可能性,也就是降低模型的删除错误,从而提高模型的识别准确性。

本申请上述图3所示实施例中的方案,以同时应用空输出权重调节(步骤303)和解码跳帧(对应步骤304)为例进行说明,在其它实现方案中,空输出权重调节和解码跳帧也可以独立应用。例如,在本申请一个示例性的实施例中,当独立应用上述解码跳帧时,本申请所示的方案可以如下:

获取语音信号,该语音信号包括对原始语音进行切分获得的各个语音帧;

通过声学模型对语音信号进行处理,获得该各个语音帧对应的音素识别结果;该音素识别结果用于指示对应的语音帧在音素空间中的概率分布;该音素空间中包含各个音素以及一个空输出;该声学模型是通过语音信号样本,以及该语音信号样本中各个语音帧的实际音素训练得到的;

将该各个语音帧对应的该音素识别结果中,空输出的概率满足指定条件的该音素识别结果输入解码图,获得该语音信号对应的识别文本序列。

综上所述,本申请实施例所示的方案,对于包含语音帧在各个音素以及空输出上的概率分布的音素识别结果,在将该音素识别结果输入解码图时,可以对其中空输出的概率满足条件的音素识别结果进行解码,减少了需要解码的因素识别结果的数量,跳过不必要的解码步骤,从而有效的提高了语音识别效率。

请参考图8,其是根据一示例性实施例示出的一种语音识别系统的框架图。如图8所示,音频采集设备81与语音识别设备82相连,语音识别设备82中包含声学模型82a、概率调整单元82b、解码图输入单元82c、解码图82d、以及特征提取单元82e。其中,解码图82d由音素词典和语言模型组成。

在应用过程中,音频采集设备81采集用户的原始语音后,将原始语音传输给语音识别设备82中的特征提取单元82e,由特征提取单元进行切分并对各个语音帧进行特征提取后,将一个语音帧的语音特征,以及解码图82d对该语音帧的前4个非空语音帧识别出的文本的音素,分别输入到声学模型82a中的FSMN和一维卷积网络中,得到声学模型82a输出该语音帧的音素识别结果。

该音素识别结果输入至概率调整单元82b,进行空输出的概率调整,得到调整后的音素识别结果;该调整后的语音识别结果由解码图输入单元82c进行判断,当判断出调整后的空输出概率小于阈值时,确定需要进行解码,解码图输入单元82c将该调整后的音素识别结果输入解码图82d,由解码图82d识别出文本;反之,如果判断出调整后的空输出概率不小于阈值时,确定不需要进行解码,则丢弃该调整后的语音识别结果。

上述解码图对各个语音帧的调整后的音素识别结果进行识别,并输出文本序列后,可以将文本序列输出给自然语言处理组件,由自然语言处理组件对用户输入的语音做出响应。

图9是根据一示例性实施例示出的一种语音识别装置的结构方框图。该语音识别装置可以实现图2或图3所示实施例提供的方法中的全部或者部分步骤。该语音识别装置可以包括:

语音信号处理模块901,用于通过声学模型对语音信号进行处理,获得所述语音信号中各个语音帧对应的音素识别结果;所述音素识别结果用于指示对应的语音帧在音素空间中的概率分布;所述音素空间中包含各个音素以及一个空输出;所述声学模型是通过语音信号样本,以及所述语音信号样本中各个语音帧的实际音素训练得到的;

概率调整模块902,用于对所述各个语音帧对应的所述音素识别结果中的空输出的概率进行抑制调整,以降低所述音素识别结果中的空输出的概率与各个音素的概率的比值;

解码模块903,用于将调整后的所述各个语音帧对应的所述音素识别结果输入解码图,获得所述语音信号对应的识别文本序列。

在一种可能的实现方式中,所述概率调整模块902,用于通过以下调整方式中的至少一种,对所述各个语音帧对应的所述音素识别结果进行调整:

降低所述各个语音帧对应的所述音素识别结果中的空输出的概率;

以及,

提高所述各个语音帧对应的所述音素识别结果中的各个音素的概率。

在一种可能的实现方式中,所述概率调整模块902,用于将所述各个语音帧对应的所述音素识别结果中的空输出的概率乘以第一权重,所述第一权重小于1且大于0。

在一种可能的实现方式中,所述概率调整模块902,用于将所述各个语音帧对应的所述音素识别结果中的各个音素的概率乘以第二权重,所述第二权重大于1。

在一种可能的实现方式中,所述解码模块903,用于,

响应于目标音素识别结果中的空输出的概率满足指定条件,将所述目标音素识别结果输入所述解码图,获得所述目标音素识别结果对应的识别文本;

其中,所述目标音素识别结果是所述各个语音帧对应的所述音素识别结果中的任意一个。

在一种可能的实现方式中,所述指定条件包括:

所述目标音素识别结果中的空输出的概率小于概率阈值。

在一种可能的实现方式中,所述装置还包括:

参数获取模块,用于获取阈值影响参数,所述阈值影响参数包括环境音强度、指定时间段内语音识别失败的次数、以及用户设置信息中的至少一种;

阈值确定模块,用于基于所述阈值影响参数,确定所述概率阈值。

在一种可能的实现方式中,所述语音信号处理模块901,用于,

对目标语音帧进行特征提取,获得所述目标语音帧的特征向量;所述目标语音帧是所述各个语音帧中的任意一个;

将所述目标语音帧输入所述声学模型中的编码器,获得所述目标语音帧的声学隐层表示向量;

将所述目标语音帧的历史识别文本的音素信息输入所述声学模型中的预测器,获得所述目标语音帧的文本隐层表示向量;所述目标语音帧的历史识别文本,是所述解码图对所述目标语音帧的前n个非空输出的语音帧的音素识别结果进行识别得到的文本;n为大于或者等于1的整数;

将所述目标语音帧的声学隐层表示向量,以及所述目标语音帧的文本隐层表示向量输入联合网络,获得所述目标语音帧的所述音素识别结果。

在一种可能的实现方式中,所述编码器为前向序列记忆网络FSMN。

在一种可能的实现方式中,所述预测器为一维卷积网络。

在一种可能的实现方式中,所述解码图由音素词典和语言模型复合构成。

综上所述,本申请实施例所示的方案,对于包含语音帧在各个音素以及空输出上的概率分布的音素识别结果,在将该音素识别结果输入解码图之前,先对音素识别结果中的空输出的概率进行抑制,降低语音帧被识别为空输出的几率,从而降低语音帧被误识别为空输出的可能性,也就是降低模型的删除错误,从而提高模型的识别准确性。

图10是根据一示例性实施例示出的一种计算机设备的结构示意图。该计算机设备可以实现为上述各个方法实施例中的计算机设备。所述计算机设备1000包括中央处理单元1001、包括随机存取存储器(Random Access Memory,RAM)1002和只读存储器(Read-OnlyMemory,ROM)1003的系统存储器1004,以及连接系统存储器1004和中央处理单元1001的系统总线1005。所述计算机设备1000还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统1006,和用于存储操作系统1013、应用程序1014和其他程序模块1015的大容量存储设备1007。

所述大容量存储设备1007通过连接到系统总线1005的大容量存储控制器(未示出)连接到中央处理单元1001。所述大容量存储设备1007及其相关联的计算机可读介质为计算机设备1000提供非易失性存储。也就是说,所述大容量存储设备1007可以包括诸如硬盘或者光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。

不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、闪存或其他固态存储其技术,CD-ROM、或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1004和大容量存储设备1007可以统称为存储器。

计算机设备1000可以通过连接在所述系统总线1005上的网络接口单元1011连接到互联网或者其它网络设备。

所述存储器还包括至少一条计算机指令,所述至少一条计算机指令存储于存储器中,处理器通过加载并执行该至少一条计算机指令来实现图2或图3所示的方法的全部或者部分步骤。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括计算机程序(指令)的存储器,上述程序(指令)可由计算机设备的处理器执行以完成本申请各个实施例所示的方法。例如,所述非临时性计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。

在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例所示的方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

25页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:语音分类模型的训练方法、语音分类方法及相关装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!