1.本发明涉及语音识别技术领域,具体涉及一种基于拼音转写的校正方法、装置和存储介质。
背景技术:2.语音指令识别技术可以使得操作人员无需进行手动操作,而只通过语音就能实现对系统功能的操纵,可以极大地提升操作的效率。虽然语音识别技术已经达到了较高的准确率,但当语音指令较短或在专业领域中,语音识别往往存在识别不准确的情况。在实际系统操作过程中,通常具有一个特定的指令集合。如果语音识别的结果被限定在有限的指令集合中,就可以通过比较识别结果和指令集中指令的相似程度,选择其中最相似的指令,以达到指令校正的目的。但另一方面,指令中还包含各种参数,例如当语音指令中含有数字参数时,系统很难对参数进行校正,容易出现同音错误,例如把“一”识别成“衣”,把“四”识别成“侍”,如何避免数字出现同音错误是现有技术需要解决的问题。同时指令也有可能带有汉字参数,在错误情况下系统难以区分汉字参数和汉字指令,从而导致校正过程中受到汉字参数的干扰,校正成了错误的指令。以上两种情况会导致输出错误。指令识别错误或参数识别错误将会对系统操作的准确性带来极大影响,引发不利后果。因此,如何设计一种有效的语音指令识别的后校正方法对于语音指令识别系统的实际应用具有重要的意义。
技术实现要素:3.本发明的目的在于克服上述技术不足,提供一种基于拼音转写的校正方法、装置和存储介质,解决如何避免数字出现同音错误的技术问题。
4.为达到上述技术目的,本发明的技术方案提供一种基于拼音转写的校正方法,包括以下步骤:
5.s1、将asr识别结果的噪音词移除并抽取带数字的专有名词,并在asr识别结果中用第一标识符代替所述专有名词;
6.s2、提取数字参数,同时在asr识别结果中把提取的所述参数用第二标识符替换所述参数;
7.s3、将所述专有名词替换所述asr识别结果中的第一标识符;
8.s4、将步骤s3处理后的所述asr识别结果转化成ssc编码,并匹配指令集中最相似的指令作为最优指令,得到校正结果;
9.s5、判断所述校正结果的参数数目,根据所述参数数目的数值,得到最终校正结果或者进行校正处理。
10.进一步地,在步骤s5中,若所述参数数目为0,则将所述校正结果作为最终校正结果。
11.进一步地,在步骤s5中,若所述参数数目不为0,根据所述最优指令和asr识别结果,寻找asr识别结果中参数部分,将该参数部分数字参数转化为阿拉伯数字,将纠正后的
结果代换最优指令中的参数部分。
12.进一步地,将所述校正结果中的数字参数转化为阿拉伯数字包括:通过hanzi2num模块将汉字数字参数转换为数字,采用ssc编码内置的相似度计算模块来计算单个汉字和数字参数的相似度,同时采用jieba分词技术,将汉字参数识别出来,避免汉字词汇被识别为数字参数导致误转换;所述hanzi2num模块的工作过程为:采用分词方法识别出asr识别结果参数部分名词;将不成词的字视为数字参数的误识,根据相似度转换成数字。
13.进一步地,若所述参数数目不为0,根据所述最优指令的参数部分前后的字符为标记进行匹配,搜索asr识别结果参数部分。
14.进一步地,采用分词方法识别出asr识别结果参数部分名词;将不成词的字视为数字参数的误识,根据相似度转换成数字。
15.进一步地,在步骤s4中,所述寻找最相似的指令包括:
16.t1、将所述ssc编码中的每个汉字的韵母码,声母码,韵母补码和音调码分别提取出来,并拼接为第一序列;
17.t2、将所述第一序列和指令集中的汉字部分的相似程度进行比较,取相似度值最小的汉字部分作为所述校正结果。
18.此外,本发明还提出一种基于拼音转写的校正装置,包括:
19.抽取单元,用于将asr识别结果的噪音词移除并抽取带数字专有名词,并在asr识别结果中用第一标识符代替所述专有名词;
20.提取单元,用于提取数字参数,同时在asr识别结果中把提取的所述参数用第二标识符替换所述参数;
21.替换单元,用于将所述专有名词替换所述asr识别结果中的第一标识符;
22.校正单元,用于将所述asr识别结果转化成ssc编码,并匹配指令集中最相似的指令作为最优指令,得到校正结果;
23.判断单元,用于判断所述校正结果的参数数目,根据所述参数数目的数值,得到最终校正结果或者进行校正处理。
24.此外,本发明还提出一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述语音指令识别的后校正方法的步骤。
25.与现有技术相比,本发明的有益效果包括:将asr识别结果的噪音词移除并抽取带数字的专有名词,并在asr识别结果中用第一标识符代替所述专有名词;提取数字参数,同时在asr识别结果中把提取的所述参数用第二标识符替换所述参数;将所述专有名词替换所述asr识别结果中的第一标识符;将所述asr识别结果转化成ssc编码,并匹配最相似的指令,得到校正结果,判断校正结果的参数数目,根据参数数目的数值,得到最终校正结果或者进行校正处理,避免了数字的专有名词的转化,另外避免了数字的校正,从而避免了数字出现同音错误。
附图说明
26.图1是本发明具体实施方式中一种基于拼音转写的校正方法的流程示意图;
27.图2是本发明具体实施方式中一种基于拼音转写的校正装置的结构示意图;
28.图3是本发明实施例1中三种识别结果示例;
29.图4是本发明实施例1中基于最小公共字符串识别的校正结果示例;
30.图5是本发明实施例1中模糊匹配结果示例;
31.图6是本发明实施例1中基于数字参数匹配方法的校正示例。
具体实施方式
32.结合图1,本具体实施方式提出一种基于拼音转写的校正方法,包括以下步骤:
33.s1、将asr识别结果的噪音词移除并抽取带数字的专有名词,并在asr识别结果中用第一标识符代替所述专有名词;
34.s2、提取数字参数,同时在asr识别结果中把提取的所述参数用第二标识符替换所述参数;
35.s3、将所述专有名词替换所述asr识别结果中的第一标识符;
36.s4、将步骤s3处理后的所述asr识别结果转化成ssc编码,并匹配指令集中最相似的指令作为最优指令,得到校正结果;
37.所述寻找最相似的指令包括:
38.t1、将所述ssc编码中的每个汉字的韵母码,声母码,韵母补码和音调码分别提取出来,并拼接为第一序列;
39.t2、将所述第一序列和指令集中的汉字部分的相似程度进行比较,取相似度值最小的汉字部分作为所述校正结果;
40.步骤s5、判断所述校正结果的参数数目,若所述参数数目为0,则将所述校正结果作为最终校正结果;若所述参数数目不为0,根据所述最优指令和asr识别结果,寻找asr识别结果中参数部分,将该参数部分数字参数转化为阿拉伯数字,将纠正后的结果代换最优指令中的参数部分;将所述校正结果中的数字参数转化为阿拉伯数字包括:通过hanzi2num模块将汉字数字参数转换为数字,采用ssc编码内置的相似度计算模块来计算单个汉字和数字参数的相似度,同时采用jieba分词技术,将汉字参数识别出来,避免汉字词汇被识别为数字参数导致误转换;所述hanzi2num模块的工作过程为:采用分词方法识别出asr识别结果参数部分名词;将不成词的字视为数字参数的误识,根据相似度转换成数字;
41.若所述参数数目不为0,根据所述最优指令参数部分前后的字符为标记进行匹配,搜索asr识别结果参数部分;采用分词方法识别出asr识别结果参数部分名词;将不成词的字视为数字参数的误识,根据相似度转换成数字。
42.结合图2,本具体实施方式还提出一种基于拼音转写的校正装置,包括:
43.抽取单元,用于将asr识别结果的噪音词移除并抽取带数字的专有名词,并在asr识别结果中用第一标识符代替所述专有名词;
44.提取单元,用于提取数字参数,同时在asr识别结果中把提取的所述参数用第二标识符替换所述参数;
45.替换单元,用于将所述专有名词替换所述asr识别结果中的第一标识符;
46.校正单元,用于将所述asr识别结果转化成ssc编码,并匹配指令集中最相似的指令作为最优指令,得到校正结果;
47.判断单元,用于判断所述校正结果的参数数目,根据所述参数数目的数值,得到最终校正结果或者进行校正处理。
48.本具体实施方式还提出一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述语音指令识别的后校正方法的步骤。
49.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
50.实施例1
51.本实施例提出一种基于拼音转写的校正方法,包括以下步骤:
52.s1、首先将asr识别结果中诸如“打开”,“关闭”等噪音词移除,然后将asr识别结果中一些带数字的专有名词抽出到list:proper_nouns中,并在asr识别结果中用第一标识符“+”代替,防止所述专有名词被误识为数字参数;
53.s2、提取数字参数,同时在asr识别结果中把提取的所述参数用第二标识符“*”替换所述参数,并输出参数的个数num_alpha;
54.s3、将所述专有名词替换所述asr识别结果中的第一标识符“+”;
55.s4、将步骤s3处理后的所述asr识别结果转化成ssc编码,并匹配最相似的指令,选取指令集中,similarity最小的指令作为最优指令,记为best_str。并输出best_str得到校正结果;
56.将步骤s3处理后的所述asr识别结果转化成ssc编码,并匹配最相似的指令具体如下:
57.s41、将asr识别结果转换成ssc编码,对于每一个汉字,本实施例采用的ssc转换程序将该汉字的读音转换成一个4字符编码,依次代表韵母码,声母码,韵母补码和音调码;
58.s42、将步骤s1所得的编码中的韵母码,声母码,韵母补码和音调码分别提取出来,并拼接成一个第一序列list;
59.s43、将指令集的汉字部分也进行同样的操作拼接成一个第二序列list;
60.s44、计算步骤s42和步骤s43中两条指令的相似程度,记asr识别结果为asr,其汉字部分韵母码,声母码,韵母补码,音调码分别为asr_ym,asr_sm,asr_ymbm,asr_yd;记指令集为str,对应的汉字部分韵母码,声母码,韵母补码,音调码分别为str_ym,str_sm,str_ymbm,str_yd;记字符串a和字符串b的最小编辑距离为edit_dist(a,b),本实施例提出了如下的相似度计算公式:
61.similarity=3*edit_dist(asr,str)+3*edit_dist(asr_ym,str_ym)+3*edit_dist(asr_sm,str_sm)+edit_dist(asr_ymbm,str_ymbm)+edit_dist(asr_yd,str_yd)
62.其中,对字符串本身,韵母码和声母码赋予了较高的权重(权重为3),而对韵母补码,音调码赋予了较低的权重(权重为1)。
63.在本实施例中,还包括步骤s5、判断best_str中参数数目和num_alpha中参数数目是否都为0;如果是,则输出best_str,结束程序;这是因为此时指令集当中没有参数;如果为否,则利用最长公共字串匹配best_str和asr识别结果寻找参数param(此时能够识别汉字参数);判断best_str和param是否满足以下三个条件:a)best_str中“*”只位于指令两端;b)在非参数的部分,best_str中字符数和asr识别结果的字符数相等;c)param中参数个数等于best_str中的参数数目;如果三个条件同时满足,用汉字到数字参数转换模块(hanzi2num)将param中的数字参数转化成阿拉伯数字。随后将纠正后的结果代换best_str
中的“*”,得到out_str并输出,结束程序;hanzi2num模块可以将汉字参数转换为数字,采用ssc内置的相似度计算模块来计算单个汉字和数字参数的相似度,并解决数字同音识别错误的问题,同时采用jieba分词技术,将汉字参数识别出来,避免汉字词汇被识别为参数从而导致误转换;举例如图3所示,如图3所示从左到右分别是asr识别结果,仅识别数字同音错误结果和hanzinum模块校正结果;asr识别结果中,“翻”应为“三”;仅识别同音错误时,“翻”可以被正确纠正为“三”,但“机”同时也被错误识别成了“一”;而在hanzi2num模块中,首先采用分词方法识别出“机场”二字,避免其被错误转换成数字;而“翻”不成词,于是被系统认为是数字参数的误识,根据相似度转换成“三”,最终实现了正确转换;
64.一个基于最小公共字符串识别的识别、校正例子如下图4所示;
65.若不能同时满足上述三个条件,则用模糊匹配方法寻找模糊参数fuzzy_param;模糊匹配方法根据“*”前后的字符为标记进行匹配,一个例子如下图5所示,如图5所示,将asr识别结果的“设”,“一”与best_str中的“设”,“一”相匹配,则中间绿色方框内“机场9”则能匹配“*”;进一步地,若模糊匹配同时满足两个条件:a)best_str中只有一个参数,b)fuzzy_param中只有一个参数,则将fuzzy_param通过hanzi2num模块纠正被读错的数字同音,随后将得到的参数代入best_str中,得到并输出out_str,结束程序;若不能同时满足上述两个条件,则将num_alpha中的参数带入best_str中,得到并输出out_str,结束程序;
66.一个基于数字参数匹配方法的校正例子如图6所示,可以看出数字匹配能够准确提取参数并替换参数标识符“*”。
67.本发明的优势:
68.一、从寻找最优指令上来看:
69.本发明采用了ssc码编码,可以将汉字转写成一个4字符的语音编码。同时分开提取了声母,韵母,音调。相比拼音转写而言:
70.1)可以保证编辑距离不会因为拼音的长度而变化,保证了编辑距离的统一性;
71.2)对于易混淆音对如“zh”和“z”,“ang”和“an”等赋予同样的码,有效考虑了说话人的习惯。此外,还可以在直接在后台修改赋码来适应不同人的说话习惯;
72.3)将声母,韵母,韵母补码和音调分开计算编辑距离,可以有效考虑到四项的权重不同。
73.相对于soundex转写而言:
74.1)考虑了元音的赋码,同时本发明适用于中文处理;
75.2)除了易混淆音对,对不同的音节用数字赋予不同的代码,有效防止同码不同音的现象。
76.相对于直接采用ssc编码而言:
77.1)增加了声母,韵母,音调在识别指令时的权重;
78.2)在计算相似度时,加入了asr识别结果到正确指令的直接编辑距离这一项。因此也考虑了数字带来的影响;
79.二、从参数匹配,结果输出上来看:
80.1)本发明综合了直接提取数字,最长公共字符串匹配,模糊匹配三种匹配方法,取长补短,可以很好防止其中单个方法的弊端,达到最高的识别效率;
81.2)本发明能够对某些特殊的指令进行特殊的处理;
82.3)本发明能够在数字识别出现同音错误的情况下,正确还原数字;
83.本发明可以在asr识别错误的情况下,寻找最优指令,并通过多种方式结合寻找参数,并输出最后结果。提高了识别精度和准度。有效解决了在固定指令集下,语音时长较短时,识别的误差。根据实录语音数据测算,其识别准确度可达96%。
84.以上所述本发明的具体实施方式,并不构成对本发明保护范围的限定。任何根据本发明的技术构思所做出的各种其他相应的改变与变形,均应包含在本发明权利要求的保护范围内。