首页> 中国专利> 一种融合非确定性反馈的语音识别错误修正方法及系统

一种融合非确定性反馈的语音识别错误修正方法及系统

摘要

本发明提供一种融合非确定性反馈的语音识别错误修正方法及系统,其中,方法包括:接收用户的非确定性反馈,获得所述非确定性反馈对应的所有字;计算所述非确定性反馈对应的所有字在用户已确认文字的约束下出现的概率;以及,根据计算的概率,将所述非确定性反馈对应的所有字的全部或部分按顺序显示给用户。本发明提高了修正效率并节省了人力;此外,还统一了反馈界面,用户体验更好。

著录项

  • 公开/公告号CN105206267A

    专利类型发明专利

  • 公开/公告日2015-12-30

    原文格式PDF

  • 申请/专利权人 中国科学院计算技术研究所;

    申请/专利号CN201510569945.X

  • 发明设计人 王向东;蔡佳;钱跃良;刘宏;

    申请日2015-09-09

  • 分类号G10L15/22;G10L15/06;

  • 代理机构北京泛华伟业知识产权代理有限公司;

  • 代理人王勇

  • 地址 100190 北京市海淀区中关村科学院南路6号

  • 入库时间 2023-12-18 13:18:56

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-04-02

    授权

    授权

  • 2016-01-27

    实质审查的生效 IPC(主分类):G10L15/22 申请日:20150909

    实质审查的生效

  • 2015-12-30

    公开

    公开

说明书

技术领域

本发明涉及语音识别技术领域,特别涉及语音识别中融合用户反馈结 果提高语音输入效率的领域。

背景技术

近年来,计算机自动语音识别技术取得了长足的进展,涌现出了一批 代表性的应用。但是,由于当前语音识别技术自身的限制,识别错误仍然 不可避免,而很多情况下少数几个错字就能改变整个句子的语义,因而大 大影响了用户的体验和对语音识别技术的热情。

为解决当前语音识别技术与实际应用需求之间的矛盾,一些研究者将 语音识别和人机交互技术相结合,提出了融合用户反馈的语音识别错误修 正方法,其主要特点是提供便捷的交互界面辅助用户对识别结果进行反馈 和修正,以较高的效率得到高准确率的识别结果。候选选择方法作为其中 常见的一种修正方法,对待识别的每句语音,不仅显示语音识别结果,而 且同时为识别结果中的每个字提供多个候选。当第一候选(即语音识别结 果)识别错误时,用户可通过选择其它候选字来纠正该错误,例如以点击 或触摸的形式完成。

然而,由于系统性能的限制,候选选择方法并不能修正所有识别错误, 实际应用中经常出现正确的字不在候选列表中的情况。此时,需要用户反 馈正确的字来修正错误。反馈的方式主要有键盘输入、手写输入以及语音 重新输入等。对于汉语来说,用户的这种反馈在很多情况下是非确定性的, 即反馈的结果并非对应唯一的字,而是可能对应多个字。非确定性反馈又 分成两种情况:第一种是反馈本质上就是非确定性的,例如用键盘输入拼 音,该拼音可能对应多个汉字(或简称为字),需要经过用户进一步的确 认才能对应到唯一的反馈结果;另一种是反馈主观上是确定性的,但由于 当前技术的限制而变成非确定性的,例如手写输入某个字(因为对于用户 手写输入的字,当前的手写识别程序未必能直接给出正确的结果,有可能 会给出几个可能的结果)和语音重新输入某个字。对于上述第一种情况, 需要人工从可能大量的对应汉字中进行确认和选择,例如在拼音输入法中 选择正确的字,效率较低。对于上述第二种情况的用户反馈,现有方法中 有些只采用手写识别或语音识别结果的唯一结果,即可能性最大的结果, 而这种处理有可能因为识别结果不正确而导致错误无法修正;有些方法则 提供多个可能的结果由用户从中进行确认和选择,效率较低。

综上,对于非确定性反馈,现有方法或者仍然需要额外低效的人工确 认,或者可能导致错误无法修正。

发明内容

为解决上述现有技术中存在的问题。根据本发明的一个实施例,提供 一种融合非确定性反馈的语音识别错误修正方法,包括:

步骤1)、接收用户的非确定性反馈,获得所述非确定性反馈对应的所 有字;

步骤2)、计算所述非确定性反馈对应的所有字在用户已确认文字的约 束下出现的概率;

步骤3)、根据计算的概率,将所述非确定性反馈对应的所有字的全部 或部分按顺序显示给用户。

上述方法中,在步骤1)之前还包括:

步骤0)、接收用户的确定性反馈,从而得到在非确定性反馈对应的字 之前的用户已确认文字。

上述方法中,步骤1)包括:

对于用户反馈的拼音,通过查询拼音字典获得所述非确定性反馈对应 的所有字;

对于用户的语音反馈,通过语音识别获得所述非确定性反馈对应的所 有字;

对于用户通过手写反馈的字,通过手写识别获得所述非确定性反馈对 应的所有字。

上述方法中,步骤2)包括:将所述非确定性反馈对应的所有字中的 每个字作为词,基于n元语法模型,计算该词在该词之前的用户已确认文 字之后出现的第一概率P1。可包括以下步骤:

步骤21)、对所述非确定性反馈对应的字之前的用户已确认文字进行 分词,得到词序列<s>,w1,w2,...,wk,其中,<s>表示句子的开始,w1,w2,..., wk表示分词后得到的每个词;

步骤22)、基于三元语法模型,对所述非确定性反馈对应的所有字中 的每个字ci,通过下式计算该字ci对应的第一概率P1

P1=P(ci|wk-1,wk)P(wk|wk-2,wk-1)...P(w2|<s>,w1)P(w1|<s>)。

上述方法中,步骤2)还包括:

对于在所述非确定性反馈对应的所有字中,能够与其前面的用户已确 认文字组成词的字,基于n元语法模型,计算该词在该词之前的用户已确 认文字之后出现的第二概率P3;如果第二概率大于第一概率,则将第二概 率作为对应的字的概率。包括以下步骤:

步骤23)、在所述非确定性反馈对应的所有字中,对于能够与词序列 wk-j,wk-j+1,...,wk组成新词w的字ci,其中0≤j<k,基于三元语法模型,通 过下式计算该字ci对应的第二概率P3

P2=P(w|wk-j-2,wk-j-1)...P(w2|<s>,w1)P(w1|<s>)

P3=aP2

其中,a大于等于1;

步骤24)、对于计算了第一概率P1和第二概率P3的字ci,取P1和P3中的较大值作为字ci的概率。

上述方法中,在计算字ci对应的第二概率P3时,如果字ci与其前面的 一个词wk组成新词w,则a=2;如果字ci与其前面的两个词wk-1和wk共 同组成新词w,则a=5;如果字ci与其前面的三个或更多的词共同组成新 词w,则a=10;其中,对于aP2>1的情况,令P3=1。

上述方法中,步骤3)包括:

将所述非确定性反馈对应的所有t个字按概率从大到小进行排序;取 前p个字,其中p≤t,并且按概率从大到小的顺序显示给用户。

上述方法中,在步骤0)之前还包括:

以候选列表的形式向用户显示待确认的语音识别结果,其中,所述候 选列表融合了用户反馈界面。

上述方法中,所述非确定性反馈可包括拼音输入、语音输入和手写文 字输入。

根据本发明的一个实施例,还提供一种融合非确定性反馈的语音识别 错误修正系统,包括:

用于接收用户的非确定性反馈,获得所述非确定性反馈对应的所有字 的装置;

用于计算所述非确定性反馈对应的所有字在用户已确认文字的约束 下出现的概率的装置;

用于根据计算的概率将所述非确定性反馈对应的所有字的全部或部 分按顺序显示给用户的装置。

本发明具备如下的有益效果:

1.利用已确认正确的文字作为上下文约束,调整非确定性反馈对应的 候选列(其中提高了正确的字出现的位置),从而解决了现有技术中错误 可能无法修正的问题并提高了修正的准确率,相应减少了用户修正操作, 提高了修正效率并节省了人力;

2.将非确定性反馈对应的可能的结果融合到候选列表中呈现以供用 户进一步确认,统一了反馈的界面,与为每种反馈方式提供单独的交互界 面相比,本发明的用户体验更好。

附图说明

以下参照附图对本发明实施例作进一步说明,其中:

图1是根据本发明一个实施例的融合非确定性反馈的语音识别错误修 正方法的流程图;

图2是根据本发明一个实施例的显示给用户的候选列表的示意图;

图3是根据本发明一个实施例的融合了用户反馈界面的候选列表的示 意图;

图4是根据本发明一个实施例的精简词网格的示意图;

图5示出了根据本发明一个实施例的非确定性反馈对应的所有字的序 列;

图6是根据本发明一个实施例的替换了候选列的候选列表的示意图。

具体实施方式

为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图 通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体 实施例仅用以解释本发明,并不用于限定本发明。

根据本发明的一个实施例,提供一种融合非确定性反馈的语音识别错 误修正方法。

概括而言,该方法包括:接收用户的非确定性反馈,获得该非确定性 反馈对应的所有字;计算该非确定性反馈对应的所有字在用户已确认文字 的约束下出现的概率;以及,根据计算的概率将该非确定性反馈对应的所 有字中的全部或部分按顺序显示给用户。

下面结合图1,对该融合非确定性反馈的语音识别错误修正方法进行 详细描述。

第一步:向用户显示通过自动语音识别生成的候选列表

在本步骤中,使用自动语音识别模块对输入的每一句语音进行自动识 别,保留中间识别结果,即词网格,并将该词网格转换为以字为单位的一 个候选列表,显示在用户的屏幕上。在一个候选列表中,每个候选列(或 简称列)与所识别的一句语音中的一个汉字的发音相对应,每一列可包括 若干具有竞争关系的候选字。具体地,对于由自动语音识别模块识别的一 句语音,该句第一个汉字的发音对应候选列表左起第一列,且该列从上往 下列举了自动语音识别模块对第一个汉字的发音识别出的候选字,该句第 二个汉字的发音对应候选列表左起第二列,以此类推。进一步地,在每个 候选列中,从上往下的第一个候选字可以是自动语音识别模块的默认识别 结果。

图2示出了在用户屏幕上显示的与所识别的一句语音对应的一个候选 列表的示例,为了清楚的目的,仅示出了该候选列表的一部分(即前14 列)。如图2所示,该候选列表的每个候选列包括一个或多个候选字,并 且每个候选列的第一个字是自动语音识别模块的默认识别结果。

本领域技术人员应理解,上述自动语音识别模块可以采用现有技术来 构建,也可以利用第三方提供的语音识别模块或网络语音识别接口。举例 来说,该自动语音识别模块可基于如下参数构建:声学特征为MFCC、短 时能量及其一阶、二阶差分,声学模型为带调三音子的HMM模型,语言 模型为3-gram模型,词表规模为120K,解码算法为基于令牌传递的深度 优先搜索算法。此外,本领域技术人员还应理解,上述词网格(wordlattice) 是一个有向无环图,其中每个结点对应一个词,每条弧为从一个结点指向 另一个结点的有向连接。这里,可优选使用N-best词网格,N-best词网格 是由概率最高的前N条识别结果对应的结点和弧构成的词网格,N的取值 可根据实际情况来确定,一般在几十至数百之间。从词网格生成候选列表 的方法可参考申请号为201010269306.9的中国专利申请(名称为“一种交 互式语音识别系统和方法”)的公开内容。

第二步:接收用户对候选列表中的候选列的校验,直到某个候选列中 没有正确的候选字或者校验完成

通常,用户对于上述候选列表,按从左到右的顺序校验每个候选列, 也就是在每一列的候选字中确认正确的字。

可提供一个用户反馈界面供用户进行校验(如,确认候选列中正确的 字),优选地,可将用户反馈界面与候选列表融合,使用户可以直接在候 选列表上完成校验。例如,用户可通过点击候选列中正确的候选字来完成 该列的校验,而在用户点击后,相应的列(被点击的列)可以仅显示用户 点击的正确的字。如果候选列中的第一个候选字就是正确的字,则用户也 可以不对其进行点击而直接进入下一列的校验,在这种情况下,当用户在 某一列中点击,或者用户对该列做出了非确定性反馈,则之前(即该列左 边的)未点击的列此时可仅显示其第一个候选字。

再次参见图2,当前用户已校验完第六列(例如用户点击了“与”字), 则该字与该字之前(左边)的每个候选列都仅显示正确的字,而之后的每 一列仍显示多个候选字。

第三步:接收用户的非确定性反馈

如果用户在校验某一候选列时没有找到正确的候选字,则可针对该列 进行非确定性反馈。

如上文所述,用户反馈界面可与显示给用户的候选列表融合,则用户 可直接在候选列表中进行反馈。如图3所示,候选列表中每一列的上方具 有一个输入文本框,用户可通过在其中键入拼音来提供对该候选列的非确 定性反馈。从图3可见,当前校验的是第13列,该列对应的正确字为“漆”, 但该列中没有正确的候选字“漆”,则用户可以向该列上方的文本框输入 “漆”的拼音“qi”。这种非确定性反馈属于键盘输入。

此外,用户还可以通过语音输入或手写输入等操作来做出非确定性反 馈。例如,用户可通过麦克风输入语音。再如,用户也可以通过触摸屏或 手写板等设备进行非确定性反馈。

第四步:获得非确定性反馈对应的所有字

在第三步接收到用户的非确定性反馈之后,需要得到该非确定性反馈 对应的所有汉字,以下分三种情况来进行说明:

1.对于用户输入的拼音,可通过查询拼音字典得到该拼音对应的所有 字。需要注意的是,由于这些字没有经过特定的规则排序,如果直接用作 候选,则会在候选列表的对应候选列中依据拼音字典中的顺序显示。

2.对于用户输入的语音,可利用语音识别技术得到对应的所有字。例 如,由自动语音识别模块进行识别,并将识别的结果用作该非确定性反馈 对应的所有字。

3.对于用户手写输入的汉字,可利用手写识别技术得到对应的所有 字。

然而,无论是语音识别还是手写识别,所得到的所有字的顺序均与所 使用的语音识别技术和手写识别模块有关。这可能导致用户在检验时,难 以轻松找到正确的字。

第五步:对非确定性反馈对应的所有字进行排序

如上文所述,如果直接将第四步得到的非确定性反馈对应的所有字显 示给用户,则对于拼音输入来说,该所有字的显示顺序由该字在拼音字典 中的顺序确定;而对于语音输入或手写输入文字来说,该所有字的显示顺 序由所使用的语音识别模块或手写识别模块自身确定。

然而,事实上,一句语音所对应的文字中的每个字是存在上下文约束 的。并且如上文所述,在检验候选列表的某一列时,该列之前的字都是用 户确认(校验)过的。如果考虑和充分利用这种上下文约束,就有可能在 非确定性反馈对应的所有字中选出最符合上下文的字,即可能得到正确的 字。因此,在本步骤的一个实施例中,基于非确定性反馈对应的字之前的 字串的约束,来计算该字的概率,并且按概率大小对非确定性反馈对应的 所有字进行排序。

概括而言,对于一个非确定性反馈对应的所有字,计算其中每个字在 之前字串(即用户已确认的文字)出现的条件下随后出现的概率,如果该 字可以和前面已确认的文字组成词语,则还可以相应提高该字的概率。

下面将详细描述本步骤的各个子步骤:

1.对已确认的文字进行分词,重新建立较简单的词网格,称为精简词 网格。

如上文所述,当用户校验某一候选列时,该列之前的每列的正确字已 被用户确认过。在本子步骤中,将用户已确认的文字采用自动分词系统切 分为词,然后为每个词建立一个词网格结点,并在相邻的词之间创建一条 弧进行连接,即生成精简词网格。其中,自动分词系统可例如是第三方提 供的ICTCLAS分词系统。

图4给出了分词以及生成精简词网格的一个例子。其中,需要识别出 的文字是“中国是一个雾霾严重的城市”,而自动语音识别结果是“中国 是一个雾霾严冲的城市”。用户在对生成的候选列表从左到右校验时,发 现自动语音识别结果没有给出正确的候选字“重”,并因此做出非确定性 反馈。这时,用户已确认的文字是“中国是一个雾霾严”。通过利用自动 分词系统对这部分文字进行分词,得到的结果是“中国/是/一个/雾霾/严”。 接着,为分词后得到的各个词语(或简称词)创建节点,并用弧将有先后 关系的节点连接起来,从而得到精简词网格,如图4所示。图4中,<s> 是定义的特殊结点,用于表示句子开始。

2.对于非确定性反馈对应的每一个字,结合用户已确认文字的分词结 果和得到的精简词网格,计算该字在已确认文字约束下的概率。

其中,概率的计算可采用n元语法模型(n-gram模型),优选地,可 采用三元语法(3-gram)模型。三元语法模型是n元语法模型中n取3时 的模型,是当前最为常用一种语言模型。该模型需预先采用大量的文本语 料进行训练,训练完成后可给出当两个词w1,w2在一段文字中连续出现时, 后面出现的词是另一个词w3的概率,即P(w3|w1,w2),其中w1,w2,w3均为 词典中任意的词。另外,在训练三元语法时,也会一并训练更低级的二元 语法。类似地,二元语法可给出当任意词w1在一段文字中出现时,后面 的词是另一任意词w2的概率,即P(w2|w1)。三元语法和二元语法训练可采 用当前已有的各种方法,例如,可采用公开的工具包SRILM(SRILanguage ModelingToolkit)。

假设已确认文字在分词后形成的词序列为<s>,w1,w2,...,wk,且当前非 确定性反馈对应的所有字的字序列为c1,c2,...,cm,则采用三元语法的概率 计算方式如下:

对于c1,c2,...,cm中的任一汉字ci(1≤i≤m),将ci作为一个词,基于三 元语法,计算在之前已确认的文字(即<s>,w1,w2,...,wk)出现的条件下 ci出现的概率P1,公式如下:

P1=P(ci|wk-1,wk)P(wk|wk-2,wk-1)...P(w2|<s>,w1)P(w1|<s>)(1)

3.如果非确定性反馈对应的某个字可以与其前面的词或词序列组成新 词,则采用三元语法,计算该新词在已确认文字约束下的概率。计算方式 如下:

首先,对于c1,c2,...,cm中的每个字,查找词典,确定这些字是否可以 和wk、词序列(wk-1,wk),甚至词序列(wk-j,wk-j+1,...,wk)(2≤j<k)共同组 成一个新的词。

其次,如果其中的某个字可以与其前面的词或词序列(wk-j,wk-j+1,..., wk)(0≤j<k)组成新词w,则可如下式所示,基于该新词w计算概率P2

P2=P(w|wk-j-2,wk-j-1)...P(w2|<s>,w1)P(w1|<s>)(2)

另外,由于这种可以组成词的情况往往更可能对应到正确的字,因此 可对概率P2进行一些额外的奖励,如下式所示:

P3=aP2(3)

其中a为奖励系数且大于等于1,例如,a的取值可在1至20之间。

优选地,如果非确定性反馈对应的某个字与其之前的一个词wk组成新 词,则a=2;如果该字与其之前的两个词wk-1,wk共同组成新词,则a=5; 如果该字与其之前的三个或以上的词共同组成新词,则a=10。其中,对于 aP2>1的情况,可令P3=1。

4.对于非确定性反馈对应的所有字中的每个字,取其按上述方法计算 得到的P1和P3(如果存在的话)中的最大值作为其概率,并将所有字按 概率从大到小进行排序。

第六步:对于排好序的字,选择其中的部分或全部显示在屏幕上以供 用户确认

为了更好地提高用户的体验,并考虑到候选列的长度限制,本步骤中, 在非确定性反馈对应的所有字中,可按概率从大到小选择适当数量(一般 为5-20)的字,并将这些字重新显示在该非确定性反馈所对应的候选列上 (即用选择的字代替原本的候选列中的候选字),作为重新生成的候选列 供用户校验。其中,在重新生成的候选列中,按概率从大到小的顺序将所 选择的字在该候选列中从上往下排列。

在重新生成了非确定性反馈所对应的候选列之后,返回第二步。

为验证本发明提供的融合非确定性反馈的语音识别错误修正方法的 效果,现基于图2和图3中示出的自动语音识别结果,以用户的非确定性 反馈“qi”(其中通过键盘反馈该拼音)为例,重新生成该非确定性反馈所 对应的候选列。

首先,对于用户反馈的拼音“qi”,查询拼音字典得到该拼音对应的所 有字。共有53个,其中正确字“漆”在拼音字典中排第29个,如图5所示。 (应理解,由于这些字没有经过特定的规则排序,如果直接用作候选,会 依据拼音字典中的顺序来显示)。

因此,目前用户已确认的文字为“或者为了能与整个汽车的油”。对其 利用自动分词系统进行分词,结果为“或者/为了/能/与/整个/汽车/的/油”, 一共有8个词。

接着,基于该分词结果计算拼音“qi”对应的所有字的概率,具体步骤 如下:

1.利用三元语法,根据公式(1)计算“qi”对应的53个字单独作为词 的概率,以第一个字“其”为例,如下式所示:

P1=P(其|的,油)P(油|汽车,的)...P(为了|<s>,或者)P(或者|<s>)(4)

2.查找词典,在拼音“qi”对应的所有53个汉字中,有两个字“漆” 和“气”可以和前一个词“油”组成新词“油漆”或“油气”。根据公式 (2)和(3),以“漆”为例得到下式:

P3=aP2=2*P(油漆|汽车,的)...P(为了|<s>,或者)P(或者|<s>)(5)

以及,以“气”为例得到下式:

P3=aP2=2*P(油气|汽车,的)...P(为了|<s>,或者)P(或者|<s>)(6)

3.由于“漆”和“气”字既能作为单个词,也能够组词,有两个概率P1和P3。则对于这两个字,选择P1和P3中较大的概率为字的概率。

经过上述概率计算,按照概率从大到小的顺序,将所有字排序为“气、 漆、其、起、奇、期、齐、契、汽、启、淇、旗、器、企、崎、歧、缉、 迄、祺、稽、骑、弃、岐、祈、耆、亟、俟、欺、綮、蹊、麒、沏、畦、 脐、乞、泣、讫、祈、芪、荠、萋、葺、蕲、嘁、汔、骐、绮、琦、憩、 颀、綦、栖、戚、妻、岂、杞、棋、凄、鳍、砌”。

选择前10个重新显示在候选列表中“qi”对应的候选列上。即从上到下 分别为“气、漆、其、起、奇、期、齐、契、汽、启”,如图6所示。

根据图5和图6可见,如果直接使用通过查询拼音字典得到的“qi”对 应的所有字来重新生成候选列,则正确的字“漆”在候选列的第29个位置。 而在经过本发明的方法调整后,上升到候选列的第2位。可见,本发明对 于提高正确结果在候选列中的位置有明显的效果,从而能够进一步提高修 正效率。

根据本发明的一个实施例,还提供一种融合非确定性反馈的语音识别 错误修正系统,包括:

用于接收用户的非确定性反馈,获得该非确定性反馈对应的所有字的 装置;

用于计算该非确定性反馈对应的所有字在用户已确认文字的约束下 出现的概率的装置;

用于根据计算的概率将该非确定性反馈对应的所有字的全部或部分 按顺序显示给用户的装置。

应当理解,虽然本说明书是按照各个实施例描述的,但并非每个实施 例仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起 见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案 也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

以上所述仅为本发明示意性的具体实施方式,并非用以限定本发明的 范围。任何本领域的技术人员,在不脱离本发明的构思和原则的前提下所 作的等同变化、修改与结合,均应属于本发明保护的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号