HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

语音识别方法、装置及终端设备与流程

2021-01-28 14:01:49|307|起点商标网
语音识别方法、装置及终端设备与流程

本发明属于语音识别技术领域,尤其涉及语音识别方法、装置及终端设备。



背景技术:

语音识别技术的目的是将输入的语音信号经过识别,输出计算机能够读取的文字,可应用于智能家居、智能车载、智能客服机器人等。随着深度学习技术的发展,语音识别技术由传统的机器学习混合高斯和隐马尔科夫模型(gaussianmixturemodel-hiddenmarkovmodel,gmm-hmm)变化为基于深度神经网络(deepneuralnetworks,dnn)的技术。而基于dnn的语音识别技术又分为两种:一种是利用dnn取代原来的gmm部分,即深度神经网络和隐马尔科夫模型(deepneuralnetworks-hiddenmarkovmodel,dnn-hmm),另一种则是基于深度神经网络的端到端语音识别技术。

由于基于深度神经网络的端到端语音识别技术(end-to-endautomaticspeechrecognition)可直接实现语音的输入和解码识别,不需要复杂的对齐工作和发音词典制作工作,可以节约大量的前期准备时间,因此得到了较为广泛的应用。目前,现有的端到端语音识别技术(如连时序分类ctc、深度全前馈连接神经网络dfsmn和注意力机制序列到序列网络seq2seq-attention等)无法学习到复杂的语言模型,其往往是通过声音波形来识别输入的语音,导致识别出来的文字逻辑性较差。因此在采用训练好的语音识别模型进行语音识别时,如果遇上较为复杂的语音,识别的精度会较低。



技术实现要素:

有鉴于此,本发明实施例提供了语音识别方法、装置及终端设备,以解决现有技术中训练好的语音识别模型在遇上复杂的语音时识别精度低的问题。

本发明实施例的第一方面提供了一种语音识别方法,包括:

根据预训练的语言模型计算句子的第一条件概率;

根据所述第一条件概率对语音识别模型的第一损失函数进行调整,得到第二损失函数;

利用所述第二损失函数对所述语音识别模型进行训练,并使用已训练的语音识别模型进行语音识别。

本发明实施例的第二方面提供了一种语音识别装置,包括:

第一条件概率计算模块,用于根据预训练的语言模型计算句子的第一条件概率;

调整模块,用于根据所述第一条件概率对语音识别模型的第一损失函数进行调整,得到第二损失函数;

语音识别模块,用于利用所述第二损失函数对所述语音识别模型进行训练,并使用已训练的语音识别模型进行语音识别。

本发明实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述方法的步骤。

本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述方法的步骤。

本发明实施例中,利用预训练的语言模型计算句子的第一条件概率,对语音识别模型原有的第一损失函数进行修正,得到第二损失函数,再进一步利用所述第二损失函数对语音识别模型进行训练,实现对语音识别模型的损失函数的优化,并引入了预训练的语言模型的特征;由于采用了预训练的语言模型的第一条件概率对第一损失函数进行优化,将预训练的语言模型嵌入到语音识别模型中,使得训练完成后的语音识别模型的识别精度更高。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种语音识别方法的流程示意图;

图2是本发明实施例提供的根据第二条件概率和影响系数对第一损失函数进行调整的具体实现过程的流程示意图;

图3是本发明实施例提供的一种语音识别装置的结构示意图;

图4是本发明实施例提供的一种终端设备的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

图1是本发明实施例提供的一种语音识别方法的流程示意图,详述如下:

s101:根据预训练的语言模型计算句子的第一条件概率。

需要说明的是,语言模型能够从大量文本信息中总结词语之间的内在联系,降低识别词语的错误率、以及使得识别结果更具有逻辑性,常用的语言模型有n-gram语言模型和基于神经网络的语言模型。

本发明实施例中的所述预训练的语音模型,可通过语言模型训练工具srilm、采用n-gram语音模型进行训练,其中的参数n表示当前词语出现的概率与前面的n-1个词语出现的概率相关。本发明实施例中,将训练一个三元语言模型,即n=3的语言模型,当前词语出现的概率与前面的2个词语出现的概率相关。而所述句子是指语音识别模型根据所输入的样本(语音数据)而预测生成的句子。

进一步地,所述根据预训练的语言模型计算句子的条件概率,包括:

对于每个句子,根据下式计算其第一条件概率:

上式(1)中,p(s)表示句子s的第一条件概率,c(wi-(n-1),…,wi-1,wi)表示词语wi-(n-1),…,wi-1出现之后词语wi出现的次数,c(wi-(n-1),…,wi-1)表示词语wi-(n-1),…wi-2出现之后词语wi-1出现的次数,m表示样本数量,n表示一个大于1的正整数,i表示第i个词语。

由于n-gram语言模型是指当前词语出现的概率与前面的n-1个词出现的概率相关,因此对于句子s,其第一条件概率p(s)可表示为:

上述(2)式中,p(wi|wi-(n-1),…,wi-1)表示词语wi在词语wi-(n-1),…,wi-1出现的情况下出现的概率,可利用最大似然估计的方法对该概率进行计算,即可得到上述(1)式。

s102:根据所述第一条件概率对语音识别模型的第一损失函数进行调整,得到第二损失函数。

损失函数是指预测值与真实值的差值,反映了预测值与真实值的偏离程度,二者的偏离程度越低,说明预测结果越准确,因此损失函数越小,最后训练好的模型质量越好,即语音识别的精确度越高。

所述第一损失函数是指语音识别模型原有的损失函数。正是利用第一条件概率对语音识别模型原有的损失函数进行调整,从而引入了预训练的语言模型的特征,能够提高训练好的语音识别模型的精确度。

具体地,所述根据所述第一条件概率对语音识别模型的第一损失函数进行调整,包括:

利用所述第一条件概率计算第二条件概率;

根据所述第二条件概率和所述预训练的语言模型的影响系数对所述第一损失函数进行调整。

经过计算得到第一条件概率p(s)之后,将其进行变换,得到第二条件概率t,再利用t以及所述预训练的语言模型的影响系数r对第一损失函数进行调整。

进一步地,所述利用所述第一条件概率计算第二条件概率,包括:

利用所述第一条件概率,并按照下式进行计算:

上述(3)式中,t表示计算得到的第二条件概率,p(s)表示第一条件概率,length表示句子s的长度,即s所包含词语的数量。

如图2所示,图2为根据所述第二条件概率和所述预训练的语言模型的影响系数对所述第一损失函数进行调整的具体实现过程的流程示意图,其包括以下步骤s201-s203:

s201:获取多个预测得到的句子,并计算每个句子的第二条件概率;

从语音识别模型中获取到多个预测得到的句子,假设获取到k个预测得到的句子,即y_pred1,y_pred2,…,y_predk。利用上述(1)式以及(3)式分别计算每个句子的t值,得到t1,t2,…,tk

s202:根据所有句子的第二条件概率以及所述影响系数,求取平均条件概率;

根据上述步骤s201中得到的t值以及所述预训练的语言模型的影响系数r,按照下式计算平均条件概率ti:

上述(4)式中,ti表示计算得到的平均条件概率,r表示影响系数,k表示句子的数量,j表示第j个句子,tj表示第j个句子的第二条件概率。

s203:利用所述平均条件概率对所述第一损失函数进行调整。

所述利用平均条件概率对所述第一损失函数进行调整的方法为:在原有损失函数的基础上加上平均条件概率,即可得到第二损失函数,也即调整后的损失函数。

需要说明的是,由于不同的影响系数r会影响最终训练完成后的语音识别模型的识别精度,因此对于不同的样本数据,将会采取不同的r值。

在本发明实施例优选的一种实施方式中,所述影响系数为最优影响系数,所述最优影响系数的获取方法为:

采用多个影响系数分别对所述语音识别模型进行训练,根据训练结果确定使所述语音识别模型的识别精度最高的影响系数,即为所述最优影响系数;

所述根据所述第二条件概率和所述预训练的语言模型的影响系数对所述第一损失函数进行调整,包括:

根据所述第二条件概率和所述最优影响系数对所述第一损失函数进行调整。

一般情况下,所述影响系数r的可选取值范围为0-1之间。本发明实施例中,经过实际训练,可得到以下结论:当影响系数r的取值区间位于[0.1,0.5]时,收敛后的语音识别模型具有较好的识别精度。但是对于不同大小、以及不同领域范围的语音数据,应选取不同的影响系数r,即影响系数r的选取与所输入的语音数据的大小、以及领域范围有关,在实际过程中,可根据需要选取最优影响系数。

可选地,所述采用多个影响系数分别对所述语音识别模型进行训练,包括:

给所述影响系数预设取值区间,按照预设的步长调节所述影响系数的取值,并利用每一个影响系数分别对所述语音识别模型进行训练。

在语音识别模型的训练过程中,可给r预设一个取值区间,假设该取值区间为[0.1,0.5],按照步进长度0.1,自动调节r的取值,并将该取值对语音识别模型进行训练,根据训练结果确定使得收敛后的语音识别模型具有最高的识别精度的r,即为最优影响系数。

在确定了最优影响系数之后,再根据最优影响系数以及所述第一条件概率对损失函数进行调整,并根据调整后得到的第一损失函数对语音识别模型进行训练。

s103:利用所述第二损失函数对所述语音识别模型进行训练,并使用已训练的语音识别模型进行语音识别。

需要说明的是,语音识别模型的训练过程为:给语音识别模型输入带标注的样本数据,所述样本数据为语音数据以及所述语音数据对应的文本;对所述样本数据进行特征提取,得到特征序列,再对该特征序列进行编码,经过解码即可得到预测值,再将预测值与真实值做差值,得到损失函数,再根据损失函数进行模型的训练,直到模型收敛为止,即可得到训练完成后的语音识别模型。

其中,所述第二损失函数是指真实值和预测值的差值,得到第二损失函数的值,再利用所述第二损失函数的值对所述语音识别模型进行参数调整,最终得到最优参数的语音识别模型,即为已训练的语音识别模型。

在使用已训练的语音识别模型进行语音识别时,将待识别音频数据输入到所述已训练的语音识别模型中,所述已训练的语音识别模型将会输出所述待识别音频所对应的文本,即可实现语音识别。

本发明实施例中,利用预训练的语言模型计算句子的第一条件概率,对语音识别模型原有的第一损失函数进行修正,得到第二损失函数,再进一步利用所述第二损失函数对语音识别模型进行训练,实现对语音识别模型的损失函数的优化,并引入了预训练的语言模型的特征;由于采用了预训练的语言模型的第一条件概率对第一损失函数进行优化,将预训练的语言模型嵌入到语音识别模型中,使得训练完成后的语音识别模型的识别精度更高。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

图3为本发明实施例提供的一种语音识别装置的结构示意图,该装置包括:第一条件概率计算模块31、调整模块32以及语音识别模块33。其中:

第一条件概率计算模块31,用于根据预训练的语言模型计算句子的第一条件概率。

进一步地,所述第一条件概率计算模块31具体用于:对于每个句子,根据下式计算其第一条件概率:

上式中,p(s)表示句子s的第一条件概率,c(wi-(n-1),…,wi-1,wi)表示词语wi-(n-1),…,wi-1出现之后词语wi出现的次数,c(wi-(n-1),…,wi-1)表示词语wi-(n-1),…wi-2出现之后词语wi-1出现的次数,m表示样本数量,n表示一个大于1的正整数,i表示第i个词语。

调整模块32,用于根据所述第一条件概率对语音识别模型的第一损失函数进行调整,得到第二损失函数。

进一步地,所述调整模块32包括:第二条件概率计算单元321,调整单元322,其中:

所述第二条件概率计算单元321,用于利用所述第一条件概率计算第二条件概率。

更进一步地,所述第二条件概率计算单元321具体用于:

利用所述第一条件概率,并按照下式进行计算:

上述(3)式中,t表示计算得到的第二条件概率,p(s)表示第一条件概率,length表示句子s的长度。

所述调整单元322,用于根据所述第二条件概率和所述预训练的语言模型的影响系数对所述第一损失函数进行调整。

更进一步地,所述调整单元322包括:

第一计算子单元3221,用于获取多个预测得到的句子,并计算每个句子的第二条件概率;

第二计算子单元3222,用于根据所有句子的第二条件概率以及所述影响系数,求取平均条件概率;

调整子单元3223,用于利用所述平均条件概率对所述第一损失函数进行调整。

语音识别模块33,用于利用所述第二损失函数对所述语音识别模型进行训练,并使用已训练的语音识别模型进行语音识别。

优选地,所述影响系数为最优影响系数,所述装置还包括最优影响系数获取模块34,用于采用多个影响系数分别对所述语音识别模型进行训练,根据训练结果确定使所述语音识别模型的识别精度最高的影响系数,即为所述最优影响系数;

优选地,所述调整单元322用于根据所述第二条件概率和所述最优影响系数对所述第一损失函数进行调整。

进一步地,所述最优影响系数获取模块34具体用于:给所述影响系数预设取值区间,按照预设的步长调节所述影响系数的取值,并利用每一个影响系数分别对所述语音识别模型进行训练。

图4是本发明一实施例提供的终端设备的示意图。如图4所示,该实施例的终端设备4包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机程序42,例如语音识别程序。所述处理器40执行所述计算机程序42时实现上述各个语音识别方法实施例中的步骤,例如图1所示的步骤s101至s103。或者,所述处理器40执行所述计算机程序42时实现上述各装置实施例中各模块/单元的功能,例如图3所示模块31至33的功能。

示例性的,所述计算机程序42可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器41中,并由所述处理器40执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序42在所述终端设备4中的执行过程。例如,所述计算机程序42可以被分割成第一条件概率计算模块、调整模块以及语音识别模块,各模块具体功能如下:

第一条件概率计算模块,用于根据预训练的语言模型计算句子的第一条件概率;

调整模块,用于根据所述第一条件概率对语音识别模型的第一损失函数进行调整,得到第二损失函数;

语音识别模块,用于利用所述第二损失函数对所述语音识别模型进行训练,并使用已训练的语音识别模型进行语音识别。

所述终端设备4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是终端设备4的示例,并不构成对终端设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器40可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器41可以是所述终端设备4的内部存储单元,例如终端设备4的硬盘或内存。所述存储器41也可以是所述终端设备4的外部存储设备,例如所述终端设备4上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器41还可以既包括所述终端设备4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips