首页 / 专利库 / 人工智能 / 置信度 / 一种语音识别结果的处理方法、装置、设备及介质

一种语音识别结果的处理方法、装置、设备及介质

阅读:2发布:2020-12-08

专利汇可以提供一种语音识别结果的处理方法、装置、设备及介质专利检索,专利查询,专利分析的服务。并且本 发明 实施例 提供了一种 语音识别 结果的处理方法、装置、设备及介质。方法包括:获取使用多种语音识别方法对同一语音 片段 分别进行识别得到的作为语音识别结果的多个文本;从所述多个文本中,选取一个文本作为第一文本,并从剩余文本中选取第二文本;将所述第二文本与所述第一文本进行比对,得到所述第一文本中相比所述第二文本的不匹配子串;在所述第一文本中标记所述不匹配子串;展示标记了所述不匹配子串的第一文本。本发明实施例通过对比多种语音识别方法的识别结果,更加准确、全面地发现并提示用户语音识别结果中潜在识别错误的词句。,下面是一种语音识别结果的处理方法、装置、设备及介质专利的具体信息内容。

1.一种语音识别结果的处理方法,其特征在于,包括:
获取使用多种语音识别方法对同一语音片段分别进行识别得到的作为语音识别结果的多个文本;
从所述多个文本中,选取一个文本作为第一文本,并从剩余文本中选取第二文本;
将所述第二文本与所述第一文本进行比对,得到所述第一文本中相比所述第二文本的不匹配子串;
在所述第一文本中标记所述不匹配子串;
展示标记了所述不匹配子串的第一文本。
2.根据权利要求1所述的方法,其特征在于,所述从所述多个文本中,选取一个文本作为第一文本,包括:
选取所述多个文本中最长的文本作为第一文本。
3.根据权利要求1所述的方法,其特征在于,所述从所述多个文本中,选取一个文本作为第一文本,包括:
从所述多个文本中,选取使用所述多种语音识别方法中的预设置信度最高的方法识别得到的文本作为第一文本。
4.根据权利要求1所述的方法,其特征在于,所述从所述多个文本中,选取一个文本作为第一文本,并从剩余文本中选取第二文本,包括:
根据所述多个文本中各个文本的属性信息,计算各个文本的优先值,所述属性信息,包括:文本长度、文本对应的语音识别方法的预设置信度;
从所述多个文本中,选取优先值最高的文本作为第一文本;
从剩余文本中选取优先值最高的文本作为第二文本。
5.根据权利要求1所述的方法,其特征在于,所述将所述第二文本与所述第一文本进行比对,得到所述第一文本相比所述第二文本的不匹配子串,包括:
将所述第二文本与所述第一文本进行比对,得到所述第一文本与所述第二文本之间的最长公共子序列;
利用所述最长公共子序列对所述第一文本进行分割,得到一个或多个子串,将所述一个或多个子串作为所述第一文本相比所述第二文本的不匹配子串。
6.根据权利要求1所述的方法,其特征在于,所述在所述第一文本中标记不匹配子串,包括:
对于每一个不匹配子串,如果能够利用所述最长公共子序列从所述第二文本中分割出一个子串,且所述子串满足条件:所述子串在所述第二文本中的前后各一个字符与所述不匹配子串在所述第一文本中的前后各一个字符对应一致或均不存在,则将所述不匹配子串定义为第一类不匹配子串;
如果不能够利用所述最长公共子序列从所述第二文本中分割出一个满足所述条件的子串,则将所述不匹配子串定义为第二类不匹配子串;
利用两种不同的标记方式,在所述第一文本中分别标记出所述第一类不匹配子串和所述第二类不匹配子串。
7.根据权利要求6所述的方法,其特征在于,在所述展示标记了所述不匹配子串的第一文本后,还包括:
对于每一个所述第一类不匹配子串,将利用所述最长公共子序列从所述第二文本中分割出的满足所述条件的子串,作为所述第一类不匹配子串的候选子串;
对于第一类不匹配子串,在接收到第一预设用户指令时,向用户展示所述第一类不匹配子串的候选子串,并在接收到第二预设用户指令时,用所述候选子串替换所述第一类不匹配子串。
8.一种语音识别结果的处理装置,其特征在于,包括:
采集模,用于获取使用多种语音识别方法对同一语音片段分别进行识别得到的作为语音识别结果的多个文本;
筛选模块:用于从所述多个文本中,选取一个文本作为第一文本,并从剩余文本中选取第二文本;
匹配模块,用于将所述第二文本与所述第一文本进行比对,得到所述第一文本中相比所述第二文本的不匹配子串;
标记模块,用于在所述第一文本中标记所述不匹配子串;
展示模块,用于展示标记了所述不匹配子串的第一文本。
9.根据权利要求8所述的装置,其特征在于,所述筛选模块,包括:
第一筛选单元,用于选取所述多个文本中最长的文本作为第一文本。
10.根据权利要求8所述的装置,其特征在于,所诉筛选模块,包括:
第一筛选单元,用于从所述多个文本中,选取使用所述多种语音识别方法中的预设置信度最高的方法识别得到的文本作为第一文本。
11.根据权利要求8所述的装置,其特征在于,所述筛选模块,包括:
优先值计算单元,用于根据所述多个文本中各个文本的属性信息,计算各个文本的优先值,所述属性信息,包括:文本长度、文本对应的语音识别方法的预设置信度;
第一筛选单元,用于从所述多个文本中,选取优先值最高的文本作为第一文本;
第二筛选单元,用于从剩余文本中选取优先值最高的文本作为第二文本。
12.根据权利要求8所述的装置,其特征在于,所述匹配模块,包括:
最长公共子序列单元,用于将所述第二文本与所述第一文本进行比对,得到所述第一文本与所述第二文本之间的最长公共子序列;
分割单元,利用所述最长公共子序列对所述第一文本进行分割,得到一个或多个子串,将所述一个或多个子串作为所述第一文本相比所述第二文本的不匹配子串。
13.根据权利要求8所述的装置,其特征在于,所述标记模块,包括:
分类单元,用于对于每一个不匹配子串,如果能够利用所述最长公共子序列从所述第二文本中分割出一个子串,且所述子串满足条件:所述子串在所述第二文本中的前后各一个字符与所述不匹配子串在所述第一文本中的前后各一个字符对应一致或均不存在,则将所述不匹配子串定义为第一类不匹配子串;
如果不能够利用所述最长公共子序列从所述第二文本中分割出一个满足所述条件的子串,则将所述不匹配子串定义为第二类不匹配子串;
分类标记单元,用于利用两种不同的标记方式,在所述第一文本中分别标记出所述第一类不匹配子串和所述第二类不匹配子串。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
候选子串模块,用于对于每一个所述第一类不匹配子串,将利用所述最长公共子序列从所述第二文本中分割出的满足所述条件的子串,作为所述第一类不匹配子串的候选子串;
提示模块,用于对于第一类不匹配子串,在接收到第一预设用户指令时,向用户展示所述第一类不匹配子串的候选子串;
修正模块,用于在接收到第二预设用户指令时,用所述候选子串替换所述第一类不匹配子串。
15.一种电子设备,其特征在于,包括处理器和存储器
存储器,用于存放计算机程序
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一所述的方法步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法步骤。

说明书全文

一种语音识别结果的处理方法、装置、设备及介质

技术领域

[0001] 本发明涉及语音识别技术领域,特别是涉及一种语音识别结果的处理方法、装置、设备及介质。

背景技术

[0002] 随着大量的语音识别产品进入市场和服务领域,人们越来越多的享受到语音识别技术带来的便利。与此同时,由于语音识别技术无法保证绝对的准确,给用户使用上带来障碍。因此,如何对语音识别结果进行处理,使得语音识别更加准确,改善用户体验,成为一个亟待解决的问题。
[0003] 现有技术中,一种解决的方法是根据所采用的语音识别模型,计算语音识别结果中各部分文字的置信度,将结果中置信度低于预设阈值的文字标注出来,以提示用户这些文字存在潜在错误。
[0004] 但是现有技术中没有一种声学和语言模型能够准确、全面地发现语音识别结果中的潜在识别错误。

发明内容

[0005] 本发明实施例的目的在于提供一种语音识别结果的处理方法、装置、设备及介质,以实现结合多种语音识别方法的处理结果,提示用户语音识别结果中潜在识别错误的词句。具体技术方案如下:
[0006] 本发明实施例的第一方面,提供一种语音识别结果的处理方法,所述方法包括:
[0007] 获取使用多种语音识别方法对同一语音片段分别进行识别得到的作为语音识别结果的多个文本;
[0008] 从所述多个文本中,选取一个文本作为第一文本,并从剩余文本中选取第二文本;
[0009] 将所述第二文本与所述第一文本进行比对,得到所述第一文本中相比所述第二文本的不匹配子串;
[0010] 在所述第一文本中标记所述不匹配子串;
[0011] 展示标记了所述不匹配子串的第一文本。
[0012] 结合第一方面,在第一种可能的实现方式中,所述从所述多个文本中,选取一个文本作为第一文本,包括:
[0013] 从所述多个文本中,选取使用所述多种语音识别方法中的预设置信度最高的方法识别得到的文本作为第一文本。
[0014] 结合第一方面,在第二种可能的实现方式中,所述从所述多个文本中,选取一个文本作为第一文本,包括:
[0015] 从所述多个文本中,选取使用所述多种语音识别方法中的预设置信度最高的方法识别得到的文本作为第一文本。
[0016] 结合第一方面,在第三种可能的实现方式中,所述从所述多个文本中,选取一个文本作为第一文本,并从剩余文本中选取第二文本,包括:
[0017] 根据所述多个文本中各个文本的属性信息,计算各个文本的优先值,所述属性信息,包括:文本长度、文本对应的语音识别方法的预设置信度;
[0018] 从所述多个文本中,选取优先值最高的文本作为第一文本;
[0019] 从剩余文本中选取优先值最高的文本作为第二文本。
[0020] 结合第一方面,在第四种可能的实现方式中,所述将所述第二文本与所述第一文本进行比对,得到所述第一文本相比所述第二文本的不匹配子串,包括:
[0021] 将所述第二文本与所述第一文本进行比对,得到所述第一文本与所述第二文本之间的最长公共子序列;
[0022] 利用所述最长公共子序列对所述第一文本进行分割,得到一个或多个子串,将所述一个或多个子串作为所述第一文本相比所述第二文本的不匹配子串。
[0023] 结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述在所述第一文本中标记不匹配子串,包括:
[0024] 对于每一个不匹配子串,如果能够利用所述最长公共子序列从所述第二文本中分割出一个子串,且所述子串满足条件:所述子串在所述第二文本中的前后各一个字符与所述不匹配子串在所述第一文本中的前后各一个字符对应一致或均不存在,则将所述不匹配子串定义为第一类不匹配子串;
[0025] 如果不能够利用所述最长公共子序列从所述第二文本中分割出一个满足所述条件的子串,则将所述不匹配子串定义为第二类不匹配子串;
[0026] 利用两种不同的标记方式,在所述第一文本中分别标记出所述第一类不匹配子串和所述第二类不匹配子串。
[0027] 结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,在所述展示标记了所述不匹配子串的第一文本后,还包括:
[0028] 对于每一个所述第一类不匹配子串,将利用所述最长公共子序列从所述第二文本中分割出的满足所述条件的子串,作为所述第一类不匹配子串的候选子串;
[0029] 对于第一类不匹配子串,在接收到第一预设用户指令时,向用户展示所述第一类不匹配子串的候选子串,并在接收到第二预设用户指令时,用所述候选子串替换所述第一类不匹配子串。
[0030] 本发明实施例的第二方面,提供一种语音识别结果的处理装置,所述装置包括:
[0031] 采集模,用于获取使用多种语音识别方法对同一语音片段分别进行识别得到的作为语音识别结果的多个文本;
[0032] 筛选模块:用于从所述多个文本中,选取一个文本作为第一文本,并从剩余文本中选取第二文本;
[0033] 匹配模块,用于将所述第二文本与所述第一文本进行比对,得到所述第一文本中相比所述第二文本的不匹配子串;
[0034] 标记模块,用于在所述第一文本中标记所述不匹配子串;
[0035] 展示模块,用于展示标记了所述不匹配子串的第一文本。
[0036] 结合第二方面,在第一种可能的实现方式中,所述筛选模块,包括:
[0037] 第一筛选单元,用于选取所述多个文本中最长的文本作为第一文本。
[0038] 结合第二方面,在第二种可能的实现方式中,所诉筛选模块,包括:
[0039] 第一筛选单元,用于从所述多个文本中,选取使用所述多种语音识别方法中的预设置信度最高的方法识别得到的文本作为第一文本。
[0040] 结合第二方面,在第三种可能的实现方式中,所述筛选模块,包括:
[0041] 优先值计算单元,用于根据所述多个文本中各个文本的属性信息,计算各个文本的优先值,所述属性信息,包括:文本长度、文本对应的语音识别方法的预设置信度;
[0042] 第一筛选单元,用于从所述多个文本中,选取优先值最高的文本作为第一文本;
[0043] 第二筛选单元,用于从剩余文本中选取优先值最高的文本作为第二文本。
[0044] 结合第二方面,在第四种可能的实现方式中,所述匹配模块,包括:
[0045] 最长公共子序列模块,用于将所述第二文本与所述第一文本进行比对,得到所述第一文本与所述第二文本之间的最长公共子序列;
[0046] 分割模块,利用所述最长公共子序列对所述第一文本进行分割,得到一个或多个子串,将所述一个或多个子串作为所述第一文本相比所述第二文本的不匹配子串。
[0047] 结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,所述标记模块,包括:
[0048] 分类单元,用于对于每一个不匹配子串,如果能够利用所述最长公共子序列从所述第二文本中分割出一个子串,且所述子串满足条件:所述子串在所述第二文本中的前后各一个字符与所述不匹配子串在所述第一文本中的前后各一个字符对应一致或均不存在,则将所述不匹配子串定义为第一类不匹配子串;
[0049] 如果不能够利用所述最长公共子序列从所述第二文本中分割出一个满足所述条件的子串,则将所述不匹配子串定义为第二类不匹配子串;
[0050] 分类标记单元,用于利用两种不同的标记方式,在所述第一文本中分别标记出所述第一类不匹配子串和所述第二类不匹配子串。
[0051] 结合第二方面的第五种可能的实现方式,在第六种可能的实现方式中,所述装置还包括:
[0052] 候选子串模块,用于对于每一个所述第一类不匹配子串,将利用所述最长公共子序列从所述第二文本中分割出的满足所述条件的子串,作为所述第一类不匹配子串的候选子串;
[0053] 提示模块,用于对于第一类不匹配子串,在接收到第一预设用户指令时,向用户展示所述第一类不匹配子串的候选子串;
[0054] 修正模块,用于在接收到第二预设用户指令时,用所述候选子串替换所述第一类不匹配子串。
[0055] 本发明实施例的第三方面,提供一种电子设备,包括处理器和存储器
[0056] 存储器,用于存放计算机程序
[0057] 处理器,用于执行存储器上所存放的程序时,实现上述任一所述的语音识别结果的处理方法。
[0058] 本发明实施例的第四方面,提供一种计算机可读存储介质,所述计算机刻度介质内存储有计算机程序,所述计算机程序被处理器执行时实现本实施例第一方面中任一所述的语音识别结果的处理方法。
[0059] 本发明实施例的第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本实施例第一方面中任一所述的语音识别结果的处理方法。
[0060] 本发明实施例提供的一种语音听写录入的语音识别结果的处理方法、装置、设备及介质,可以结合多种语音识别方法的处理结果,能够有效的克服单一语音识别方法的局限性,更准确、更全面地发现并提示语音识别结果中的潜在识别错误的词句。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。附图说明
[0061] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0062] 图1为本发明实施例提供的语音识别结果的处理方法的一种流程示意图;
[0063] 图2为本发明实施例提供的在第一文本中标记不匹配子串的方法的一种流程示意图;
[0064] 图3为本发明实施例提供的语音识别结果的处理方法的另一种流程示意图;
[0065] 图4为本发明实施例提供的语音识别结果的处理装置的一种结构示意图;
[0066] 图5为本发明实施例提供的标记模块的一种结构示意图;
[0067] 图6为本发明实施例提供的语音识别结果的处理装置的另一种结构示意图;
[0068] 图7为本发明实施例提供的电子设备的一种结构示意图。

具体实施方式

[0069] 一般情况下,用于提示语音识别结果中潜在识别错误的语音识别结果处理方法可以是,预先选用大量样本语音片段作为训练样本,利用预设的语音识别方法对这些训练样本进行语音识别,得到训练样本的识别结果,对训练样本的识别结果进行人工审核,找到其中出现频率高于预设频率阈值的识别错误的词语,分析这些识别错误的词语和对应的语音数据,得到这些识别错误的词语对应的语义特征和声学特征,将这些语义特征和声学特征保存在错误规则库中。
[0070] 在获取到预设的语音识别方法针对一语音片段的语音识别结果后,将语音识别结果分解成多个词语,利用预设的语音识别方法的声学和语音模型,分析得到这些词语的语义特征和这些词语对应的语音数据的声学特征,将得到的语义特征和声学特征与预先构建的错误规则库中保存的语义特征和声学特征进行匹配,根据匹配程度,确定这些词语的置信度,该置信度可表示一个词语不存在识别错误的可能性的高低,一个词语与错误规则库中的特征的匹配程度越高,则该词语不存在识别错误的置信度越低,将置信度低于预设阈值的词语标注出来,以提示用户该语音片段的语音识别结果中哪些词语存在潜在识别错误。
[0071] 但是,该方法始终只使用了预设的语音识别方法的语言和声学模型,可以理解的是不同的语言和声学模型由于构建规则或优化方式的不同,存在不同的优点与固有缺陷,因此在使用该语言和声学模型提取语义特征和语音数据的声学特征值时,可能在部分使用场景中因为该声学和语音模型的固有缺陷,提取到错误的语义特征和声学特征或者只能提取到部分语义特征和声学特征,导致无法准确、全面地发现语音识别结果中的潜在识别错误。
[0072] 针对上述技术问题,本发明实施例进一步提供了一种语音识别结果的处理方法、装置、设备及介质。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0073] 参见图1,图1所示为本发明实施例提供的语音识别结果的处理方法的一种流程示意图,可以包括以下步骤:
[0074] S101,获取使用多种语音识别方法对同一语音片段分别进行识别得到的作为语音识别结果的多个文本。
[0075] 具体的,本实施例中通过具有语音识别功能的软件开发工具包和/或web服务获取多种语音识别方法对同一语音片段分别进行识别得到的作为语音识别结果的多个文本。
[0076] S102,从多个文本中,选取一个文本作为第一文本,并从剩余文本中选取第二文本。
[0077] 在一种可选的实现方式中,从多个文本中,选取一个文本作为第一文本,包括:
[0078] 选取多个文本中最长的文本作为第一文本。
[0079] 本实施例中,当最长的文本不唯一时,选取多个最长的文本中对应的语音识别方法的预设置信度最高的文本作为第一文本。
[0080] 在另一种可选的实现方式中,从多个文本中,选取一个文本作为第一文本,包括:
[0081] 从多个文本中,选取使用多种语音识别方法中的预设置信度最高的方法识别得到的文本作为第一文本。
[0082] 其中,一种语音识别方法的预设置信度是可以是根据已经公开的该语音识别方法的识别数据设置的一个数值。
[0083] 在另一种可选的实现方式中,从多个文本中,选取一个文本作为第一文本,并从剩余文本中选取第二文本,包括:
[0084] 根据多个文本中各个文本的属性信息,计算各个文本的优先值,一个文本的属性信息,包括:文本长度、文本对应的语音识别方法的预设置信度;
[0085] 从多个文本中,选取优先值最高的文本作为第一文本;从剩余文本中选取优先值最高的文本作为第二文本。
[0086] 本实施例中,按照下式计算各个文本的优先值:
[0087]
[0088] 其中Ki为第i个文本的优先值,Leni为第i个文本的长度,Lenmax为多个文本中最长的文本的长度,Confi为第i个文本的预设置信度。a、b为两个大于零的预设参数,其数值可以根据实际需求进行调整。
[0089] S103,将第二文本与第一文本进行比对,得到第一文本中相比第二文本的不匹配子串。
[0090] 在一种可选的实现方式中,将第二文本与第一文本进行比对,得到第一文本相比第二文本的不匹配子串,可以包括以下步骤:
[0091] 步骤一、将第二文本与第一文本进行比对,得到第一文本与第二文本之间的最长公共子序列;
[0092] 可以理解的是,文本可以看做是字符的集合,将文本中的部分字符提取出来,这些字符在该文本中不必连续,按照这些字符在该文本中的顺序排列,得到的一个序列称为该文本的一个子序列。如果两个文本之间存在一个完全相同的子序列,则称该子序列为这两个文本之间的公共子序列。
[0093] 示例性的,假设第一文本为“A12B”,第二文本为“A34B”,则序列“A”“B”“AB”均为第一文本与第二文本之间的公共子序列,“AB”为第一文本与第二文本之间的最长公共子序列。
[0094] 本实施例中,利用动态规划的方法得到第一文本与第二文本之间的最长公共子序列。具体的,包括以下步骤:
[0095] 首先,根据第一文本与第二文本,得到一个如下所示的矩阵:
[0096]
[0097] 其中,n为第一文本的长度、m为第二文本的长度,L[i][j]表示第一文本前i个字符和第二文本前j个字符之间的最长公共子序列的长度,其大小由如下所示的递推关系确定:
[0098]
[0099] 式中,Xi为第一文本的第i个字符,Yj为第二文本的第j个字符。Xi=Yj是指字符Xi和字符Yj相同。
[0100] 然后,从i=n、j=m开始,执行以下循环:
[0101] 步骤A、判断等式L[i][j]=L[i-1][j-1]+1是否成立,如果成立则执行步骤B,如果不成立则执行步骤C;
[0102] 步骤B、标记第一文本的第i个字符,并令i=i-1,j=j-1,回到步骤A;
[0103] 步骤C、判断等式L[i][j]=L[i-1][j]是否成立,如果成立,令i=i-1,回到步骤A,如果不成立,令j=j-1,回到步骤A。
[0104] 直至i=0或j=0时,停止循环,将第一文本中所有被标记的字符提取出来,形成一个第一文本的子序列,该子序列即第一文本与第二文本之间的最长公共子序列。
[0105] 在其他的实现方式中,上述循环中的步骤B可以改为,将第一文本的第i个字符保存在缓存在,并令i=i-1,j=j-1,回到步骤A。相应地,循环结束后,获取缓存中的字符,组成一个第一文本的子序列,该子序列即第一文本与第二文本之间的最长公共子序列。
[0106] 示例性的,假设第一文本为“A12B”,第二文本为“A34B”。由于第一文本的第一个字符与第二文本的第一个字符一致,因此L[1][1]=L[0][0]+1=1。由于第一文本的第二个字符与第二文本的第一个字符不一致,因此,L[2][1]=max{L[1][1],L[2][0]}=max{1,0}=1。依次类推,可以得到如下所示的矩阵:
[0107]
[0108] 令i=4、j=4,由上述矩阵可知,L[4][4]=2,L[3][3]=1,即等式L[i][j]=L[i-1][j-1]+1成立,所以标记第一文本中的第4个字符,并令i=3、j=3。由于此时等式L[i][j]=L[i-1][j-1]+1不成立,且等式L[i][j]=L[i-1][j]成立,因此令i=2,j=3。依次类推,在结束循环时,被标记的字符为第一文本中的第1个和第4个字符,将这两个字符提取出来,得到序列“AB”,该序列即第一文本与第二文本之间的最长公共子序列。
[0109] 可以理解的是,第一文本与第二文本之间可能存在多个最长公共子序列,选用该实现方式可以保证只会得到一个最长公共子序列。而在其他实现方式中,可能会得到多个最长公共子序列,在这种情况下,可以随机抽取其中一个作为后续步骤中使用的最长公共子序列。另外,第一文本与第二文本之间也可能不存在任何公共子序列,对于这种情况,可以将第一文本作为一个不匹配子串。
[0110] 步骤二、利用最长公共子序列对第一文本进行分割,得到一个或多个子串,将该一个或多个子串作为第一文本相比第二文本的不匹配子串。
[0111] 具体的,本发明实施例中,在第一文本中剔除最长公共子序列后,将剩余的一个或多个子串作为第一文本相比第二文本的不匹配子串。
[0112] 示例性的,假设第一文本与第二文本的最长公共子串为“ABCD”,第一文本为“AB12CD34”,在剔除子序列“ABCD”后,第一文本剩余两个子串“12”和“34”,将这两个子串作为第一文本相比第二文本的不匹配子串。
[0113] 如果利用最长公共子序列对第一文本进行分割后无法得到任何子串,即最长公共子序列与第一文本完全相同时,按照本发明实施例的方法,认为该情况下第一文本中不存在潜在识别错误,即不存在本发明实施例所要解决的技术问题,故在此不予讨论。
[0114] S104,在第一文本中标记不匹配子串;
[0115] 具体的,根据获取的不匹配子串,对于每一个不匹配子串,获取该不匹配子串第一个字符在第一文本中的位置loc,该不匹配子串的长度len。在第一文本中,标记从第loc个字符开始的len个字符。
[0116] 示例性的,一个不匹配子串的第一个字符为第一文本中的第6个字符,该不匹配子串的长度为3个字符。则在第一文本中,标记从第6个字符开始的3个字符,即第一文本中第6、7、8个字符。
[0117] 可以根据实际需求选择合适的标记方式。例如,可以利用添加下点划线的方式在第一文本中标记出不匹配子串。也可以利用添加高亮区域、改变字体、改变字体颜色等方式在第一文本中标记出不匹配子串。
[0118] S105,展示标记了不匹配子串的第一文本。
[0119] 在其他的实现方式中,在展示标记了不匹配子串的第一文本之后,可以允许用户对第一文本进行编辑。
[0120] 参见图2,针对图1所示实施例中步骤S104,本发明实施例提供了一种在第一文本中标记不匹配子串的方法,可以包括以下步骤:
[0121] S201,对于每一个不匹配子串,如果能够利用最长公共子序列从第二文本中分割出一个子串,且该子串满足条件:该子串在第二文本中的前后各一个字符与该不匹配子串在第一文本中的前后各一个字符对应一致或均不存在,则将该不匹配子串定义为第一类不匹配子串。
[0122] 其中,如果一个子串位于第一文本的开始位置,则该子串在该文本中的前一个字符不存在,例如子串“A12”在文本“A12B34”中的前一个字符不存在。如果一个子串位于一个文本的末尾位置,则该子串在该文本中的后一个字符不存在。
[0123] 具体的,本实施例中,对于每一个不匹配子串,在第一文本中寻找该不匹配子串前一个字符Char1和后一个字符Char2。如果两个字符都存在,则在第二文本中找到分别和字符Char1、Char2对应一致的字符Char3、Char4,如果在字符Char3、Char4之间存在一个子串,则将该不匹配子串定义为第一类不匹配子串;如果Char1不存在、Char2存在,则在第二文本中找到和Char2对应一致的字符Char4,如果第二文本在字符Char4之后还存在子串,则将该不匹配子串定义为第一类不匹配子串;如果Char1存在、Char2不存在,则在第二文本中找到和Char1对应一致的字符Char3,如果第二文本在字符Char3之前还存在子串,则将该不匹配子串定义为第一类不匹配子串。
[0124] 示例性的,假设第一文本为“A12B34”,第二文本为“A56B78”。对于不匹配子串为“12”,该子串在第一文本中的前后各一个字符分别为“A”“B”。在第二文本找到与之对应一致的两个字符,即第二文本中的“A”和“B”,这两个字符之间存在子串“56”,因此将不匹配子串“12”定义为第一类不匹配子串;对于不匹配子串“34”,该子串在第一文本中的前一个字符为“B”,后一个字符不存在,在第二文本中找到与之对应一致的字符,即第二文本中的“B”,由于第二文本在字符“B”之后还存在子串“78”,所以将不匹配子串“34”定义为第一类不匹配子串。
[0125] 可以理解的是,Char1与Char3对应一致,是指Char1在最长公共子序列中的位置和Char3在最长公共子序列的位置相同。例如,假设第一文本为“A12A”,第二文本为“A34A”,最长公共子序列为“AA”,对于不匹配子串“12”,在第一文本中的前一个字符为“A”,该字符为最长公共子序列中的第一个字符,因此与之对应一致的是第二文本中的第一个字符“A”,而第二文本中的第二个字符“A”并不与之对应一致。
[0126] S202,如果不能够利用最长公共子序列从第二文本中分割出一个满足该条件的子串,则将该不匹配子串定义为第二类不匹配子串。
[0127] 示例性的,假设第一文本为“AB34CD”,第二文本为“ABCD”,不匹配子串“34”为第二类不匹配子串。
[0128] 可以理解的是,第二类不匹配子串是第一文本相比第二文本多出的子串。
[0129] S203,利用两种不同的标记方式,在第一文本中分别标记出第一类不匹配子串和第二类不匹配子串。
[0130] 具体的,本实施例中,利用下点划线在第一文本中标记出第一类不匹配子串,利用上点划线在第一文本中标记出第二类不匹配子串。
[0131] 参见图3,图3所示为在图1所示的方法的基础上,当选用如图2所示的方法在第一文本中标记不匹配子串时,在一种可选的实施例中还可以包括以下步骤:
[0132] S106,对于每一个第一类不匹配子串,将利用最长公共子序列从第二文本中分割出的满足该条件的子串,作为该第一类不匹配子串的候选子串。
[0133] 具体的,本实施例中,通过以下方式确认每一个第一类不匹配子串的候选子串:
[0134] 对于每一个第一类不匹配子串,在第一文本中寻找该第一类不匹配子串前一个字符Char1和后一个字符Char2。如果两个字符都存在,则在第二文本中找到分别和字符Char1、Char2对应一致的字符Char3、Char4,提取Char3和Char4之间所有的字符组成一个子串,将该子串作为该第一类不匹配子串的候选子串;如果Char1不存在、Char2存在,则在第二文本中找到和Char2对应一致的字符Char4,提取第二文本在Char4之后所有的字符组成一个子串,将该子串作为该第一类不匹配子串的候选子串;如果Char1存在、Char2不存在,则在第二文本中找到和Char1对应一致的字符Char3,提取第二文本在Char3之前所有的字符组成一个子串,将该子串作为该第一类不匹配子串的候选子串。
[0135] S107,对于第一类不匹配子串,在接收到第一预设用户指令时,向用户展示该第一类不匹配子串的候选子串,并在接收到第二预设用户指令时,用候选子串替换该第一类不匹配子串。
[0136] 具体的,本实施例中,当接收到用户单击一个第一类不匹配子串的指令时,在该第一类不匹配子串的附近区域弹出一个文本框,用于展示该第一类不匹配子串对应的候选子串。并在接收到用户双击该文本框的指令时,用对应的候选子串替换该第一类不匹配子串。
[0137] 在其他实现方式中,也可以根据实际需求在接收到特定的用户指令时执行对应的操作。例如,当接收到用户双击一个第一类不匹配子串的指令时,用该第一类不匹配子串的候选子串替换该第一类不匹配子串。又例如在接收到用户按压空格键的指令时,显示所有第一类不匹配子串的候选子串。
[0138] 应用本发明图3所示实施例,可以根据对比多种语音识别方法的识别结果,为潜在识别错误的词句提供候选文本。
[0139] 参见图4,图4所示为本发明实施例提供的一种语音识别结果的处理装置的一种结构示意图,可以包括以下模块:
[0140] 采集模块401,用于获取使用多种语音识别方法对同一语音片段分别进行识别得到的作为语音识别结果的多个文本;
[0141] 筛选模块402:用于从多个文本中,选取一个文本作为第一文本,并从剩余文本中选取第二文本;
[0142] 匹配模块403,用于将第二文本与第一文本进行比对,得到第一文本中相比第二文本的不匹配子串;
[0143] 标记模块404,用于在第一文本中标记不匹配子串;
[0144] 展示模块405,用于展示标记了不匹配子串的第一文本。
[0145] 在一种可选的实现方式中,筛选模块402,可以包括:
[0146] 第一筛选单元,用于选取多个文本中最长的文本作为第一文本。
[0147] 在又一种可选的实现方式中,筛选模块402,可以包括:
[0148] 第一筛选单元,用于从多个文本中,选取使用多种语音识别方法中的预设置信度最高的方法识别得到的文本作为第一文本。
[0149] 在又一种可选的实现方式中,筛选模块402,可以包括:
[0150] 优先值计算单元,用于根据多个文本中各个文本的属性信息,计算各个文本的优先值,一个文本的属性信息,包括:文本长度、文本对应的语音识别方法的预设置信度;
[0151] 第一筛选单元,用于从多个文本中,选取优先值最高的文本作为第一文本;
[0152] 第二筛选单元,用于从剩余文本中选取优先值最高的文本作为第二文本。
[0153] 在一种可选的实现方式中,匹配模块403,可以包括:
[0154] 最长公共子序列单元,用于将第二文本与第一文本进行比对,得到第一文本与第二文本之间的最长公共子序列;
[0155] 分割单元,利用最长公共子序列对第一文本进行分割,得到一个或多个子串,将该一个或多个子串作为第一文本中相比第二文本的不匹配子串。
[0156] 在一种可选的实现方式中,图4所示实施例中标记模块404,如图5所示,可以包括以下单元:
[0157] 分类单元501,用于对于每一个不匹配子串,如果能够利用最长公共子序列从第二文本中分割出一个子串,且该子串满足条件:该子串在第二文本中的前后各一个字符与该不匹配子串在第一文本中的前后各一个字符对应一致或均不存在,则将该不匹配子串定义为第一类不匹配子串;
[0158] 如果不能够利用最长公共子序列从第二文本中分割出一个满足该条件的子串,则将该不匹配子串定义为第二类不匹配子串。
[0159] 分类标记单元502,用于利用两种不同的标记方式,在第一文本中分别标记出第一类不匹配子串和第二类不匹配子串。
[0160] 参见图6,图6所示为当选用如图5所示的标记模块404时图4所示装置还可以包括:
[0161] 候选子串模块106,用于对于每一个第一类不匹配子串,将利用最长公共子序列从第二文本中分割出的满足该条件的子串,作为该第一类不匹配子串的候选子串;
[0162] 提示模块107,用于对于第一类不匹配子串,在接收到第一预设用户指令时,向用户展示第一类不匹配子串的候选子串;
[0163] 修正模块108,用于在接收到第二预设用户指令时,用候选子串替换第一类不匹配子串。
[0164] 参见图7,图7为本发明实施例还提供了一种电子设备,包括处理器701和存储器702;
[0165] 存储器702,用于存放计算机程序;
[0166] 处理器701,用于执行存储器702上所存放的程序时,实现如下步骤:
[0167] 获取使用多种语音识别方法对同一语音片段分别进行识别得到的作为语音识别结果的多个文本;
[0168] 从该多个文本中,选取一个文本作为第一文本,并从剩余文本中选取第二文本;
[0169] 将第二文本与第一文本进行比对,得到第一文本中相比第二文本的不匹配子串;
[0170] 在第一文本中标记不匹配子串;
[0171] 展示标记了不匹配子串的第一文本。
[0172] 在一些示例中,上述电子设备还可以包括用于处理器701和存储器702之间进行通信的通信总线,提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry  Standard Architecture,EISA)总线等。该通信总线可以分为地址总线数据总线、控制总线等。
[0173] 在一些示例中,上述电子设备还可以包括用于上述电子设备与其他设备之间的通信的通信接口
[0174] 上述电子设备提到的存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0175] 上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0176] 在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的语音识别结果的处理方法。
[0177] 在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的语音识别结果的处理方法。
[0178] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0179] 本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于上述装置、电子设备、计算机可读存储介质和包含指令的计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0180] 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈