一种对语音识别后文本进行检错并纠错的方法

文档序号:6575525阅读:447来源:国知局
专利名称:一种对语音识别后文本进行检错并纠错的方法
技术领域
本发明涉及自然语言处理技术领域,特别涉及一种对语音识别后文本进 行检错并纠错的方法。
背景技术
语音识别技术是一种让机器通过识别和理解,把人类的语言转变为相应 的文本的技术,其最终目的是让机器"听懂"人类的语言,实现人类与机器 的自由交流。然而,现有语音识别后文本中经常会有很多错误,也即语音识 别率并不是很高,从而影响了人类与机器之间的正常交流,因此,提高语音 识别率成了语音识别技术中的当务之急。
为了提高语音识别率,也就需要对语音识别后文本进行检错并纠错。

发明内容
有鉴于此,本发明提供了 一种对语音识别后文本进行检错并纠错的方 法,以提高语音识别率、实现人类与机器的自由交流。
为达到上述目的,本发明的技术方案具体是这样实现的
一种对语音识别后文本进行检错并纠错的方法,用于对语音识别后文本 中的文本句进行检错,并对检错后文本句中的错误词语进行纠错,包括
按照所述语音识别后文本中的文本句所属领域,分别创建包含有N元语法 值集合的第二语法知识库,包含有核心词集合的第二语义知识库,以及第二语 境知识库,其中,第二语境知识库包含有核心词、由包含核心词的文本句形成 的实例、以及所述核心词与其实例中除该核心词之外的其它词语的语境关联度 集合;并且,所述第二语法知识库独立于包含有通用语法知识的第一语法知识 库,所述第二语义知识库独立于包含有通用语义知识的第一语义知识库;将所述语音识别后文本中的文本句转换成拼音形式的文本句,从所述第二
语法知识库中获取所述拼音形式的文本句的N元语法值,将N元语法值大于阈 值7^的N个拼音对应的词语和所述第二语义知识库中的核心词的并集作为所述 语音识别后文本中的文本句的锚点词,其中,所述N为自然数;
查找所述第二语境知识库,获取每个锚点词对应的实例;基于第二语境知 识库中的语境关联度和第一语义知识库中的语义相似度,计算所述语音识别后
度,并根据所述词语相关度计算所述获取的实例与所述语音识别后文本中的文 本句的文本相关度,获取每个锚点词对应的实例中文本相关度最大的实例; 基于第二语境知识库中的语境关联度和第一语义知识库中的语义相似度,
计算所述语音识别后文本中的文本句中的词语与所述获取的每个锚点词对应的 实例中文本相关度最大的实例的词语相关度,如果所述词语相关度大于阈值7;, 则将所述词语作为正确词语,将所述语音识别后文本中的文本句中正确词语以 外的其它词语作为错误词语;
从第一语法知识库中获取候选词语,如果所述候选词语与所述获取的文 本相关度最大的实例和谐,则将所述候选词语替换所述错误词语。
由上述的技术方案可见,本发明所采用的对语音识别后文本进行检错并 纠错的方法,是分别对语音识别后文本中的每一个文本句进行检错、并对检 错后的文本句中的错误词语进行纠错的。由于该方法中所采用的第二语法知 识库、第二语义知识库和第二语境知识库都是针对所述语音识别后文本中的 文本句所属领域创建的,而且通过上述创建的特定领域的第二语法知识库和 第二语义知识库来获取锚点词,也就使得获取的锚点词是特定领域下的,并 通过该特定领域下的锚点词来获取实例,进一步地,通过实例来计算其与所 述语音识别后文本中中的文本句的文本相关度,也就使得在对文本句进行检 错纠错时充分结合了文本句所属领域下的语法、语义以及语境知识,能够对 语音识别后文本进行准确的检错并纠错,从而提高语音识别率、实现人类与机器的自由交流。


图1为本发明对语音识别后文本进行检错并纠错的工作流程图。
图2为本实施例所采用的第二语法知识库的创建方法的工作流程图。 图3为本实施例所采用的第二语义知识库的创建方法的工作流程图。 图4为本发明采用第二语法知识库定位锚点词的工作流程图。 图5为本发明抽取实例的工作流程图。
图6为本发明所采用的第二语境知识库的创建方法的工作流程图。 图7为本发明所采用的检错方法的工作流程图。 图8为本发明所采用的纠错方法的工作流程图。
具体实施例方式
为解决现有技术中存在的问题,本发明提出一种检错并纠错语音识别后 文本的方法,即基于实例对语音识别后文本进行检错并纠错确定好每个文 本句中的锚点词,抽取所述确定的锚点词的实例,并才艮据所述抽取的实例对
文本句进行检错并纠错,由于该方法中所采用的第二语法知识库、第二语义 知识库和第二语境知识库都是针对所述语音识别后文本中的文本句所属领
域创建的,而且通过上述创建的特定领域的第二语法知识库和第二语义知识 库来获取锚点词,也就使得获取的锚点词是特定领域下的,并通过该特定领 域下的锚点词来获取实例,进一步地,通过实例来计算其与所述语音识别后 文本中中的文本句的文本相关度,也就使得在对文本句进行检错纠错时充分 结合了文本句所属领域下的语法、语义以及语境知识,能够对语音识别后文 本进行准确的检错并纠错,从而提高语音识别率、实现人类与机器的自由交流。
在介绍具体的实现方案之前,首先介绍一下文本句的概念,目标词、核 心词、语境词和锚点词这四个词的概念,语境知识库、语法知识库和语义知识库这三个知识库的积无念以及文本相关度、词语相关度、语境关联度和语义 相似度的概念。
文本句是指具有完整结构的一个句子,例如以逗号结尾的一句话,或以 句号结尾的一句话等。
目标词是从研究对象的角度来说的,即所要研究的目标对应的词语;核 心词和语境词是从使用功能的角度来说的,其中,核心词是针对一个特定领 域来说的,是最能体现一个特定领域中的具有代表意义的词语,语境词则是 针对一个目标词来说的,且一个词语既可以是核心词又可以是语境词;锚点 词是指被语音识别后文本中的被识别为正确的可能性很高的词语,是作为本 发明检错并纠错语音识别后文本的基准点的词语。
语境知识库是用于提供特定领域中的语境相关知识的一种知识库;语法 知识库是用于提供与语法相关内容的一种知识库;语义知识库是用于提供表 现各种语义知识的 一种知识库。
文本相关度是指两个文本句之间的相关程度;词语相关度是指两个文本 句中其中某一个文本句的某个词语与另 一个文本句的词语之间的相关程度, 它由语境关联度和语义相似度两部分组成,其中,语境关联度是指某个特定 领域中的两个词语在同一个文本句中共现的概率,而语义相似度是两个词语 在意义上的相近程度。
基于上述介绍,本发明所述方案的具体实现包括
按照所述语音识别后文本中的文本句所属领域,分别创建包含有N元语法 值集合的第二语法知识库,包含有核心词集合的第二语义知识库,以及第二语 境知识库,其中,第二语境知识库包含有核心词、由包含核心词的文本句形成
的实例、以及所述核心词与其实例中除该核心词之外的其它词语的语境关联度 集合;并且,所述第二语法知识库独立于包含有通用语法知识的第一语法知识 库,所述第二语义知识库独立于包含有通用语义知识的第 一语义知识库;
语法知识库中获取所述拼音形式的文本句的N元语法值,将N元语法值大于阈
9值石的N个拼音对应的词语和所述第二语义知识库中的核心词的并集作为所述 语音识别后文本中的文本句的锚点词,其中,所述N为自然数;
查找所述第二语境知识库,获取每个锚点词对应的实例;基于第二语境知 识库中的语境关联度和第一语义知识库中的语义相似度,计算所述语音识别后 文本中的文本句中的每个词语与每个所述获取的实例中所有词语的词语相关 度,并#4居所述词语相关度计算所述获取的实例与所述语音识别后文本中的文 本句的文本相关度,获取每个锚点词对应的实例中文本相关度最大的实例;
基于第二语境知识库中的语境关联度和第一语义知识库中的语义相似度,
计算所述语音识别后文本中的文本句中的词语与所述获取的每个锚点词对应的 实例中文本相关度最大的实例的词语相关度,如果所述词语相关度大于阈值7;, 则将所述词语作为正确词语,将所述语音识别后文本中的文本句中正确词语以 外的其它词语作为错误词语;
从第 一语法知识库中获取候选词语,如果所述候选词语与所述获取的文 本相关度最大的实例和谐,则将所述候选词语替换所述错误词语。
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举 实施例,对本发明进一步详细说明。
图1为本发明对语音识别后文本进行检错并纠错的工作流程图。如图1 所示,该流程包括以下步骤
步骤101:将语音识别后文本中的第一个文本句作为当前文本句。
别后文本中有词语和文本句两种表现形式,本实施例是对文本句 进行处理的,且在对文本句进行处理时,是依次对语音识别后文本中的每一 个文本句分别进行处理的,因此,需要将语音识别后文本中的第一个文本句 作为当前文本句。
步骤102:对当前文本句进行预处理,得到当前文本句中所有的词语。 为了方便后续操作,需要对当前文本句进行预处理。本步骤所采用的预 处理方法为首先,对当前文本句进行中文分词,也即将当前文本句这种表本句中所有的词语的表现形式;再者,如果当前文本句中 有一些标点,还需要将这些标点进行去除等。对当前文本句进行预处理后就 得到了当前文本句中所有的词语。需要说明的是,具体的中文分词以及去除标点操作为现有技术,这里不 再赘述。步骤103~104:定位当前文本句中的锚点词,并判断是否定位成功,如 果是,执行步骤105;否则,执行步骤117。在本实施例中,锚点词的定位有两种方法 一种是依据语法知识库定位 锚点词;另一种是依据语义知识库定位锚点词。下面分别对采用这两种方法 定位锚点词的具体过程进行详细描述。由于定位锚点词是在所述语音识别后文本中的文本句所属的特定领域 中进行的,而现有的语法知识库和语义知识库体现的都是一种比较宽泛领域 中的通用语法知识和通用语义知识,而并没有限定该特定领域,从而,本实 施例所需的定位锚点词的语法知识库和语义知识库的内容在现有语法知识 库和语义知识库中是不存在的,因此,在定位锚点词之前,首先需要创建定 位锚点词时所采用的能够体现特定领域包含有N元语法值集合的语法知识 库和包含有核心词集合的语义知识库。为了描述方便,将现有的语法知识库 和语义知识库分别称为第一语法知识库和第一语义知识库,将本实施例中定 位锚点词时所釆用的能够体现特定领域的语法知识库和语义知识库分别称 为第二语法知识库和第二语义知识库。下面分别对本实施例所采用的第二语 法知识库和第二语义知识库的创建过程进行详细描述。图2即为本实施例所采用的第二语法知识库的创建方法的工作流程图。 如图2所示,该方法包括以下步骤步骤201:选定某个特定领域。在本实施例中,依据第二语法知识库定位锚点词是在特定领域中进行 的,因此,创建第二语法知识库时也就需要选定某个特定领域。其中,选定 的特定领域可以为医药领域、电学领域、化学领域等大层次的领域,也可以为上述大层次领域下的某个小层次领域。需要说明的是,这里的特定领域指的是所述语音识别后文本中的文本句 所属领域。步骤202:搜索该特定领域对应的文本。在选定好特定领域之后,进一步地,还需搜索该特定领域所对应的文本, 具体的搜索文本方法有很多种,如利用因特网进行在线搜索等。在实际中可 采用任何搜索文本的方法,以不影响本发明实施例的实现为准。步骤203:对步骤202得到的文本中所有的文本句进行预处理。 对文本句进行预处理的方法有很多种,在本步骤中采用的预处理方法同 步骤102中所采用的预处理方法是有区别的,由于在本实施例中主要采用了 语法中的拼音知识,因此,这里的预处理还需要将汉字形式的文本句转换为 拼音形式的文本句的步骤,具体的预处理过程为首先,去除文本句中的标 点符号;其次,将去除标点符号之后的汉字形式的文本句转换为相应的拼音 形式的文本句。需要说明的是,如果在文本句中出现了阿拉伯数字,则需将阿拉伯数字 形式转换为相应的汉语对应的数字形式,如果出现的阿拉伯数字对整个文本 句影响不大,则需直接将阿拉伯数字进行去除;同样地,如果在文本句中出 现字母,并且出现的字母对整个文本句影响不大,则直接去除文本句中的字 母。具体的转换操作以及去除操作为现有技术,这里不再赘述。步骤204:建立由步骤203中得到的预处理后的文本句的N元语法模型。在得到了拼音形式的文本句之后,就可以建立拼音形式的文本句的N 元语法模型,也即统计所有相邻N个字的拼音出现的概率,具体的建立过 程为现有技术,这里不再赘述。还需说明的是,这里N的取值为1, 2或3等自然数,当N值过小时, 建立的N元语法模型中的值都过大,后续在定位锚点词时会出现锚点词过 多的情况;当N值过大时,建立的N元语法模型中的值都过小,从而使得 定位锚点词时会出现遗漏的情况。因此,在本实施例中,采用了N-2或3,也即建立的是二元语法模型或三元语法模型。步骤205:对建立的N元语法模型进行平滑处理,得到第二语法知识库。 在建立好N元语法模型、也即二元语法模型或三元语法模型之后,进 一步地,由于建立好的语法模型中可能会出现数据稀疏的情况,而这种情况 的出现在语法模型中是不合理的,因此,需要对建立好的语法模型进行平滑 处理。在本实施例中,采用了对语音识别结果处理效果较好的Witten-Bell (威 顿-贝尔)插值平滑方法对建立好的语法模型进行平滑处理,实际中也可以 采用其它的平滑处理方法,以不影响本发明实施例的实现为准。对语法模型进行平滑处理后,即完成了本发明定位锚点词所采用的第二 语法知识库的创建过程。下面对本发明定位锚点词所采用的第二语义知识库 的创建方法的工作流程进行描述,如图3所示,该方法包括以下步骤步骤301:搜索选定的特定领域所对应的文本,并预先设定该特定领域 中的几个语境词。同创建第二语法知识库一样,在创建第二语义知识库时,也需要选定特 定领域并对该特定领域所对应的文本进行搜索,具体的选定以及搜索过程同 创建第二语法知识库。需要说明的是,这里的特定领域指的是所述语音识别后文本中的文本句 所属领域。同时,还需要预先设定所述选定的特定领域中的几个语境词,这里的语 境词的具体个数是不定的, 一般取1-2个语境词即可。需要说明的是,本发明所说的特定领域指的都是同 一 个特定领域。步骤302:对由步骤301得到的文本中所有的文本句进行预处理,并将 预先设定的语境词作为种子词库。本步骤中所采用的预处理的方法同步骤102中预处理的方法基本上是 一致的,即都需要对文本句进行中文分词,并且对分词后的文本句进行去除 标点等,不同之处在于,该步骤是对由步骤301得到的文本中所有的文本句13停用词。同时,还需将预先设定的特定领域中的几个语境词作为种子词库。步骤303:将种子词库中的第一个语境词作为当前语境词。 在本实施例中,是依次对给出的每个语境词分别来进行处理的,因此,需要将种子词库中的第 一个语境词作为当前语境词。步骤304 305:获取步骤302得到的所有文本句中与当前语境词在同一个文本句中出现的词语,计算所述获取到的所有词语的频数,并判断当前语境词是否是种子词库中的最后一个语境词,如果是,执行步骤307;否则,执行步骤306。对于每个当前语境词来说,都需要获取由步骤302得到的所有文本句中 与当前语境词在同一个文本句中出现的所有词语,并计算所述获取到的所有 词语的频数,得到了所有词语的频数后,还需进一步判断当前语境词是否是 种子词库中的最后一个语境词,如果是种子词库中的最后一个语境词,执行步骤307;如果当前语境词不是种子词库中的最后一个语境词,则执行步骤 306。如何计算频数已为现有技术,这里不再对其进行赘述。 步骤306:将当前语境词的下一个语境词作为当前语境词,并返回执行 步骤304。如果当前语境词不是种子词库中的最后一个语境词,需要将种子词库中 当前语境词的下一个语境词作为当前语境词,并返回执行步骤304。步骤307:按照计算出的所有词语的频数的高低对所有词语进行排序。统计获取到的所有词语,并对其按照计算出的频数高低进行排序,具体 的排序方式可以有多种,以不影响本发明实施例的实现为准。步骤308:将频数最高的词语作为当前词语。将按照频数高低排序后的所有词语中频数最高的词语作为当前词语。 步骤309:判断当前词语是否在频数最高的词语的前三位,如果是,执 行步骤310;否则,执行步骤313。判断当前词语是否在排好序的频数最高的词语的前三位,如果当前词语在频数最高的词语的前三位,执行步骤310;如果当前词语不在频数最高的 词语的前三位,则执行步骤313。需要说明的是,在本实施例中,选取的只是前三位频数最高的词语,实 际中可以选取更少或者更多的词语,当选取的词语过多时,可能会得到很多 的核心词,而有些词语并不一定是核心词的情况;当选取的词语过少时,可 能会出现一个核心词都得不到的情况。通过实验证明,选择排好序的前三位 频数最高的词语是比较合理的。步骤310:判断当前词语是否在种子词库中,如果是,执行步骤311; 否则,执行步骤312。当当前词语在频数最高的词语的前三位时,还需进一步判断当前词语是 否在种子词库中,如果当前词语在种子词库中,执行步骤311;如果当前词 语不在种子词库中,则需执行步骤312。步骤311:将当前词语的下一个词语作为当前词语,并返回执行步骤309。如果当前词语在种子词库中,则需将当前词语的下一个词语作为当前词 语,并返回执行步骤309。步骤312:将当前词语加入到种子词库中。如果当前词语不在种子词库中,则需将当前词语加入到种子词库中。 步骤313:根据种子词库对由步骤302得到的所有文本句中的词语进行 卡方检验。根据种子词语对由步骤302得到的所有文本句中的词语进行卡方检验 实际上是根据种子词库中的每一个词语依次对由步骤302得到的所有文本 句中的词语进行卡方4企验来实现的,下面以种子词库中的 一个词语对由步骤 302得到的所有文本句中的词语进行卡方检验为例来说明卡方检验的过程。首先,将种子词库中的第一个词语作为当前检验词语,将所有文本句中 的第 一个词语作为当前被检验词语,并令a表示在所有文本句中当前检验词语与当前被检验词语都出现的文本句的个数,b表示在所有文本句中未出现 当前检验词语、而出现当前被检验词语的文本句的个数,c表示在所有文本 句中出现当前检验词语、而未出现当前被4企验词语的文本句的个数,d表示 在所有文本句中当前检验词语与当前被检验词语都未出现的文本句的个数, 则当前被检验词语的卡方值V按照如下公式计算,其中,V值小于0表示当前检验词语与当前被检验词语之间存在正关联; 反之,则表示两者之间存在负关联,且绝对值越大,两者的关联度越强;当 V值等于0时,表示两者没有任何关联。当计算出当前被检验词语的V值后,需要将当前被检验词语的下一个 词语作为当前被检验词语,直至得到由步骤302得到的所有文本句中的所有 词语的V值。然后,将当前检验词语的下一个词语作为当前检验词语,重复上述过程, 直至当前检验词语为种子词库中的最后 一 个词语。经过上述步骤的操作后,即可得到由步骤302得到的所有词语的卡方 值,分别将每个词语由种子词库中的所有不同词语分别得到的卡方值进行相 加,即可得到每个词语的总卡方值,从而完成了卡方检验的整个过程。步骤314:按照每个词语的总卡方值的大小对所有词语进行排序。在得到了每个词语的总卡方值之后,需要按照总卡方值的大小对文本中 所有词语进行排序,具体的排序方式可以有多种,以不影响本发明实施例的实现为准。步骤315:按照总卡方值的大小获取一定数量的词语作为核心词,得到 第二语义知识库。根据文本的长度,从卡方值最大的几个词语中获取大于某一阈值的词语 作为核心词即得到了本发明所采用的第二语义知识库,所述阈值的大小由所 需选取得核心词数量来确定。长度为依据的, 如果获取的词语相对于文本长度来说比例过小,则会出现获取到的词语不能覆盖所有核心词、即核心词被遗漏的情况;如果获取的词语相对于文本长度 来说比例过大,则会出现核心词中存在很多原本并不是核心词的词语的情 况。实验证明,从每包含500个字的文本中获取前5个卡方值最大的词语作 为核心词是比较合理的。至此,即完成了本发明定位锚点词所采用的第二语义知识库的创建过程。在创建完第二语法知识库和第二语义知识库之后,即可分别利用所创建 的第二语法知识库和第二语义知识库来定位锚点词。下面分别对本发明定位锚点词的过程进行详细说明。图4即为本发明采用第二语法知识库定位锚点 词的工作流程图,如图4所示,该流程包括以下步骤步骤401:对由步骤102得到的当前文本句进行预处理,得到拼音形式 的当前文本句。由于第二语法知识库中是由拼音形式的文本句得到N元语法值的,因 此,在采用第二语法知识库定位锚点词时需要将汉字形式的文本句转换为相 应的拼音形式。步骤402:将当前文本句中的前N个拼音作为当前N个^f音。前面已经描述过,在本实施例中,采用的是二元语法模型或三元语法模 型,因此,这里需要将当前文本句中的前二个拼音作为当前二个拼音、或者 将当前文本句中的前三个拼音作为当前三个拼音。步骤403 404:从第二语法知识库中获取当前N个拼音的N元语法值, 并判断所述获取到的N元语法值是否大于阈值7;,如果是,执行步骤405; 否则,执行步骤406。在本步骤中,即可直接从创建好的第二语法知识库中获取当前二个拼音 的二元语法值、或者当前三个拼音的三元语法值,进一步地还需判断所述获取到的二元语法值、或者三元语法值是否大于设定的阈值7;,如果大于,执 行步骤405;否则,执行步骤406。
需要说明的是,7;为大于0小于1的实数,如果7;取值过小,则会出现 获取很多错误的锚点词的情况,也即此时获取到的锚点词并非真正的锚点 词;如果T取值过大,则会出现遗漏锚点词的情况。此外,对于二元语法值 和三元语法值来说,t;的大小又有所不同,实验证明,对于二元语法值来说,
7;=0.002是比较合理的;对于三元语法值来说,石=0.0015是比较合理的。
步骤405:将当前N个拼音对应的词语作为锚点词。
如果获取到的二元语法值、或者三元语法值大于设定的7;,则将当前二 个拼音所对应的词语、或者将当前三个拼音所对应的词语作为锚点词即可。
步骤406:判断当前N个拼音是否是当前文本句中的最后N个拼音, 如果是,则结束锚点词的定位过程;否则,执行步骤407。
如果获取到的二元语法值、或者三元语法值不大于设定的7;,则需进一 步判断当前二个拼音、或者当前三个拼音是否是当前文本句中的最后二个拼 音、或者是最后三个拼音,如果是,则结束定位锚点词的过程;否则,执行 步骤407。
步骤407:将当前N个拼音的下一个N个拼音作为当前N个拼音,并 返回执行步骤403。
如果当前二个拼音不是当前文本句中的最后二个拼音、或者当前三个拼 音不是当前文本句中的最后三个拼音,则需进一步地将当前二个拼音的下一 个二个拼音作为当前二个拼音、或者将当前三个拼音的下一个三个拼音作为
当前三个4并音,并返回执行步骤403。
至此,即完成了本发明采用第二语法知识库定位锚点词的整个过程。 采用本发明所创建的第二语义知识库定位锚点词的具体过程为提取第
二语义知识库中的所有核心词,并将所述提取到的所有核心词直接作为由步
骤102得到的当前文本句中的锚点词。
18通过这两种方法分别定位好锚点词之后,还需将通过这两种方法得到的
锚点词进行合并,从而得到了本步骤中所需的由步骤102得到的当前文本句 中的锚点词。
此外,还需进一步判断依据这两种方法是否能够成功定位到锚点词,如 果成功定位到锚点词,则需执行步骤105;如果没有定位到锚点词,说明由 步骤102得到的当前文本句是无法进行处理的,则需执行步骤117。
还需说明的是,在本实施例中,语音识别后文本中的每个文本句所对应 的锚点词可能不止一个,也即在一个文本句中可能会存在多个锚点词,从而 定位到的锚点词也就有多个。
步骤105:抽取所述定位到的每个锚点词所对应的实例。
在得到了当前文本句的锚点词之后,还需进一步抽取每个锚点词所对应 的实例,下面对抽取实例的过程进行详细地描述。
图5即为本发明抽取实例的工作流程图。如图5所示,该流程包括以下 步骤
步骤50k获取由步骤103得到的每个锚点词所对应的实例。 在本实施例中,获取由步骤103得到的锚点词所对应的实例是通过查找 语境知识库来实现的,同语法知识库和语义知识库一样,现有的语境知识库 体现的是一种比较宽泛领域中的通用语境知识,而并没有限定特定领域,从 而,获取锚点词所对应的实例在现有语境知识库中是无法进行的,也就需要 重新创建新的语境知识库。同样地,为了描述方便,在本实施例中,将现有 的语境知识库称为第一语境知识库,将本发明新创建的语境知识库称为第二 语境知识库,下面对第二语境知识库的创建过程进行详细描述,创建的具体 流程见图6,如图6所示,该流程包括以下步骤 步骤601:选定某个特定领域。
同创建第二语法知识库和第二语义知识库一样,在创建第二语境知识库 时,也需首先选定某个特定领域。
需要说明的是,这里的特定领域指的也是所述语音识别后文本中的文本句所属领域。
步骤602:搜索该特定领域对应的文本。
在选定好特定领域后,即可搜索该特定领域对应的文本,具体的搜索过 程同样为现有技术,这里不再赘述。
步骤603:将由步骤602得到的文本中所有的文本句依据核心词进行分类。
该步骤的操作中用到了第二语义知识库的内容,即将由步骤602得到的 文本中包含核心词的所有文本句提取出来,并按照所拥有的核心词的不同进 行分类,将拥有相同核心词的文本句聚到一块,形成该核心词的一个实例的 集合。
具体如何提取包含核心词的文本句为现有技术。
步骤604:计算所述提取出来的文本句中的核心词与该文本句中的其它 词语的语境关联度。
将包含相同核心词的文本句聚到 一块之后,还需进一步计算所述提取出 来的文本句中的核心词与该文本句中其它词语的语境关联度,从而得到本发 明所采用的语境知识库,具体的语境关联度的计算已为现有技术,这里不再 对其进行赘述。
至此,即完成了本发明所采用的第二语境知识库的创建过程。从创建过 程中可以看出,第二语境知识库中存储的是一些核心词、由包含核心词的文 本句形成的实例、以及所述核心词与其实例中除该核心词之外的其它词语的 语境关联度集合。
在创建好第二语境知识库之后,即可通过查找第二语境知识库获取每个 锚点词所对应的实例,这里的锚点词也就是第二语境知识库中的核心词。
还需说明的是,在本实施例中, 一个锚点词可能对应一个实例,也可能 对应多个实例。
步骤502:分别计算每个实例与当前文本句的文本相关度。
在获取到每个锚点词所对应的实例后,还需要进一步计算每个实例与当前文本句的文本相关度,所述文本相关度C^是按照如下公式计算得到的 r1 二々r1 ,
其中,所述n为当前文本句中词语的总个数,所述Q"为当前文本句中 第i个词语与某一个实例中所有词语的词语相关度中的最大值,其具体的计 算公式如下
w力+ CC(w力wA^当w力〉丁2时,且SS(w', w力=Max(SS(w/, w力)
0,当SS(w/,w刀ST2时
其中,所述m为某一个实例中词语的总个数,所述wi为当前文本句中 第i个词语,所述wj为所述某一个实例中第j个词语,所述wk为所述某一 个实例中的锚点词,且当所述wi为当前文本句中锚点词之前的词语时,所 述wj也应取所述wk之前的词语,当所述wi为当前文本句中锚点词之后的 词语时,所述wj也应取所述wk之后的词语;所述5^(w',^)为所述wi与所 述wj的语义相似度,所述CC(w/,v^)为所述wj与所述wk的语境关联度,且 只有当某个ss(vw,wy卜r2时,才需考虑语境关联度,否则,cc(m^/,m^)=o;所
述72为实数,且o〈r"i,实验证明,当7;=0.8时可以得到较高的检错率和纠错率。
需要说明的是,语义相似度以及语境关联度的具体计算方式已为现有技 术,这里不再赘述。
还需说明的是,在本步骤中由于采用了语义相似度,而语义相似度是第 一语义知识库中的内容,也即在本步骤中用到了第一语义知识库。
步骤503:获取每个锚点词的所有实例中文本相关度最大的实例。
在得到了每个实例与当前文本句的文本相关度后,即可获取每个锚点词
对应的所有实例中文本相关度最大的实例,并将获取到的实例作为该锚点词
最终所需的实例。
本实施例是通过比较的方法来获取文本相关度最大的实例的,实际中也可以采用其他获取相关度最大的实例的方法,以并不影响本发明实施例的实 现为准。
至此,即完成了本发明抽取实例方法的整个过程。
步骤106:对抽取后得到的所有实例进行预处理。
在得到了每个锚点词所对应的一个文本相关度最大的实例后,还需对所 有锚点词对应的实例的集合进行预处理,这里所采用的预处理方法为首先, 对所有实例的集合进行去冗余操作,即对于由不同锚点词得到的相同的实 例,只保其中的一个;然后,再将去冗余后剩余的实例按照文本相关度大小 进行排序,在本实施例中,采用的是冒泡排序的方法,同样地,也可采用其 他排序方法,以不影响本发明实施例的实现为准。
还需说明的是,在本实施例中,也可以先对得到的实例的集合按相关度 大小进行排序,再对排序后的实例进行去除冗余的操作。
步骤107 108:根据预处理后的实例对当前文本句进行检错,并判断是 否成功检错,如果是,执行步骤109;否则,执行步骤117。
在对实例的集合进行预处理之后,还需要根据所述预处理后的实例的集 合对当前文本句进行检错,且在检错时是对当前文本句中的每一个词语分别 进行检错的。图7即为本发明所采用的检错方法的工作流程图,如图7所示, 该方法包括以下步骤
步骤701:将由步骤102得到的当前文本句中的第 一个词语作为当前词语。
本发明在对由步骤102得到的当前文本句进行检错时是对当前文本句 中的每一个词语分别进行检错的,因此,需要将当前文本句中的第一个词语
作为当前词语。
步骤702:将预处理后的实例集合中的第 一个实例作为当前实例。
由于预处理后的实例集合是按照相关度大小由大到小进行排序的,在处
理时需要首先对相关度最大的实例进行处理,也就需要将预处理后的实例集
合中的第一个实例作为当前实例。步骤703:计算当前词语与当前实例的词语相关度。 当前词语与当前实例的词语相关度的计算公式同计算文本相关度时的 词语相关度的计算公式,这里不再赘述其具体的计算过程。
步骤704:判断所述计算出的词语相关度是否大于阈值73,如果是,执
行步骤707;否则,执行步骤705。
当计算出当前词语与当前实例的词语相关度之后,还需进 一 步判断所述 计算出的词语相关度是否大于阔值7;,如果大于73,执行步骤707;如果不 大于S,则执行步骤705。
需要说明的是,这里的7;为一实数,且0<7^2,通过实验证明,当73=0.8
时能够得到较佳的检错率。
步骤705:判断当前实例是否是预处理后的实例集合中的最后一个实例, 如果是,执行步骤708;否则,执行步骤706。
如果计算出的当前词语与当前实例的词语相关度不大于r3 ,还需进一步
判断当前实例是否是预处理后的实例集合中的最后一个实例,如果是,执行 步骤708;如果不是最后一个实例,则执行步骤706。
步骤706:将当前实例的下一个实例作为当前实例,并返回执行步骤
703。
如果当前实例不是预处理后的实例集合中的最后一个实例,则将当前实 例的下 一个实例作为当前实例,并返回执行步骤703 。 步骤707:将当前词语作为正确词语。
如果计算出的当前词语与当前实例的词语相关度大于r3 ,则应将当前词
语作为当前文本句中的正确词语。
步骤708:判断当前词语是否是当前文本句中的最后一个词语,如果是, 执行步骤710;否则,执行步骤709。
如果当前实例是预处理后的实例集合中的最后 一 个实例,则需进 一 步判 断当前词语是否是当前文本句中的最后一个词语,如果是最后一个词语,执
23行步骤710;如果不是最后一个词语,则执行步骤709。
步骤709:将当前词语的下一个词语作为当前词语,并返回执行步骤
702。
如果当前词语不是当前文本句中的最后 一 个词语,则需将当前词语的下 一个词语作为当前词语,并返回执行步骤702。
步骤710:将当前文本句中的正确词语以外的其它词语作为当前文本句 中的错误词语。
如果当前词语是当前文本句中的最后一个词语,则将当前文本句中的正 确词语以外的其它词语作为当前文本句中的错误词语。
至此,即得到了当前文本句中的错误词语,也即完成了本发明对当前文 本句进行检错的整个过程。
如果成功检错,即成功得到当前文本句中的错误词语,即可对得到的错 误词语进行纠错,即直接执行步骤112,如果为了得到更精确的检错结果, 还需进一步执行步骤108;如果检错失败,即没有得到当前文本句中的错误 词语,则执行步骤117。
需要说明的是,在本步骤中,由于用到了词语相关度的概念,而词语相 关度是第一语义知识库中的内容,也就是说,步骤在对当前文本句进行检错 时用到了第一语义知识库。
步骤109:将检错后得到的正确词语作为新的锚点词,再次抽取实例。
为了得到更加精确的检错结果,还需将第一次检错后得到的正确词语作 为新的锚点词,并抽取新的锚点词所对应的实例,具体抽取实例过程同步骤 105,也即仍然采用图5所示的抽取实例过程,这里不再对该过程进行赘述。
步骤110:将抽取出的所有实例与之前预处理后的所有实例的集合进行 合并。
在抽取出新的锚点词对应的实例后,为了得到更高的检错纠错率,需要 将所述抽取出的新的锚点词对应的实例与步骤306中的得到的预处理后的 所有实例的集合进行合并。步骤lll:对合并后的所有实例进行预处理。该步骤的具体操作同步骤106,这里不再赘述。
步骤112 113:根据预处理后的实例对当前文本句进行检错,并判断是否成功检错,如果是,执行步骤114;否则,执行步骤117。
该步骤的具体操作同步骤107 108,这里不再赘述。
步骤114-115:将检错后得到的错误词语进行纠错,并判断是否成功纠错,如果是,执行步骤116;否则,执行步骤117。
在得到当前文本句中的错误词语后,即可对所述得到的错误词语进行纠错处理,具体的纠错处理方法如图如8所示,该方法包括以下步骤
步骤801:将错误词语中的第一个错误词语作为当前错误词语。
同检错过程一样,在对当前文本句进行纠错时,也是对当前文本句中的每个词语分别进行检错的。因此,需要将错误词语中的第一个错误词语作为当前《晉i吴词i吾。
步骤802:从第 一语法知识库中获取第 一个候选词语作为当前候选词语。在将错误词语进行纠错时用到了第 一语法知识库中的语音易混淆知识
库,在该知识库中存储了错误词语可能被纠正为正确词语的一些候选词语,
一般情况下,第一个候选词语很可能就是错误词语对应的正确词语,因此,
需要将其中的第 一个候选词语作为当前候选词语。
步骤803:将预处理后的实例中的第 一 个实例作为当前实例。
在确定好当前4晉误词语以及当前候选词语之后,还需确定一个当前实
例,由于预处理后的实例已经按照文本相关度大小由大到小进行排序了,故
这里首先选取了相关度最大的实例,也就需要将预处理后的实例中的第 一个
实例作为当前实例。
步骤804:判断所述当前候选词语与所述当前实例是否和谐,如果是,
执行步骤809;否则,执行步骤807。
在选取好当前候选词语与当前实例后,需要判断所述当前候选词语是否
与所述当前实例和谐,如果和谐,执行步骤809;如果不和谐,则执行步骤805。
需要说明的是,在本实施例中的和谐指的是所述当前候选词语是否出现在所述当前实例中,如果出现,即认为两者是和谐的,否则,两者就是不和谐的。实际中还可以其它的指标来定义和谐的概念,以不影响本发明实施例的实现为准。
步骤805:判断所述当前实例是否是预处理后的实例中的最后 一 个实例,如果是,执行步骤806;否则,执行步骤808。
如果当前候选词语与当前实例不和谐,则还需进一步判断所述当前实例是否是预处理后的实例中的最后一个实例,如果是最后一个实例,执行步骤860;如果当前实例不是最后一个实例,则执行步骤808。
步骤806:判断所述当前候选词语是否是第一语法知识库中的最后一个候选词语,如果是,执行步骤811;否则,执行步骤807。
如果当前实例不是预处理后的实例中的最后一个实例,还需进一步判断所述当前候选词语是否是第 一语法知识库中的最后一个候选词语,如果当前候选词语是最后一个候选词语,执行步骤811;如果当前候选词语不是最后一个候选词语,则执行步骤807。
步骤807:将当前候选词语的下一个候选词语作为当前候选词语,并返回执行步骤803。
如果当前候选词语不是第 一语法知识库中的最后一个候选词语,则将当前候选词语的下一个候选词语作为当前候选词语,并返回执行步骤803。
步骤808:将所述当前实例的下一个实例作为当前实例,并返回执行步骤804。
如果当前实例不是预处理后的实例中的最后 一个实例,则将当前实例的
下一个实例作为当前实例,并返回执行步骤804。
步骤809:将当前错误词语替换为所述当前候选词语。
如果当前候选词语与当前实例和谐,即所述当前候选词语在所述当前实
例中出现,则将当前错误词语替换为所述当前候选词语。步骤810:判断当前错误词语是否是错误词语中的最后一个错误词语,如果是,则结束纠错过程;否则,执行步骤811。
将当前错误词语被替换为所述当前候选词语之后,还需进一步判断所述当前错误词语是否是当前文本句中的最后一个错误词语,如果是最后 一个错误词语,则结束纠错流程;如果不是最后一个错误词语,则执行步骤811。
步骤811:将当前错误词语的下一个错误词语作为当前错误词语,并返回4丸行步骤802。
如果当前错误词语不是当前文本句中的最后一个错误词语,则需将当前错误词语的下一个错误词语作为当前错误词语,并返回执行步骤802。
至此,即完成了对当前文本句中的错误词语进行纠错的整个过程,也即完成了本发明所采用的纠错方法的整个过程。
如果找到适合于错误词语的候选词语,说明成功纠错,即执行步骤116;如果没有找到适合于错误词语的候选词语,则说明纠错失败,即执行步骤117。
步骤116:输出纠错后的语音识别后文本句。
将当前文本句中的错误词语纠错完毕后,即可将纠错后得到的正确的语音识别后文本句进行输出。
步骤117:判断当前文本句是否是语音识别后文本中的最后一个文本句,如果是,则结束;否则,执行步骤118。
得到了纠错后的当前文本句后,还需进一步判断当前文本句是否是语音识别后文本中的最后一个文本句,如果是最后一个文本句,则结束;如果当前文本句不是最后一个文本句,则需执行步骤118。
步骤118:将当前文本句的下一个文本句作为当前文本句,再返回执行步骤102。
如果纠错后输出的当前文本句不是语音识别文本正的最后一个文本句,需要将当前文本句的下一个文本句作为当前文本句,再返回执行步骤102及其之后的步骤,直至语音识别文本中的最后一个文本句被处理完毕。至此,即完成了本发明对语音识别后文本进行检错并纠错的整个工作流程。
总之,本发明所采用的检错并纠错语音识别后文本的方法,是分别对语音识别后文本中的每一个文本句进行检错、并对检错后文本句中的错误词语进行纠错的,在对文本句进行检错前,首先分别创建适用于特定领域的第二语法知识库、第二语义知识库和第二语境知识库,然后根据所述第二语法知识库和所述第二语义知识库定位文本句中的锚点词,并根据所述第二语境知识库抽取所述定位的锚点词的实例,再根据第一语义知识库和所述抽取的实例对文本句进行检错,最后根据第 一语法知识库和所述抽取的实例对检错后
得到的错误词语进行纠错。由于该方法中所采用的第二语法知识库、第二语义知识库和第二语境知识库都是针对所述语音识别后文本中的文本句所属
领域创建的,而且通过上述创建的特定领域的第二语法知识库和第二语义知识库来获取锚点词,也就使得获取的锚点词是特定领域下的,并通过该特定领域下的锚点词来获取实例,进一步地,通过实例来计算其与所述语音识别后文本中中的文本句的文本相关度,也就使得在对文本句进行检错纠错时充分结合了文本句所属领域下的语法、语义以及语境知识,能够对语音识别后文本进行准确的检错并纠错,从而提高语音识别率、实现人类与机器的自由交流。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
28
权利要求
1、一种对语音识别后文本进行检错并纠错的方法,用于对语音识别后文本中的文本句进行检错,并对检错后文本句中的错误词语进行纠错,其特征在于,该方法包括按照所述语音识别后文本中的文本句所属领域,分别创建包含有N元语法值集合的第二语法知识库,包含有核心词集合的第二语义知识库,以及第二语境知识库,其中,第二语境知识库包含有核心词、由包含核心词的文本句形成的实例、以及所述核心词与其实例中除该核心词之外的其它词语的语境关联度集合;并且,所述第二语法知识库独立于包含有通用语法知识的第一语法知识库,所述第二语义知识库独立于包含有通用语义知识的第一语义知识库;将所述语音识别后文本中的文本句转换成拼音形式的文本句,从所述第二语法知识库中获取所述拼音形式的文本句的N元语法值,将N元语法值大于阈值T1的N个拼音对应的词语和所述第二语义知识库中的核心词的并集作为所述语音识别后文本中的文本句的锚点词,其中,所述N为自然数;查找所述第二语境知识库,获取每个锚点词对应的实例;基于第二语境知识库中的语境关联度和第一语义知识库中的语义相似度,计算所述语音识别后文本中的文本句中的每个词语与每个所述获取的实例中所有词语的词语相关度,并根据所述词语相关度计算所述获取的实例与所述语音识别后文本中的文本句的文本相关度,获取每个锚点词对应的实例中文本相关度最大的实例;基于第二语境知识库中的语境关联度和第一语义知识库中的语义相似度,计算所述语音识别后文本中的文本句中的词语与所述获取的每个锚点词对应的实例中文本相关度最大的实例的词语相关度,如果所述词语相关度大于阈值T3,则将所述词语作为正确词语,将所述语音识别后文本中的文本句中正确词语以外的其它词语作为错误词语;从第一语法知识库中获取候选词语,如果所述候选词语与所述获取的文本相关度最大的实例和谐,则将所述候选词语替换所述错误词语。
2、 如权利要求1所述的方法,其特征在于,所述创建第二语法知识库包括 搜索所述语音识别后文本中的文本句所属领域中的文本,将所述搜索到的文本中所有的文本句转换成拼音形式的文本句,建立所述拼音形式的文本句的 N元语法模型,将得到的N元语法模型进行平滑处理,得到所述第二语法知识 库。
3、 如权利要求1所述的方法,其特征在于,所述创建第二语义知识库包括 搜索所述语音识别后文本中的文本句所属领域中的文本,并设定所述语音识别后文本中的文本句所属领域中的语境词为种子词库,分别计算所述搜索到 的文本中的文本句与所述语境词共同出现在同 一个文本句中的频数,将频数最 高的前三位词语加入到种子词库中,得到新种子词库,基于新种子词库对所述搜索到的文本进行卡方4全验,将卡方检验后得到的 所述搜索到的文本中每个词语的总卡方值大小进行排序,从所述排序后的词语 中取出卡方值大于某一阈值的词语作为核心词,得到所述第二语义知识库,所 述阈值的大小由所需选取得核心词数量来确定。
4、 如权利要求3所述的方法,其特征在于,所述创建第二语境知识库包括 搜索所述语音识别后文本中的文本句所属领域中的文本,基于所述第二语义知识库中的核心词对所述搜索到的文本中的文本句进行分类,计算所述核心 词与其实例中除该核心词之外的其它词语的语境关联度,得到所述第二语境知识库。
5、 如权利要求2所述的方法,其特征在于,所述N元语法值大于某个阈 值7;中的7;为大于0小于1的实数。
6、 如权利要求4所述的方法,其特征在于,所述文本相关度是按照如下公 式计算得到的<formula>formula see original document page 3</formula>其中,所述n为所述语音识别后文本中文本句中词语的总个数,所述C,,, 为所述语音识别后文本中文本句中第i个词语与所述获取的实例中所有词语的词语相关度中的最大值,其具体的计算公式如下5S(w/,w力+CC(My,wO当SS(w',w力〉丁2时,且5S(vW,My'^M:x(SS(w/,w/)) j j=i ,0,当&S(w/,My')ST2时其中,所述m为所述获取的实例中词语的总个数,所述wi为所述语音识 别后文本中文本句中第i个词语,所述wj为所述获取的实例中第j个词语,所 述wk为所述获取的实例中的锚点词,且,当所述wi为所述语音识别后文本中文本句中锚点词之前的词语时,所述 wj为所述wk之前的词i吾,当所述wi为所述语音识别后文本中文本句中锚点词之后的词语时,所述 wj为所述wk之后的词i吾;所述SS(w/,My')为wi与wj的i吾义相似度,所述CC(w,wA:)为wj与所述wk的 语境关联度,所述K为实数,且0<72^1。
7、 如权利要求6所述的方法,其特征在于,所述阈值7;为大于0小于等于 2的实凄t。
8、 如权利要求7所述的方法,其特征在于,所述候选词语与所述获取的某 个文本相关度最大的实例和谐为,判断所述候选词语是否存在于所述获取的某 个文本相关度最大的实例中。
9、 如权利要求l所述的方法,其特征在于,所述语音识别后文本中的文本 句中正确词语以外的其它词语作为4晉误词语还包括将所述正确词语作为新的锚点词,查找所述第二语境知识库,获取每个新 的锚点词对应的实例,计算所述获取的每个新的锚点词对应的实例与所述语音 识别后文本中的文本句的文本相关度,获取每个新的锚点词对应的实例中文本 相关度最大的实例;基于第一语义知识库,计算所述语音识别后文本中的文本句中的词语与所 述获取的每个锚点词对应的实例中文本相关度最大的实例、以及与所述获取的 每个新的锚点词对应的实例中文本相关度最大的实例的词语相关度,如果所述词语相关度大于某个设定的阈值,则将所述词语作为正确词语,将所述语音识
10、如权利要求9所述的方法,其特征在于,所述从第一语法知识库中获 取候选词语,如果所述候选词语与所述获取的某个文本相关度最大的实例和谐, 将所述候选词语替换所述错误词语包括从所述第一语法知识库中获取候选词语,如果所述候选词语与所述获取的 每个锚点词对应的实例或者与所述获取的每个新的锚点词对应的实例和谐,则 将所述候选词语替换所述错误词语。
全文摘要
本发明公开了一种对语音识别后文本进行检错并纠错的方法,用于依次对语音识别后文本中的文本句进行检错并纠错分别创建所述语音识别后文本中的文本句所属领域的第二语法知识库、第二语义知识库和第二语境知识库;基于所述第二语法知识库和所述第二语义知识库定位文本句中的锚点词,并基于所述第二语境知识库抽取所述定位的锚点词的实例;基于第一语义知识库和所述抽取的实例对文本句进行检错;基于第一语法知识库和所述抽取的实例对检错后得到的错误词语进行纠错。应用本发明所述的方法,能够对语音识别后文本进行准确的检错并纠错,从而提高语音识别率、实现人类与机器的自由交流。
文档编号G06F17/27GK101655837SQ20091009246
公开日2010年2月24日 申请日期2009年9月8日 优先权日2009年9月8日
发明者蕾 李, 骏 王, 王兴建, 龙丽霞 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1