语音识别结果纠错方法和装置与流程

文档序号:12368762阅读:561来源:国知局
语音识别结果纠错方法和装置与流程

本申请涉及语音识别技术领域,尤其涉及一种语音识别结果纠错方法和装置。



背景技术:

语音识别用于将语音识别为文本,语音识别结果纠错是语音理解过程中的一项重要工作。受限于语音识别的准确性,语音识别结果常常会出现错误,这将对语音理解的后续工作造成障碍,增加了语音理解的难度。语音识别结果纠错可以对一些识别错误的结果进行纠正,从而提高语音理解的准确性。

目前并没有主流的语音识别结果纠错的方案,一般是基于词的识别结果概率信息的统计方法,纠正结果的准确度有待提高。



技术实现要素:

本申请旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本申请的一个目的在于提出一种语音识别结果纠错方法,该方法可以实现基于拼音输入法的语音识别结果纠错,提高纠正结果的准确度。

本申请的另一个目的在于提出一种语音识别结果纠错装置。

为达到上述目的,本申请第一方面实施例提出的语音识别结果纠错方法,包括:对待纠正的语音识别结果进行注音,得到所述语音识别结果对应的拼音;根据所述拼音获取候选文本,并在候选文本中确定最优候选文本;判断所述最优候选文本是否满足预设条件;如果满足预设条件,将所述最优候选文本确定为所述待纠正的语音识别结果的纠正结果。

本申请第一方面实施例提出的语音识别结果纠错方法,通过对待纠正的语音识别结果进行注音,并根据拼音获取候选文本,以及在最优候选文本满足预设条件时将最优候选文本作为纠正结果,可以实现基于拼音输入法的语音识别结果纠错,提高纠正结果的准确度。

为达到上述目的,本申请第二方面实施例提出的语音识别结果纠错装置,包括:注音模块,用于对待纠正的语音识别结果进行注音,得到所述语音识别结果对应的拼音;获取模块,用于根据所述拼音获取候选文本,并在候选文本中确定最优候选文本;判断模块,用于判断所述最优候选文本是否满足预设条件;确定模块,用于在所述最优候选文本满足预设条件时,将所述最优候选文本确定为所述待纠正的语音识别结果的纠正结果。

本申请第二方面实施例提出的语音识别结果纠错装置,通过对待纠正的语音识别结果进行注音,并根据拼音获取候选文本,以及在最优候选文本满足预设条件时将最优候选文本作为纠正结果,可以实现基于拼音输入法的语音识别结果纠错,提高纠正结果的准确度。

本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1是本申请一个实施例提出的语音识别结果纠错方法的流程示意图;

图2是本申请另一个实施例提出的语音识别结果纠错方法的流程示意图;

图3是本申请实施例中用于获取候选文本的解码网络的示意图;

图4是本申请一个实施例提出的语音识别结果纠错装置的结构示意图;

图5是本申请另一个实施例提出的语音识别结果纠错装置的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模块。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。相反,本申请的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。

图1是本申请一个实施例提出的语音识别结果纠错方法的流程示意图。

参见图1,本实施例的方法包括:

S11:对待纠正的语音识别结果进行注音,得到所述语音识别结果对应的拼音。

其中,在语音识别得到语音识别结果后,可以根据已有或将来出现的技术,检测出语音识别结果中可能存在错误的结果,将这些可能存在错误的结果作为待纠正的语音识别结果。

由于待纠正的语音识别结果是文本,因此可以采用对文本的注音方式完成对待纠正的语音识别结果的注音,得到待纠正的语音识别结果对应的拼音。

具体的,待纠正的语音识别结果可以是汉字组成的句子,对应的拼音是指无音调的汉语拼音串。

例如,待纠正的语音识别结果是“窝要去外滩”,对应的拼音是:

wo yao qu wai tan

S12:根据所述拼音获取候选文本,并在候选文本中确定最优候选文本。

其中,可以将拼音作为输入,根据发音词典构建解码网络,再根据语言模型计算解码网络中每条路径的得分,之后选择得分最高的N(可设置)条路径,将选择得到的每条路径对应的文本作为一个候选文本,从而得到N个候选文本。

最优候选文本是指得分最高的一条路径对应的文本。

S13:判断所述最优候选文本是否满足预设条件。

预设条件可以根据需要设置,例如,可以比较最优候选文本与次优候选文本,比较最优候选文本与待纠正的语音识别结果,以及N-gram回退次数等。

具体内容可以参见后续描述。

S14:如果满足预设条件,将所述最优候选文本确定为所述待纠正的语音识别结果的纠正结果。

另一方面,如果最优候选文本不满足预设条件,则保持待纠正的语音识别结果不变,即不进行纠正。

本实施例中,通过对待纠正的语音识别结果进行注音,并根据拼音获取候选文本,以及在最优候选文本满足预设条件时将最优候选文本作为纠正结果,可以实现基于拼音输入法的语音识别结果纠错,提高纠正结果的准确度。

图2是本申请另一个实施例提出的语音识别结果纠错方法的流程示意图。

参见图2,本实施例的流程包括:

S201:对待纠正的语音识别结果进行注音,得到所述语音识别结果对应的拼音。

S202:获取通用语言模型,以及获取所述待纠正的语音识别结果对应的特定语言模型,并根据所述通用语言模型、所述特定语言模型和所述拼音获取候选文本。

其中,通用语言模型是通常采用的语言模型,该语言模型是根据不区分领域的语料训练生成的。

本实施例中,不仅会用到通用语言模型,还用到特定语言模型。特定语言模型的训练方式可以与通用语言模型的训练方式一致,两者区别在于采用的训练语料不同。特定语言模型是根据特定范围的语料训练生成的,特定范围可以是某一特定领域,比如,在地图领域,将收集的地名作为训练语料,从而得到地图领域对应的特定语言模型,类似的,还可以得到新闻领域对应的特定语言模型等。进一步的,特定范围还可以是某一特定领域进一步细分后的范围,同样以地图领域为例,可以对应每个城市生成一个语言模型,此时,特定语言模型例如包括:北京对应的特定语言模型,上海对应的特定语言模型等。

以特定语言模型是城市对应的特定语言模型为例,可以根据用户输入的城市信息或者根据GPS定位得到的城市信息,获取城市对应的特定语言模型。

在注音得到拼音后,可以根据拼音及发音词典组成解码网络。

例如,一种解码网络如图3所示(图中只示出了一条路径,其余路径类似)。该解码网络输入的拼音为:

wo yao qu wai tan

在构建出解码网络后,可以根据语言模型计算每条路径的得分。每条路径包括多个节点,每个节点对应一个词,从而每条路径对应一个候选文本。例如,“我”、“要”、“去”、“外滩”可以组成一条路径,“窝”、“要”、“去”、“外滩”也可以组成一条路径,“我”、“要”、“去”、“外”“谭”也可以组成一条路径。而每条路径的得分是根据语言模型得到的。

在计算每条路径的得分时,可以根据该条路径上包含的n-gram词序列的得分相乘后得到。

本实施例中,每个n-gram词序列的得分是根据通用语言模型确定的概率值与根据特定语言模型确定的概率值进行加权求和后得到的。

以2-gram为例,对应“去”和“外滩”组成的2-gram词序列,该词序列得分score(去,外滩)的计算公式为:

score(去,外滩)=α*pbose(去,外滩)+(1-α)*pcity21(去,外滩)

其中,pbose(去,外滩)是根据通用语言模型得到的概率值,Pcity21(去,外滩)是根据特定语言模型得到的概率值,α是可设置的大于0小于1的加权值。

在计算出每条路径的得分后,可以根据得分从高到低的顺序选择预设个数(可设置)的路径,将选择的路径对应的文本作为候选文本。

S203:在候选文本中确定最优候选文本和次优候选文本。

最优候选文本是指得分最高的路径对应的文本,次优候选文本是指得分次高的路径对应的文本。

例如,假设“我”、“要”、“去”、“外滩”组成的路径的得分最高,则“我要去外滩”就是最优候选文本,假设“我”、“要”、“去”、“外”“谭”组成的路径的得分次高,则“我要去外谭”就是次优候选文本。

S204:计算最优候选文本与次优候选文本的语言模型得分差值,并判断语言模型得分差值是否大于第一预设值,若是,执行S205,否则执行S211。

上述的语言模型得分是指在上一步骤中根据解码网络得到的,根据通用语言模型和特定语言模型进行加权求和后得到的得分。

上述的第一预设值可以选为150。

S205:获取字语言模型,并根据字语言模型分别对最优候选文本和待纠正语音识别结果进行打分,并判断最优候选文本的得分是否大于待纠正语音识别结果的得分,若是,执行S206,否则执行S211。

其中,字语言模型是将字作为训练语料进行训练后生成的,可以预先收集大量的字,再根据语言模型的训练算法训练生成字语言模型。

在得到字语言模型后,可以根据其分别对上述的两个文本(最优候选文本和待纠正的语音识别结果)进行打分,得到上述两个文本分别对应的得分。

S206:用词语言模型对最优候选文本进行打分,并统计每种n-gram回退的次数。

可以理解的是,本申请中如未特殊说明,语言模型是指词语言模型。

进一步的,本步骤中的词语言模型可以是上述的通用语言模型或特定语言模型。

其中,语言模型通常是根据n-gram构建的,在构建时,为了解决数据稀疏性问题,在一些场景下需要使用回退算法,用低阶词的出现概率替换高阶词的出现概率。

例如,计算语言模型分数时,如前一个条件概率是p(w3|w2w1w0)这是一个4-gram,后一个词w4出现时,而语言模型中w1w2w3w4这个4-gram没有出现需要回退。如果用p(w4|w3w2)替代这是一个1元回退。如果w2w3w4也没有。用p(w4|w3)替代那么是一个2元回退。因此,这里的n-gram回退是指相比前一个退了几元。

S207:判断1-gram回退次数与2-gram回退次数的总和是否小于第二预设值。

S208:判断所有回退次数的总和是否小于第三预设值,若是,执行S209,否则执行S211。

其中,回退时不仅可以包括上述的1-gram回退和2-gram回退,还可能存在其他元的回退,因此,这里统计的是所有元的回退总次数。

第二预设值和第三预设值可以相同或不同,例如都可以选为2。

S209:判断最优候选文本中连续单字的个数是否大于第四预设值,若否,执行S210,若是,执行S211。

例如,第四预设值选为3。

S210:将最优候选文本作为纠正结果。

S211:保持待纠正的语音识别结果不变。

本实施例中,通过对待纠正的语音识别结果进行注音,并根据拼音获取候选文本,以及在最优候选文本满足预设条件时将最优候选文本作为纠正结果,可以实现基于拼音输入法的语音识别结果纠错,提高纠正结果的准确度。通过判断最优候选文本是否满足预设条件,可以获取更准确的纠正结果。

图4是本申请一个实施例提出的语音识别结果纠错装置的结构示意图。

参见图4,本实施例的装置40包括:注音模块41、获取模块42、判断模块43和确定模块44。

注音模块41,用于对待纠正的语音识别结果进行注音,得到所述语音识别结果对应的拼音;

获取模块42,用于根据所述拼音获取候选文本,并在候选文本中确定最优候选文本;

判断模块43,用于判断所述最优候选文本是否满足预设条件;

确定模块44,用于在所述最优候选文本满足预设条件时,将所述最优候选文本确定为所述待纠正的语音识别结果的纠正结果。

一些实施例中,所述获取模块具体用于:

获取通用语言模型,以及获取所述待纠正的语音识别结果对应的特定语言模型,并根据所述通用语言模型、所述特定语言模型和所述拼音获取候选文本。

一些实施例中,所述获取模块还用于:

确定候选文本中的次优候选文本。

一些实施例中,所述判断模块具体用于:

计算所述最优候选文本与所述次优候选文本的语言模型得分差值;

如果所述差值大于第一预设值,获取字语言模型,并根据字语言模型对最优候选文本与待纠正语音识别结果进行打分;

如果最优候选文本对应的得分大于所述待纠正语音识别结果对应的得分,采用词语言模型对最优候选文本进行打分,并统计打分过程中的回退次数;

如果回退次数满足次数要求,则判断最优候选文本中连续单字的个数是否小于或等于第四预设值;

如果是,则确定最优候选文本满足预设条件。

一些实施例中,参见图5,该装置还可以包括:

保持模块45,用于如果最优候选文本不满足预设条件,保持所述待纠正的语音识别结果不变。

可以理解的是,本实施例的装置与上述方法实施例对应,具体内容可以参见方法实施例的相关描述,在此不再详细说明。

本实施例中,通过对待纠正的语音识别结果进行注音,并根据拼音获取候选文本,以及在最优候选文本满足预设条件时将最优候选文本作为纠正结果,可以实现基于拼音输入法的语音识别结果纠错,提高纠正结果的准确度。通过判断最优候选文本是否满足预设条件,可以获取更准确的纠正结果。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

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