语音识别单号的修复方法、装置、电子设备及存储介质与流程
本发明涉及语音识别技术领域,尤其涉及语音识别单号的修复方法、装置、电子设备及存储介质。
背景技术:
随着语音识别技术的不断发展,出现了越来越多的语音交互、人机对话的应用场景。例如,很多应用需要用户提供类似单号的信息,比如订单号、车牌号、身份证号、银行卡号等等,为了方便用户提供上述信息,可以在语音交互场景下,由用户以语音输入的方式提供上述信息。
越来越多的业务场景需要识别用户以语音形式输入的单号信息,但这些单号信息通常是比较长的字母、数字串信息,由于这类信息长度比较长,用户在进行语音输入时,很难一次就完整、准确地说完,并且,由于语音识别可能会产生错误,都可能造成最终识别的结果不准确。
为解决单号信息较长而无法准确通过语音识别的问题,目前的解决方法是在通过语音识别技术识别出单号信息后,由用户对单号进行确认,在发现识别错误时,由用户主动修改,纠正识别出的单号信息中的错误信息。但这种由用户主动修改的方式,会增加用户与应用、系统的交互次数,降低了用户体验,并且由于语音识别技术可能带来的语音识别错误,可能会引入新的错误。
技术实现要素:
本发明实施例提供一种语音识别单号的修复方法、装置、电子设备及存储介质,用于至少解决上述技术问题之一。
第一方面,本发明实施例提供一种语音识别单号的修复方法,应用于终端设备,所述方法包括:
s11、所述终端设备获取语音信号,并对所述语音信号进行语音识别以得到识别单号;
s12、所述终端设备将所述识别单号记录至数据库中,并判断所述识别单号是否为首次输入单号,若是,进入s13;若否,进入s14;
s13、所述终端设备执行首次单号修复,生成一个或多个修复单号,进入s17;
s14、所述终端设备判断是否执行用户修复,若是,进入s15;若否,进入s16;
s15、所述终端设备执行用户修复;
s16、所述终端设备执行自动修复,生成一个或多个修复单号,所述自动修复包括相似度修复、拼接修复、去重修复和易错字符修复中的至少一种;
s17、所述终端设备基于单号系统的验证结果,确定所述一个或多个修复单号中是否存在正确单号,若存在,则记录所述正确单号;若不存在,则进入s14。
第二方面,本发明实施例提供一种语音识别单号的修复装置,应用于终端设备,包括:
识别模块,配置为获取语音信号,并对所述语音信号进行语音识别以得到识别单号;
第一判断模块,配置为将所述识别单号记录至数据库中,并判断所述识别单号是否为首次输入单号;
首次修复模块,配置为执行首次单号修复,生成一个或多个修复单号;
第二判断模块,配置为判断是否执行用户修复;
用户修复模块,配置为执行用户修复;
自动修复模块,配置为执行自动修复,生成一个或多个修复单号,所述自动修复包括相似度修复、拼接修复、去重修复和易错字符修复中的至少一种;
验证模块,配置为基于单号系统的验证结果,确定所述一个或多个修复单号中是否存在正确单号。
第三方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明上述任一项语音识别单号的修复方法。
第四方面,本发明实施例提供一种存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本发明上述任一项语音识别单号的修复方法。
本发明实施例的有益效果在于:相对于现有技术,本发明实施例的方法通过自动修复模式对语音识别出的单号进行修复;所述自动修复模式为基于数据库中记录的单号的上文,进行相似度修复,以及执行拼接修复、去重修复、易错字符修复。因为设置了自动修复方式,可以减少用户与应用、系统的交互次数,提升了用户体验,提升了单号修正的准确性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为本发明的语音识别单号的修复方法的一种实施例的流程图;
图1b为本发明的语音识别单号的修复方法的一种实施例的流程图;
图2为本发明的语音识别单号的修复方法的一种实施例的结构示意图;
图3为本发明的电子设备的一种实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
在本发明中,“模块”、“装置”、“系统”等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说,例如,元件可以、但不限于是运行于处理器的过程、处理器、对象、可执行元件、执行线程、程序和/或计算机。还有,运行于服务器上的应用程序或脚本程序、服务器都可以是元件。一个或多个元件可在执行的过程和/或线程中,并且元件可以在一台计算机上本地化和/或分布在两台或多台计算机之间,并可以由各种计算机可读介质运行。元件还可以根据具有一个或多个数据包的信号,例如,来自一个与本地系统、分布式系统中另一元件交互的,和/或在因特网的网络通过信号与其它系统交互的数据的信号通过本地和/或远程过程来进行通信。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
如图1a所示,本发明的实施例提供一种语音识别单号的修复方法,应用于终端设备,所述方法包括:
s11、所述终端设备获取语音信号,并对所述语音信号进行语音识别以得到识别单号;
s12、所述终端设备将所述识别单号记录至数据库中,并判断所述识别单号是否为首次输入单号,若是,进入s13;若否,进入s14;
s13、所述终端设备执行首次单号修复,生成一个或多个修复单号,进入s17;
s14、所述终端设备判断是否执行用户修复,若是,进入s15;若否,进入s16;
s15、所述终端设备执行用户修复;
s16、所述终端设备执行自动修复,生成一个或多个修复单号,所述自动修复包括相似度修复、拼接修复、去重修复和易错字符修复中的至少一种;
s17、所述终端设备基于单号系统的验证结果,确定所述一个或多个修复单号中是否存在正确单号,若存在,则记录所述正确单号;若不存在,则进入s14。
所述s11、所述终端设备获取语音信号,并对所述语音信号进行语音识别以得到识别单号;
其中,终端设备可以是智能手机、平板电脑、pc机等任何智能终端或者电子设备。
本实施例中通过asr识别出用户语音信号中的单号。
本实施例中用户语音信号中的单号长度符合正态分布。例如正确单号应为10位数字,则识别出的单号中,占比最高的为10位数字单号,其次是9位和11位数字,依次递减。又如,单号数字位数正确的情况下,若识别的单号有错误,则错一位数字的占比最多,以此类推。
s12、所述终端设备将所述识别单号记录至数据库中,并判断所述识别单号是否为首次输入单号,若是,进入s13;若否,进入s14,
其中,所述终端设备将所述识别单号记录至数据库中,并判断所述识别单号是否为首次输入单号,包括:
所述终端设备将所述识别单号及用户语音指令标识id记录至所述数据库中,根据所述用户语音指令标识id,查询所述数据库,确定所述识别单号是否存在上文单号,若不存在,则确定所述识别单号为首次输入单号;否则,所述识别单号不是首次输入单号;所述上文单号是通过所述用户语音指令标识id查找得到的、唯一的单号。
所述s13、所述终端设备执行首次单号修复,生成一个或多个修复单号,进入s17;
其中,所述首次单号修复包括去重修复、易错字符修复;
所述去重修复为若所述识别单号和/或修复单号的字符位数超过正确位数,则由所述终端设备查找所述识别单号和/或修复单号中重复的子字符串,若删除所述识别单号和/或修复单号中重复的子字符串得到的字符串的位数为正确位数,则删除所述识别单号和/或修复单号中重复的子字符串,以此得到一个或多个修复单号。
去重修复针对用户在说单号时,存在重复读数的情况。例如,用户欲输入的正确单号为“1234567890”,用户输入的语音为“单号是123,1234567890”,针对识别出的单号“1231234567890”,判断出单号数字位数超过正确位数10,且该单号中存在重复的子数字串“123”,删除该重复的子数字串“123”,得到修复单号“1234567890”。
所述去重修复还包括若存在多处重复的子数字串,且分别删除重复的多个处子数字串后,得到的数字串的位数为正确位数,则删除相应的重复的子数字串。
所述易错字符修复是对所述识别单号和/或修复单号,由所述终端设备保存所述识别单号和/或修复单号,再根据历史数据,统计确定易混淆、易缺失的字符,对所述识别单号和/或修复单号中的易混淆的字符进行替换;对数位不足的所述识别单号和/或修复单号,增补易缺失的字符;生成新的修复单号,将所述新的修复单号及预先保存的所述识别单号和/或修复单号作为目标修复单号,以此得到一个或多个修复单号。
若所述识别单号经过去重修复、易错字符修复都无改变,则将该识别单号作为修复单号。
又一实施例中,例如根据历史数据,统计出3和4混淆的比例超过阈值,统计出缺失数字2、5的比例超过阈值,则确定3和4为易混淆数字;确定2、5为易缺失数字。将单号和/或修复单号中易混淆的数字3替换为数字4,将数字4替换为数字3,替换操作可以识别单号和/或修复单号中的全部易混淆数字,对单号和/或修复单号中的部分或全部易混淆数字进行替换。
所述s14、所述终端设备判断是否执行用户修复,若是,进入s15;若否,进入s16,
其中,所述终端设备接收用户操作,根据用户操作判断是否执行用户修复,若需要执行用户修复,所述终端设备执行用户修复;否则,所述终端设备执行自动修复。
所述s15、所述终端设备执行用户修复,
其中,所述用户修复为所述终端设备接收用户的主动修改指令,采用局部修改或全部修改的方式进行修改,所述局部修改是接收用户的表达对单个字符位进行修改,直至用户想要修改的字符全部修改完成,并将修改后的单号作为修复单号;全部修改是接收用户重新输入的整个单号的语音信号并识别得到新的识别单号,在数据库中用所述新的识别单号重置覆盖已存储的识别单号,作为修复单号。
局部修改方式、全部修改方式,都仅生成一条修复单号。
所述s16、所述终端设备执行自动修复,生成一个或多个修复单号,所述自动修复包括相似度修复、拼接修复、去重修复和易错字符修复中的至少一种,
其中,相似度是指两个单号相同位置的数字相同的个数;
所述相似度修复包括:
确定单号正确位数n,选取字符位数在[n-1,n+1]之间的所述识别单号和/或修复单号作为单号集,再从所述单号集中选取一个单号作为当前单号;所述终端设备相似度修复的修复对象为所述当前单号及该单号的上文单号,按照修复策略,生成一个或多个修复单号;直至将所述单号集中的全部单号及相应的上文单号按照修复策略修复完成,其中n>1;所述修复策略包括:
修复策略一:若所述当前单号及该单号的上文单号均为n位,
s101、比较所述当前单号及该单号的上文单号中各个字符位的字符,确定出字符不相同的全部字符位集合;
s102、从所述全部字符位集合中任取一个字符不相同的字符位,用所述该单号的上文单号对应的字符位的字符替换所述当前单号中相应字符位的字符,生成并记录过程修复单号,从所述全部字符位集合中删除该字符位;
s103、若所述全部字符位集合不为空,进入s102;否则,进入s104;
s104、得到修复单号;
修复策略二:若所述当前单号为n位,所述当前单号的上文单号为n+1位,
s201、将所述当前单号的上文单号自左向右标记为1至n+1位,设置i=1;
s202、将所述当前单号的上文单号删除第i位,生成过程修复单号,计算所述过程修复单号与所述当前单号的相似度;
s203、若i<n+1,设置i为i+1,进入s202;否则,进入s204;
s204、将相似度最大的过程修复单号记录为相似度最大单号;
s205、对所述相似度最大单号与所述当前单号,重复所述修复策略一,重复所述修复策略一时,所述相似度最大单号作为上文单号,与所述当前单号执行所述修复策略一;
修复策略三:若所述当前单号为n-1位,所述当前单号的上文单号为n位,
s301、在所述当前单号的某一位增加一个占位符,得到过程修复单号,将所述过程修复单号与所述当前单号的上文单号计算相似度;
s302、重复s301直至得到的相似度最大的过程修复单号,其占位符的位置,就是缺失字符位的位置;
s303、用所述当前单号的上文单号与所述缺失字符位位置对应的字符,替换相应占位符,得到修复单号。
本实施例中,相似度修复还支持修复更多的情况,支持其他修复策略。例如,上文单号分别为n-1、n、n+1位,当前单号分别为n-1、n、n+1位,可以产生9种组合,相似度修复方法类似,在此不再赘述。
以下实施例说明相似度修复的修复方式:
假设正确单号为10位数字:1234567890。下面,将给出几个示例详细说明相似度修复方法。
示例1:
上文单号:1233567890
当前单号:1234567891
上文单号为1233567890,其中第4位,将4误识别为3,单号识别错误,因此需要用户重新提供单号。获取当前单号为1234567891,最后一位识别错误。由于当前单号位数为10,因此有可能是正确单号,因此加入修复单号列表。对上文单号及当前单号,计算相似度为8,则说明很有可能两次单号分别错了一位,若两次错的位置不同,则所述终端设备可以拼凑出正确的单号。因此,找出两个单号不相同的位置,将当前单号的数字用上次单号的数字进行替换,则又得到两个新的单号:1233567891,1234567890。因此,最终修复单号列表为:1234567891,1233567891,1234567890。可以发现,虽然两次用户说的单号都有错误,但修复单号列表中,包含了正确的结果。
示例2:
上文单号:12345678990
当前单号:1244567890
上文单号为12345678990,多出一位,与正确单号相比,多了一位9。当前单号为1244567890,与正确单号相比,第3位上将3误识别为4。同上,当前单号长度为10,因此有可能是正确单号,所述终端设备将其加入修复单号列表。由于上文单号为11位,因此很可能是多出一位。分别将文单号删除一位,然后与第二轮单号一起计算相似度,可以发现,当删除9时,相似度最高,此时删除操作后的单号为1234567890。然后对比当前单号与此修复单号,并对不同的数字进行替换,可以得到单号1234567890。修复单号列表中可以再存储1244567890,1234567890,包含了正确结果。
示例3:
上文单号:1233567890
当前单号:123456789
当前单号为9位,少了一位,因此所述终端设备先分别在不同位置用*号填充,补足10位,再计算相似度。相似度最高的填充位置,即为正确填充位置,再用上文单号该位置对应的数字替换*号,即得到修复单号1234567890,其也是正确单号。
所述拼接修复,若所述识别单号和/或修复单号字符位数低于正确位数,且所述识别单号和/或修复单号与上文单号位数之和为正确位数,则将所述识别单号和/或修复单号拼接到所述上文单号,以此得到修复单号。
例如,用户在输入语音时,可能出现停顿或者误打断,比如第一次输入4位,第二次输入6位,则可以将两次结果拼接,得到修复单号。
所述去重修复、易错字符修复与s13中的去重修复、易错字符修复相同,在此不再赘述。
本实施例中,用户修复为用户主动修复,使用户对单号进行部分修改或完整的单号修改。自动修复为根据识别的识别单号和/或修复单号及识别单号的上文信息,通过相似度修复等修复方法,得到一个或多个修复单号,在这些修复单号中,可能存在正确的单号。由于用户修复也可能引入新的识别错误,则在用户修复后,执行自动修复,可以提高单号修复的准确性。从而减少与用户的交互次数,提升用户体验。
s17、所述终端设备基于单号系统的验证结果,确定所述一个或多个修复单号中是否存在正确单号,若存在,则记录所述正确单号;若不存在,则进入s14;
其中,单号系统可以对修复单号进行验证,判断单号是否正确,通过单号系统的验证得到正确的单号。所述单号系统可以为第三方系统,例如单号为快递单号时,单号系统为快递公司的快递单号系统。
又一实施例,可以采用如图1b所示的方式进行语音识别单号的修复。
如图2所示,为本发明的另一实施例的语音识别单号修复装置,应用于终端设备,该装置包括:
识别模块,配置为获取语音信号,并对所述语音信号进行语音识别以得到识别单号;
第一判断模块,配置为将所述识别单号记录至数据库中,并判断所述识别单号是否为首次输入单号;
首次修复模块,配置为执行首次单号修复,生成一个或多个修复单号;
第二判断模块,配置为判断是否执行用户修复;
用户修复模块,配置为执行用户修复;
自动修复模块,配置为执行自动修复,生成一个或多个修复单号,所述自动修复包括相似度修复、拼接修复、去重修复和易错字符修复中的至少一种;
验证模块,配置为基于单号系统的验证结果,确定所述一个或多个修复单号中是否存在正确单号。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作合并,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在一些实施例中,本发明实施例还提供一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时能够执行语音识别单号的修复方法的步骤。
在一些实施例中,本发明实施例还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行语音识别单号的修复方法。
上述本发明实施例的语音识别单号的修复装置可用于执行本发明实施例的语音识别单号的修复方法,并相应的达到上述本发明实施例的实现语音识别单号的修复方法所达到的技术效果,这里不再赘述。本发明实施例中可以通过硬件处理器(hardwareprocessor)来实现相关功能模块。
图3是本申请另一实施例提供的语音识别单号的修复方法的电子设备的硬件结构示意图,如图3所示,该设备包括:
一个或多个处理器310以及存储器320,图3中以一个处理器310为例。
执行语音识别单号的修复方法的设备还可以包括:输入装置330和输出装置340。
处理器310、存储器320、输入装置330和输出装置340可以通过总线或者其他方式连接,图3中以通过总线连接为例。
存储器320作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的语音服务方法对应的程序指令/模块。处理器310通过运行存储在存储器320中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例语音服务方法。
存储器320可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据语音服务装置的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器320可选包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至语音服务装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置330可接收输入的数字或字符信息,以及产生与语音服务装置的用户设置以及功能控制有关的信号。输出装置340可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器320中,当被所述一个或者多个处理器310执行时,执行上述任意方法实施例中的语音服务方法。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iphone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如ipad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如ipod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除