语音识别方法、装置和控制器与流程

文档序号:21398653发布日期:2020-07-07 14:31阅读:190来源:国知局
语音识别方法、装置和控制器与流程

本申请涉及语音识别技术领域,尤其是,涉及一种语音识别方法、装置和控制器。



背景技术:

随着语音识别技术的快速发展,除了对于普通话的识别以外,还衍生出了很基于具体应用场景下和针对方言的个性化语音识别。

目前,常见的个性化语音识别方式主要包括两种,一种为:利用通用声学模型进行语音识别,在使用过程中不断积累数据并进行人工标注个性化数据,当积累到一定程度后,利用积累的个性化数据重新训练通用声学模型,以便于适配个性化的发音特点。但是,该种方法在个性化数据获取过程中需要人工进行标注,很容易出现失误,另外,一般重新训练通用声学模型的计算量都比较大,每积累到一定程度就需要进行一次重新训练,在终端侧很难实现。另一种为:将本地语音及用户相关数据上传至云端,在云端利用用户的个性化数据有针对性的在多个候选声学模型中选择相匹配的声学模型。该种方法,一方面,需要基于大量的数据对用户个性化数据进行分类,但地域、语速等问题会导致分类不准确的情况出现。另一方面,该种方法在按照分类建立用户的个性化数据对应的候选声学模型,候选声学模型的数量很大,通常都需要在云端实现,很难在终端侧实现。

综上所述,现有技术中的个性化语音识别方法,很难在终端侧实现,且在云端进行识别时也容易出现误差。



技术实现要素:

本申请实施例提供一种语音识别方法、装置和控制器,以实现在终端侧实现个性化语音识别的同时提高识别准确度的目的。

本申请实施例提供如下技术方案:

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

获取用户输入的语音信号所对应的文本数据,将所述文本数据转换为音节序列,所述文本数据由语音识别引擎转换所述语音信号得到;

基于所述音节序列和对应所述用户的第一音节转移概率分布t,确定所述音节序列对应的音节转移概率,所述音节转移概率包括所述音节序列中每一音节对应真实音节的转移概率;

基于所述音节转移概率和预先构建的语言模型,确定所述音节序列对应的候选音节文本,并输出。

上述方案,通过预先建立对应用户的音节转移概率分布,基于该音节转移概率分布确定当前用户输入的语音信号对应的音节序列的音节转移概率,再基于该确定的音节转移概率和预先构建的语音模型,确定该语音信号对应的候选音节文本,并输出。在本申请中,一方面利用音节转移概率分布指示每个用户的个性化发音特点,在语音识别过程中能够提高识别的准确度。另一方面,因音节转移概率分布所需要的数据量小,能够嵌入各种设备中使用,能够实现在终端侧实现个性化的语音识别的目的。

在一种可能的设计中,所述预先建立的对应所述用户的第一音节转移概率分布t的过程,包括:

获取用户真实语音样本对应的真实音节序列u,以及语音识别引擎识别所述用户真实语音样本得到的识别音节序列v;

基于所述真实音节序列u和所述识别音节序列v,确定识别所述识别音节序列v中每一个音节的条件概率;

计算所述识别音节序列v中每一个音节的条件概率的乘积,得到第一音节转移概率分布t,所述第一音节转移概率分布t为p(v|u)。

在一种可能的设计中,所述预先建立的对应所述用户的第一音节转移概率分布t的过程,包括:

获取用户真实语音样本对应的真实音节序列u,以及语音识别引擎识别所述用户真实语音样本得到的识别音节序列v;

将所述真实音节序列u中的真值音节ui和所述识别音节序列v中的识别音节vi一一对应比对,统计任一所述真值音节ui出现在所述真实音节序列u中的第一频次,及所述真值音节ui对应位置的识别音节vi出现的第二频次;

基于所述第一频次和第二频次,确定所述识别音节vi的第二音节转移概率p(vi|ui);

统计并利用所有所述识别音节vi的第二音节转移概率p(vi|ui)建立对应所述用户的第一音节转移概率分布t,所述第一音节转移概率分布t为p(v|u)。

上述方案,针对每一用户均预先建立对应的第一音节转移概率分布t。也就是说,每一用户均对应一个自己的第一音节转移概率分布t。在后续该用户输入语音信号时,基于该对应的独有的第一音节转移概率分布t进行后续的语音识别,将更加准确。

在一种可能的设计中,该语音识别方法还包括:

确定基于普通话语料样本训练得到的第二音节转移概率分布tm,基于口音群体语料样本训练得到的第三音节转移概率分布tg,以及基于用户的真实语料样本训练得到的第四音节转移概率分布tp;

获取预设时间段内第四音节转移概率分布tp中任一音节对应的音节转移概率tp(x,y),x和y用于指示所述音节转移概率tp(x,y)在所述第四音节转移概率分布tp中的坐标位置;

当所述音节转移概率tp(x,y)大于0时,利用所述音节转移概率tp(x,y)更新所述第一音节转移概率分布t;

当所述音节转移概率tp(x,y)小于0时,将音节转移概率tg(x,y)赋值于所述音节转移概率tp(x,y)更新所述第一音节转移概率分布t,所述音节转移概率tg(x,y)指所述音节对应的口音识别概率。

上述方案,基于该普通话语料样本、口音群体语料样本和用户真实语料样本进行训练,分别得到各自对应的音节转移概率分布,在后续的语音识别过程中,利用多种类型的音节转移概率分布指示每个用户的个性化发音特点,能够实现在语音识别过程中提高识别的准确度的目的。

在一种可能的设计中,该语音识别方法还包括:

基于半监督方法对所述第一音节转移概率分布t进行更新。

在一种可能的设计中,在所述确定所述第一音节序列对应的候选音节文本,并输出之后,还包括:

获取所述用户反馈的所述候选音节文本是否与所述语音信号一致的反馈信息;

若所述反馈信息为所述候选音节文本与所述语音信号一致,则基于所述候选音节文本对应的所述第一音节序列更新所述第一音节转移概率分布t。

上述方案,基于用户反馈可对对应该用户的第一音节转移概率分布t进行更新,可以进一步的使第一音节转移概率分布t更为精确,为后续语音识别提供更为精确的语音模型,从而提供语音识别准确度的目的。

在一种可能的设计中,所述语言模型的预先建立过程,包括:

获取语料信息对应的文本序列,所述语料信息包括场景语料,或者,所述场景语料与依据预设规则生成的语料、开放语料中的一种或多种组合,所述场景语料为用户在特定场景下的语料信息;

基于所述语料信息,建立对应的语言模型。

在一种可能的设计中,所述基于所述音节转移概率和预先建立的语言模型,确定所述音节序列对应的候选音节文本,并输出,包括:

确定用于指示所述预先建立的语言模型的加权有限状态机的解码图,所述解码图由所述预先建立的语言模型中包含的文本序列w的先验概率p(w),以及在确定所述文本序列w的情况下,所述文本序列对应真实音节序列u的条件概率p(u|w)构成;

基于所述解码图和所述音节转移概率中每一音节对应真实音节的转移概率,确定候选音节文本,并输出。

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

音节转移模块,用于获取用户输入的语音信号所对应的文本数据,将所述文本数据转换为音节序列,所述文本数据由语音识别引擎转换所述语音信号得到,及基于所述音节序列和对应所述用户的第一音节转移概率分布t,确定所述音节序列对应的音节转移概率,所述音节转移概率包括所述音节序列中每一音节对应真实音节的转移概率;

解码模块,用于基于所述音节转移概率和预先构建的语言模型,确定所述音节序列对应的候选音节文本,并输出。

在一种可能的设计中,所述语音识别装置还包括:

第一概率计算模块,用于获取用户真实语音样本对应的真实音节序列u,以及语音识别引擎识别所述用户真实语音样本得到的识别音节序列v,基于所述真实音节序列u和所述识别音节序列v,确定识别所述识别音节序列v中每一个音节的条件概率,及计算所述识别音节序列v中每一个音节的条件概率的乘积,得到第一音节转移概率分布t,所述第一音节转移概率分布t为p(v|u)。

在一种可能的设计中,所述语音识别装置还包括:

第二概率计算模块,用于获取用户真实语音样本对应的真实音节序列u,以及语音识别引擎识别所述用户真实语音样本得到的识别音节序列v;将所述真实音节序列u中的真值音节ui和所述识别音节序列v中的识别音节vi一一对应比对,统计任一所述真值音节ui出现在所述真实音节序列u中的第一频次,及所述真值音节ui对应位置的识别音节vi出现的第二频次;基于所述第一频次和第二频次,确定所述识别音节vi的第二音节转移概率p(vi|ui);统计并利用所有所述识别音节vi的第二音节转移概率p(vi|ui)建立对应所述用户的第一音节转移概率分布t,所述第一音节转移概率分布t为p(v|u)。

在一种可能的设计中,所述语音识别装置还包括:

第一更新模块,用于基于半监督方法对所述第一音节转移概率分布t进行更新。

在一种可能的设计中,所述语音识别装置还包括:

第二更新模块,用于获取所述用户反馈的所述候选音节文本是否与所述语音信号一致的反馈信息;若所述反馈信息为所述候选音节文本与所述语音信号一致,则基于所述候选音节文本对应的所述第一音节序列更新所述第一音节转移概率分布t。

在一种可能的设计中,所述语音识别装置还包括:

建立模块,用于获取语料信息对应的文本序列,所述语料信息包括场景语料,或者,所述场景语料与依据预设规则生成的语料、开放语料中的一种或多种组合,所述场景语料为用户在特定场景下的语料信息,以及基于所述语料信息,建立对应的语言模型。

在一种可能的设计中,所述解码模块,用于确定用于指示所述预先建立的语言模型的加权有限状态机的解码图,基于所述解码图和所述音节转移概率中每一音节对应真实音节的转移概率,确定候选音节文本,并输出;

其中,所述解码图由所述预先建立的语言模型中包含的文本序列w的先验概率p(w),以及在确定所述文本序列w的情况下,所述文本序列对应真实音节序列u的条件概率p(u|w)。

本申请实施例第三方面公开了一种控制器,包括:存储器,以及与所述存储器通信的处理器;

所述存储器,用于存储语音识别的程序代码;

所述处理器,用于调用所述存储器中的所述语音识别的程序代码,执行本申请实施例第一方面公开的语音识别方法。

本申请实施例的第四方面提供了一种非易失性计算机可读存储介质,用于存储计算机程序,该计算机程序包括用于执行本申请实施例第一方面任一可能的设计中的方法的指令。

附图说明

图1为本申请实施例公开的一种语音识别系统的结构示意图;

图2为本申请实施例公开的一种语音识别方法的流程示意图;

图3为本申请实施例公开的音节转移概率分布示意图;

图4为本申请实施例公开的加权有限状态机的图示;

图5为本申请实施例公开的一种语音识别装置的结构示意图;

图6为本申请实施例公开的一种控制器的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。并且,在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。

此外,本申请实施例和权利要求书及附图中的术语“包括”和“具有”不是排他的。例如,包括了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,还可以包括没有列出的步骤或模块。

自动语音识别(automaticspeechrecognition,asr)是会话式人机对话系统中的核心技术,是目前语音识别的基础。

如图1所示,为本申请实施例公开的语音识别系统的结构示意图。该语音识别系统100主要包括:asr引擎101和本申请实施例公开的语音识别装置102。

该asr引擎101用于接收用户的语音信号,并将该语音信号转换为文本数据,再将该文本数据发送给语音识别装置102。

在具体实现中,asr引擎101基于语音识别技术,将接收到的语音信号转换为对应的文本数据。该asr引擎可以是现有的第三方语音识别引擎。在本申请实施例公开的语音识别装置102在第三方语音识别引擎输出的文本数据的基础上,进一步完成适配各类环境和各类人群的语音识别,以及在终端侧实现个性化的语音识别的目的。

需要说明的是,该语音信号也可以认为是语音指令,是用户给出的要执行的相应操作所对应的语音指令。例如:用户想要打开空调,则给出包含语音“打开空调”的语音指令。

该语音识别装置102用于基于字典等文本数据库将获取到的文本数据转换为音节序列,再利用该音节序列、音节转移概率分布和预先建立的语言模型实现语音识别。

该语音识别装置具体基于asr引擎发送的文本数据进行语音识别的过程,通过以下本申请公开的实施例进行详细说明。

如图2所示,为本申请实施例公开的一种语音识别方法的流程示意图,该语音识别方法包括如下步骤:

步骤s201:获取用户输入的语音信号对应的文本数据,将文本数据转换为音节序列。

基于图1公开的语音识别系统可知,执行步骤s201所获取的文本数据,是由asr引擎基于自动语音识别技术将接收到的语音信号转换得到的。执行步骤s201基于字典等文本数据库将获取到的文本数据转换为音节序列。

步骤s202:基于音节序列和预先建立的对应用户的第一音节转移概率分布t,确定音节序列对应的音节转移概率。

在具体实现步骤s202的过程,所基于的对应用户的第一音节转移概率分布t是针对每一用户预先建立的。也就是说,每一用户均对应一个自己的第一音节转移概率分布t。

在具体实现中,各个用户得到对应的第一音节转移概率分布t的过程为:基于语音数据对应的音节序列和该音节序列对应的真实音节进行训练、计算,得到的音节转移概率分布,该音节转移概率中包括音节序列中每一音节对应真实音节的转移概率。

可选的,可以采用下述方式得到用户对应的第一音节转移概率分布t。

首先,获取用户真实语音样本对应的真实音节序列u,基于asr引擎识别用户真实语音样本得到的识别音节序列v。其中,真实音节序列u=u1u2…uk,识别音节序列v=v1v2…vk。

其次,基于真实音节序列u和识别音节序列v,确定识别音节序列v中每一个音节的条件概率。

最后,如公式(1)所示,计算识别音节序列v中每一个音节的条件概率的乘积,得到p(v|u)。在本申请实施例中利用p(v|u)指示当前用户对应的第一音节转移概率分布t。

p(v|u)=p(v1|u1)p(v2|u2)…p(vn|uk)(1)

该公式(1)是指在给定真实音节序列u的条件下,asr引擎识别用真实语音样本的得到的识别音节序列v出现的条件概率。以真实音节序列u=”dakaikongtiao”以及识别音节序列v=“dakekongtiao”为例进行说明。由公式(1)可知:

p(v|u)=p(d|d)p(a|a)p(k|k)p(e|ai)p(k|k)p(t|t)p(iao|iao)(2)

针对每个音节之间的音节转移概率,由式(2)可知,p(e|ai)表示用户将真实音节ai发声为e的概率,或者给定识别到的音节e潜在隐藏真实发音为ai的概率。当p(ai|ai)接近1时,表明在这个音节ai上用户发音很标准,否则表示用户发音不标准,会将这个音节ai以一定概率发成其他音节。

在具体实现中,一个音节转移概率分布可以采用矩阵的方式表示。如图3所示,图3中给出了“coe……bms”等音节的音节转移概率分布。其中,矩阵对角上元素越接近1则表示用户发音越标准。例如,在图3中示出了p(s|c)=0.2,表示标准音节c有0.2的概率被发声成s;p(c|c)=0.8,表示标准音节c有0.8的概率被发声成c;p(b|b)=0.9,表示标准音节b有0.9的概率被发声成b;p(m|b)=0.1,表示标准音节b有0.1的概率被发声成m。

可选的,也可以采用统计的方式进行计算得到用户对应的第一音节转移概率分布t。具体为:

首先,获取用户真实语音样本对应的真实音节序列u,以及语音识别引擎识别用户真实语音样本得到的识别音节序列v。其中,真实音节序列u=u1u2…uk,识别音节序列v=v1v2…vk。

其次,将真实音节序列u中的真值音节ui和所述识别音节序列v中的识别音节vi一一对应比对,统计任一真值音节ui出现在真实音节序列u中的第一频次count(ui),及真值音节ui对应位置的识别音节vi出现的第二频次count(vi)。

其次,利用公式(3)基于第一频次count(ui)和第二频次count(vi),确定识别音节vi的第二音节转移概率p(vi|ui)。

p(vi|ui)=count(vi)/count(ui)(3)

最后,统计并利用所有识别音节vi的第二音节转移概率p(vi|ui)建立对应用户的第一音节转移概率分布t。

本申请实施例并不仅限于采用上述两种方式获取第一音节转移概率分布t,可选的,还可以采用seq2seq深度神经网络模型,直接对音节序列进行训练,得到对应音节序列的音节转移概率分布。

步骤s203:基于音节转移概率和预先构建的语言模型,确定音节序列对应的候选音节文本,并输出。

在步骤s203中,通过已有的语料信息预先构建的语言模型,该语料信息可以仅包括场景语料。也可以包括场景语料与依据预设规则生成的语料、开放语料中的一种或多种组合。需要说明的是,该场景语料为用户在特定场景下的语料信息。例如,在车载场景下得到的语料信息。或者,在办公场景下得到的语料信息。本申请实施例对于该语音识别方法的应用场景并不限定,任何特殊场景均可使用,对应的这里的场景语料则指该语音识别方法所应用的对应场景。

具体构建语言模型的过程为:获取语料信息对应的文本序列,然后基于该语料信息,采用n-gram方法进行训练,建立对应该语料信息的语言模型。针对该语言模型可进行转换,得到对应该语音模型的加权有限状态机的图。该加权有限状态机的图与音节序列相关。

该语言模型用于基于音节转移概率对音节序列进行打分和剪枝的过程,实际上是基于该语言模型转换后的加权有限状态机的图实现的,最终确定音节转移概率最高的音节序列所对应的音节文本为候选音节文本,并输出。

需要说明的是,该输出的候选音节文本为最优的候选音节文本。

在具体实现中,确定音节序列对应的候选音节文本并输出的具体实现过程,包括如下步骤:

首先,确定用于指示预先建立的语言模型的加权有限状态机的解码图。

该解码图即为加权有限状态机的图。该解码图由预先建立的语言模型中包含的文本序列w的先验概率p(w),以及在确定文本序列w的情况下,文本序列w对应真实音节序列u的条件概率p(u|w)构成。

其中,文本序列w指用户真实表达的文本序列,w=w1w2…wm。

然后,基于解码图和音节转移概率中每一音节对应真实音节的转移概率,确定最优的候选音节文本序列,并输出。

由上述本申请实施例的说明可知,该解码图是经由转换语言模型得到的,该解码图可以构成解码器。若构成语言模型所采用的语料信息包括场景语料,依据预设规则生成的语料和开放语料。可选的,通过嵌入的方式将先验概率p(w)和文本序列w对应真实音节序列u的条件概率p(u|w)进行连接,从而构建得到解码图。

具体的,该解码图由多条路径构成,每条路径上包含多个节点,节点的结构为:音节:文本/损失,或者音节:<eps>/损失。其中,音节指当前输入的音节,文本指该音节对应输出的文本,<eps>表示不输出文本,损失指通过此路径所产生的损失。

在基于解码图和音节转移概率中每一音节对应真实音节的转移概率,确定最优的候选音节文本序列的过程中:在该解码图中查找音节序列对应的最优候选音节文本时,在该解码图上,由第一个节点起始,对应该音节序列中每一音节,选择对应真实音节的转移概率较大且通过此路径产生的损失最小的节点构成的路径,确定该路径上各个节点对应的文本构成的文本序列为最优候选音节文本,并输出。

在具体实现中,基于从asr引擎处得到的音节序列得到用户真实表达的文本序列的概率,可以用式(4)表示。

p(w|v)=p(v|u)*p(u|w)*p(w)/p(v)(4)

执行上述步骤s301至步骤s303得到候选音节文本序列w*可以用(5)表示

w*=argmaxwp(v|u)*p(u|w)*p(w)(5)

基于图4示出的解码图,举例说明。

假设语音信号为“呼叫李丽”,对应的音节序列为“hujiaolili”,若第一音节转移概率矩阵中l被误发成n的概率为0.6,l被发成l的概率为0.4,其余音节无对应的转移概率。

在某一具有该发音特点的用户想说“呼叫李丽”时,但是由于发音问题,被asr识别成了“呼叫李逆”,此时,“呼叫李逆”对应的音节序列“hujiaolini”。基于图4公开的解码图,在开始节点0,由于h不可能被发音成其他音节,所以从节点0走到节点2,之后这个序列会沿着节点9,节点10,节点11,节点12走。在节点12时,由于p(n|l)=0.6>p(n|n)=0.4,此时的输入虽然为l,但是其真实发音是n的概率更高,而在节点12和节点13两个节点之间的两条路径的通过的损失也是一样(构成解码图的先验概率p(w)和条件概率p(u|w)中部分概率一样),因此,优先从走向节点13,最后到达结尾节点18,从而得到解码结果“呼叫李丽”。

通过上述结合解码图和音节转移概率对音节序列进行打分、剪枝的方式,最终确定最优的候选音节文本,实现在语音识别过程中提高识别的准确度的目的。

需要说明的是,执行步骤s202的过程中,涉及到的第一音节转移概率分布在具体实现中可以通过各个不同语料训练得到的音节转移概率分布确定。进行训练的语音数据包括普通话语料样本、口音群体语料样本和用户历史语料样本。

基于该普通话语料样本、口音群体语料样本和用户历史语料样本进行训练,分别得到各自对应的音节转移概率分布。如式(6)所示,为本申请实施例公开的第一音节转移概率分布t与基于上述通过各个不同语料训练得到的音节转移概率分布的关系:

t=w1tm+w2tg+w3tp(6)

其中,tm为基于普通话语料样本训练得到的第二音节转移概率分布,tg为基于口音群体语料样本训练得到的第三音节转移概率分布,tp为基于用户的真实语料样本训练得到的第四音节转移概率分布。w1为第二音节转移概率分布tm对应的权重,w2为第三音节转移概率分布tg对应的权重,w3为第四音节转移概率分布tp对应的权重,w1+w2+w3=1

需要说明的是,第二音节转移概率分布tm、第三音节转移概率分布tg各自所对应的权重,可以采用口音识别分类器给出的该用户的口音的种类和置信度确定。w2可以体现用户的口音程度,w3可以体现用户个性化发音特点。

第二音节转移概率分布tm对应的权重w1,以及第三音节转移概率分布tg对应的权重w2会随着时间逐渐减小。第四音节转移概率分布tp所对应的权重w3,该权重w3与第一音节转移概率分布的更新有关,通常会随时间变化,时间越长,权重值越大。

权重w1、权重w2和权重w3的更新原理如式(7)所示:

其中,f(t)为随时间t衰减的函数。

可选的,可取1/t(t>1)之类的函数。g(wav)指口音识别分类模型,用于指示能够识别出某一个人的语音属于哪一种口音以及对应的概率。g(wav)m表示语音数据属于普通话的概率,g(wav)g表示语音数据属于某一群体口音的概率。

有关于对第一音节转移概率分布的更新,相对来说,个性化数据的占比相对重要。在具体实现中,因个性化数据的收集或统计受时间因素的影响,因此,在更新第一音节转移概率分布t的过程中,仅针对基于用户的真实语料样本训练得到的第四音节转移概率分布tp进行更新。具体的,针对tp(x,y)>0的位置进行更新。具体更新过程为:

首先,获取预设时间段内第四音节转移概率分布tp中任一音节对应的音节转移概率tp(x,y)。其中,x和y用于指示音节转移概率tp(x,y)在第四音节转移概率分布tp中的坐标位置。

其次,当音节转移概率tp(x,y)大于0时,利用音节转移概率tp(x,y)更新第一音节转移概率分布t。

具体更新过程如式(8)所示:

t(x,y)=w1tm(x,y)+w2tg(x,y)+w3tp(x,y),tp(x,y)>0(8)

其次,当音节转移概率tp(x,y)等于0时,将音节转移概率tg(x,y)赋值于音节转移概率tp(x,y)更新第一音节转移概率分布t。

具体更新过程如式(9)所示:

t(x,y)=w1tm(x,y)+(w2+w3)tg(x,y),tp(x,y)<0(9)

其中,音节转移概率tg(x,y)指音节对应的口音识别概率。

也就是说,当tp(x,y)等于0时,不使用tp进行更新,而是利用tg进行更新。在完成最终的计算更新之后,再重新对第一音节转移概率分布t进行归一化,完成对第一音节转移概率分布t的更新。

需要说明的是,针对第一音节转移概率分布t的更新,可选的,还可以基于半监督方法对第一音节转移概率分布t进行更新。

可选的,还可以在确定第一音节序列对应的候选音节文本,并输出之后,获取用户反馈的候选音节文本是否与语音信号一致的反馈信息,若反馈信息为候选音节文本与语音信号一致,则基于候选音节文本对应的第一音节序列更新第一音节转移概率分布t。

通过上述本申请实施例提供的语音识别方法,基于预先建立对应用户的音节转移概率分布,确定当前用户输入的语音信号对应的音节序列的音节转移概率,再利用该确定的音节转移概率和预先构建的语音模型,确定该语音信号对应的候选音节文本,并输出。在本申请实施例中,一方面利用音节转移概率分布指示每个用户的个性化发音特点,实现在语音识别过程中提高识别的准确度的目的。另一方面,因音节转移概率分布所需要的数据量小,能够嵌入各种设备中使用,实现在终端侧实现个性化的语音识别的目的。

基于上述本申请实施例公开的一种语音识别方法,本申请实施例还对应公开了一种实现该语音识别方法的语音识别装置。

如图5所示,为本申请实施例公开的一种语音识别装置500的结构示意图。该语音识别装置500包括:音节转移模块501和解码模块502。

音节转移模块501,用于获取用户输入的语音信号所对应的文本数据,将文本数据转换为音节序列,该文本数据由语音识别引擎转换所述语音信号得到,及基于音节序列和预先建立的对应用户的第一音节转移概率分布t,确定音节序列对应的音节转移概率,该音节转移概率包括音节序列中每一音节对应真实音节的转移概率。

解码模块502,用于基于音节转移概率和预先构建的语言模型,确定音节序列对应的候选音节文本,并输出。

该解码模块502,具体用于确定用于指示所述预先建立的语言模型的加权有限状态机的解码图,基于解码图和音节转移概率中每一音节对应真实音节的转移概率,确定候选音节文本,并输出。

其中,所述解码图由所述预先建立的语言模型中包含的文本序列w的先验概率p(w),以及在确定所述文本序列w的情况下,所述文本序列对应真实音节序列u的条件概率p(u|w)。

可选的,该语音识别装置500中还包括第一概率计算模块。

该第一概率计算模块,用于获取用户真实语音样本对应的真实音节序列u,以及语音识别引擎识别用户真实语音样本得到的识别音节序列v,基于真实音节序列u和识别音节序列v,确定识别识别音节序列v中每一个音节的条件概率,及计算识别音节序列v中每一个音节的条件概率的乘积,得到第一音节转移概率分布t,该第一音节转移概率分布t为p(v|u)。

可选的,该语音识别装置500中还包括第二概率计算模块。

第二概率计算模块,用于获取用户真实语音样本对应的真实音节序列u,以及语音识别引擎识别用户真实语音样本得到的识别音节序列v;将真实音节序列u中的真值音节ui和识别音节序列v中的识别音节vi一一对应比对,统计任一真值音节ui出现在真实音节序列u中的第一频次,及真值音节ui对应位置的识别音节vi出现的第二频次;基于第一频次和第二频次,确定识别音节vi的第二音节转移概率p(vi|ui);统计并利用所有识别音节vi的第二音节转移概率p(vi|ui)建立对应用户的第一音节转移概率分布t,第一音节转移概率分布t为p(v|u)。

可选的,该语音识别装置500中还包括第一更新模块。

第一更新模块,用于基于半监督方法对第一音节转移概率分布t进行更新。

可选的,该语音识别装置500中还包括第二更新模块。

第二更新模块,用于获取用户反馈的候选音节文本是否与语音信号一致的反馈信息;若反馈信息为候选音节文本与所述语音信号一致,则基于候选音节文本对应的第一音节序列更新第一音节转移概率分布t。

可选的,该语音识别装置500中还包括建立模块。

建立模块,用于获取语料信息对应的文本序列,基于语料信息对应的文本序列,建立对应的语言模型。该语料信息包括场景语料,或者,所述场景语料与依据预设规则生成的语料、开放语料中的一种或多种组合。该场景语料为用户在特定场景下的语料信息。

上述本申请实施例公开的语音识别装置中的各个模块的执行原理和过程,与上述本申请实施例公开的语音识别方法中相应的步骤所对应的执行原理和过程相同,可参见上述本申请实施例公开的语音识别方法中相应的部分,这里不再进行赘述。

结合本申请实施例图2所公开的语音识别方法,以及本申请实施例图5所公开的语音识别装置,也就是本申请实施例图1中公开的语音识别装置,该语音识别方法和装置也可以直接用硬件、处理器执行的存储器,或者二者的结合构成的控制器来实施。如图6所示,本申请实施例公开的用于实现语音识别方法的控制器的结构示意图,该控制器可以进一步设置于终端侧中的主控系统或处理系统中。该控制器600包括:存储器601以及与存储器通信的处理器602和通信接口603。

该处理器602通过总线与存储器601耦合。处理器602通过总线与该通信接口603耦合。

处理器602具体可以是中央处理器(centralprocessingunit,cpu),网络处理器(networkprocessor,np),专用集成电路(application-specificintegratedcircuit,asic)或者可编程逻辑器件(programmablelogicdevice,pld)。上述pld可以是复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld),现场可编程逻辑门阵列(field-programmablegatearray,fpga)或者通用阵列逻辑(genericarraylogic,gal)。

存储器601具体可以是内容寻址存储器(content-addressablememory,cam)或者随机存取存储器(random-accessmemory,ram)。cam可以是三态内容寻址存储器(ternarycam,tcam)。

通信接口603可以是有线接口,例如光纤分布式数据接口(fiberdistributeddatainterface,fddi)或者以太网(ethernet)接口。

存储器601也可以集成在处理器602中。如果存储器601和处理器602是相互独立的器件,存储器601和处理器602相连,例如存储器601和处理器602可以通过总线通信。通信接口603和处理器602可以通过总线通信,通信接口603也可以与处理器602直接连接。

存储器601,用于存储语音识别的程序代码。可选的,该存储器601包括操作系统和应用程序,用于承载上述本申请实施例公开的语音识别方法的操作程序、代码或指令。

当处理器602或硬件设备要进行上述本申请实施例公开的语音识别方法的相关操作时,调用并执行存储器601中存储的操作程序、代码或指令可以完成上述本申请实施例中涉及的语音识别方法的过程。具体过程为:处理器602调用存储器601中的语音识别的程序代码,执行语音识别方法。

处理器602通过调用存储器601中的程序实现方法实施例中的各步骤。处理器602也可以为具体实现语音识别装置500实体器件。

可以理解的是,上述图5所示语音识别装置和语音识别方法实施例中所涉及到的接收/发送等操作可以是由处理器实现的接收/发送处理,也可以是通过接收器和发射器完成的发送/接收过程,接收器和发射器可以独立存在,也可以集成为收发器。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

综上所述,通过上述本申请实施例提供的语音识别方法和语音识别装置,基于预先建立对应用户的音节转移概率分布,确定当前用户输入的语音信号对应的音节序列的音节转移概率,再利用该确定的音节转移概率和预先构建的语音模型,确定该语音信号对应的候选音节文本,并输出。在本申请实施例中,一方面利用音节转移概率分布指示每个用户的个性化发音特点,实现在语音识别过程中提高识别的准确度的目的。另一方面,因音节转移概率分布所需要的数据量小,能够嵌入各种设备中使用,实现在终端侧实现个性化的语音识别的目的。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

最后应说明的是:以上实施例仅用以示例性说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请及本申请带来的有益效果进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请权利要求的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1