语音识别方法及装置与流程

文档序号:11924067阅读:398来源:国知局
语音识别方法及装置与流程

本申请涉及语音识别技术,具体涉及一种语音识别方法及装置。本申请同时涉及另一种语音识别方法及装置。



背景技术:

语音是语言的声学表现,是人类交流信息最自然、最有效、最方便的手段,也是人类思维的一种依托。自动语音识别(Automatic Speech Recognition—ASR)通常是指让计算机等设备通过对语音的识别和理解,把人的口语转化为相应的输出文本或者命令的过程。其核心框架是:在利用统计模型建模的基础上,根据从待识别语音信号中提取的特征序列O,利用下述贝叶斯决策准则来求解与待识别语音信号对应的最佳词序列W*:

W*=argmaxP(O|W)P(W)

在具体实施中,上述求解最佳词序列的过程称为解码过程(实现解码功能的模块通常称为解码器),即:在由发音词典、语言模型等多种知识源组成的搜索空间中搜索出上式所示的最佳词序列。

随着技术的发展,硬件的计算能力和存储容量有了很大的进步,语音识别系统已经逐步在业界得以应用,在客户端设备上也出现了各种用语音作为人机交互媒介的应用,例如智能手机上的拨打电话应用,用户只需发出语音指示(如:“给张三打电话”),即可自动实现电话拨打功能。

目前的语音识别应用通常采用两种模式,一种是基于客户端和服务器的模式,即:客户端采集语音,经由网络上传至服务器,服务器通过解码将语音识别为文本,然后回传到客户端。之所以采用这样的模式,是因为客户端的计算能力相对较弱,其内存空间也比较有限,而服务器在这两方面都具有明显的优势;但是采用这种模式,如果没有网络接入环境,客户端则无法完成语音识别功能。针对上述问题出现了仅依赖于客户端的第二种语音识别应用模式,在该模式下,通过缩减规模,将原本存放在服务器上的模型和搜索空间放在客户端设备本地,由客户端自行完成采集语音以及解码的操作。

在实际应用中,无论是第一种模式还是第二种模式,在采用上述通用框架进行语音识别时,通常无法有效识别语音信号中与客户端设备本地信息相关的内容,例如:通讯录中的联系人名称,从而导致识别准确率低,给用户的使用带来不便,影响用户的使用体验。



技术实现要素:

本申请实施例提供一种语音识别方法和装置,以解决现有的语音识别技术对客户端本地相关信息的识别准确率低的问题。本申请实施例还提供另一种语音识别方法和装置。

本申请提供一种语音识别方法,包括:

利用预设的语音知识源,生成包含客户端预设信息的、用于对语音信号进行解码的搜索空间;

提取待识别语音信号的特征矢量序列;

计算特征矢量对应于搜索空间基本单元的概率;

以所述概率为输入、在所述搜索空间中执行解码操作,得到与所述特征矢量序列对应的词序列。

可选的,所述搜索空间包括:加权有限状态转换器。

可选的,所述搜索空间基本单元包括:上下文相关的三音素;

所述预设的知识源包括:发音词典、语言模型、以及三音素状态绑定列表。

可选的,所述利用预设的语音知识源生成包含客户端预设信息的、用于对语音信号进行解码的搜索空间,包括:

通过替换标签的方式,向预先生成的至少基于语言模型的加权有限状态转换器中添加与预设主题类别对应的客户端预设信息,并得到基于三音素状态绑定列表、发音词典以及语言模型的单一加权有限状态转换器;

其中,所述语言模型是采用如下方式预先训练得到的:

将用于训练语言模型的文本中的预设命名实体替换为与预设主题类别对应的标签,并利用所述文本训练语言模型。

可选的,所述通过替换标签的方式,向预先生成的至少基于语言模型的加权有限状态转换器中添加与预设主题类别对应的客户端预设信息,并得到基于 三音素状态绑定列表、发音词典以及语言模型的单一加权有限状态转换器,包括:

通过替换标签的方式,向预先生成的基于语言模型的加权有限状态转换器中添加与预设主题类别对应的客户端预设信息;

将添加了客户端预设信息的所述加权有限状态转换器、与预先生成的基于三音素状态绑定列表和发音词典的加权有限状态转换器进行合并,得到所述单一加权有限状态转换器。

可选的,所述用于训练语言模型的文本是指,针对所述预设主题类别的文本。

可选的,所述预设主题类别的数目至少为2个;所述语言模型的数目、以及所述至少基于语言模型的加权有限状态器的数目分别与预设主题类别的数目一致;

所述通过替换标签的方式,向预先生成的至少基于语言模型的加权有限状态转换器中添加与预设主题类别对应的客户端预设信息,包括:

确定待识别语音信号所属的预设主题类别;

选择预先生成的、与所述预设主题类别相对应的所述至少基于语言模型的加权有限状态转换器;

通过用与所述预设主题类别对应的客户端预设信息替换相应标签的方式,向所选的加权有限状态转换器中添加客户端预设信息。

可选的,所述确定待识别语音信号所属的预设主题类别,采用如下方式实现:

根据采集所述语音信号的客户端类型、或应用程序确定所述所属的预设主题类别。

可选的,所述预设主题类别包括:拨打电话或发送短信,播放乐曲,或者,设置指令;

相应的客户端预设信息包括:通讯录中的联系人名称,曲库中的乐曲名称,或者,指令集中的指令。

可选的,所述合并操作包括:采用基于预测的方法进行合并。

可选的,预先训练所述语言模型所采用的词表与所述发音词典包含的词一 致。

可选的,所述计算特征矢量对应于搜索空间基本单元的概率,包括:

采用预先训练的DNN模型计算特征矢量对应于各三音素状态的概率;

根据特征矢量对应于所述各三音素状态的概率,采用预先训练的HMM模型计算特征矢量对应于各三音素的概率。

可选的,通过如下方式提升所述采用预先训练的DNN模型计算特征矢量对应于各三音素状态的概率的步骤的执行速度:利用硬件平台提供的数据并行处理能力。

可选的,所述提取待识别语音信号的特征矢量序列,包括:

按照预先设定的帧长度对待识别语音信号进行分帧处理,得到多个音频帧;

提取各音频帧的特征矢量,得到所述特征矢量序列。

可选的,所述提取各音频帧的特征矢量包括:提取MFCC特征、PLP特征、或者LPC特征。

可选的,在所述得到与所述特征矢量序列对应的词序列后,执行下述操作:

通过与所述客户端预设信息进行文字匹配验证所述词序列的准确性,并根据验证结果生成相应的语音识别结果。

可选的,所述通过与所述客户端预设信息进行文字匹配验证所述词序列的准确性,并根据验证结果得到相应的语音识别结果,包括:

从所述词序列中选择对应于所述客户端预设信息的待验证词;

在所述客户端预设信息中查找所述待验证词;

若找到,则判定通过所述准确性验证,并将所述词序列作为语音识别结果;否则通过基于拼音的模糊匹配方式修正所述词序列,并将修正后的词序列作为语音识别结果。

可选的,所述通过基于拼音的模糊匹配方式修正所述词序列,包括:

将所述待验证词转换为待验证拼音序列;

将所述客户端预设信息中的各个词分别转换为比对拼音序列;

依次计算所述待验证拼音序列与各比对拼音序列之间的相似度,并从所述客户端预设信息中选择按照所述相似度从高到低排序靠前的词;

用所选词替换所述词序列中的待验证词,得到所述修正后的词序列。

可选的,所述相似度包括:基于编辑距离计算的相似度。

可选的,所述方法在客户端设备上实施;所述客户端设备包括:智能移动终端、智能音箱、或者机器人。

相应的,本申请还提供一种语音识别装置,包括:

搜索空间生成单元,用于利用预设的语音知识源,生成包含客户端预设信息的、用于对语音信号进行解码的搜索空间;

特征矢量提取单元,用于提取待识别语音信号的特征矢量序列;

概率计算单元,用于计算特征矢量对应于搜索空间基本单元的概率;

解码搜索单元,用于以所述概率为输入、在所述搜索空间中执行解码操作,得到与所述特征矢量序列对应的词序列。

可选的,所述搜索空间生成单元具体用于,通过替换标签的方式,向预先生成的至少基于语言模型的加权有限状态转换器中添加与预设主题类别对应的客户端预设信息,并得到基于三音素状态绑定列表、发音词典、以及语言模型的单一加权有限状态转换器;

所述语言模型是由语言模型训练单元预先生成的,所述语言模型训练单元用于,将用于训练语言模型的文本中的预设命名实体替换为与预设主题类别对应的标签,并利用所述文本训练语言模型。

可选的,所述搜索空间生成单元包括:

第一客户端信息添加子单元,用于通过替换标签的方式,向预先生成的基于语言模型的加权有限状态转换器中添加与预设主题类别对应的客户端预设信息;

加权有限状态转换器合并子单元,用于将添加了所述客户端预设信息的所述加权有限状态转换器、与预先生成的基于三音素状态绑定列表和发音词典的加权有限状态转换器进行合并,得到所述单一加权有限状态转换器。

可选的,所述解码空间生成单元包括:

第二客户端信息添加子单元,用于通过替换标签的方式,向预先生成的至少基于语言模型的加权有限状态转换器中添加与预设主题类别对应的客户端预设信息;

统一加权有限状态转换器获取子单元,用于在所述第二客户端信息添加子 单元完成添加操作之后,得到基于三音素状态绑定列表、发音词典、以及语言模型的单一加权有限状态转换器;

其中,所述第二客户端信息添加子单元包括:

主题确定子单元,用于确定待识别语音信号所属的预设主题类别;

加权有限状态转换器选择子单元,用于选择预先生成的、与所述预设主题类别相对应的所述至少基于语言模型的加权有限状态转换器;

标签替换子单元,用于通过用与所述预设主题类别对应的客户端预设信息替换相应标签的方式,向所选的加权有限状态转换器中添加客户端预设信息。

可选的,所述主题确定子单元具体用于,根据采集所述语音信号的客户端类型、或应用程序确定所述所属的预设主题类别。

可选的,所述加权有限状态转换器合并子单元具体用于,采用基于预测的方法执行合并操作,并得到所述单一加权有限状态转换器。

可选的,所述概率计算单元包括:

三音素状态概率计算子单元,用于采用预先训练的DNN模型计算特征矢量对应于各三音素状态的概率;

三音素概率计算子单元,用于根据特征矢量对应于所述各三音素状态的概率,采用预先训练的HMM模型计算特征矢量对应于各三音素的概率。

可选的,所述特征矢量提取单元包括:

分帧子单元,用于按照预先设定的帧长度对待识别语音信号进行分帧处理,得到多个音频帧;

特征提取子单元,用于提取各音频帧的特征矢量,得到所述特征矢量序列。

可选的,所述装置包括:

准确性验证单元,用于在所述解码搜索单元得到与特征矢量序列对应的词序列后,通过与所述客户端预设信息进行文字匹配验证所述词序列的准确性,并根据验证结果生成相应的语音识别结果。

可选的,所述准确性验证单元包括:

待验证词选择子单元,用于从所述词序列中选择对应于所述客户端预设信息的待验证词;

查找子单元,用于在所述客户端预设信息中查找所述待验证词;

识别结果确认子单元,用于当所述查找子单元找到所述待验证词之后,判定通过所述准确性验证,并将所述词序列作为语音识别结果;

识别结果修正子单元,用于当所述查找子单元未找到所述待验证词之后,通过基于拼音的模糊匹配方式修正所述词序列,并将修正后的词序列作为语音识别结果。

可选的,所述识别结果修正子单元,包括:

待验证拼音序列转换子单元,用于将所述待验证词转换为待验证拼音序列;

比对拼音序列转换子单元,用于将所述客户端预设信息中的各个词分别转换为比对拼音序列;

相似度计算选择子单元,用于依次计算所述待验证拼音序列与各比对拼音序列之间的相似度,并从所述客户端预设信息中选择按照所述相似度从高到低排序靠前的词;

待验证词替换子单元,用于用所选词替换所述词序列中的待验证词,得到所述修正后的词序列。

此外,本申请还提供另一种语音识别方法,包括:

通过解码获取与待识别语音信号对应的词序列;

通过与客户端预设信息进行文字匹配验证所述词序列的准确性,并根据验证结果生成相应的语音识别结果。

可选的,所述通过与客户端预设信息进行文字匹配验证所述词序列的准确性,并根据验证结果生成相应的语音识别结果,包括:

从所述词序列中选择对应于所述客户端预设信息的待验证词;

在所述客户端预设信息中查找所述待验证词;

若找到,则判定通过所述准确性验证,并将所述词序列作为语音识别结果;否则通过基于拼音的模糊匹配方式修正所述词序列,并将修正后的词序列作为语音识别结果。

可选的,所述通过基于拼音的模糊匹配方式修正所述词序列,包括:

将所述待验证词转换为待验证拼音序列;

将所述客户端预设信息中的各个词分别转换为比对拼音序列;

依次计算所述待验证拼音序列与各比对拼音序列之间的相似度,并从所述 客户端预设信息中选择按照所述相似度从高到低排序靠前的词;

用所选词替换所述词序列中的待验证词,得到所述修正后的词序列。

相应的,本申请还提供另一种语音识别装置,包括:

词序列获取单元,用于通过解码获取与待识别语音信号对应的词序列;

词序列验证单元,用于通过与客户端预设信息进行文字匹配验证所述词序列的准确性,并根据验证结果生成相应的语音识别结果。

可选的,所述词序列验证单元包括:

待验证词选择子单元,用于从所述词序列中选择对应于所述客户端预设信息的待验证词;

查找子单元,用于在所述客户端预设信息中查找所述待验证词;

识别结果确认子单元,用于当所述查找子单元找到所述待验证词之后,判定通过所述准确性验证,并将所述词序列作为语音识别结果;

识别结果修正子单元,用于当所述查找子单元未找到所述待验证词之后,通过基于拼音的模糊匹配方式修正所述词序列,并将修正后的词序列作为语音识别结果。

可选的,所述识别结果修正子单元,包括:

待验证拼音序列转换子单元,用于将所述待验证词转换为待验证拼音序列;

比对拼音序列转换子单元,用于将所述客户端预设信息中的各个词分别转换为比对拼音序列;

相似度计算选择子单元,用于依次计算所述待验证拼音序列与各比对拼音序列之间的相似度,并从所述客户端预设信息中选择按照所述相似度从高到低排序靠前的词;

待验证词替换子单元,用于用所选词替换所述词序列中的待验证词,得到所述修正后的词序列。

与现有技术相比,本申请具有以下优点:

本申请提供的语音识别方法,在利用预设的语音知识源生成包含客户端预设信息的、用于对语音信号进行解码的搜索空间的基础上,计算从待识别语音信号中提取的特征矢量对应于搜索空间基本单元的概率,并且根据所述概率在 搜索空间中执行解码操作,从而得到与所述待识别语音信号对应的词序列。本申请提供的上述方法,由于在生成用于解码的搜索空间时包含了客户端预设信息,因此在对客户端采集的语音信号进行识别时能够相对准确地识别出与客户端相关的信息,从而可以提高语音识别的准确率,提升用户的使用体验。

附图说明

图1是本申请的一种语音识别方法的实施例的流程图;

图2是本申请实施例提供的生成包含客户端预设信息的、用于对语音信号进行解码的搜索空间的处理流程图;

图3是本申请实施例提供的执行替换操作前的G结构WFST的示意图;

图4是本申请实施例提供的执行替换操作后的G结构WFST的示意图;

图5是本申请实施例提供的提取待识别语音信号的特征矢量序列的处理流程图;

图6是本申请实施例提供的计算特征矢量对应于各三音素的概率的处理流程图;

图7是本申请实施例提供的通过文字匹配验证词序列的准确性、并根据验证结果生成相应语音识别结果的处理流程图;

图8为本申请实施例提供的语音识别的整体框架图;

图9是本申请的一种语音识别装置的实施例的示意图;

图10是本申请的另一种语音识别方法的实施例的流程图;

图11是本申请的另一种语音识别装置的实施例的示意图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是,本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此,本申请不受下面公开的具体实施的限制。

在本申请中,分别提供了一种语音识别方法及相应装置,以及另一种语音 识别方法及相应装置,在下面的实施例中逐一进行详细说明。为了便于理解,在对实施例进行描述之前,先对本申请的技术方案、相关的技术术语、以及实施例的撰写方式作简要说明。

本申请提供的语音识别方法,通常应用于以语音作为人机交互媒介的应用中,此类应用将采集的语音信号识别为文本,再根据文本执行相应的操作,所述语音信号中通常涉及客户端本地的预设信息(例如,通讯录中的联系人名称)。现有的语音识别技术,对于上述待识别语音信号采用通用的搜索空间进行解码识别,而通用的搜索空间并没有考虑此类应用在不同客户端之间的差异性,因此通常无法有效识别语音信号中与客户端本地信息相关的内容,导致识别准确率低。针对这一问题,本申请的技术方案通过在构建用于对语音信号进行解码的搜索空间的过程中融入客户端预设信息,相当于针对客户端的具体语音识别需求进行了定制,从而能够有效识别与客户端相关的本地信息,达到提高语音识别准确率的目的。

在语音识别系统中,根据待识别的语音信号得到与其最匹配的词序列的过程叫做解码。而本申请所述的用于对语音信号进行解码的搜索空间是指,由语音识别系统涉及的语音知识源(例如:声学模型、发音词典以及语言模型等)所覆盖的、所有可能的语音识别结果所组成的空间。相应的,解码的过程就是针对待识别语音信号在搜索空间中进行搜索和匹配、得到最佳匹配的词序列的过程。

所述搜索空间的形式可以是多样化的,可以采用各种知识源处于相对独立的不同层面的搜索空间,解码的过程就是逐层计算搜索的过程;也可以采用基于加权有限状态转换器(Weighted Finite State Transducer—简称WFST)的搜索空间,将各种知识源有机融入到统一的WFST网络(也称WFST搜索空间)中。考虑到后者便于引入不同的知识源、并且可以提高搜索效率,是本申请技术方案进行语音识别的优选方式,因此在本申请提供的实施例中重点描述基于WFST网络的实施方式。

所述WFST搜索空间,其核心是利用加权有限状态转换器来模拟语言的文法结构以及相关的声学特性。具体操作方法是:将处于不同层次的知识源分别用WFST的形式表示,然后运用WFST的特性及合并算法,将上述处于不同层次的WFST整合成一个单一的WFST网络,构成用于进行语音识别的搜索空间。

WFST网络的基本单元(即驱动WFST进行状态转换的基本输入单元)可以根据具体的需求进行选择。考虑音素上下文对音素发音的影响,为了获得更高的识别准确率,在本申请提供的实施例中采用上下文相关的三音素(Context Dependent triphone,简称三音素或者三音子)作为WFST网络的基本单元,相应的构建WFST搜索空间的知识源包括:三音素状态绑定列表、发音词典、以及语言模型。

所述三音素状态绑定列表通常包含各三音素彼此之间基于发音特点的绑定关系,通常在以三音素为建模单位训练声学模型时,由于三音素可能的组合方式数目众多,为了减少对训练数据的要求,通常可以基于发音特点、采用决策树聚类方法在最大似然准则下对不同的三音素进行聚类,并使用捆绑技术把具有相同发音特点的三音素绑定到一起以便进行参数共享,从而得到所述三音素状态绑定列表;所述发音词典通常包含音素与词之间的对应关系,是桥接在声学层(物理层)和语义层之间的桥梁,让声学层的内容和语义层的内容耦合关联在一起;所述语言模型则提供了语言结构的相关知识,用于计算词序列在自然语言中出现的概率,在具体实施中通常采用n元(n-gram)文法语言模型,具体可以通过统计单词之间相互跟随出现的可能性来建模。

采用基于上述知识源构建的WFST网络进行语音识别时,为了驱动WFST进行所需的搜索,可以先提取待识别语音信号的特征矢量序列,然后利用预先训练好的模型计算从特征矢量对应于各三音素的概率,并根据所述各三音素的概率,在WFST搜索空间中执行解码操作,得到与待识别语音信号对应的词序列。

需要说明的是,在本申请提供的实施例中采用上下文相关的三音素作为WFST网络的基本单元,在其他实施方式中,也可以采用其他语音单位作为WFST网络的基本单元,例如:单音素、或者三音素状态等。采用不同的基本单元,在构建搜索空间时、以及根据特征矢量计算概率时会有一定的差别,例如以三音素状态作为基本单元,那么在构建WFST网络时可以融合基于HMM的声学模型,在进行语音识别时,则可以计算特征矢量对应于各三音素状态的概率。上述这些都是具体实施方式的变更,只要在构建搜索空间的过程中包含了客户端预设信息,就同样可以实现本申请的技术方案,就都不偏离本申请的技术核心,也都在本申请的保护范围之内。

下面,对本申请的实施例进行详细说明。请参考图1,其为本申请的一种语 音识别方法的实施例的流程图。所述方法包括步骤101至步骤104,在具体实施时,为了提高执行效率,通常可以在步骤101之前完成相关的准备工作(此阶段也可以称作准备阶段),生成基于类的语言模型、预设结构的WFST以及用于进行语音识别的声学模型等,从而为步骤101的执行做好准备。下面先对准备阶段作详细说明。

在准备阶段可以采用如下方式训练语言模型:将用于训练语言模型的文本中的预设命名实体替换为与预设主题类别对应的标签,并利用所述文本训练语言模型。所述命名实体通常是指文本中具有特定类别的实体,例如:人名、歌曲名、机构名、地名等。

下面以拨打电话应用为例进行说明:预设主题类别为拨打电话,对应的标签为“$CONTACT”,预设命名实体为人名,那么在预先训练语言模型时,可以将训练文本中的人名替换为对应的标签,比如将“我要打电话给小明”中的“小明”替换为“$CONTACT”,然后得到的训练文本为“我要打电话给$CONTACT”。采用进行上述实体替换之后的文本训练语言模型,得到基于类的语言模型。在训练得到上述语言模型的基础上,还可以预先生成基于语言模型的WFST,以下简称为G结构的WFST。

优选地,为了缩减语言模型以及对应的G结构的WFST的规模,在预先训练语言模型时,可以选用针对所述预设主题类别的文本(也可以称为基于类的训练文本)进行训练,例如,预设主题类别为拨打电话,那么针对所述预设主题类别的文本可以包括:我要打电话给小明,给小明打个电话等等。

考虑到客户端设备以及以语音作为人机交互媒介的应用程序的多样性,可以预设两个或者两个以上的主题类别,并针对每种主题类别分别预先训练基于类的语言模型、并构建基于所述语言模型的G结构WFST。

在准备阶段还可以预先构建基于发音词典的WFST,简称为L结构的WFST,以及基于三音素状态绑定列表的WFST,简称为C结构的WFST,并采用预设的方式对上述各WFST进行有针对性的、选择性地合并操作,例如:可以将C结构与L结构的WFST合并为CL结构的WFST,也可以将L结构与G结构的WFST合并为LG结构的WFST,还可以将C结构、L结构以及G结构的WFST合并为CLG结构的WFST。本实施例在准备阶段生成了CL结构的WFST以及G结构的WFST(关于合并操作的说明可以参见步骤101中的相关文字)。

此外,在准备阶段还可以预先训练用于进行语音识别的声学模型。在本实施例中,每个三音素用一个HMM(Hidden Markov Model—隐马尔可夫模型)表征,HMM的隐含状态为三音素中的一个状态(每个三音素通常包含三个状态),采用GMM(Gaussian mixture model—高斯混合模型)模型确定HMM中每个隐含状态输出各特征矢量的发射概率,以从大量语音数据中提取的特征矢量作为训练样本,采用Baum-Welch算法学习GMM模型和HMM模型的参数,可以得到对应于每个状态的GMM模型以及对应于每个三音素的HMM模型。在后续步骤103中则可以使用预先训练好的GMM和HMM模型计算特征矢量对应于各三音素的概率。

为了提升语音识别的准确率,本实施例在进行语音识别时用DNN(Deep Neural Networks—深度神经网络)模型替代了GMM模型,相应的,在准备阶段可以预先训练用于根据输入的特征矢量输出对应于各三音素状态概率的DNN模型。在具体实施时,可以在训练GMM和HMM模型的基础上,通过对训练样本进行强制对齐的方式、为训练样本添加对应于各三音素状态的标签,并用打好标签的训练样本训练得到所述DNN模型。

需要说明的是,在具体实施时,由于准备阶段的运算量比较大,对内存以及计算速度的要求相对较高,因此准备阶段的操作通常是在服务器端完成的。为了在没有网络接入环境的情况下依然能够完成语音识别功能,本申请提供的方法通常在客户端设备上实施,因此准备阶段生成的各WFST以及用于进行声学概率计算的各模型,可以预先安装到客户端设备中,例如:与应用程序一起打包并安装到客户端。

至此,对本实施例涉及的准备阶段进行了详细说明,下面对本实施例的具体步骤101至104做详细说明。

步骤101、利用预设的语音知识源,生成包含客户端预设信息的、用于对语音信号进行解码的搜索空间。

本步骤构建WFST搜索空间,为后续的语音识别做好准备。在具体实施时,本步骤通常在用语音作为人机交互媒介的客户端应用程序的启动阶段(也称为初始化阶段)执行,通过替换标签的方式,向预先生成的至少基于语言模型的加权有限状态转换器中添加与预设主题类别对应的客户端预设信息,并得到基于三音素状态绑定列表、发音词典、以及语言模型的单一加权有限状态转换器。

本步骤的处理过程可以包括以下步骤101-1至101-4,下面结合图2做进一步说明。

步骤101-1、确定待识别语音信号所属的预设主题类别。

在具体实施时,可以根据采集所述语音信号的客户端类型、或应用程序确定所述所属的预设主题类别。所述预设主题类别包括:拨打电话、发送短信、播放乐曲、设置指令、或者其他应用场景相关的主题类别。其中,与拨打电话或发送短信对应的客户端预设信息包括:通讯录中的联系人名称;与播放乐曲对应的客户端预设信息包括:曲库中的乐曲名称;与设置指令对应的客户端预设信息包括:指令集中的指令;对于其他应用场景相关的主题类别,也同样可以与应用场景所涉及的客户端预设信息相对应,此处不再一一赘述。

例如:对于智能手机,可以根据客户端类型确定待识别语音信号所属的预设主题类别为:拨打电话或发送短信,相应的客户端预设信息为通讯录中的联系人名称;对于智能音箱,可以确定主题类别为:播放乐曲,相应的客户端预设信息为曲库中的乐曲名称;对于机器人,可以确定主题类别为:设置指令,相应的客户端预设信息为指令集中的指令。

考虑到客户端设备可以同时具有多个用语音作为人机交互媒介的应用,不同的应用涉及不同的客户端预设信息,例如:智能手机也可以安装基于语音交互的音乐播放器,在这种情况下可以根据当前启动的应用程序确定待识别语音信号所属的预设主题类别。

步骤101-2、选择预先生成的、与所述预设主题类别相对应的G结构WFST。

对于存在多个预设主题类别的情况,在准备阶段通常会生成多个G结构WFST,每个G结构WFST分别与不同的预设主题类别相对应。本步骤从预先生成的多个G结构WFST中选择与步骤101-1所确定的预设主题类别相对应的G结构WFST。

步骤101-3、通过用与所述预设主题类别对应的客户端预设信息替换相应标签的方式,向所选的G结构WFST中添加客户端预设信息。

在准备阶段针对每种预设主题类别训练基于类的语言模型时,将训练文本中的预设命名实体替换为了与相应主题类别对应的标签,例如主题类别为拨打电话或发送短信,将训练文本中的人名替换为“$CONTACT”标签,主题类别为播放乐曲,将训练文本中的乐曲名称替换为“$SONG”标签,因此,生成的 G结构的WFST中通常包含与预设主题类别对应的标签信息。本步骤用与步骤101-1所确定的预设主题类别对应的客户端预设信息,替换步骤101-2所选G结构WFST中的相应标签,从而实现向所选G结构WFST中添加客户端预设信息的目的。

例如,主题类别为拨打电话或者发送短信,则可以将G结构WFST中的“$CONTACT”标签替换为客户端本地通讯录中的联系人名称,如“张三”、“李四”等;主题类别为播放乐曲,则可以将G结构WFST中的“$SONG”标签替换为客户端本地曲库中的歌曲名称,如“义勇军进行曲”等。具体的替换,可以通过将与所述标签对应的状态转移链路替换为若干组并行的状态转移链路的方式实现。请参见图3和图4给出的用客户端通讯录中的联系人进行替换的例子,其中图3为替换前的G结构WFST的示意图,图4为用通讯录中的“张三”和“李四”进行替换后得到的G结构WFST的示意图。

步骤101-4、将添加了客户端预设信息的G结构的WFST、与预先生成的CL结构的WFST进行合并,得到单一的WFST网络。

在本实施例中,语音识别所用到的知识源涉及从语言层(语言模型)到物理层(三音素状态绑定列表)的内容,本步骤的任务是将不同层次的WFST合并(也称为组合、结合)到一起,得到单一的WFST网络。

对于两个WFST,进行合并的基本条件是:其中一个WFST的输出符号是另外一个WFST输入符号集合的子集。在满足上述要求的前提下,如果将两个WFST,例如分别为A和B,整合成一个新的WFST:C,那么C的每个状态都由A的状态和B的状态组成,C的每个成功路经,都由A的成功路经Pa和B的成功路径Pb组成,输入为i[P]=i[Pa],输出为o[P]=o[Pb],其加权值为由Pa和Pb的加权值进行相应运算后得到,最后得到的C包含A和B共有的有限状态转换器特性以及搜索空间。在具体实施时,可以采用OpenFst库提供的合并算法完成两个WFST的合并操作。

具体到本实施例,可以这样理解,L结构的WFST可以看作是单音素与词之间的对应关系,C结构的WFST则在三音素与单音素之间建立对应关系,其输出和L结构WFST的输入相互对应,可以进行合并,在本实施例的准备阶段已经通过合并得到了CL结构的WFST,本步骤将所述CL结构的WFST与步骤101-3中添加了客户端预设信息的G结构WFST进行合并,得到了一个输入为 三音素概率,输出为词序列的WFST网络,从而将处于不同层次的分别对应不同知识源的WFST,整合为一个单一的WFST网络,构成了用于进行语音识别的搜索空间。

优选地,为了加快CL结构WFST和G结构WFST的合并速度,减少初始化的耗时,本实施例在执行所述合并操作时没有采用常规的WFST合并方法,而是采用了基于预测的合并方法(lookahead合并方法)。所述lookahead合并方法,即在两个WFST的合并过程中,通过对未来路径的预测,判断当前执行的合并操作是否会导致无法到达的最终状态(non-coaccessible state),如果是,则阻塞当前操作、不再执行后续的合并操作。通过预测可以提前终止没有必要的合并操作,不仅可以节省合并时间,而且可以缩减最终生成的WFST的规模,减少对存储空间的占用。具体实施时,可以采用OpenFst库提供的具备lookahead功能的过滤器(filter),实现上述预测筛选功能。

优选地,为了加快CL结构WFST和G结构WFST的合并速度,在本实施例中预先训练所述语言模型所采用的词表与所述发音词典包含的词是一致的。一般而言,词表中的词的数目通常大于发音词典中的词的数目,而词表中的词的数目和G结构的WFST的大小有直接关系,如果G结构的WFST比较大,和CL结构的WFST进行合并就比较耗时,所以本实施例在准备阶段训练语言模型时,缩减了词表的规模,让词表中的词与发音词典中的词保持一致,从而达到了缩减CL结构WFST和G结构WFST的合并时间的效果。

至此,通过步骤101-1至101-4,完成了本技术方案的初始化过程,生成了包含客户端预设信息的WFST搜索空间。

需要说明的是,本实施例在准备阶段预先完成CL结构的WFST的合并、并生成G结构的WFST,在本步骤101中则向G结构WFST中添加客户端预设信息,并将CL结构和G结构合并得到单一的WFST。在其他实施方式中,也可以采用其他合并策略,例如,在准备阶段预先完成LG结构的WFST的合并,在本步骤101中向该WFST中添加客户端预设信息,然后再与准备阶段生成的C结构WFST进行合并;或者,在准备阶段直接完成CLG结构的WFST的合并,并在本步骤101中向该WFST中添加客户端预设信息也是可以的。考虑到准备阶段生成的WFST要占据客户端的存储空间,在有多个基于类的语言模型(相应有多个G结构的WFST)的应用场景中,如果在准备阶段将每个G结构WFST与其他WFST进行合并,将占据较大存储空间,因此本实施例采取的合并方式 是优选实施方式,可以减少在准备阶段生成的WFST对客户端存储空间的占用。

步骤102、提取待识别语音信号的特征矢量序列。

待识别语音信号通常是时域信号,本步骤通过分帧和提取特征矢量两个处理过程,获取能够表征所述语音信号的特征矢量序列,下面结合附图5做进一步说明。

步骤102-1、按照预先设定的帧长度对待识别语音信号进行分帧处理,得到多个音频帧。

在具体实施时,可以根据需求预先设定帧长度,例如可以设置为10ms、或者15ms,然后根据所述帧长度对待识别语音信号进行逐帧切分,从而将语音信号切分为多个音频帧。根据所采用的切分策略的不同,相邻音频帧可以不存在交叠、也可以是有交叠的。

步骤102-2、提取各音频帧的特征矢量,得到所述特征矢量序列。

将待识别语音信号切分为多个音频帧后,可以逐帧提取能够表征所述语音信号的特征矢量。由于语音信号在时域上的描述能力相对较弱,通常可以针对每个音频帧进行傅里叶变换,然后提取频域特征作为音频帧的特征矢量,例如,可以提取MFCC(Mel Frequency Cepstrum Coefficient—梅尔频率倒谱系数)特征、PLP(Perceptual Linear Predictive—感知线性预测)特征、或者LPC(Linear Predictive Coding—线性预测编码)特征等。

下面以提取某一音频帧的MFCC特征为例,对特征矢量的提取过程作进一步描述。首先将音频帧的时域信号通过FFT(Fast Fourier Transformation—快速傅氏变换)得到对应的频谱信息,将所述频谱信息通过Mel滤波器组得到Mel频谱,在Mel频谱上进行倒谱分析,其核心一般是采用DCT(Discrete Cosine Transform—离散余弦变换)进行逆变换,然后取预设的N个系数(例如N=12或者38),则得到了所述音频帧的特征矢量:MFCC特征。对每个音频帧都采用上述方式进行处理,可以得到表征所述语音信号的一系列特征矢量,即本申请所述的特征矢量序列。

步骤103、计算特征矢量对应于搜索空间基本单元的概率。

在本实施例中,WFST搜索空间基本单元是三音素,因此本步骤计算特征矢量对应于各三音素的概率。为了提高语音识别的准确率,本实施例采用HMM模型和具备强大特征提取能力的DNN模型计算所述概率,在其他实施方式中, 也可以采用其他方式,例如:采用传统的GMM和HMM模型计算所述概率也同样可以实现本申请的技术方案,也在本申请的保护范围之内。

在具体实施时,可以在计算特征矢量对应于各三音素状态的基础上,进一步计算特征矢量对应于各三音素的概率,下面结合附图6,对本步骤的处理过程作进一步描述。

步骤103-1、采用预先训练的DNN模型计算特征矢量对应于各三音素状态的概率。

在本实施例的准备阶段已经预先训练好了DNN模型,本步骤以步骤102提取的特征矢量作为所述DNN模型的输入,则可以得到特征矢量对应于各三音素状态的概率。例如:三音素的数量为1000,每个三音素包含3个状态,那么总共有3000个三音素状态,本步骤DNN模型输出:特征矢量对应于3000个三音素状态中每一状态的概率。

优选地,由于采用DNN模型涉及的计算量通常很大,本实施例通过利用硬件平台提供的数据并行处理能力提升采用DNN模型进行计算的速度。例如,目前嵌入式设备和移动设备用的比较多的是ARM架构平台,在现行的大多数ARM平台上,都有SIMD(single instruction multiple data—单指令多数据流)的NEON指令集,该指令集可以在一个指令中处理多个数据,具备一定的数据并行处理能力,在本实施例中通过矢量化编程可以形成单指令流多数据流的编程泛型,从而可以充分利用硬件平台提供的数据并行处理能力,实现加速DNN计算的目的。

在客户端设备上实施本申请技术方案时,为了能够与客户端的硬件能力相匹配,通常会缩减DNN模型的规模,这样往往会导致DNN模型的精确度下降,对不同语音内容的识别能力也会随着下降。本实施例由于利用硬件加速机制,则可以不缩减或者尽量少缩减DNN模型的规模,从而可以最大限度地保留DNN模型的精确性,提高识别准确率。

步骤103-2、根据特征矢量对应于所述各三音素状态的概率,采用预先训练的HMM模型计算特征矢量对应于各三音素的概率。

在准备阶段已经训练好了针对每个三音素的HMM模型,本步骤根据连续输入的若干个特征矢量对应于各三音素状态的概率,利用HMM模型计算对应于各三音素的转移概率,从而得到特征矢量对应于各三音素的概率。

该计算过程实际上就是根据连续的特征矢量在各HMM上的传播过程计算相应转移概率的过程,下面以计算针对某一三音素(包括3个状态)的概率为例对计算过程作进一步说明,其中,pe(i,j)表示第i帧特征矢量在第j个状态上的发射概率,pt(h,k)表示从h状态转移到k状态的转移概率:

1)第一帧的特征矢量对应于相应HMM的状态1,具有发射概率pe(1,1);

2)对于第二帧的特征矢量,如果从所述HMM的状态1转移到状态1,对应的概率为pe(1,1)*pt(1,1)*pe(2,1),如果从状态1转移到状态2,对应的概率为pe(1,1)*pt(1,2)*pe(2,2),根据上述概率判断转移到状态1还是状态2;

3)对于第三帧的特征矢量以及后续帧的特征矢量也采用上述类似的计算方式,直到从状态3转移出去,至此在所述HMM上的传播结束,从而得到了连续多帧的特征矢量针对该HMM的概率,即:对应于该HMM表征的三音素的概率。

针对连续输入的特征矢量,采用上述方式计算在各HMM上传播的转移概率,从而得到对应于各三音素的概率。

步骤104、以所述概率为输入、在所述搜索空间中执行解码操作,得到与所述特征矢量序列对应的词序列。

根据步骤103输出的特征矢量对应于各三音素的概率,在WFST网络中执行解码操作,得到与所述特征矢量序列对应的词序列。该过程通常为执行图搜索、找到得分最高的路径的搜索过程。常用的搜索方法是维特比算法,它的好处在于采用动态规划的方法节省了计算量,也可以做到时间同步解码。

考虑到在实际解码过程中,由于搜索空间巨大,维特比算法的计算量仍然很大,为了减少计算量、提高计算速度,在解码过程中并不是把所有路径的可能的后续路径都展开,而是只展开那些在最优路径附近的路径,即:可以在采用维特比算法进行搜索的过程中,采用适当的剪枝策略以提高搜索效率,例如:可以采用维特比柱搜索算法或者是采用直方图剪枝策略等。

至此,通过解码得到了与特征矢量序列对应的词序列,即,获取了待识别语音信号对应的识别结果。由于在步骤101构建用于进行语音识别的搜索空间时,添加了客户端预设信息,因此上述语音识别过程通常可以比较准确地识别出与客户端本地信息相关的语音内容。

考虑到客户端本地信息有可能被用户修改或者删除,为了进一步保证通过 上述解码过程获得的词序列的准确性,本实施例还提供一种优选实施方式:通过与所述客户端预设信息进行文字匹配验证所述词序列的准确性,并根据验证结果生成相应的语音识别结果。

在具体实施时,上述优选实施方式可以包括以下所列的步骤104-1至步骤104-4,下面结合附图7做进一步说明。

步骤104-1、从所述词序列中选择对应于所述客户端预设信息的待验证词。

例如:针对打电话应用,所述客户端预设信息为通讯录中的联系人名称,语音识别的结果为词序列“给小明打电话”,那么通过与模板匹配的方式或者语法解析过程,可以确定所述词序列中的“小明”是与客户端预设信息对应的待验证词。

步骤104-2、在所述客户端预设信息中查找所述待验证词,若找到,判定通过准确性验证,执行步骤104-3,否则执行步骤104-4。

本步骤通过执行文字层面的精准匹配,判断所述待验证词是否属于相对应的客户端预设信息,从而验证所述词序列的准确性。

仍沿用步骤104-1中的例子,本步骤在客户端通讯录中查找是否存在“小明”这个联系人,即:通讯录中与联系人名称相关的信息中是否包含“小明”这一字符串,若包含,则判定通过准确性验证,继续执行步骤104-3,否则,转到步骤104-4执行。

步骤104-3、将所述词序列作为语音识别结果。

执行到本步骤,说明通过解码得到的词序列中所包含的待验证词,与客户端预设信息是相吻合的,可以将所述词序列作为语音识别结果输出,从而触发使用该语音识别结果的应用程序执行相应的操作。

步骤104-4、通过基于拼音的模糊匹配方式修正所述词序列,并将修正后的词序列作为语音识别结果。

执行到本步骤,通常说明所述通过解码得到的词序列中所包含的待验证词,与客户端预设信息是不相吻合的,如果将该词序列作为语音识别结果输出,那么相关应用程序通常无法执行正确的操作,因此在这种情况下,可以通过拼音层面的模糊匹配对所述词序列进行必要的修正。

在具体实施时,可以通过如下方式实现上述修正功能:通过查找发音词典,将所述待验证词转换为待验证拼音序列,将所述客户端预设信息中的各个词也 分别转换为比对拼音序列,然后依次计算所述待验证拼音序列与各比对拼音序列之间的相似度,并从所述客户端预设信息中选择按照相似度从高到低排序靠前的词,最后用所选词替换所述词序列中的待验证词,得到所述修正后的词序列。

在具体实施时可以采用不同的方式计算两个拼音序列之间的相似度,本实施例采用基于编辑距离计算所述相似度的方式,例如:用两个拼音序列之间的编辑距离与1相加求和的倒数作为所述相似度。所述编辑距离(Edit Distance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数,所述编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符,一般来说,编辑距离越小,两个串的相似度越大。

仍沿用上述步骤104-1中的例子,词序列为“给小明打电话”,待验证词为“小明”,如果在客户端通讯录的联系人中没有找到“小明”,则可以通过查找发音词典,将小明转换为待验证拼音序列“xiaoming”,并将通讯录中的各个联系人名称也都转换为相应的拼音序列,即:比对拼音序列,然后依次计算“xiaoming”与各比对拼音序列之间的编辑距离,然后选择编辑距离最小(相似度最高)的比对拼音序列所对应的联系人名称(例如:“xiaomin”对应的“小敏”),替换所述词序列中的待验证词,从而完成了对所述词序列的修正,并可以将修正后的词序列作为最终的语音识别结果。

在具体实施时,也可以先计算出待验证拼音序列与各比对拼音序列之间的相似度并按照相似度从高到低排序,选择排序靠前的若干个(例如三个)比对拚音序列对应的词,然后将这些词通过屏幕输出等方式提示给客户端用户,由用户从中选择正确的词,并根据用户选择的词替换所述词序列中的待验证词。

至此,通过上述步骤101-步骤104对本申请提供的语音识别方法的具体实施方式进行了详细说明。为了便于理解,请参考图8,其为本实施例提供的语音识别过程的整体框架图。其中虚线框对应本实施例描述的准备阶段,实线框对应具体的语音识别处理过程。

需要说明的是,本实施例描述的步骤101可以在以语音作为交互媒介的客户端应用程序每次启动时都执行一次,即每次启动都重新生成包含客户端预设信息的、用于对语音信号进行解码的搜索空间,也可以仅在所述客户端应用程序首次启动时生成所述搜索空间并存储、后续采用定期更新的方式,这样可以 减少每次应用程序启动时生成搜索空间的时间开销(可以直接使用之前已生成的搜索空间),提高语音识别的执行效率,改善用户的使用体验。

此外,本申请提供的方法通常在客户端设备上实施,所述客户端设备包括:智能移动终端、智能音箱、机器人、或者其他可以运行所述方法的设备,本实施例即描述了在客户端实施本申请所提供方法的具体实施方式。但是在其他实施方式中,本申请提供的方法也可以在基于客户端和服务器模式的应用场景下实施,在这种情况下,在准备阶段生成的各个WFST以及用于声学概率计算的模型无需预先安装到客户端设备中,每次客户端应用启动时,可以将相应的客户端预设信息上传给服务器,并将后续采集到待识别语音信号也上传给服务器,由服务器一侧实施本申请提供的方法,并将解码得到的词序列回传给客户端,同样可以实现本申请的技术方案,并取得相应的有益效果。

综上所述,本申请提供的语音识别方法,由于在生成用于对语音信号进行解码的搜索空间时包含了客户端预设信息,因此在对客户端采集的语音信号进行识别时能够相对准确地识别出与客户端本地相关的信息,从而可以提高语音识别的准确率,提升用户的使用体验。

特别是在客户端设备上采用本申请提供的方法进行语音识别,由于添加了客户端本地信息,因此可以在一定程度上弥补由于概率计算模型以及搜索空间规模缩小导致的识别准确率下降的问题,从而既能够满足在没有网络接入环境下进行语音识别的需求,同时也能达到一定的识别准确率。进一步地,在解码得到词序列后,通过采用本实施例给出的基于文字层面以及拼音层面的匹配验证方案,可以进一步提升语音识别的准确率。通过实际的测试结果表明:常规的语音识别方法的字符错误率(CER)在20%左右,而使用本申请提供的方法,字符错误率在3%以下,以上数据充分说明了本方法的有益效果是显著的。

在上述的实施例中,提供了一种语音识别方法,与之相对应的,本申请还提供一种语音识别装置。请参看图9,其为本申请的一种语音识别装置的实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。

本实施例的一种语音识别装置,包括:搜索空间生成单元901,用于利用预设的语音知识源,生成包含客户端预设信息的、用于对语音信号进行解码的搜 索空间;特征矢量提取单元902,用于提取待识别语音信号的特征矢量序列;概率计算单元903,用于计算特征矢量对应于搜索空间基本单元的概率;解码搜索单元904,用于以所述概率为输入、在所述搜索空间中执行解码操作,得到与所述特征矢量序列对应的词序列。

可选的,所述搜索空间生成单元具体用于,通过替换标签的方式,向预先生成的至少基于语言模型的加权有限状态转换器中添加与预设主题类别对应的客户端预设信息,并得到基于三音素状态绑定列表、发音词典、以及语言模型的单一加权有限状态转换器;

所述语言模型是由语言模型训练单元预先生成的,所述语言模型训练单元用于,将用于训练语言模型的文本中的预设命名实体替换为与预设主题类别对应的标签,并利用所述文本训练语言模型。

可选的,所述搜索空间生成单元包括:

第一客户端信息添加子单元,用于通过替换标签的方式,向预先生成的基于语言模型的加权有限状态转换器中添加与预设主题类别对应的客户端预设信息;

加权有限状态转换器合并子单元,用于将添加了所述客户端预设信息的所述加权有限状态转换器、与预先生成的基于三音素状态绑定列表和发音词典的加权有限状态转换器进行合并,得到所述单一加权有限状态转换器。

可选的,所述解码空间生成单元包括:

第二客户端信息添加子单元,用于通过替换标签的方式,向预先生成的至少基于语言模型的加权有限状态转换器中添加与预设主题类别对应的客户端预设信息;

统一加权有限状态转换器获取子单元,用于在所述第二客户端信息添加子单元完成添加操作之后,得到基于三音素状态绑定列表、发音词典、以及语言模型的单一加权有限状态转换器;

其中,所述第二客户端信息添加子单元包括:

主题确定子单元,用于确定待识别语音信号所属的预设主题类别;

加权有限状态转换器选择子单元,用于选择预先生成的、与所述预设主题类别相对应的所述至少基于语言模型的加权有限状态转换器;

标签替换子单元,用于通过用与所述预设主题类别对应的客户端预设信息 替换相应标签的方式,向所选的加权有限状态转换器中添加客户端预设信息。

可选的,所述主题确定子单元具体用于,根据采集所述语音信号的客户端类型、或应用程序确定所述所属的预设主题类别。

可选的,所述加权有限状态转换器合并子单元具体用于,采用基于预测的方法执行合并操作,并得到所述单一加权有限状态转换器。

可选的,所述概率计算单元包括:

三音素状态概率计算子单元,用于采用预先训练的DNN模型计算特征矢量对应于各三音素状态的概率;

三音素概率计算子单元,用于根据特征矢量对应于所述各三音素状态的概率,采用预先训练的HMM模型计算特征矢量对应于各三音素的概率。

可选的,所述特征矢量提取单元包括:

分帧子单元,用于按照预先设定的帧长度对待识别语音信号进行分帧处理,得到多个音频帧;

特征提取子单元,用于提取各音频帧的特征矢量,得到所述特征矢量序列。

可选的,所述装置包括:

准确性验证单元,用于在所述解码搜索单元得到与特征矢量序列对应的词序列后,通过与所述客户端预设信息进行文字匹配验证所述词序列的准确性,并根据验证结果生成相应的语音识别结果。

可选的,所述准确性验证单元包括:

待验证词选择子单元,用于从所述词序列中选择对应于所述客户端预设信息的待验证词;

查找子单元,用于在所述客户端预设信息中查找所述待验证词;

识别结果确认子单元,用于当所述查找子单元找到所述待验证词之后,判定通过所述准确性验证,并将所述词序列作为语音识别结果;

识别结果修正子单元,用于当所述查找子单元未找到所述待验证词之后,通过基于拼音的模糊匹配方式修正所述词序列,并将修正后的词序列作为语音识别结果。

可选的,所述识别结果修正子单元,包括:

待验证拼音序列转换子单元,用于将所述待验证词转换为待验证拼音序列;

比对拼音序列转换子单元,用于将所述客户端预设信息中的各个词分别转换为比对拼音序列;

相似度计算选择子单元,用于依次计算所述待验证拼音序列与各比对拼音序列之间的相似度,并从所述客户端预设信息中选择按照所述相似度从高到低排序靠前的词;

待验证词替换子单元,用于用所选词替换所述词序列中的待验证词,得到所述修正后的词序列。

此外,本申请还提供另一种语音识别方法,请参考图10,其为本申请提供的另一种语音识别方法的实施例的流程图,本实施例与之前提供的方法实施例内容相同的部分不再赘述,下面重点描述不同之处。本申请提供的另一种语音识别方法包括:

步骤1001、通过解码获取与待识别语音信号对应的词序列。

对于语音识别来说,解码的过程就是在用于语音识别的搜索空间中进行搜索的过程,以获取与待识别语音信号对应的最佳词序列。所述搜索空间可以是基于各种知识源的WFST网络,也可以是其他形式的搜索空间;所述搜索空间可以包含客户端预设信息,也可以不包含客户端预设信息,本实施例并不对此作具体的限定。

步骤1002、通过与客户端预设信息进行文字匹配验证所述词序列的准确性,并根据验证结果生成相应的语音识别结果。

本步骤包括以下操作:从所述词序列中选择对应于所述客户端预设信息的待验证词;在所述客户端预设信息中查找所述待验证词;若找到,则判定通过所述准确性验证,并将所述词序列作为语音识别结果;否则通过基于拼音的模糊匹配方式修正所述词序列,并将修正后的词序列作为语音识别结果。

所述通过基于拼音的模糊匹配方式修正所述词序列,包括:将所述待验证词转换为待验证拼音序列;将所述客户端预设信息中的各个词分别转换为比对拼音序列;依次计算所述待验证拼音序列与各比对拼音序列之间的相似度,并从所述客户端预设信息中选择按照所述相似度从高到低排序靠前的词;用所选词替换所述词序列中的待验证词,得到所述修正后的词序列。

其中,所述转换拼音序列可以通过查找发音词典实现,所述相似度可以根 据两个拼音序列之间的编辑距离计算。

本申请提供的方法,通常应用于用语音作为交互媒介的应用程序中,此类应用程序采集的待识别语音中可能会涉及客户端信息,而本申请提供的方法,通过将解码得到的词序列与客户端预设信息进行文字匹配,可以验证所述词序列的准确性,从而为对词序列进行必要修正提供了依据。进一步地,通过采用基于拼音层面的模糊匹配,可以对所述词序列进行修正,从而提升语音识别的准确率。

在上述的实施例中,提供了另一种语音识别方法,与之相对应的,本申请还提供另一种语音识别装置。请参看图11,其为本申请的另一种语音识别装置的实施例示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。

本实施例的一种语音识别装置,包括:词序列获取单元1101,用于通过解码获取与待识别语音信号对应的词序列;词序列验证单元1102,用于通过与客户端预设信息进行文字匹配验证所述词序列的准确性,并根据验证结果生成相应的语音识别结果。

可选的,所述词序列验证单元包括:

待验证词选择子单元,用于从所述词序列中选择对应于所述客户端预设信息的待验证词;

查找子单元,用于在所述客户端预设信息中查找所述待验证词;

识别结果确认子单元,用于当所述查找子单元找到所述待验证词之后,判定通过所述准确性验证,并将所述词序列作为语音识别结果;

识别结果修正子单元,用于当所述查找子单元未找到所述待验证词之后,通过基于拼音的模糊匹配方式修正所述词序列,并将修正后的词序列作为语音识别结果。

可选的,所述识别结果修正子单元,包括:

待验证拼音序列转换子单元,用于将所述待验证词转换为待验证拼音序列;

比对拼音序列转换子单元,用于将所述客户端预设信息中的各个词分别转换为比对拼音序列;

相似度计算选择子单元,用于依次计算所述待验证拼音序列与各比对拼音 序列之间的相似度,并从所述客户端预设信息中选择按照所述相似度从高到低排序靠前的词;

待验证词替换子单元,用于用所选词替换所述词序列中的待验证词,得到所述修正后的词序列。

本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

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