基于语音处理的号码识别方法、装置及终端设备与流程

文档序号:17335167发布日期:2019-04-05 22:24阅读:267来源:国知局
基于语音处理的号码识别方法、装置及终端设备与流程

本发明属于数据处理技术领域,尤其涉及基于语音处理的号码识别方法、装置、终端设备以及计算机可读存储介质。



背景技术:

随着信息技术的发展,语音识别已成为现今的热门技术,其中,号码识别是语音识别下的一个重要分支,广泛应用于支付和桌面登录等场景。号码识别的通常做法是通过大量的已有语音数据对模型(如隐马尔可夫模型)进行训练,然后将当前的语音输入至训练后的模型进行识别,从而识别出语音中出现的号码。

在现有技术中,在训练模型时通常是将标准口音的语音数据作为输入参数,训练出的模型针对标准口音的语音具有较好的识别效果,但对于存在方言或口音的语音来说往往识别效果较差,特别是对同一个号码来说,不同地域口音之间的发音差异可能较大。综上,现有技术中进行号码识别的准确率低。



技术实现要素:

有鉴于此,本发明实施例提供了基于语音处理的号码识别方法、装置、终端设备以及计算机可读存储介质,以解决现有技术对带有口音的语音进行号码识别的准确率低的问题。

本发明实施例的第一方面提供了一种基于语音处理的号码识别方法,包括:

对获取到的当前语音进行识别得到当前号码串,并将所述当前号码串与数据库中的至少两个样本号码串进行一一比对得到至少两个号码错误率,所述号码错误率为差异位数与所述样本号码串的总位数之间的比值,所述差异位数为所述样本号码串与所述当前号码串之间存在差异的号码的数量;

将小于预设的错误率阈值的所述号码错误率对应的所述样本号码串确定为目标号码串,抓取与所述目标号码串对应的目标语音,所述目标语音为所述数据库中存储的与所述目标号码串存在映射关系的语音;

将所述当前语音与所述目标语音进行比对得到语音相似度,若所述语音相似度大于或等于预设的第一相似度阈值,则根据所述目标语音对应的所述目标号码串确定出识别结果。

本发明实施例的第二方面提供了一种基于语音处理的号码识别装置,包括:

识别单元,用于对获取到的当前语音进行识别得到当前号码串,并将所述当前号码串与数据库中的至少两个样本号码串进行一一比对得到至少两个号码错误率,所述号码错误率为差异位数与所述样本号码串的总位数之间的比值,所述差异位数为所述样本号码串与所述当前号码串之间存在差异的号码的数量;

抓取单元,用于将小于预设的错误率阈值的所述号码错误率对应的所述样本号码串确定为目标号码串,抓取与所述目标号码串对应的目标语音,所述目标语音为所述数据库中存储的与所述目标号码串存在映射关系的语音;

确定单元,用于将所述当前语音与所述目标语音进行比对得到语音相似度,若所述语音相似度大于或等于预设的第一相似度阈值,则根据所述目标语音对应的所述目标号码串确定出识别结果。

本发明实施例的第三方面提供了一种终端设备,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:

对获取到的当前语音进行识别得到当前号码串,并将所述当前号码串与数据库中的至少两个样本号码串进行一一比对得到至少两个号码错误率,所述号码错误率为差异位数与所述样本号码串的总位数之间的比值,所述差异位数为所述样本号码串与所述当前号码串之间存在差异的号码的数量;

将小于预设的错误率阈值的所述号码错误率对应的所述样本号码串确定为目标号码串,抓取与所述目标号码串对应的目标语音,所述目标语音为所述数据库中存储的与所述目标号码串存在映射关系的语音;

将所述当前语音与所述目标语音进行比对得到语音相似度,若所述语音相似度大于或等于预设的第一相似度阈值,则根据所述目标语音对应的所述目标号码串确定出识别结果。

本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:

对获取到的当前语音进行识别得到当前号码串,并将所述当前号码串与数据库中的至少两个样本号码串进行一一比对得到至少两个号码错误率,所述号码错误率为差异位数与所述样本号码串的总位数之间的比值,所述差异位数为所述样本号码串与所述当前号码串之间存在差异的号码的数量;

将小于预设的错误率阈值的所述号码错误率对应的所述样本号码串确定为目标号码串,抓取与所述目标号码串对应的目标语音,所述目标语音为所述数据库中存储的与所述目标号码串存在映射关系的语音;

将所述当前语音与所述目标语音进行比对得到语音相似度,若所述语音相似度大于或等于预设的第一相似度阈值,则根据所述目标语音对应的所述目标号码串确定出识别结果。

本发明实施例与现有技术相比存在的有益效果是:

本发明实施例将对当前语音进行识别得到的当前号码串与至少两个样本号码串进行一一比对,得到至少两个号码错误率,若其中出现小于预设的错误率阈值的号码错误率,则将该号码错误率对应的样本号码串确定为目标号码串,并抓取与目标号码串对应的目标语音,若当前语音与目标语音之间的语音相似度大于或等于预设的第一相似度阈值,则根据目标语音对应的目标号码串确定出识别结果,并输出识别结果,本发明实施例通过计算号码错误率及语音相似度,使得号码识别过程适用于发音人存在方言或口音的场景,提升了号码识别的准确率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例一提供的基于语音处理的号码识别方法的实现流程图;

图2是本发明实施例二提供的基于语音处理的号码识别方法的实现流程图;

图3是本发明实施例三提供的基于语音处理的号码识别方法的实现流程图;

图4是本发明实施例四提供的基于语音处理的号码识别方法的实现流程图;

图5是本发明实施例五提供的基于语音处理的号码识别方法的实现流程图;

图6是本发明实施例六提供的基于语音处理的号码识别装置的结构框图;

图7是本发明实施例七提供的终端设备的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

图1示出了本发明实施例提供的基于语音处理的号码识别方法的实现流程,详述如下:

在s101中,对获取到的当前语音进行识别得到当前号码串,并将所述当前号码串与数据库中的至少两个样本号码串进行一一比对得到至少两个号码错误率,所述号码错误率为差异位数与所述样本号码串的总位数之间的比值,所述差异位数为所述样本号码串与所述当前号码串之间存在差异的号码的数量。

本发明实施例面向进行号码识别的语音可能具有方言或口音的场景,首先对获取到的当前语音进行识别,并将识别出的号码按照当前语音的顺序组合为当前号码串,本发明实施例对具体的识别方式并不做限定,比如可通过调用开源的语音处理接口或者将当前语音输入训练好的预设模型得到当前号码串。其中,为了提升识别的准确性,可在对当前语音进行识别时,限定识别出的号码类型,比如限定识别出的号码仅为数字或英文字母,并根据实际应用场景进一步限定数字和英文字母的取值范围,比如限定数字的取值范围为从0至9,在不区分大小写的情况下,限定英文字母的取值范围为从a到z。

在得到当前号码串后,将当前号码串与数据库中的至少两个样本号码串进行一一比对得到至少两个号码错误率,其中,号码错误率为差异位数与当前号码串的总位数之间的比值,差异位数为样本号码串与当前号码串之间存在差异的号码的数量,最终计算出的每一个号码错误率都与一个样本号码串对应。为了便于理解本发明实施例的内容,以实际例子进行举例说明,假如在某公司的内部系统设置有号码识别的登录机制,内部系统的数据库中存储有拥有登录权限的n个身份证号码(相当于样本号码串),在登录机制的运行过程中,获取用户的当前语音,并根据当前语音识别出当前号码串,然后将当前号码串与数据库中的所有身份证号码进行比对,如果当前号码串与n个身份证号中的一个匹配,则开放登录权限,其中,n为大于一的整数。

在本发明实施例中,将当前号码串与某个样本号码串进行比对得到号码错误率的一种计算公式如下:

在上述公式中,rate为号码错误率,insertions是为了使当前号码串和样本号码串之间保持一致,对当前号码串进行的插入号码操作的次数;substitutions是为了使当前号码串和样本号码串之间保持一致,对当前号码串进行的替换号码操作的次数;deletions是为了使当前号码串和样本号码串之间保持一致,对当前号码串进行的删除号码操作的次数,值得一提的是,插入号码操作、替换号码操作以及删除号码操作的对象仅为单个号码。insertions、substitutions和deletions的数值之和即为样本号码串与当前号码串之间存在差异的号码的数量(差异位数),此外,totalwordsinexistingnumber是样本号码串的号码总数量,即总位数。举例来说,将当前号码串“521043”与样本号码串“529045”进行比对时,需要将当前号码串中的“1”替换为“9”,将当前号码串中的“3”替换为“5”,才能使当前号码串与样本号码串一致,故可得到substitutions的数值为2,insertions和deletions的数值均为0,而此时的totalwordsinexistingnumber的数值为6,故可计算出号码错误率为100%·(2/6)≈33%。

可选地,获取当前语音的发起类型,并将当前号码串与数据库中符合发起类型的样本号码串进行比对得到号码错误率。在本发明实施例中,在进行号码串比对时,可将当前号码串与数据库中存储的所有样本号码串进行一一比对,也可预先设置不同的发起类型,并在数据库中设置不同的发起类型与不同的样本号码串对应(比如可将发起类型设置为键,将对应的样本号码串设置为值,从而配置键-值关系),在获取到当前语音时,同时获取当前语音的发起类型,将当前语音对应的当前号码串与数据库中符合该发起类型的样本号码串进行比对。举例来说,预先设置数据库包括l个样本号码串,对应的发起类型为普通用户,还包括m个样本号码串,对应的发起类型为管理员,并设置提供给用户的前端页面包括“普通用户”和“管理员”两个选项,当用户通过“普通用户”的选项发出当前语音时,即可获取当前语音的发起类型为普通用户,则在识别出与当前语音对应的当前号码串后,将该当前号码串仅与数据库中符合普通用户的发起类型的l个样本号码串进行一一比对,其中,l和m均为大于零的整数。通过上述方法提升了号码识别的针对性和适用性。

在s102中,将小于预设的错误率阈值的所述号码错误率对应的所述样本号码串确定为目标号码串,抓取与所述目标号码串对应的目标语音,所述目标语音为所述数据库中存储的与所述目标号码串存在映射关系的语音。

在得到至少两个号码错误率后,如果其中存在数值为零的号码错误率,证明当前号码串与某个样本号码串相同,则将数值为零的号码错误率对应的样本号码串直接确定为识别结果;如果其中不存在数值为零的号码错误率,则判断所有号码率中是否存在小于预设的错误率阈值的号码错误率。如果不存在小于错误率阈值的号码错误率,则输出错误提示,提示用户进行重新输入或者以语音以外的方式(如文本)进行号码输入;如果存在小于错误率阈值的号码错误率,则将该号码错误率对应的样本号码串确定为目标号码串,并在数据库中抓取与目标号码串对应的目标语音。其中,错误率阈值可根据实际应用场景中对号码识别的安全性要求程度进行自由设置,若安全性要求越严格,则将错误率阈值设置得越小。对于目标语音,在本发明实施例中,在数据库中预先存储与样本号码串对应的语音,并将该样本号码串与该语音建立映射关系,该语音可由样本号码串对应的用户进行手动录入。值得一提的是,确定出的目标号码串的数量可能为至少一个,故抓取到的目标语音的数量也可能为至少一个。

在s103中,将所述当前语音与所述目标语音进行比对得到语音相似度,若所述语音相似度大于或等于预设的第一相似度阈值,则根据所述目标语音对应的所述目标号码串确定出识别结果。

将当前语音与目标语音进行比对得到语音相似度,同样地,语音比对可通过调用开源的语音处理接口或通过特征值提取等方式实现。如果语音相似度小于预设的第一相似度阈值(如70%),则输出错误提示;如果语音相似度大于或等于第一相似度阈值,则根据目标语音对应的目标号码串确定出识别结果,其中,根据目标语音的数量不同,识别结果存在不同的确定方式,具体内容在后文进行详细阐述。

通过图1所示实施例可知,在本发明实施例中,通过对获取到的当前语音进行识别得到当前号码串,并将当前号码串与数据库中的至少两个样本号码串进行一一比对得到至少两个号码错误率,将其中小于预设的错误率阈值的号码错误率对应的样本号码串确定为目标号码串,抓取数据库中与目标号码串对应的目标语音,将当前语音与目标语音进行比对得到语音相似度,若语音相似度大于或等于预设的第一相似度阈值,则根据目标语音对应的目标号码串确定出识别结果,本发明实施例通过计算号码错误率及语音相似度,使得号码识别过程适用于当前语音存在方言或口音,不易识别的场景,提升了号码识别的准确率及适用性。

图2所示,是在本发明实施例一的基础上,对将当前语音与目标语音进行比对得到语音相似度的过程进行细化后得到的一种方法。本发明实施例提供了基于语音处理的号码识别方法的实现流程图,如图2所示,该号码识别方法可以包括以下步骤:

在s201中,确定小于所述错误率阈值的所述号码错误率在所述当前号码串中对应的号码位置,并获取所述号码位置对应的第一错误时间段和第二错误时间段,所述第一错误时间段是指所述号码位置对应的号码在所述当前语音中所占的发音时段,所述第二错误时间段是指所述号码位置对应的号码在所述目标语音中所占的发音时段。

由于嗓音状况和发音环境可能在不同的时间存在差异,故就算是针对同一个号码串,在不同的时间发出的两个语音之间的相似度也可能较低,故在本发明实施例中,仅对两个语音之间的号码差异部分进行比对。具体地,首先根据识别出的当前号码串对当前语音进行分析,标注出当前号码串中各个号码在当前语音中所占的发音时段,同时根据目标号码串对目标语音进行分析,标注出目标号码串中各个号码在目标语音中所占的发音时段,其中,标注操作可基于语音处理接口实现,另一种标注方式是,由于用户在说出与号码串对应的语音时,语速通常是均匀的,故将语音根据号码串的总位数进行等分,并为号码串中的每个号码标注一个等分后的发音时段,比如当前号码串为“12345”,而当前语音的总时长为10秒,由于当前号码串的总位数为5,故可等分为5个发音时段,每个发音时段的时长都为10/5=2秒。

在得到号码错误率后,确定小于错误率阈值的号码错误率在当前号码串中对应的号码位置,该号码位置根据计算号码错误率的insertions、substitutions和deletions进行确定,即号码位置是在计算号码错误率时,对当前号码串进行操作的号码的位置。举例来说,当前号码串为“12345”,目标号码串为“12375”,由于在计算号码错误率时,需要将当前号码串中第4位的“4”替换为“7”,故可确定出号码位置为4。在得到小于错误率阈值的号码错误率对应的号码位置后,将该号码位置对应的号码在当前语音中所占的发音时段确定为第一错误时间段,并将该号码位置对应的号码在目标语音中所占的发音时段确定为第二错误时间段,其中,得到的第一错误时间段与第二错误时间段可能相同,也可能不同。

在s202中,根据所述第一错误时间段对所述当前语音进行截取得到当前子语音,根据所述第二错误时间段对所述目标语音进行截取得到目标子语音,并将所述当前子语音与所述目标子语音进行比对得到所述语音相似度。

根据得到的第一错误时间段对当前语音进行截取得到当前子语音,并根据第二错误时间段对目标语音进行截取得到目标子语音,将当前子语音与目标子语音进行比对,最后将比对的结果作为语音相似度,从而尽量削弱不存在号码差异的时段对语音相似度造成的影响。

通过图2所示实施例可知,在本发明实施例中,确定小于错误率阈值的号码错误率在当前号码串中对应的号码位置,并获取号码位置对应的第一错误时间段和第二错误时间段,根据第一错误时间段对当前语音进行截取得到当前子语音,根据第二错误时间段对目标语音进行截取得到目标子语音,并将当前子语音与目标子语音进行比对得到语音相似度,本发明实施例将仅存在号码差异的部分语音进行比对,屏蔽了其他的号码相同的部分语音对语音相似度造成的影响,提升了计算出的语音相似度的准确性。

图3所示,是在本发明实施例二的基础上,对将当前子语音与目标子语音进行比对得到语音相似度的过程进行细化后得到的一种方法。本发明实施例提供了基于语音处理的号码识别方法的实现流程图,如图3所示,该号码识别方法可以包括以下步骤:

在s301中,获取所述当前子语音的当前信噪比,若所述当前信噪比小于预设的信噪比阈值,则对所述当前子语音进行降噪处理。

导致无法从当前语音中识别出正确的目标号码串的原因可能是当前语音中含有口音,也可能是当前语音中含有影响语音识别的噪音,故为了判断是否有噪音影响,首先获取当前语音截取出的当前子语音的当前信噪比,当前信噪比的计算公式为:

snr=10*log10(s/n)

在上述计算公式中,snr为当前信噪比,单位为分贝,s为当前子语音中的实际语音的功率,n为当前子语音中的噪音的功率。其中,实际语音的格式可根据实际应用场景进行确定,比如实际语音可以是当前子语音中的基音,在提取实际语音时,可通过简化对数倒频谱法或短时谱最小均方误差估计法等分析方法进行提取,在对提取完成实际语音后,将当前子语音中除实际语音外的语音确定为噪音,并分别计算实际语音的平均功率和噪音的平均功率,再通过上述计算公式得到当前信噪比。在本发明实施例中,根据预设的信噪比阈值(如60分贝)判断当前子语音是否受到噪音影响,具体地,若当前信噪比大于或等于信噪比阈值,则直接将当前子语音与目标子语音进行比对得到语音相似度;若当前信噪比小于信噪比阈值,则对当前子语音进行降噪处理,直到当前信噪比大于或等于信噪比阈值为止,降噪处理可采用归一化最小均方(normalizedleastmeansquare,nlms)自适应滤波器降噪或维纳滤波降噪等方式。

在s302中,将降噪处理后的所述当前子语音与所述目标子语音进行比对得到所述语音相似度。

对当前子语音降噪处理完成后,将降噪处理后的当前子语音与目标子语音进行比对,并将比对的结果作为语音相似度,从而尽量削弱噪音影响。值得一提的是,在本发明实施例中仅对当前子语音,而不是对整个当前语音进行降噪处理的一方面原因是对当前子语音进行降噪处理所耗的计算量较小(因为当前子语音仅为当前语音的一部分),更适用于号码识别场景中的快速识别需求;另一方面原因是在对整个当前语音进行降噪处理时,将非噪声作为噪声进行削弱的概率较大,降噪处理后的当前语音与原当前语音之间的差异可能较大,不利于计算语音相似度,而由于当前子语音的发音时段较短,就算其中部分语音进行了错误降噪,其带来的影响也较小。

通过图3所示实施例可知,在本发明实施例中,获取当前子语音的当前信噪比,若当前信噪比小于预设的信噪比阈值,则对当前子语音进行降噪处理,并将降噪处理后的当前子语音与目标子语音进行比对得到语音相似度,本发明实施例在当前子语音含有的噪声较多时进行降噪处理,进一步提升了计算出的语音相似度的准确性。

图4所示,是在本发明实施例一的基础上,且在通过预设模型对当前语音进行识别得到当前号码串的基础上,对将当前语音与目标语音进行比对得到语音相似度之前的过程进行扩展后得到的一种方法。本发明实施例提供了基于语音处理的号码识别方法的实现流程图,如图4所示,该号码识别方法可以包括以下步骤:

在s401中,基于所述预设模型计算所述当前语音的第一置信度,并基于所述预设模型计算所述目标语音的第二置信度。

为了提升对大多数语音进行识别的准确性,号码识别的传统方法是将大量具有标准口音的语音作为训练参数输入至预设模型中,并根据语音对应的号码串来调整预设模型中的权重等参数,训练完成的预设模型往往对标准口音的语音具有较好的识别效果,其中,预设模型可为隐马尔可夫模型(hiddenmarkovmodel,hmm)、长短时记忆(longshorttermmemory,lstm)模型或前馈神经网络(feedforwarddeepneuralnetwork,ffdnn)模型等,对具体类型不做限定。本发明实施例针对通过预设模型对当前语音进行识别得到当前号码串的场景,将基于预设模型对当前语音进行计算得到的置信度作为第一置信度,将基于预设模型对目标语音进行计算得到的置信度作为第二置信度,其中,置信度是识别结果(当前号码串)的可信程度,本发明实施例并不限定置信度的具体计算方式,比如置信度可为将当前语音输入预设模型后计算出的后验概率,也可预先在训练预设模型时,基于大量作为训练参数的语音的声学特征训练二分类器,该二分类器用于判断识别结果的可靠性,再在本步骤中将当前语音输入至二分类器得到的结果作为置信度。

在s402中,根据所述第一置信度和所述第二置信度计算比对置信度,并将所述比对置信度与预设的置信度阈值进行比对,其中,所述比对置信度为所述第一置信度和所述第二置信度之间的差值的绝对值。

由于同一个用户来说,其口音通常不会发生改变,而由于置信度的数值受到口音影响,故在本发明实施例中根据得到的第一置信度和第二置信度计算比对置信度,并将比对置信度与预设的置信度阈值(比如10%)进行比对,其中,比对置信度为第一置信度和第二置信度之间的差值的绝对值。

在s403中,若所述比对置信度小于所述置信度阈值,且所述第一置信度大于或等于预设的置信度门限,则执行所述将所述当前语音与所述目标语音进行比对得到语音相似度的操作。

若比对置信度小于置信度阈值,且第一置信度大于或等于预设的置信度门限,则执行将当前语音与目标语音进行比对得到语音相似度的操作;若比对置信度大于或等于置信度阈值,或者第一置信度小于置信度门限,则都直接输出错误提示。其中,预设模型虽然是面向标准口音的语音,但对带有方言的当前语音来说也存在一定的识别效果,故在本发明实施例中设置置信度门限(如设置为25%),若第一置信度小于置信度门限,则认定当前语音无法进行号码识别,直接输出错误提示。

通过图4所示实施例可知,在本发明实施例中,基于预设模型计算当前语音的第一置信度,并基于预设模型计算目标语音的第二置信度,根据第一置信度和第二置信度计算比对置信度,并将比对置信度与预设的置信度阈值进行比对,若比对置信度小于置信度阈值,且第一置信度大于或等于预设的置信度门限,则执行将当前语音与目标语音进行比对得到语音相似度的操作,本发明实施例根据比对置信度判断用户的口音与数据库中语音的口音之间的差异幅度,并在差异幅度较小时才计算语音相似度,提升了号码识别的安全性。

图5所示,是在本发明实施例一的基础上,将根据目标语音对应的目标号码串确定出识别结果的过程进行细化后得到的一种方法。本发明实施例提供了基于语音处理的号码识别方法的实现流程图,如图5所示,该号码识别方法可以包括以下步骤:

在s501中,将大于或等于所述第一相似度阈值的所述语音相似度确定为目标相似度,并获取所述目标相似度的数量。

在本发明实施例中,抓取到的与目标号码串对应的目标语音的数量可能为一个或一个以上,故在将当前语音与目标语音进行比对得到语音相似度后,将其中大于或等于第一相似度阈值的语音相似度确定为目标相似度,并获取确定出的目标相似度的数量。

在s502中,若所述目标相似度的数量为一,则确定所述目标相似度对应的所述目标语音,将所述目标语音对应的所述目标号码串确定为所述识别结果。

若目标相似度的数量仅为一个,则直接获取与该目标相似度对应的目标语音,并将该目标语音在数据库中对应的目标号码串确定为识别结果。

在s503中,若所述目标相似度的数量大于一,则将数值最大的所述目标相似度与预设的第二相似度阈值进行比对。

若目标相似度的数量大于一,则将其中数值最大的目标相似度与预设的第二相似度阈值进行比对,其中第二相似度阈值的数值大于第一相似度阈值,比如在第一相似度阈值为70%的情况下,可设置第二相似度阈值为80%。值得一提的是,如果数值最大的目标相似度的数量为至少两个,则为了防止识别出错,可直接输出错误提示。

在s504中,若数值最大的所述目标相似度大于或等于所述第二相似度阈值,则确定数值最大的所述目标相似度对应的所述目标语音,将所述目标语音对应的所述目标号码串确定为所述识别结果。

若数值最大的目标相似度小于第二相似度阈值,证明数值最大的目标相似度并不可信,则输出错误提示;若数值最大的目标相似度大于或等于第二相似度阈值,则确定数值最大的目标相似度对应的目标语音,将该目标语音在数据库中对应的目标号码串确定为识别结果。

通过图5所示实施例可知,在本发明实施例中,将大于或等于第一相似度阈值的语音相似度确定为目标相似度,并获取目标相似度的数量,若目标相似度的数量为一,则确定目标相似度对应的目标语音,将目标语音对应的所述目标号码串确定为识别结果;若目标相似度的数量大于一,则将数值最大的目标相似度与预设的第二相似度阈值进行比对;若数值最大的目标相似度大于或等于第二相似度阈值,则确定数值最大的目标相似度对应的目标语音,将目标语音对应的目标号码串确定为识别结果。本发明实施例针对抓取到的目标语音的数量不定的情况,提供了多种识别结果的确定方式,提升了号码识别的全面性。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

对应于上文实施例所述的基于语音处理的号码识别方法,图6示出了本发明实施例提供的基于语音处理的号码识别装置的结构框图,参照图6,该号码识别装置包括:

识别单元61,用于对获取到的当前语音进行识别得到当前号码串,并将所述当前号码串与数据库中的至少两个样本号码串进行一一比对得到至少两个号码错误率,所述号码错误率为差异位数与所述样本号码串的总位数之间的比值,所述差异位数为所述样本号码串与所述当前号码串之间存在差异的号码的数量;

抓取单元62,用于将小于预设的错误率阈值的所述号码错误率对应的所述样本号码串确定为目标号码串,抓取与所述目标号码串对应的目标语音,所述目标语音为所述数据库中存储的与所述目标号码串存在映射关系的语音;

确定单元63,用于将所述当前语音与所述目标语音进行比对得到语音相似度,若所述语音相似度大于或等于预设的第一相似度阈值,则根据所述目标语音对应的所述目标号码串确定出识别结果。

可选地,确定单元63包括:

位置确定单元,用于确定小于所述错误率阈值的所述号码错误率在所述当前号码串中对应的号码位置,并获取所述号码位置对应的第一错误时间段和第二错误时间段,所述第一错误时间段是指所述号码位置对应的号码在所述当前语音中所占的发音时段,所述第二错误时间段是指所述号码位置对应的号码在所述目标语音中所占的发音时段;

比对单元,用于根据所述第一错误时间段对所述当前语音进行截取得到当前子语音,根据所述第二错误时间段对所述目标语音进行截取得到目标子语音,并将所述当前子语音与所述目标子语音进行比对得到所述语音相似度。

可选地,比对单元包括:

降噪单元,用于获取所述当前子语音的当前信噪比,若所述当前信噪比小于预设的信噪比阈值,则对所述当前子语音进行降噪处理;

比对子单元,用于将降噪处理后的所述当前子语音与所述目标子语音进行比对得到所述语音相似度。

可选地,通过预设模型对所述当前语音进行识别得到所述当前号码串,确定单元63还包括:

置信度计算单元,用于基于所述预设模型计算所述当前语音的第一置信度,并基于所述预设模型计算所述目标语音的第二置信度;

置信度比对单元,用于根据所述第一置信度和所述第二置信度计算比对置信度,并将所述比对置信度与预设的置信度阈值进行比对,其中,所述比对置信度为所述第一置信度和所述第二置信度之间的差值的绝对值;

执行单元,用于若所述比对置信度小于所述置信度阈值,且所述第一置信度大于或等于预设的置信度门限,则执行所述将所述当前语音与所述目标语音进行比对得到语音相似度的操作。

可选地,确定单元63包括:

数量获取单元,用于将大于或等于所述第一相似度阈值的所述语音相似度确定为目标相似度,并获取所述目标相似度的数量;

第一确定单元,用于若所述目标相似度的数量为一,则确定所述目标相似度对应的所述目标语音,将所述目标语音对应的所述目标号码串确定为所述识别结果;

相似度比对单元,用于若所述目标相似度的数量大于一,则将数值最大的所述目标相似度与预设的第二相似度阈值进行比对;

第二确定单元,用于若数值最大的所述目标相似度大于或等于所述第二相似度阈值,则确定数值最大的所述目标相似度对应的所述目标语音,将所述目标语音对应的所述目标号码串确定为所述识别结果。

因此,本发明实施例提供的基于语音处理的号码识别装置通过计算号码错误率及语音相似度,提升了对含有口音的语音进行号码识别的准确率及成功率。

图7是本发明实施例提供的终端设备的示意图。如图7所示,该实施例的终端设备7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如基于语音处理的号码识别程序。所述处理器70执行所述计算机程序72时实现上述各个基于语音处理的号码识别方法实施例中的步骤,例如图1所示的步骤s101至s103。或者,所述处理器70执行所述计算机程序72时实现上述各基于语音处理的号码识别装置实施例中各单元的功能,例如图6所示单元61至63的功能。

示例性的,所述计算机程序72可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器71中,并由所述处理器70执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述终端设备7中的执行过程。例如,所述计算机程序72可以被分割成识别单元、抓取单元以及确定单元,各单元具体功能如下:

识别单元,用于对获取到的当前语音进行识别得到当前号码串,并将所述当前号码串与数据库中的至少两个样本号码串进行一一比对得到至少两个号码错误率,所述号码错误率为差异位数与所述样本号码串的总位数之间的比值,所述差异位数为所述样本号码串与所述当前号码串之间存在差异的号码的数量;

抓取单元,用于将小于预设的错误率阈值的所述号码错误率对应的所述样本号码串确定为目标号码串,抓取与所述目标号码串对应的目标语音,所述目标语音为所述数据库中存储的与所述目标号码串存在映射关系的语音;

确定单元,用于将所述当前语音与所述目标语音进行比对得到语音相似度,若所述语音相似度大于或等于预设的第一相似度阈值,则根据所述目标语音对应的所述目标号码串确定出识别结果。

所述终端设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的示例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器70可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器71可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将所述终端设备的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的终端设备和方法,可以通过其它的方式实现。例如,以上所描述的终端设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1