CN106847288B - 语音识别文本的纠错方法与装置 - Google Patents

语音识别文本的纠错方法与装置 Download PDF

Info

Publication number
CN106847288B
CN106847288B CN201710087256.4A CN201710087256A CN106847288B CN 106847288 B CN106847288 B CN 106847288B CN 201710087256 A CN201710087256 A CN 201710087256A CN 106847288 B CN106847288 B CN 106847288B
Authority
CN
China
Prior art keywords
error correction
text
matching
voice recognition
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710087256.4A
Other languages
English (en)
Other versions
CN106847288A (zh
Inventor
秦泓杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Imilab Technology Co Ltd
Original Assignee
Shanghai Chuangmi Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Chuangmi Technology Co ltd filed Critical Shanghai Chuangmi Technology Co ltd
Priority to CN201710087256.4A priority Critical patent/CN106847288B/zh
Publication of CN106847288A publication Critical patent/CN106847288A/zh
Application granted granted Critical
Publication of CN106847288B publication Critical patent/CN106847288B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation

Abstract

本申请提供一种语音识别文本的纠错方法与装置,用于解决现有技术下语音识别文本的纠错方法复杂、资源消耗大、不适合在语音识别设备中使用的问题。本申请的技术方案不同于传统的对语音识别文本先分词,再进行纠错评估的纠错方式,而是采用直接纠错再评估的方法,大幅降低了对外部资源数据的依赖性,减轻了系统计算负担,而且也更有针对性地提高了用户语音控制指令的识别率。

Description

语音识别文本的纠错方法与装置
技术领域
本申请涉及语音识别领域,具体为一种语音识别文本的纠错方法与装置。
背景技术
随着语音识别技术的发展,很多企业开始提供第三方语音识别服务,在此基础上,越来越多的电子设备开始支持智能语音控制。然而在实际应用中,由于受周围噪音、个人发音差异等因素的影响,语音识别的文本结果往往与用户语音输入不一致,这势必会影响此后的文本分词、语义分析、语法分析等一系列自然语言处理任务。因此,如果能够智能地对语音识别后的文本进行分析,有针对性的查找、定位出错词并进行纠正,必将有效提高语音识别的准确率。
近年来,国内外学者提出了一系列语音识别后的文本校验与纠错方法,包括:基于N-Gram模型、基于混淆矩阵、基于自定义语法规则等方法。然而这些方法大都面向通用自然语言的语音识别文本,方法涉及的场景及方法自身较复杂,并且对计算、存储和系统资源的消耗也很大,不适合在资源有限的语音识别设备中使用。同时语音控制设备中的应用也具有一定的特殊性,如:用户可以自定义设备名、语音控制指令一般较短、口语表述具有多样性、语音识别文本更容易出现缺字、多字现象等等。因此,现有语音识别文本的纠错方法并不完全适用于语音控制设备中的应用。
申请内容
本申请的目的是提供一种语音识别文本的纠错方法与装置,用于解决现有技术下语音识别文本的纠错方法复杂、资源消耗大、不适合在语音识别设备中使用的问题,实现外部依赖资源的减少、系统负担的降低和语音控制指令识别准确率的提高。
根据本申请的一个方面,提供了一种语音识别文本的纠错方法,该方法包括:获取语音识别文本;根据预设的候选纠错文本生成所述语音识别文本对应的纠错记录;输出所述语音识别文本对应的纠错记录。
进一步地,根据预设的候选纠错文本生成所述语音识别文本对应的纠错记录,包括:
根据所述候选纠错文本在所述语音识别文本中进行匹配,以确定所述语音识别文本中,是否存在与所述候选纠错文本的匹配置信度超过阈值的匹配文本;
在所述语音识别文本中存在与所述候选纠错文本的匹配置信度超过阈值的匹配文本时,根据所述匹配文本生成语音识别文本对应的纠错记录。
进一步地,根据所述候选纠错文本在所述语音识别文本中进行匹配,包括:
采用基于编辑距离模型的模式匹配算法,并根据所述候选纠错文本在所述语音识别文本中进行匹配。
进一步地,采用基于编辑距离模型的模式匹配算法,并根据所述候选纠错文本在所述语音识别文本中进行匹配,包括:
计算所述候选纠错文本与所述语音识别文本中的匹配文本之间的编辑距离;
根据所述编辑距离与所述候选纠错文本的长度,获取所述候选纠错文本与所述匹配文本之间的匹配置信度;
确定所述语音识别文本中存在与所述候选纠错文本的匹配置信度超过阈值的匹配文本。
进一步地,计算所述候选纠错文本与所述语音识别文本中的匹配文本之间的编辑距离之前,还包括:
对所述候选纠错文本与所述语音识别文本进行预处理,其中,所述预处理包括在所述候选纠错文本与所述语音识别文本中添加分隔符。
进一步地,根据所述匹配文本生成语音识别文本对应的纠错记录,包括:
根据所述匹配文本获取纠错边界,其中,所述纠错边界包括纠错起始位置和匹配文本长度;
生成语音识别文本对应的纠错记录,其中,所述纠错记录至少包括候选纠错文本、纠错边界和匹配置信度。
进一步地,输出所述语音识别文本对应的纠错记录,包括:
采用筛选和/或组合排序的方式对所述语音识别文本对应的多条纠错记录进行优化后输出。
进一步地,采用筛选的方式对所述语音识别文本对应的多条纠错记录进行优化,包括:
当候选纠错文本与语音识别文本中匹配文本的匹配置信度超过阈值时,从纠错记录中删除纠错边界相交的其它纠错记录,其中,所述纠错边界包括纠错起始位置和匹配文本长度。
进一步地,采用组合排序的方式对所述语音识别文本对应的多条纠错记录进行优化,包括:
根据纠错边界不相交的多条纠错记录生成合成记录,其中,所述纠错边界包括纠错起始位置和匹配文本长度;
利用预设方法对组合记录组进行排序,其中,所述组合记录组包含所述纠错记录和由所述纠错记录生成的合成记录。
进一步地,利用预设方法对组合记录组进行排序,其中,所述预设方法包括如下一种或多种任意的组合:
根据组合记录组中纠错记录的纠错评估分数计算平均纠错评估分数,按所述平均纠错评估分数从高到低排列;
统计组合记录组中的纠错记录数,按所述纠错记录数从多到少排列;
统计组合记录组中语音识别文本的匹配文本的总长度,按所述匹配文本的总长度从短到长排列。
进一步地,所述纠错评估分数的获取方法,包括:
根据纠错记录对应的匹配置信度和/或相似度得分和/或统计语言模型得分获取纠错评估分数。
根据本申请的另一方面,还提供了一种语音识别文本的纠错装置,所述装置包括:
读取模块,用于获取语音识别文本;
匹配模块,用于根据预设的候选纠错文本生成所述语音识别文本对应的纠错记录;
输出模块,用于输出所述语音识别文本对应的纠错记录。
进一步地,所述匹配模块,用于:
根据所述候选纠错文本在所述语音识别文本中进行匹配,以确定所述语音识别文本中,是否存在与所述候选纠错文本的匹配置信度超过阈值的匹配文本;
在所述语音识别文本中存在与所述候选纠错文本的匹配置信度超过阈值的匹配文本时,根据所述匹配文本生成语音识别文本对应的纠错记录。
进一步地,所述匹配模块,用于:
采用基于编辑距离模型的模式匹配算法,并根据所述候选纠错文本在所述语音识别文本中进行匹配。
进一步地,所述匹配模块,用于:
计算所述候选纠错文本与所述语音识别文本中的匹配文本之间的编辑距离;
根据所述编辑距离与所述候选纠错文本的长度,获取所述候选纠错文本与所述匹配文本之间的匹配置信度;
确定所述语音识别文本中存在与所述候选纠错文本的匹配置信度超过阈值的匹配文本。
进一步地,所述匹配模块,还用于:
对所述候选纠错文本与所述语音识别文本进行预处理,其中,所述预处理包括在所述候选纠错文本与所述语音识别文本中添加分隔符。
进一步地,所述匹配模块,用于:
根据所述匹配文本获取纠错边界,其中,所述纠错边界包括纠错起始位置和匹配文本长度;
生成语音识别文本对应的纠错记录,其中,所述纠错记录至少包括候选纠错文本、纠错边界和匹配置信度。
进一步地,所述输出模块,用于:
采用筛选和/或组合排序的方式对所述语音识别文本对应的多条纠错记录进行优化后输出。
进一步地,所述输出模块,用于:
当候选纠错文本与语音识别文本中匹配文本的匹配置信度超过阈值时,从纠错记录中删除纠错边界相交的其它纠错记录,其中,所述纠错边界包括纠错起始位置和匹配文本长度。
进一步地,所述输出模块,用于:
根据纠错边界不相交的多条纠错记录生成合成记录,其中,所述纠错边界包括纠错起始位置和匹配文本长度;
利用预设方法对组合记录组进行排序,其中,所述组合记录组包含所述纠错记录和由所述纠错记录生成的合成记录。
进一步地,所述输出模块,用于:
根据组合记录组中纠错记录的纠错评估分数计算平均纠错评估分数,按所述平均纠错评估分数从高到低排列;
统计组合记录组中的纠错记录数,按所述纠错记录数从多到少排列;
统计组合记录组中语音识别文本的匹配文本的总长度,按所述匹配文本的总长度从短到长排列。
进一步地,所述输出模块,用于:
根据纠错记录对应的匹配置信度和/或相似度得分和/或统计语言模型得分获取纠错评估分数。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请实施例提供的语音识别文本的纠错方法的流程图;
图2为本申请实施例提供的根据语音识别文本和候选纠错文本生成纠错记录的流程图;
图3为本申请实施例提供的编辑距离矩阵示例图;
图4为本申请实施例提供的输出纠错记录的流程图;
图5为本申请实施例提供的计算纠错评估分数的流程图;
图6为本申请实施例提供的维特比算法原理示意图;
图7为本申请实施例提供的分词路径示例图;
图8为本申请实施例提供的语音识别文本的纠错装置的结构示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1示出了本申请实施例提供的一种语音识别文本的纠错方法,该方法包括如下几个步骤:
步骤S101,获取语音识别文本;
步骤S102,根据预设的候选纠错文本生成所述语音识别文本对应的纠错记录;
步骤S103,输出所述语音识别文本对应的纠错记录。
在此,步骤S101中的语音识别文本是任何语音识别软件对用户语音识别后产生的文本,是本申请方案的输入对象。
步骤S102根据预设的候选纠错文本生成所述语音识别文本对应的纠错记录,其中,预设的候选纠错文本是用于对语音识别文本进行纠错的多条文本,本申请方案面向的场景是对涉及语音控制设备的语音识别文本进行纠错,语音识别文本同语音控制设备的信息有很强的关联,因此可以使用语音控制设备的信息作为候选的纠错文本,提高纠错的准确性,同时,由于具体系统中语音控制设备的数量是有限的,因此对语音识别文本进行纠错匹配需要的系统资源也减少很多。
预设的候选纠错文本的生成方法是通过获取用户能操作的所有语音控制设备信息,选定部分字段信息作为语音识别文本的候选纠错文本,具体地,本申请实施例中将语音控制设备列表名、语音控制设备类型名作为候选纠错文本。
步骤S102根据预设的候选纠错文本生成所述语音识别文本对应的纠错记录,如图2所示,具体包括:
一、根据所述候选纠错文本在所述语音识别文本中进行匹配,以确定所述语音识别文本中,是否存在与所述候选纠错文本的匹配置信度超过阈值的匹配文本;
在使用候选纠错文本对语音识别文本进行匹配之前,需要对这两种文本进行预处理,以提高匹配算法的运行效率和匹配准确性。文本的预处理方法可以是字符预处理方法,也可以是文本转拼音预处理方法或两者的组合。
字符预处理方法用于对语音识别文本和候选纠错文本进行分隔与字符转换,包括如下多种方式:
在语音识别文本和候选纠错文本中插入分隔符,语音识别文本插入分隔符的位置在首字符前、尾字符后和相邻字符间,候选纠错文本插入分隔符的位置在首字符之前,本申请实施例中使用的分隔符为空格符“”;
将语音识别文本和候选纠错文本中的字符全部转换为全角/半角字符;
将语音识别文本和候选纠错文本中的字符全部转换为大写/小写字符;
将未知字符从语音识别文本和候选纠错文本中移除。
文本转拼音预处理方法用于对语音识别文本和候选纠错文本中的字符进行转拼音处理,包括如下多种方式:
将语音识别文本和候选纠错文本中的汉字字符和数字字符转换为汉语拼音字符串,所述汉语拼音字符串既可以是带音调的字符串,也可以是不带音调的纯英文字符串,甚至可以是由声、韵母及声调构成的拼音字符串;
语音识别文本和候选纠错文本中的英文字符保持不变;
将语音识别文本和候选纠错文本中的未知字符或特殊字符使用替换符替换,本申请实施例中使用的替换符为“*”。
对候选纠错文本和语音识别文本进行匹配采用的是基于编辑距离模型的模式匹配算法,候选纠错文本和语音识别文本可以是进行了转拼音处理后的英文字符串,也可以是没有进行转拼音处理的汉字文本。
编辑距离(Edit Distance)是指两个字符串,从一个字符串改变成另一个字符串所需要进行的编辑操作的最少次数。本申请实施例中的编辑操作仅包括将一个字符替换成另一个字符、插入一个字符和删除一个字符这三种编辑操作。一般来说,编辑距离越小,表明两个字符串的相似度越高。
采用基于编辑距离模型的模式匹配算法对候选纠错文本和语音识别文本进行匹配,具体包括:
1)计算所述候选纠错文本与所述语音识别文本中的匹配文本之间的编辑距离;
表1示出了语音识别文本“打开下午茶座吧”和候选纠错文本“小虎插座”之间的(编辑距离,纠错起始位置)对。其中,“[]”代表分隔符。
[] [] [] [] [] [] [] []
[] 0,0 2,0 0,1 3,1 0,2 3,2 0,3 2,3 0,4 3,4 0,5 3,5 0,6 2,6 0,7
4,0 3,0 3,0 3,1 3,1 1,2 1,2 2,2 2,2 3,4 3,4 3,5 3,5 3,6 3,6
6,0 5,0 5,0 5,1 5,1 3,2 3,2 2,2 2,2 4,2 4,2 5,5 5,5 5,6 5,6
9,0 8,0 8,0 8,1 8,1 6,2 6,2 5,2 5,2 2,2 2,2 5,2 5,2 6,4 6,4
12,0 11,0 11,0 10,0 10,0 9,2 9,2 8,2 8,2 5,2 5,2 2,2 2,2 4,2 4,2
表1
图3示出了语音识别文本“打开下午茶座吧”和候选纠错文本“小虎插座”进行了文本转拼音预处理后,根据相应拼音字符串计算得到的编辑距离矩阵。
本申请实施例中使用如下算法来计算编辑距离矩阵:
(a)编辑距离向量和纠错边界初始值定义如下:
editDistance[i]=i,start[i]=0,length[i]=0。
其中,editDistance表示当前编辑距离列向量,start表示相应纠错边界的起始位置,length表示匹配文本长度,i表示候选纠错文本中字符的索引下标(从0开始)。
editDistance[i]=i的含意为:候选纠错文本的前i个字符转换成空字符所需的编辑距离为i。
(b)编辑距离列向量和纠错边界的计算方法如下:
如果当前语音识别文本的拼音字符是分隔符“”,那么:
editDistance[i]=min(editDistanceOld[i],i);
Figure BDA0001227810040000091
length[i]=wordIndex-start[i].
否则:
Figure BDA0001227810040000092
Figure BDA0001227810040000093
length[i]=wordIndex-start[i].
其中,wordIndex表示当前语音识别文本的拼音字符c,对应的汉字在原文本中的索引位置(从0开始),p[i]表示候选纠错文本中的第i个拼音字符,
Figure BDA0001227810040000094
定义如下:
Figure BDA0001227810040000095
其中,editDistance为当前列向量,editDistanceOld为前一列向量,如图3所示的编辑距离矩阵的计算是从左往右、自上而下,逐列计算编辑距离列向量。
与传统的编辑距离算法相比,上述算法实现了在输入文本中模糊匹配、定位指定模式串的功能。计算编辑距离向量的同时,也更新了模糊匹配的起始位置,免去了再次对整个编辑距离矩阵进行回溯求解最优路径的开销。
本申请实施例中,分隔符是整个计算过程的核心,其作用在于:
分隔符并不参与实际的字符串相似度计算;
分隔符对拼音字符串起到分隔、标识对应汉字的作用;
只有遇到分隔符才需要计算当前纠错边界(即纠错起始位置和匹配文本长度)下的匹配置信度,并根据阈值,判断是否需要保存纠错记录;
分隔符是定位纠错起始位置的关键。
2)根据所述编辑距离与所述候选纠错文本的长度,获取所述候选纠错文本与所述匹配文本之间的匹配置信度;
本申请实施例中候选纠错文本与语音识别文本中的匹配文本之间的匹配置信度计算公式如下:
匹配置信度=1-拼音编辑距离/候选纠错文本拼音长度.
需要注意的是,由于语音识别文本中可能存在错字,也可能存在缺字、多字的情况,所以每个候选纠错文本的纠错边界并不唯一,相应的匹配置信度也不完全相同。
3)确定所述语音识别文本中存在与所述候选纠错文本的匹配置信度超过阈值的匹配文本。
本申请实施例中将阈值设定为0.8,参照表1,遍历最后一行中“[]”对应的(编辑距离,纠错起始位置)对,可知超过阈值的匹配文本只有:“下午茶座”。该匹配文本的匹配置信度为1–2/12,即0.833333。
二、在所述语音识别文本中存在与所述候选纠错文本的匹配置信度超过阈值的匹配文本时,根据所述匹配文本生成语音识别文本对应的纠错记录。
本申请实施例中每条纠错记录内容包括候选纠错文本、纠错边界(即纠错起始位置和匹配文本长度)和纠错置信度。
由前述可知,本申请实施例中将阈值设定为0.8后超过阈值的匹配文本只有:“下午茶座”。根据语音识别文本“打开下午茶座吧”中的匹配文本“下午茶座”和编辑距离矩阵可得到如下的纠错记录:
候选纠错文本:小虎插座
纠错起始位置:2
匹配文本长度:4
匹配置信度:0.833333
步骤S103输出所述语音识别文本对应的纠错记录,具体是采用筛选和/或组合排序的方式对所述语音识别文本对应的多条纠错记录进行优化后输出,图4示出了输出纠错记录的流程。
采用筛选的方式对所述语音识别文本对应的多条纠错记录进行优化,具体包括:当候选纠错文本与语音识别文本中匹配文本的匹配置信度超过阈值时,从纠错记录中删除纠错边界相交的其它纠错记录。
其中,纠错边界相交的解释为:两组纠错边界对应的匹配文本间存在重叠。
由于前述匹配算法充分考虑了语音识别文本中不仅可能存在错字,还可能存在缺字、多字的情形,所以即使指定了匹配置信度阈值,每个候选纠错文本的纠错边界也可能并不唯一,对应的匹配置信度也不完全相同。因此当匹配置信度足够大(比如>0.95),纠错记录足够可靠时,其它纠错记录就显得多余了。
以语音识别文本“打开我是台灯”和候选纠错文本“卧室台灯”为例,在匹配置信度阈值为0.75时,所有纠错记录列表如下:
(1)候选纠错文本:卧室台灯
纠错起始位置:2
匹配文本长度:4
匹配置信度:1.0
纠错后的语音文本为:打开卧室台灯。
(2)候选纠错文本:卧室台灯
纠错起始位置:3
匹配文本长度:3
匹配置信度:0.833333(即1–2/12)
纠错后的语音文本为:打开我卧室台灯。
显然,第一条纠错记录已经足够可靠了。
采用组合排序的方式对所述语音识别文本对应的多条纠错记录进行优化,具体包括:
1、根据纠错边界不相交的多条纠错记录生成合成记录;
以语音识别文本“打开我是台风和下午茶座”和候选纠错文本“卧室台灯”、“小虎插座”为例,在匹配置信度阈值为0.75时,所有纠错记录列表如下:
(1)候选纠错文本:卧室台灯
纠错起始位置:2
匹配文本长度:4
匹配置信度:0.9167(即1–1/12)
(2)候选纠错文本:卧室台灯
纠错起始位置:3
匹配文本长度:3
匹配置信度:0.75(即1–3/12)
(3)候选纠错文本:小虎插座
纠错起始位置:7
匹配文本长度:4
匹配置信度:0.833333(即1–2/12)
生成的合成记录有{(1),(3)}和{(2),(3)}。
2、利用预设方法对组合记录组进行排序,其中,所述组合记录组包含所述纠错记录和由所述纠错记录生成的合成记录。
仍以前述语音识别文本“打开我是台风和下午茶座”和候选纠错文本“卧室台灯”、“小虎插座”为例,在匹配置信度阈值为0.75时,生成的组合记录组中共有有{(1),(3)}、{(2),(3)}、{(1)}、{(2)}、{(3)}五条记录,包括2条合成记录和3条纠错记录。相应纠错后的语音识别文本如下:
{(1),(3)}:打开卧室台灯和小虎插座。
{(2),(3)}:打开我卧室台灯和小虎插座。
{(1)}:打开卧室台灯和下午茶座。
{(2)}:打开我卧室台灯和下午茶座。
{(3)}:打开我是台风和小虎插座。
对组合记录组进行排序的预设方法,可以选择如下一种或多种方法的组合:
(a)根据组合记录组中纠错记录的纠错评估分数计算平均纠错评估分数,按所述平均纠错评估分数从高到低排列;
(b)统计组合记录组中的纠错记录数,按所述纠错记录数从多到少排列;
(c)统计组合记录组中语音识别文本的匹配文本的总长度,按所述匹配文本的总长度从短到长排列。
在此,平均纠错评估分数越高,表明纠错后的语音识别文本越可靠;匹配文本的总长度越短,表明原语音识别文本中被保留的信息越多。
纠错记录的纠错评估分数根据纠错记录对应的匹配置信度和/或相似度得分和/或统计语言模型得分加权计算得到,图5示出了纠错评估分数的计算流程。
本申请实施例中纠错记录的纠错评估分数计算公式如下:
纠错评估分数=匹配置信度+相似度权重*相似度得分+分词权重*统计语言模型得分;
其中,相似度权重和分词权重为经验参数,视语料库及模块效果而调整。
相似度得分根据候选纠错文本和匹配文本间的相似度得到。其中,匹配文本是指根据当前纠错记录从语音识别文本中截取的一个子文本。该子文本是语音识别文本中以纠错起始位置开始,以匹配文本长度为长度的字符串。例如,根据语音识别文本“打开下午茶座吧”和候选纠错文本“小虎插座”生成的纠错记录中纠错起始位置为2(对应汉字为‘下’),匹配文本长度为4,因此匹配文本为“下午茶座”。
计算文本间相似度的算法,既可以是最长公共子序列算法,也可以是最长公共子串等其它用于计算字符串相似度的算法。
最长公共子序列(Longest Common Subsequence)是指序列S是两个或多个已知序列的子序列,且是所有符合条件序列中最长的。它并不要求子序列在已知序列中连续。如果添上连续性条件,则就成为了最长公共子串(Longest Common Substring)。
以字符串“abcfbc”和“abfcab”为例,最长公共子序列为“abcb”或“abfb”,长度为4;最长公共子串为“ab”,长度为2。
本申请实施例中采用的相似度算法是基于汉字字符串的最长公共子序列算法。
相似度得分计算公式如下:
相似度得分=最长公共子序列长度/候选纠错文本长度。
例如,“小虎插座”与“下午茶座”的相似度得分为:
sim(小虎插座,下午茶座)=1/4=0.25。
统计语言模型得分可以用来表示纠错后,语音识别文本的合理性。不同于英文字符串,中文字符串中并不存在天然的单词分隔符,所以计算汉语的统计语言模型得分时,首先需要进行分词。
本申请实施例中采用的分词算法为基于维特比算法的分词算法,语料库可以为带词性标注的2014人民日报语料库。对语料库进行简单的预处理(如移除特殊字符等)后,可以统计得到语料库中所有单词和汉字出现的词频。
维特比算法是一种动态规划算法,用于解决图中的最短路径问题,能有效降低计算复杂度,如图6所示。
维特比算法的核心在于,假设已知到第i列所有节点的最短路径Xi,j,那么:
Xi+1,k=min{Xi,j+dj,k|j=1,2,…,ni;k=1,2,…,ni+1}.
其中,ni表示第i列节点个数,ni+1表示第i+1列节点个数。
仍以纠错后的语音识别文本“打开小虎插座吧”为例,简单说明维特比分词算法。
首先,基于当前语料库下的词典,生成词图。词图即输入文本中所有可能出现的单词及汉字构成的图。如果一个词A的下一个词可能是B的话,那么A和B之间就有一条路径(A,B)。一个词可能有多个后续词,也可能有多个前驱词,它们构成的图即为词图。
如果将一个词的起始位置作为行,终止位置作为列,则又可以将词图转换为一个二维矩阵。如下表2示出了“打开小虎插座吧”在语料库词典下的词图矩阵。
0 1 2 3 4 5 6 7
0 始##始
1 打开
2
3 小虎
4
5 插座
6
7 末##末
表2
表2所示的词图矩阵中,从起始节点(始##始)到结尾节点(末##末)存在如下路径:
始##始—>打—>开—>小—>虎—>插—>座—>末##末;
始##始—>打—>开—>小—>虎—>插座—>末##末;
始##始—>打—>开—>小虎—>插—>座—>末##末;
始##始—>打开—>小—>虎—>插—>座—>末##末;
始##始—>打—>开—>小虎—>插座—>末##末;
始##始—>打开—>小—>虎—>插座—>末##末;
始##始—>打开—>小虎—>插—>座—>末##末;
始##始—>打开—>小虎—>插座—>末##末。
显然,随着语音文本增长,词节点增加,路径数将激增,遍历计算所有路径的开销也将随之上升。
本申请实施例中,任意两分词节点间距离的基本计算公式为:
Figure BDA0001227810040000151
其中,from、to表示两分词节点,freq(from)表示单词from在语料库中的出现的次数,freq(from,to)表示单词对(from、to)在语料库中的共现次数,total_freq表示语料库中所有单词出现的总数,w为预定义权重0.2。
上式中,freq(from)/total_freq度量了单词from在语料库中出现的概率,(1+freq(from,to))/(1+freq(from))度量了单词对(from、to)在语料库中出现的条件概率。
为进一步降低计算复杂度,直接基于相邻节点间的距离,从末节点开始依次选取距离最短的节点,得到局部最优分词路径作为最终分词路径。
本申请实施例中的统计语言模型得分定义为:
score=1/distance(始##始,末##末)
图7示出了纠错后的语音识别文本“打开小虎插座”的分词路径,其中最终分词路径中分词节点的选取依次为:插座—>小虎—>打开,根据上述公式计算统计语言模型得分为:1/17=1/(1+5+5+6)。
得到纠错记录的相似度得分和统计语言模型得分之后,根据纠错记录的纠错评估分数计算公式得到最终的纠错评估分数。例如,根据语音识别文本“打开下午茶座吧”和候选纠错文本“小虎插座”生成的纠错记录中纠错起始位置为2(对应汉字为‘下’),匹配文本长度为4,可得到匹配置信度为0.8333,将相似度权重设置为0.2,分词权重设置为0.5,可计算得到纠错评估分数为:0.913=0.8333+0.2*0.25+0.5/17。
需要说明的是,相似度得分和统计语言模型得分并不是必要的,但加上后可以进一步优化纠错记录的可靠性。分词权重设置为0,表明不考虑统计语言模型,可以减少计算开销。类似的,也可以将相似度权重设置为0。
仍以语音识别文本“打开我是台风和下午茶座”和候选纠错文本“卧室台灯”、“小虎插座”为例(不考虑相似度得分和统计语言模型得分,即权重均设置为0),对纠错记录组先按纠错记录数从多到少排序,再按纠错评估分数从高到低排序后的结果如下:
{(1),(3)},均分:0.875,匹配文本长度:8,纠错后语音识别文本:打开卧室台灯和小虎插座。
{(2),(3)},均分:0.792,匹配文本长度:7,纠错后语音识别文本:打开我卧室台灯和小虎插座。
{(1)},均分:0.9167,匹配文本长度:4,纠错后语音识别文本:打开卧室台灯和下午茶座。
{(3)},均分:0.833,匹配文本长度:4,纠错后语音识别文本:打开我是台风和小虎插座。
{(2)},均分:0.750,匹配文本长度:3,纠错后语音识别文本:打开我卧室台灯和下午茶座。
更一般地,还可以为每个组合记录组定义如下排序得分,据此由高到低排序:
Figure BDA0001227810040000161
其中,fi表示纠错记录组的第i个排序因子的数值,wi为相应权重,n为预先选定的排序因子数目。排序因子可以为:纠错记录个数、纠错记录平均最终得分、纠错记录平均匹配置信度、纠错文本总长度、候选纠错文本总长度等等。
根据本申请的另一方面,还提供了一种语音识别文本的纠错装置,该装置的结构如图8所示,包括读取模块210、匹配模块220和输出模块230。具体地,读取模块210用于获取语音识别文本;匹配模块220用于根据预设的候选纠错文本生成所述语音识别文本对应的纠错记录;输出模块230用于输出所述语音识别文本对应的纠错记录。
在此,读取模块210获取的语音识别文本是任何语音识别软件对用户语音识别后产生的文本,是本申请方案的输入对象。
匹配模块220用于根据预设的候选纠错文本生成所述语音识别文本对应的纠错记录,其中,预设的候选纠错文本是用于对语音识别文本进行纠错的多条文本,本申请方案面向的场景是对涉及语音控制设备的语音识别文本进行纠错,语音识别文本同语音控制设备的信息有很强的关联,因此可以使用语音控制设备的信息作为候选的纠错文本,提高纠错的准确性。同时,由于具体系统中语音控制设备的数量是有限的,因此对语音识别文本进行纠错匹配需要的系统资源也减少很多。
预设的候选纠错文本的生成方法是通过获取用户能操作的所有语音控制设备信息,选定部分字段信息作为语音识别文本的候选纠错文本。具体地,本申请实施例中将语音控制设备列表名、语音控制设备类型名作为候选纠错文本。
匹配模块220用于根据预设的候选纠错文本生成所述语音识别文本对应的纠错记录,如图2所示,具体用于:
一、根据所述候选纠错文本在所述语音识别文本中进行匹配,以确定所述语音识别文本中,是否存在与所述候选纠错文本的匹配置信度超过阈值的匹配文本;
在使用候选纠错文本对语音识别文本进行匹配之前,需要对这两种文本进行预处理,以提高匹配算法的运行效率和匹配准确性。文本的预处理方法可以是字符预处理方法,也可以是文本转拼音预处理方法或两者的组合。
字符预处理方法用于对语音识别文本和候选纠错文本进行分隔与字符转换,包括如下多种方式:
在语音识别文本和候选纠错文本中插入分隔符,语音识别文本插入分隔符的位置在首字符前、尾字符后和相邻字符间,候选纠错文本插入分隔符的位置在首字符之前,本申请实施例中使用的分隔符为空格符“”;
将语音识别文本和候选纠错文本中的字符全部转换为全角/半角字符;
将语音识别文本和候选纠错文本中的字符全部转换为大写/小写字符;
将未知字符从语音识别文本和候选纠错文本中移除。
文本转拼音预处理方法用于对语音识别文本和候选纠错文本中的字符进行转拼音处理,包括如下多种方式:
将语音识别文本和候选纠错文本中的汉字字符和数字字符转换为汉语拼音字符串,所述汉语拼音字符串既可以是带音调的字符串,也可以是不带音调的纯英文字符串,甚至可以是由声、韵母及声调构成的拼音字符串;
语音识别文本和候选纠错文本中的英文字符保持不变;
将语音识别文本和候选纠错文本中的未知字符或特殊字符使用替换符替换,本申请实施例中使用的替换符为“*”。
对候选纠错文本和语音识别文本进行匹配采用的是基于编辑距离模型的模式匹配算法,候选纠错文本和语音识别文本可以是进行了转拼音处理后的英文字符串,也可以是没有进行转拼音处理的汉字文本。
编辑距离(Edit Distance)是指两个字符串从一个字符串改变成另一个字符串所需要进行的编辑操作的最少次数。本申请实施例中的编辑操作仅包括将一个字符替换成另一个字符、插入一个字符和删除一个字符这三种编辑操作。一般来说,编辑距离越小,表明两个字符串的相似度越高。
采用基于编辑距离模型的模式匹配算法对候选纠错文本和语音识别文本进行匹配,具体包括:
1)计算所述候选纠错文本与所述语音识别文本中的匹配文本之间的编辑距离;
表1示出了语音识别文本“打开下午茶座吧”和候选纠错文本“小虎插座”之间的(编辑距离,纠错起始位置)对。其中,“[]”代表分隔符。
图3示出了语音识别文本“打开下午茶座吧”和候选纠错文本“小虎插座”进行了文本转拼音预处理后,根据相应拼音字符串计算得到的编辑距离矩阵。
本申请实施例中使用如下算法来计算编辑距离矩阵:
(a)编辑距离向量和纠错边界初始值定义如下:
editDistance[i]=i,start[i]=0,length[i]=0。
其中,editDistance表示当前编辑距离列向量,start表示相应纠错边界的起始位置,length表示匹配文本长度,i表示候选纠错文本中字符的索引下标(从0开始)。
editDistance[i]=i的含意为:候选纠错文本的前i个字符转换成空字符所需的编辑距离为i。
(b)编辑距离列向量和纠错边界的计算方法如下:
如果当前语音识别文本的拼音字符是分隔符“”,那么:
editDistance[i]=min(editDistanceOld[i],i);
Figure BDA0001227810040000191
length[i]=wordIndex-start[i].
否则:
Figure BDA0001227810040000192
Figure BDA0001227810040000193
length[i]=wordIndex-start[i].
其中,wordIndex表示当前语音识别文本的拼音字符c,对应的汉字在原文本中的索引位置(从0开始),p[i]表示候选纠错文本中的第i个拼音字符,
Figure BDA0001227810040000194
定义如下:
Figure BDA0001227810040000195
其中,editDistance为当前列向量,editDistanceOld为前一列向量,如图3所示的编辑距离矩阵的计算是从左往右、自上而下,逐列计算编辑距离列向量。
与传统的编辑距离算法相比,上述算法实现了在输入文本中模糊匹配、定位指定模式串的功能。计算编辑距离向量的同时,也更新了模糊匹配的起始位置,免去了再次对整个编辑距离矩阵进行回溯求解最优路径的开销。
本申请实施例中,分隔符是整个计算过程的核心,其作用在于:
分隔符并不参与实际的字符串相似度计算;
分隔符对拼音字符串起到分隔、标识对应汉字的作用;
只有遇到分隔符才需要计算当前纠错边界(即纠错起始位置和匹配文本长度)下的匹配置信度,并判断是否需要保存纠错记录;
分隔符是定位纠错起始位置的关键。
2)根据所述编辑距离与所述候选纠错文本的长度,获取所述候选纠错文本与所述匹配文本之间的匹配置信度;
本申请实施例中候选纠错文本与语音识别文本中的匹配文本之间的匹配置信度计算公式如下:
匹配置信度=1-拼音编辑距离/候选纠错文本拼音长度.
需要注意的是,由于语音识别文本中可能存在错字,也可能存在缺字、多字的情况,所以每个候选纠错文本的纠错边界并不唯一,相应的匹配置信度也不完全相同。
3)确定所述语音识别文本中存在与所述候选纠错文本的匹配置信度超过阈值的匹配文本。
本申请实施例中将阈值设定为0.8,参照表1,遍历最后一行中“[]”对应的(编辑距离,纠错起始位置)对,可知超过阈值的匹配文本只有:“下午茶座”。该匹配文本的匹配置信度为1–2/12,即0.833333。
二、在所述语音识别文本中存在与所述候选纠错文本的匹配置信度超过阈值的匹配文本时,根据所述匹配文本生成语音识别文本对应的纠错记录。
本申请实施例中每条纠错记录内容包括候选纠错文本、纠错边界(即纠错起始位置和匹配文本长度)和纠错置信度。
由前述可知,本申请实施例中将阈值设定为0.8后超过阈值的匹配文本只有:“下午茶座”。根据语音识别文本“打开下午茶座吧”中的匹配文本“下午茶座”和编辑距离矩阵可得到如下的纠错记录:
候选纠错文本:小虎插座
纠错起始位置:2
匹配文本长度:4
匹配置信度:0.833333
输出模块230用于输出所述语音识别文本对应的纠错记录,具体地,用于采用筛选和/或组合排序的方式对所述语音识别文本对应的多条纠错记录进行优化后输出,图4示出了输出模块的工作流程。
采用筛选的方式对所述语音识别文本对应的多条纠错记录进行优化,具体包括:当候选纠错文本与语音识别文本中匹配文本的匹配置信度超过阈值时,从纠错记录结果集合中删除纠错边界相交的其它纠错记录。
其中,纠错边界相交的解释为:两组纠错边界对应的匹配文本间存在重叠。
由于前述匹配算法充分考虑了语音识别文本中不仅可能存在错字,还可能存在缺字、多字的情形,所以即使指定了匹配置信度阈值,每个候选纠错文本的纠错边界也可能并不唯一,对应的匹配置信度也不完全相同。因此当匹配置信度足够大(比如>0.95),纠错记录足够可靠时,其它纠错记录就显得多余了。
以语音识别文本“打开我是台灯”和候选纠错文本“卧室台灯”为例,在匹配置信度阈值为0.75时,所有纠错记录列表如下:
(1)候选纠错文本:卧室台灯
纠错起始位置:2
匹配文本长度:4
匹配置信度:1.0
纠错后的语音文本为:打开卧室台灯。
(2)候选纠错文本:卧室台灯
纠错起始位置:3
匹配文本长度:3
匹配置信度:0.833333(即1–2/12)
纠错后的语音文本为:打开我卧室台灯。
显然,第一条纠错记录已经足够可靠了。
采用组合排序的方式对所述语音识别文本对应的多条纠错记录进行优化,具体包括:
1、根据纠错边界不相交的多条纠错记录生成合成记录;
以语音识别文本“打开我是台风和下午茶座”和候选纠错文本“卧室台灯”、“小虎插座”为例,在匹配置信度阈值为0.75时,所有纠错记录列表如下:
(1)候选纠错文本:卧室台灯
纠错起始位置:2
匹配文本长度:4
匹配置信度:0.9167(即1–1/12)
(2)候选纠错文本:卧室台灯
纠错起始位置:3
匹配文本长度:3
匹配置信度:0.75(即1–3/12)
(3)候选纠错文本:小虎插座
纠错起始位置:7
匹配文本长度:4
匹配置信度:0.833333(即1–2/12)
生成的合成记录有{(1),(3)}和{(2),(3)}。
2、利用预设方法对组合记录组进行排序,其中,所述组合记录组包含所述纠错记录和由所述纠错记录生成的合成记录。
仍以前述语音识别文本“打开我是台风和下午茶座”和候选纠错文本“卧室台灯”、“小虎插座”为例,在匹配置信度阈值为0.75时,生成的组合记录组中共有有{(1),(3)}、{(2),(3)}、{(1)}、{(2)}、{(3)}五条记录,包括2条合成记录和3条纠错记录。相应纠错后的语音识别文本如下:
{(1),(3)}:打开卧室台灯和小虎插座。
{(2),3)}:打开我卧室台灯和小虎插座。
{(1)}:打开卧室台灯和下午茶座。
{(2)}:打开我卧室台灯和下午茶座。
{(3)}:打开我是台风和小虎插座。
对组合记录组进行排序的预设方法,可以选择如下一种或多种的组合:
(a)根据组合记录组中纠错记录的纠错评估分数计算平均纠错评估分数,按所述平均纠错评估分数从高到低排列;
(b)统计组合记录组中的纠错记录数,按所述纠错记录数从多到少排列;
(c)统计组合记录组中语音识别文本的匹配文本的总长度,按所述匹配文本的总长度从短到长排列。
在此,平均纠错评估分数越高,表明纠错后的语音识别文本越可靠;匹配文本的总长度越短,表明原语音识别文本中被保留的信息越多。
纠错记录的纠错评估分数根据纠错记录对应的匹配置信度和/或相似度得分和/或统计语言模型得分加权计算得到,图5示出了纠错评估分数的计算流程。
本申请实施例中纠错记录的纠错评估分数计算公式如下:
纠错评估分数=匹配置信度+相似度权重*相似度得分+分词权重*统计语言模型得分;
其中,相似度权重和分词权重为经验参数,视语料库及模块效果而调整。
相似度得分根据候选纠错文本和匹配文本间的相似度得到。其中,匹配文本是指根据当前纠错记录从语音识别文本中截取的一个子文本。该子文本是语音识别文本中以纠错起始位置开始,以匹配文本长度为长度的字符串。例如,根据语音识别文本“打开下午茶座吧”和候选纠错文本“小虎插座”生成的纠错记录中纠错起始位置为2(对应汉字为‘下’),匹配文本长度为4,因此匹配文本为“下午茶座”。
计算文本间相似度的算法,既可以是最长公共子序列算法,也可以是最长公共子串等其它用于计算字符串相似度的算法。
最长公共子序列(Longest Common Subsequence)是指序列S是两个或多个已知序列的子序列,且是所有符合条件序列中最长的。它并不要求子序列在已知序列中连续。如果添上连续性条件,则就成为了最长公共子串(Longest Common Substring)。
以字符串“abcfbc”和“abfcab”为例,最长公共子序列为“abcb”或“abfb”,长度为4;最长公共子串为“ab”,长度为2。
本申请实施例中采用的相似度算法是基于汉字字符串的最长公共子序列算法。
相似度得分计算公式如下:
相似度得分=最长公共子序列长度/候选纠错文本长度。
例如,“小虎插座”与“下午茶座”的相似度得分为:
sim(小虎插座,下午茶座)=1/4=0.25。
统计语言模型得分可以用来表示纠错后,语音识别文本的合理性。不同于英文字符串,中文字符串中并不存在天然的单词分隔符,所以计算汉语的统计语言模型得分时,首先需要进行分词。
本申请实施例中采用的分词算法为基于维特比算法的分词算法,语料库可以为带词性标注的2014人民日报语料库。对语料库进行简单的预处理(如移除特殊字符等)后,可以统计得到语料库中所有单词和汉字出现的词频。
维特比算法是一种动态规划算法,用于解决图中的最短路径问题,能有效降低计算复杂度,如图6所示。
维特比算法的核心在于,假设已知到第i列所有节点的最短路径Xi,j,那么:
Xi+1,k=min{Xi,j+dj,k|j=1,2,…,ni;k=1,2,…,ni+1}.
其中,ni表示第i列节点个数,ni+1表示第i+1列节点个数。
仍以纠错后的语音识别文本“打开小虎插座吧”为例,简单说明维特比分词算法。
首先,基于当前语料库下的词典,生成词图。词图即输入文本中所有可能出现的单词及汉字构成的图。如果一个词A的下一个词可能是B的话,那么A和B之间就有一条路径(A,B)。一个词可能有多个后续词,也可能有多个前驱词,它们构成的图即为词图。
如果将一个词的起始位置作为行,终止位置作为列,则又可以将词图转换为一个二维矩阵。表2示出了“打开小虎插座吧”在语料库词典下的词图矩阵。
表2所示的词图矩阵中,从起始节点(始##始)到结尾节点(末##末)存在如下路径:
始##始—>打—>开—>小—>虎—>插—>座—>末##末;
始##始—>打—>开—>小—>虎—>插座—>末##末;
始##始—>打—>开—>小虎—>插—>座—>末##末;
始##始—>打开—>小—>虎—>插—>座—>末##末;
始##始—>打—>开—>小虎—>插座—>末##末;
始##始—>打开—>小—>虎—>插座—>末##末;
始##始—>打开—>小虎—>插—>座—>末##末;
始##始—>打开—>小虎—>插座—>末##末。
显然,随着语音文本增长,词节点增加,路径数将激增,遍历计算所有路径的开销也将随之上升。
本申请实施例中,任意两分词节点间距离的基本计算公式为:
Figure BDA0001227810040000251
其中,from、to表示两分词节点,freq(from)表示单词from在语料库中的出现的次数,freq(from,to)表示单词对(from、to)在语料库中的共现次数,total_freq表示语料库中所有单词出现的总数,w为预定义权重0.2。
上式中,freq(from)/total_freq度量了单词from在语料库中出现的概率,(1+freq(from,to))/(1+freq(from))度量了单词对(from、to)在语料库中出现的条件概率。
为进一步降低计算复杂度,直接基于相邻节点间的距离,从末节点开始依次选取距离最短的节点,得到局部最优分词路径作为最终分词路径。
本申请实施例中的统计语言模型得分定义为:
score=1/distance(始##始,末##末)
图7示出了纠错后的语音识别文本“打开小虎插座”的分词路径,其中最终分词路径中分词节点的选取依次为:插座—>小虎—>打开,根据上述公式计算统计语言模型得分为:1/17=1/(1+5+5+6)。
得到纠错记录的相似度得分和统计语言模型得分之后,根据纠错记录的纠错评估分数计算公式得到最终的纠错评估分数。例如,根据语音识别文本“打开下午茶座吧”和候选纠错文本“小虎插座”生成的纠错记录中纠错起始位置为2(对应汉字为‘下’),匹配文本长度为4,可得到匹配置信度为0.8333,将相似度权重设置为0.2,分词权重设置为0.5,可计算得到纠错评估分数为:0.913=0.8333+0.2*0.25+0.5/17。
需要说明的是,相似度得分和统计语言模型得分并不是必要的,但加上后可以进一步优化纠错记录的可靠性。分词权重设置为0,表明不考虑统计语言模型,可以减少计算开销。类似的,也可以将相似度权重设置为0。
仍以语音识别文本“打开我是台风和下午茶座”和候选纠错文本“卧室台灯”、“小虎插座”为例(不考虑相似度得分和统计语言模型得分,即权重均设置为0),对纠错记录组先按纠错记录数从多到少排序,再按纠错评估分数从高到低排序后的结果如下:
{(1),(3)},均分:0.875,匹配文本长度:8,纠错后语音识别文本:打开卧室台灯和小虎插座。
{(2),(3)},均分:0.792,匹配文本长度:7,纠错后语音识别文本:打开我卧室台灯和小虎插座。
{(1)},均分:0.9167,匹配文本长度:4,纠错后语音识别文本:打开卧室台灯和下午茶座。
{(3)},均分:0.833,匹配文本长度:4,纠错后语音识别文本:打开我是台灯和小虎插座。
{(2)},均分:0.750,匹配文本长度:3,纠错后语音识别文本:打开我卧室台灯和下午茶座。
更一般地,还可以为每个组合记录组定义如下排序得分,据此由高到低排序:
Figure BDA0001227810040000261
其中,fi表示纠错记录组的第i个排序因子的数值,wi为相应权重,n为预先选定的排序因子数目。排序因子可以为:纠错记录个数、纠错记录平均最终得分、纠错记录平均匹配置信度、纠错文本总长度、候选纠错文本总长度等等。
与现有技术相比,本申请的技术方案不同于传统的对语音识别文本先分词,再进行纠错评估的纠错方式,而是采用直接纠错再评估的方法,大幅降低了对外部资源数据的依赖性,减轻了系统计算负担,而且也更有针对性地提高了用户语音控制指令的识别率。
在此,本领域技术人员应当理解,方位词均是结合操作者和使用者的日常操作习惯以及说明书附图而设立的,它们的出现不应当影响本申请的保护范围。
以上结合附图实施例对本申请进行了详细说明,本领域中普通技术人员可根据上述说明对本申请做出种种变化例。因而,实施例中的某些细节不应构成对本申请的限定,本申请将以所附权利要求书界定的范围作为本申请的保护范围。

Claims (20)

1.一种语音识别文本的纠错方法,其中,包括:
获取语音识别文本;
根据预设的候选纠错文本生成所述语音识别文本对应的纠错记录,其中,所述语音识别文本和所述候选纠错文本为进行了转拼音处理后的英文字符串或汉字文本,所述候选纠错文本通过获取用户能操作的语音控制设备信息生成,其中,所述语音控制设备信息包括语音控制设备列表名、语音控制设备类型名;
输出所述语音识别文本对应的纠错记录;
其中,根据预设的候选纠错文本生成所述语音识别文本对应的纠错记录,包括:
对所述候选纠错文本与所述语音识别文本进行预处理,其中,所述预处理包括在所述候选纠错文本与所述语音识别文本中添加分隔符;所述语音识别文本中添加分隔符的位置在首字符前、尾字符后和相邻字符间。
2.根据权利要求1所述的方法,其中,根据预设的候选纠错文本生成所述语音识别文本对应的纠错记录,包括:
根据所述候选纠错文本在所述语音识别文本中进行匹配,以确定所述语音识别文本中,是否存在与所述候选纠错文本的匹配置信度超过阈值的匹配文本;
在所述语音识别文本中存在与所述候选纠错文本的匹配置信度超过阈值的匹配文本时,根据所述匹配文本生成语音识别文本对应的纠错记录。
3.根据权利要求2所述的方法,其中,根据所述候选纠错文本在所述语音识别文本中进行匹配,包括:
采用基于编辑距离模型的模式匹配算法,并根据所述候选纠错文本在所述语音识别文本中进行匹配。
4.根据权利要求3所述的方法,其中,采用基于编辑距离模型的模式匹配算法,并根据所述候选纠错文本在所述语音识别文本中进行匹配,包括:
计算所述候选纠错文本与所述语音识别文本中的匹配文本之间的编辑距离;
根据所述编辑距离与所述候选纠错文本的长度,获取所述候选纠错文本与所述匹配文本之间的匹配置信度;
确定所述语音识别文本中存在与所述候选纠错文本的匹配置信度超过阈值的匹配文本。
5.根据权利要求2所述的方法,其中,根据所述匹配文本生成语音识别文本对应的纠错记录,包括:
根据所述匹配文本获取纠错边界,其中,所述纠错边界包括纠错起始位置和匹配文本长度;
生成语音识别文本对应的纠错记录,其中,所述纠错记录至少包括候选纠错文本、纠错边界和匹配置信度。
6.根据权利要求1所述的方法,其中,输出所述语音识别文本对应的纠错记录,包括:
采用筛选和/或组合排序的方式对所述语音识别文本对应的多条纠错记录进行优化后输出。
7.根据权利要求6所述的方法,其中,采用筛选的方式对所述语音识别文本对应的多条纠错记录进行优化,包括:
当候选纠错文本与语音识别文本中匹配文本的匹配置信度超过阈值时,从纠错记录中删除纠错边界相交的其它纠错记录,其中,所述纠错边界包括纠错起始位置和匹配文本长度。
8.根据权利要求6所述的方法,其中,采用组合排序的方式对所述语音识别文本对应的多条纠错记录进行优化,包括:
根据纠错边界不相交的多条纠错记录生成合成记录,其中,所述纠错边界包括纠错起始位置和匹配文本长度;
利用预设方法对组合记录组进行排序,其中,所述组合记录组包含所述纠错记录和由所述纠错记录生成的合成记录。
9.根据权利要求6所述的方法,其中,利用预设方法对组合记录组进行排序,其中,所述预设方法包括如下一种或多种任意的组合:
根据组合记录组中纠错记录的纠错评估分数计算平均纠错评估分数,按所述平均纠错评估分数从高到低排列;
统计组合记录组中的纠错记录数,按所述纠错记录数从多到少排列;
统计组合记录组中语音识别文本的匹配文本的总长度,按所述匹配文本的总长度从短到长排列。
10.根据权利要求9所述的方法,其中,所述纠错评估分数的获取方法,包括:
根据纠错记录对应的匹配置信度和/或相似度得分和/或统计语言模型得分获取纠错评估分数。
11.一种语音识别文本的纠错装置,其中,包括:
读取模块,用于获取语音识别文本;
匹配模块,用于根据预设的候选纠错文本生成所述语音识别文本对应的纠错记录,其中,所述语音识别文本和所述候选纠错文本为进行了转拼音处理后的英文字符串或汉字文本,所述候选纠错文本通过获取用户能操作的语音控制设备信息生成,其中,所述语音控制设备信息包括语音控制设备列表名、语音控制设备类型名;
输出模块,用于输出所述语音识别文本对应的纠错记录;
其中,根据预设的候选纠错文本生成所述语音识别文本对应的纠错记录,包括:
对所述候选纠错文本与所述语音识别文本进行预处理,其中,所述预处理包括在所述候选纠错文本与所述语音识别文本中添加分隔符;所述语音识别文本中添加分隔符的位置在首字符前、尾字符后和相邻字符间。
12.根据权利要求11所述的装置,其中,所述匹配模块,用于:
根据所述候选纠错文本在所述语音识别文本中进行匹配,以确定所述语音识别文本中,是否存在与所述候选纠错文本的匹配置信度超过阈值的匹配文本;
在所述语音识别文本中存在与所述候选纠错文本的匹配置信度超过阈值的匹配文本时,根据所述匹配文本生成语音识别文本对应的纠错记录。
13.根据权利要求12所述的装置,其中,所述匹配模块,用于:
采用基于编辑距离模型的模式匹配算法,并根据所述候选纠错文本在所述语音识别文本中进行匹配。
14.根据权利要求13所述的装置,其中,所述匹配模块,用于:
计算所述候选纠错文本与所述语音识别文本中的匹配文本之间的编辑距离;
根据所述编辑距离与所述候选纠错文本的长度,获取所述候选纠错文本与所述匹配文本之间的匹配置信度;
确定所述语音识别文本中存在与所述候选纠错文本的匹配置信度超过阈值的匹配文本。
15.根据权利要求12所述的装置,其中,所述匹配模块,用于:
根据所述匹配文本获取纠错边界,其中,所述纠错边界包括纠错起始位置和匹配文本长度;
生成语音识别文本对应的纠错记录,其中,所述纠错记录至少包括候选纠错文本、纠错边界和匹配置信度。
16.根据权利要求11所述的装置,其中,所述输出模块,用于:
采用筛选和/或组合排序的方式对所述语音识别文本对应的多条纠错记录进行优化后输出。
17.根据权利要求16所述的装置,其中,所述输出模块,用于:
当候选纠错文本与语音识别文本中匹配文本的匹配置信度超过阈值时,从纠错记录中删除纠错边界相交的其它纠错记录,其中,所述纠错边界包括纠错起始位置和匹配文本长度。
18.根据权利要求16所述的装置,其中,所述输出模块,用于:
根据纠错边界不相交的多条纠错记录生成合成记录,其中,所述纠错边界包括纠错起始位置和匹配文本长度;
利用预设方法对组合记录组进行排序,其中,所述组合记录组包含所述纠错记录和由所述纠错记录生成的合成记录。
19.根据权利要求16所述的装置,其中,所述输出模块,用于:
根据组合记录组中纠错记录的纠错评估分数计算平均纠错评估分数,按所述平均纠错评估分数从高到低排列;
统计组合记录组中的纠错记录数,按所述纠错记录数从多到少排列;
统计组合记录组中语音识别文本的匹配文本的总长度,按所述匹配文本的总长度从短到长排列。
20.根据权利要求19所述的装置,其中,所述输出模块,用于:
根据纠错记录对应的匹配置信度和/或相似度得分和/或统计语言模型得分获取纠错评估分数。
CN201710087256.4A 2017-02-17 2017-02-17 语音识别文本的纠错方法与装置 Active CN106847288B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710087256.4A CN106847288B (zh) 2017-02-17 2017-02-17 语音识别文本的纠错方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710087256.4A CN106847288B (zh) 2017-02-17 2017-02-17 语音识别文本的纠错方法与装置

Publications (2)

Publication Number Publication Date
CN106847288A CN106847288A (zh) 2017-06-13
CN106847288B true CN106847288B (zh) 2020-12-25

Family

ID=59128683

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710087256.4A Active CN106847288B (zh) 2017-02-17 2017-02-17 语音识别文本的纠错方法与装置

Country Status (1)

Country Link
CN (1) CN106847288B (zh)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109145281B (zh) * 2017-06-15 2020-12-25 北京嘀嘀无限科技发展有限公司 语音识别方法、装置及存储介质
CN110770819B (zh) 2017-06-15 2023-05-12 北京嘀嘀无限科技发展有限公司 语音识别系统和方法
CN107633250B (zh) * 2017-09-11 2023-04-18 畅捷通信息技术股份有限公司 一种文字识别纠错方法、纠错系统及计算机装置
CN109597983B (zh) * 2017-09-30 2022-11-04 北京国双科技有限公司 一种拼写纠错方法及装置
CN107741928B (zh) * 2017-10-13 2021-01-26 四川长虹电器股份有限公司 一种基于领域识别的对语音识别后文本纠错的方法
CN107729321A (zh) * 2017-10-23 2018-02-23 上海百芝龙网络科技有限公司 一种语音识别结果纠错方法
CN107977356B (zh) * 2017-11-21 2019-10-25 新疆科大讯飞信息科技有限责任公司 识别文本纠错方法及装置
CN107993653A (zh) * 2017-11-30 2018-05-04 南京云游智能科技有限公司 语音识别设备的错误发音自动纠正更新方法和更新系统
CN108268637A (zh) * 2018-01-17 2018-07-10 广东蔚海数问大数据科技有限公司 一种智能语音矫正识别方法、装置和用户终端
CN108257602B (zh) * 2018-01-30 2021-06-01 海信集团有限公司 车牌号字符串矫正方法、装置、服务器和终端
CN110322895B (zh) * 2018-03-27 2021-07-09 亿度慧达教育科技(北京)有限公司 语音评测方法及计算机存储介质
CN108733645A (zh) * 2018-04-11 2018-11-02 广州视源电子科技股份有限公司 候选词评估方法、装置、计算机设备和存储介质
CN108664466B (zh) * 2018-04-11 2022-07-08 广州视源电子科技股份有限公司 候选词评估方法、装置、计算机设备和存储介质
CN108681534A (zh) * 2018-04-11 2018-10-19 广州视源电子科技股份有限公司 候选词评估方法、装置、计算机设备和存储介质
CN108681533B (zh) * 2018-04-11 2022-04-19 广州视源电子科技股份有限公司 候选词评估方法、装置、计算机设备和存储介质
CN108628826B (zh) * 2018-04-11 2022-09-06 广州视源电子科技股份有限公司 候选词评估方法、装置、计算机设备和存储介质
CN108595419B (zh) * 2018-04-11 2022-05-03 广州视源电子科技股份有限公司 候选词评估方法、候选词排序方法及装置
CN108681535B (zh) * 2018-04-11 2022-07-08 广州视源电子科技股份有限公司 候选词评估方法、装置、计算机设备和存储介质
CN108694167B (zh) * 2018-04-11 2022-09-06 广州视源电子科技股份有限公司 候选词评估方法、候选词排序方法及装置
CN108733646B (zh) * 2018-04-11 2022-09-06 广州视源电子科技股份有限公司 候选词评估方法、装置、计算机设备和存储介质
CN108735220A (zh) * 2018-04-11 2018-11-02 四川斐讯信息技术有限公司 一种语言学习用智能耳机、智能交互系统及人机交互方法
CN108694166B (zh) * 2018-04-11 2022-06-28 广州视源电子科技股份有限公司 候选词评估方法、装置、计算机设备和存储介质
CN108647202B (zh) * 2018-04-11 2022-09-06 广州视源电子科技股份有限公司 候选词评估方法、装置、计算机设备和存储介质
CN108664467B (zh) * 2018-04-11 2022-09-06 广州视源电子科技股份有限公司 候选词评估方法、装置、计算机设备和存储介质
CN109710904B (zh) * 2018-11-13 2023-11-14 平安科技(深圳)有限公司 基于语义解析的文本准确率计算方法、装置、计算机设备
CN109712616B (zh) * 2018-11-29 2023-11-14 平安科技(深圳)有限公司 基于数据处理的电话号码纠错方法、装置及计算机设备
CN109857264B (zh) * 2019-01-02 2022-09-20 众安信息技术服务有限公司 一种基于空间键位的拼音纠错方法及装置
CN111832554A (zh) * 2019-04-15 2020-10-27 顺丰科技有限公司 一种图像检测方法、装置及存储介质
CN110399608B (zh) * 2019-06-04 2023-04-25 深思考人工智能机器人科技(北京)有限公司 一种基于拼音的对话系统文本纠错系统及方法
CN110428822B (zh) * 2019-08-05 2022-05-03 重庆电子工程职业学院 一种语音识别纠错方法及人机对话系统
CN110442853A (zh) * 2019-08-09 2019-11-12 深圳前海微众银行股份有限公司 文本定位方法、装置、终端及存储介质
CN110503958A (zh) * 2019-08-30 2019-11-26 厦门快商通科技股份有限公司 语音识别方法、系统、移动终端及存储介质
CN111192586B (zh) * 2020-01-08 2023-07-04 北京小米松果电子有限公司 语音识别方法及装置、电子设备、存储介质
CN111341305B (zh) * 2020-03-05 2023-09-26 苏宁云计算有限公司 一种音频数据标注方法、装置及系统
CN111582169B (zh) * 2020-05-08 2023-10-10 腾讯科技(深圳)有限公司 图像识别数据纠错方法、装置、计算机设备和存储介质
CN111681642B (zh) * 2020-06-03 2022-04-15 北京字节跳动网络技术有限公司 语音识别评估方法、装置、存储介质及设备
CN111859952B (zh) * 2020-06-19 2024-02-20 北京百度网讯科技有限公司 文本纠错方法、装置、电子设备及存储介质
CN112382289B (zh) * 2020-11-13 2024-03-22 北京百度网讯科技有限公司 语音识别结果的处理方法、装置、电子设备及存储介质
CN112767925B (zh) * 2020-12-24 2023-02-17 贝壳技术有限公司 语音信息识别方法及装置
CN112863516A (zh) * 2020-12-31 2021-05-28 竹间智能科技(上海)有限公司 一种文本纠错方法、系统及电子设备
CN112765962B (zh) * 2021-01-15 2022-08-30 上海微盟企业发展有限公司 一种文本纠错方法、装置及介质
CN112951211B (zh) * 2021-04-22 2022-10-18 中国科学院声学研究所 一种语音唤醒方法及装置
CN114964300B (zh) * 2022-06-22 2023-03-28 深圳市智远联科技有限公司 一种语音识别方法及导航装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101655837A (zh) * 2009-09-08 2010-02-24 北京邮电大学 一种对语音识别后文本进行检错并纠错的方法
CN101802812A (zh) * 2007-08-01 2010-08-11 金格软件有限公司 使用互联网语料库的自动的上下文相关的语言校正和增强
CN103000176A (zh) * 2012-12-28 2013-03-27 安徽科大讯飞信息科技股份有限公司 语音识别方法和系统
CN103959282A (zh) * 2011-09-28 2014-07-30 谷歌公司 用于文本识别系统的选择性反馈
CN104464736A (zh) * 2014-12-15 2015-03-25 北京百度网讯科技有限公司 语音识别文本的纠错方法和装置
CN106098060A (zh) * 2016-05-19 2016-11-09 北京搜狗科技发展有限公司 语音的纠错处理方法和装置、用于语音的纠错处理的装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101802812A (zh) * 2007-08-01 2010-08-11 金格软件有限公司 使用互联网语料库的自动的上下文相关的语言校正和增强
CN101655837A (zh) * 2009-09-08 2010-02-24 北京邮电大学 一种对语音识别后文本进行检错并纠错的方法
CN103959282A (zh) * 2011-09-28 2014-07-30 谷歌公司 用于文本识别系统的选择性反馈
CN103000176A (zh) * 2012-12-28 2013-03-27 安徽科大讯飞信息科技股份有限公司 语音识别方法和系统
CN104464736A (zh) * 2014-12-15 2015-03-25 北京百度网讯科技有限公司 语音识别文本的纠错方法和装置
CN106098060A (zh) * 2016-05-19 2016-11-09 北京搜狗科技发展有限公司 语音的纠错处理方法和装置、用于语音的纠错处理的装置

Also Published As

Publication number Publication date
CN106847288A (zh) 2017-06-13

Similar Documents

Publication Publication Date Title
CN106847288B (zh) 语音识别文本的纠错方法与装置
CN109918680B (zh) 实体识别方法、装置及计算机设备
JP6799800B2 (ja) 意味情報生成方法、意味情報生成装置、およびプログラム
CN108287858B (zh) 自然语言的语义提取方法及装置
CN106649783B (zh) 一种同义词挖掘方法和装置
US7035789B2 (en) Supervised automatic text generation based on word classes for language modeling
CN103189860B (zh) 组合句法转换模型与词汇转换模型的机器翻译装置和机器翻译方法
JP5440177B2 (ja) 単語カテゴリ推定装置、単語カテゴリ推定方法、音声認識装置、音声認識方法、プログラム、および記録媒体
Adler et al. An unsupervised morpheme-based HMM for Hebrew morphological disambiguation
CN111353306B (zh) 基于实体关系和依存Tree-LSTM的联合事件抽取的方法
CN110807333A (zh) 一种语义理解模型的语义处理方法、装置及存储介质
CN112101010B (zh) 一种基于bert的电信行业oa办公自动化文稿审核的方法
CN117094383B (zh) 一种语言模型的联合训练方法、系统、设备及存储介质
CN114611529B (zh) 意图识别方法和装置、电子设备及存储介质
CN116978367A (zh) 语音识别方法、装置、电子设备和存储介质
CN110619119A (zh) 文本智能编辑方法、装置及计算机可读存储介质
CN115759119A (zh) 一种金融文本情感分析方法、系统、介质和设备
CN111339287B (zh) 摘要生成方法及装置
CN110413779B (zh) 一种针对电力行业的词向量训练方法及其系统、介质
CN113378553A (zh) 文本处理方法、装置、电子设备和存储介质
CN110427613B (zh) 一种近义词发现方法及其系统、计算机可读存储介质
Dinarelli et al. Concept segmentation and labeling for conversational speech
CN110321404A (zh) 词汇学习的词条选取方法、装置、电子设备及存储介质
CN114841162B (zh) 文本处理方法、装置、设备及介质
US20240005104A1 (en) Data processing device, data processing method, and data processing program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 001a, 11 / F, building 1, 588 Zixing Road, Minhang District, Shanghai, 200241

Patentee after: Shanghai chuangmi Shulian Intelligent Technology Development Co.,Ltd.

Address before: 201203 room 908, 1 Lane 399, Sheng Xia Road, Zhangjiang hi tech park, Pudong New Area, Shanghai.

Patentee before: SHANGHAI CHUANGMI TECHNOLOGY Co.,Ltd.