一种基于声纹的外呼检测方法以及系统与流程

文档序号:16815591发布日期:2019-02-10 14:26阅读:317来源:国知局
一种基于声纹的外呼检测方法以及系统与流程

本发明涉及通信技术领域,尤其涉及一种基于声纹的外呼检测方法以及系统。



背景技术:

ivr(interactivevoiceresponse)即互动式语音应答系统,在系统主动外呼进行业务推销、意见反馈调查等应用中,为提高工作效率,需要对外呼号码的有效性、应答情况等进行检测判断,以使得外呼系统尽量呼叫到有效的号码上。对外呼线路状态检测的方法有很多,但是效率并不高。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于声纹的外呼检测方法以及系统。

本发明解决其技术问题所采用的技术方案是:构造一种基于声纹的外呼检测方法,包括:

获取输入帧信号并检测出满足条件的预设事件;

根据预设事件的检测时序进行语音模型分析得到语音检测结果,所述语音检测结果为彩铃、真人摘机或提示音;

若语音检测结果为彩铃或真人摘机,判断当前的外呼号码有效;

若语音检测结果为提示音,据语音声纹特点对提示音的内容进行识别并根据识别结果判断外呼号码是否有效。

较佳的,所述的获取输入帧信号并检测出满足条件的预设事件具体包括:

获取输入帧信号的时域能量及过零率,通过时域能量及过零率的双门限,对输入帧进行语音帧及静音帧区分,统计连续语音帧和连续静音帧的时长;

将连续语音帧和连续静音帧的时长与预设的真人摘机最大静音时长、最大彩铃语音时长、提示音最大静音时长、最小静音时长、最小语音时长进行比较,检测得到所述预设事件。

较佳的,所述预设事件包括:真人摘机最大静音事件、最大彩铃语音事件、提示音最大静音事件、最小静音事件、最小语音事件;

所述的根据预设事件的检测时序进行语音模型分析得到语音检测结果具体包括:若两个最小语音事件之间,存在真人摘机最大静音事件,则判断为真人摘机;若语音事件中存在彩铃最大语音事件则判断为彩铃;若语音事件中存在多个最小语音事件和最小静音事件,且还存在提示音最大静音事件,则判断为提示音。

较佳的,所述据语音声纹特点对提示音的内容进行识别并根据识别结果判断外呼号码是否有效具体包括:

将提示音的语音基于语音特征分析生成声纹码信息,所述声纹码信息包括声纹码及声纹码在语音中的时间位置;

在样本库中查找与提示音所生成的声纹码相同的声纹码对应的样本id,统计每一个相同的声纹码在提示音中与在每一个样本语音中的时间位置差,获取时间段相同范围内时间位置差个数最多的样本id;

判断样本id的样本语音中与提示音语音相同的声纹码个数占样本语音中总的声纹码的比例是否大于第一阈值,如果是,则判断该提示音与该样本id的样本语音匹配;否则,继续判断样本id的样本语音中与提示音语音相同的声纹码个数占样本语音中总的声纹码的比例是否大于第二阈值,且提示音中与样本id的样本语音中相同的声纹码个数占提示音总的声纹码比例是否大于第三阈值,如果是,则判断该提示音与该样本id的样本语音匹配,否则判断提示音语音并不在样本库中;

通过与提示音匹配的样本id的样本语音查询提示音内容,根据提示音内容判断当前的外呼号码是否有效。

较佳的,所述方法还包括:初始化样本语音id及样本语音内容,针对每一个样本语音基于语音特征分析生成声纹码信息,将所有样本语音的声纹码建立一个声纹检索表,同时记录每一个声纹码对应的样本id及在样本语音中的时间位置,将声纹检索表通过散列表进行存储,完成样本库的建立。

较佳的,所述语音特征分析包括:

对每个语音进行语音预处理;

将语音信号进行八子带分频,获取每一帧的八个子带的频域子带能量;

根据频域子带能量获取每一帧的频域能量和,当某一帧的频域能量和大于预设能量阈值时确定该帧为语音帧,统计连续语音帧的帧数,达到设定值时的语音帧为语音有效起始帧;

从语音有效起始帧开始,搜索每一帧的八个子带的能量极大值点,对于每个子带的极大值点,记录该极大值点的时间;

根据能量极大值点生成声纹码信息:针对每个子带的每个能量极大值点,将其作为目标点,找到目标点接下来的n个能量极大值点,针对目标点接下来的n个能量极大值点中的各个点,分别计算其与目标点之间的第一时间差以及其与n个能量极大值点中位于其后的各个能量极大值点之间的各个第二时间差,将目标点接下来的n个能量极大值点中的各个点对应的第一时间差与各个第二时间差组成配对,将目标点接下来的n个能量极大值点的所有配对连同子带标号组合生成声纹码,同时记录该声纹码在语音中的时间位置,其中n为不超过4的正整数。

本发明还要求保护一种基于声纹的外呼检测系统,包括存储模块以及处理模块,所述处理模块适于实现各指令,所述存储模块适于存储多条指令,所述指令适于由处理模块加载并执行以下步骤:

获取输入帧信号并检测出满足条件的预设事件;

根据预设事件的检测时序进行语音模型分析得到语音检测结果,所述语音检测结果为彩铃、真人摘机或提示音;

若语音检测结果为彩铃或真人摘机,判断当前的外呼号码有效;

若语音检测结果为提示音,据语音声纹特点对提示音的内容进行识别并根据识别结果判断外呼号码是否有效。

较佳的,所述预设事件包括:真人摘机最大静音事件、最大彩铃语音事件、提示音最大静音事件、最小静音事件、最小语音事件;

所述的根据预设事件的检测时序进行语音模型分析得到语音检测结果具体包括:若两个最小语音事件之间,存在真人摘机最大静音事件,则判断为真人摘机;若语音事件中存在彩铃最大语音事件则判断为彩铃;若语音事件中存在多个最小语音事件和最小静音事件,且还存在提示音最大静音事件,则判断为提示音。

较佳的,所述据语音声纹特点对提示音的内容进行识别并根据识别结果判断外呼号码是否有效具体包括:

将提示音的语音基于语音特征分析生成声纹码信息,所述声纹码信息包括声纹码及声纹码在语音中的时间位置;

在样本库中查找与提示音所生成的声纹码相同的声纹码对应的样本id,统计每一个相同的声纹码在提示音中与在每一个样本语音中的时间位置差,获取时间段相同范围内时间位置差个数最多的样本id;

判断样本id的样本语音中与提示音语音相同的声纹码个数占样本语音中总的声纹码的比例是否大于第一阈值,如果是,则判断该提示音与该样本id的样本语音匹配;否则,继续判断样本id的样本语音中与提示音语音相同的声纹码个数占样本语音中总的声纹码的比例是否大于第二阈值,且提示音中与样本id的样本语音中相同的声纹码个数占提示音总的声纹码比例是否大于第三阈值,如果是,则判断该提示音与该样本id的样本语音匹配,否则判断提示音语音并不在样本库中;

通过与提示音匹配的样本id的样本语音查询提示音内容,根据提示音内容判断当前的外呼号码是否有效。

较佳的,所述语音特征分析包括:

对每个语音进行语音预处理;

将语音信号进行八子带分频,获取每一帧的八个子带的频域子带能量;

根据频域子带能量获取每一帧的频域能量和,当某一帧的频域能量和大于预设能量阈值时确定该帧为语音帧,统计连续语音帧的帧数,达到设定值时的语音帧为语音有效起始帧;

从语音有效起始帧开始,搜索每一帧的八个子带的能量极大值点,对于每个子带的极大值点,记录该极大值点的时间;

根据能量极大值点生成声纹码信息:针对每个子带的每个能量极大值点,将其作为目标点,找到目标点接下来的n个能量极大值点,针对目标点接下来的n个能量极大值点中的各个点,分别计算其与目标点之间的第一时间差以及其与n个能量极大值点中位于其后的各个能量极大值点之间的各个第二时间差,将目标点接下来的n个能量极大值点中的各个点对应的第一时间差与各个第二时间差组成配对,将目标点接下来的n个能量极大值点的所有配对连同子带标号组合生成声纹码,同时记录该声纹码在语音中的时间位置,其中n为不超过4的正整数。

实施本发明的基于声纹的外呼检测方法以及系统,具有以下有益效果:本发明可以区分线路状态为彩铃、真人摘机还是提示音,同时根据语音声纹特点,还能对提示音的内容加以区分,以判断当前线路的有效性,本发明可以实现高效而快速的号码有效性筛查。

附图说明

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

图1是本发明的基于声纹的外呼检测方法的流程图;

图2是真人摘机、彩铃、提示音的三种语音模型示意图;

图3是样本库中的声纹检索表示意图;

图4是步骤s400的详细流程图;

图5是语音特征分析的流程图。

具体实施方式

为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的典型实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。

需要说明的是,词语“相等”、“相同”“同时”或者其他类似的用语,不限于数学术语中的绝对相等或相同,在实施本专利所述权利时,可以是工程意义上的相近或者在可接受的误差范围内。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。

本说明书中使用的“第一”、“第二”等包含序数的术语可用于说明各种构成要素,但是这些构成要素不受这些术语的限定。使用这些术语的目的仅在于将一个构成要素区别于其他构成要素。例如,在不脱离本发明的权利范围的前提下,第一构成要素可被命名为第二构成要素,类似地,第二构成要素也可以被命名为第一构成要素。

为了更好的理解本发明的技术方案,下面将结合说明书附图以及具体的实施方式对本发明的技术方案进行详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。

实施例一

参考图1,本发明的基于声纹的外呼检测方法总的思路是:

s100、获取输入帧信号并检测出满足条件的预设事件,所述预设事件包括:真人摘机最大静音事件、最大彩铃语音事件、提示音最大静音事件、最小静音事件、最小语音事件;

s200、根据预设事件的检测时序进行语音模型分析得到语音检测结果,所述语音检测结果为彩铃、真人摘机或提示音;

s300、若语音检测结果为彩铃或真人摘机,判断当前的外呼号码有效;

s400、若语音检测结果为提示音,识别提示音的内容并根据识别结果判断外呼号码是否有效。例如,识别结果一般包括:空号、无人接听、线路正忙等等,根据这些识别结果可以很容易的判断外呼号码是否有效。

其中,步骤s100中,所述的获取输入帧信号并检测出满足条件的预设事件具体包括:

s110、获取输入帧信号的时域能量及过零率,通过时域能量及过零率的双门限,对输入帧进行语音帧及静音帧区分,统计连续语音帧和连续静音帧的时长;

s120、将连续语音帧和连续静音帧的时长与预设的真人摘机最大静音时长、最大彩铃语音时长、提示音最大静音时长、最小静音时长、最小语音时长进行比较,检测得到所述预设事件。具体的,如果连续静音帧的时长大于预设的真人摘机最大静音时长,则判断出现真人摘机最大静音事件;如果连续静音帧的时长大于预设的最小静音时长,则判断出现最小静音事件;如果连续静音帧的时长大于预设的提示音最大静音时长,则判断出现提示音最大静音事件;如果连续语音帧的时长大于预设的最大彩铃语音时长,则判断出现最大彩铃语音事件;如果连续语音帧的时长大于预设的最小语音时长,则判断出现最小语音事件。

参考图2中第一幅图为真人摘机的语音模型,第二幅图为彩铃的语音模型,第三幅图为提示音的语音模型。其中,步骤s200中,所述的根据预设事件的检测时序进行语音模型分析得到语音检测结果具体包括:

若两个最小语音事件之间,存在真人摘机最大静音事件,则判断为真人摘机;

若语音事件中存在彩铃最大语音事件则判断为彩铃;

若语音事件中存在多个最小语音事件和最小静音事件,且还存在提示音最大静音事件,则判断为提示音。

参考图4,其中,步骤s400中,所述的识别提示音的内容并根据识别结果判断外呼号码是否有效具体包括:

s410、将提示音的语音基于语音特征分析生成声纹码信息,所述声纹码信息包括声纹码及声纹码在语音中的时间位置,其中,参考图5,所述语音特征分析包括:

s1)、对每个语音进行语音预处理:将定点语音信号转换为浮点信号,语音分帧,通过自相关法对帧信号进行增强平滑处理;

s2)、将语音信号进行八子带分频,获取每一帧的八个子带的频域子带能量;

s3)、根据频域子带能量获取每一帧的频域能量和,当某一帧的频域能量和大于预设能量阈值时确定该帧为语音帧,统计连续语音帧的帧数,达到设定值时的语音帧为语音有效起始帧;

s4)、从语音有效起始帧开始,搜索每一帧的八个子带的能量极大值点,在能量极大值点搜索过程中,对步长进行控制,同时当长时间搜索不到极大值点时复位阈值,使得极大值点间的距离不会太大,以生成更多具有较好区分性的声纹码;对于每个子带的极大值点,记录该极大值点的时间,没有频率,也就是说输出的矩阵一维是时间,另一维就是8个子带的标号;

s5)、根据能量极大值点生成声纹码信息,具体为:针对每个子带的每个能量极大值点,将其作为目标点,找到目标点接下来的n个能量极大值点,针对目标点接下来的n个能量极大值点中的各个点,分别计算其与目标点之间的第一时间差以及其与n个能量极大值点中位于其后的各个能量极大值点之间的各个第二时间差,将目标点接下来的n个能量极大值点中的各个点对应的第一时间差与各个第二时间差组成配对,将目标点接下来的n个能量极大值点的所有配对连同子带标号组合生成声纹码,同时记录该声纹码在语音中的时间位置(即帧号)。

优选的,n等于4。当然,也可以选择其他不超过4的正整数,对此并不做限制。

假如,以0点作为目标点,其后的4个点1-4。则针对点1,其与目标点0之间的第一时间差为记为(0,1),其与点2之间的第二时间差为记为(1,2),其与点3之间的第二时间差为记为(1,3),其与点4之间的第二时间差为记为(1,4),因此点1的所有配对共3个:((0,1),(1,2))、((0,1),(1,3))、((0,1),(1,4))。同理,针对点2,其与目标点0之间的第一时间差为记为(0,2),其与点3之间的第二时间差为记为(2,3),其与点4之间的第二时间差为记为(2,4),因此点2的所有配对共2个:((0,2),(2,3))、((0,3),(3,4))。同理,针对点3,所有配对共1个:((0,3),(3,4))。针对点4,不存在配对。因此,对于点0来说,总共有6个配对:((0,1),(1,2))、((0,1),(1,3))、((0,1),(1,4))、((0,2),(2,3))、((0,3),(3,4))、((0,3),(3,4))。

s420、在样本库中查找与提示音所生成的声纹码相同的声纹码对应的样本id,统计每一个相同的声纹码在提示音中与在每一个样本语音中的时间位置差,获取时间段相同范围内时间位置差个数最多的样本id;

样本库需要在一开始就建立好的,其建立过程如下:

首先,初始化样本语音id及样本语音内容,由于样本是事先预知的,而且样本语音有限,可通过听录音的方式初始化样本语音内容;

然后,针对每一个样本语音基于语音特征分析生成声纹码信息,将所有样本语音的声纹码建立一个声纹检索表,同时记录每一个声纹码对应的样本id及在样本语音中的时间位置,将声纹检索表通过散列表进行存储,完成样本库的建立,参考图3所示。左边表示声纹码链表,其中的声纹码包括声纹1-声纹n,右边表示声纹码在样本语音中的时间位置,id1-idn分别表示样本语音的样本id,pos1-posn表示帧号。

s430、判断样本id的样本语音中与提示音语音相同的声纹码个数占样本语音中总的声纹码的比例是否大于第一阈值,如果是,则判断该提示音与该样本id的样本语音匹配;否则,继续判断样本id的样本语音中与提示音语音相同的声纹码个数占样本语音中总的声纹码的比例是否大于第二阈值,且提示音中与样本id的样本语音中相同的声纹码个数占提示音总的声纹码比例是否大于第三阈值,如果是,则判断该提示音与该样本id的样本语音匹配,否则判断提示音语音并不在样本库中;

s440、通过与提示音匹配的样本id的样本语音查询提示音内容,根据提示音内容判断当前的外呼号码是否有效。

实施例二

基于同一发明构思,本发明还公开了一种基于声纹的外呼检测系统,包括存储模块以及处理模块,所述处理模块适于实现各指令,所述存储模块适于存储多条指令,所述指令适于由处理模块加载并执行以下步骤:

获取输入帧信号并检测出满足条件的预设事件,所述预设事件包括:真人摘机最大静音事件、最大彩铃语音事件、提示音最大静音事件、最小静音事件、最小语音事件;

根据预设事件的检测时序进行语音模型分析得到语音检测结果,所述语音检测结果为彩铃、真人摘机或提示音;

若语音检测结果为彩铃或真人摘机,判断当前的外呼号码有效;

若语音检测结果为提示音,识别提示音的内容并根据识别结果判断外呼号码是否有效。

具体的,所述的获取输入帧信号并检测出满足条件的预设事件具体包括:

获取输入帧信号的时域能量及过零率,通过时域能量及过零率的双门限,对输入帧进行语音帧及静音帧区分,统计连续语音帧和连续静音帧的时长;

将连续语音帧和连续静音帧的时长与预设的真人摘机最大静音时长、最大彩铃语音时长、提示音最大静音时长、最小静音时长、最小语音时长进行比较,检测得到所述预设事件。具体的,如果连续静音帧的时长大于预设的真人摘机最大静音时长,则判断出现真人摘机最大静音事件;如果连续静音帧的时长大于预设的最小静音时长,则判断出现最小静音事件;如果连续静音帧的时长大于预设的提示音最大静音时长,则判断出现提示音最大静音事件;如果连续语音帧的时长大于预设的最大彩铃语音时长,则判断出现最大彩铃语音事件;如果连续语音帧的时长大于预设的最小语音时长,则判断出现最小语音事件。

具体的,所述的根据预设事件的检测时序进行语音模型分析得到语音检测结果具体包括:若两个最小语音事件之间,存在真人摘机最大静音事件,则判断为真人摘机;若语音事件中存在彩铃最大语音事件则判断为彩铃;若语音事件中存在多个最小语音事件和最小静音事件,且还存在提示音最大静音事件,则判断为提示音。

具体的,所述的识别提示音的内容并根据识别结果判断外呼号码是否有效具体包括:

将提示音的语音基于语音特征分析生成声纹码信息,所述声纹码信息包括声纹码及声纹码在语音中的时间位置;

在样本库中查找与提示音所生成的声纹码相同的声纹码对应的样本id,统计每一个相同的声纹码在提示音中与在每一个样本语音中的时间位置差,获取时间段相同范围内时间位置差个数最多的样本id;

判断样本id的样本语音中与提示音语音相同的声纹码个数占样本语音中总的声纹码的比例是否大于第一阈值,如果是,则判断该提示音与该样本id的样本语音匹配;否则,继续判断样本id的样本语音中与提示音语音相同的声纹码个数占样本语音中总的声纹码的比例是否大于第二阈值,且提示音中与样本id的样本语音中相同的声纹码个数占提示音总的声纹码比例是否大于第三阈值,如果是,则判断该提示音与该样本id的样本语音匹配,否则判断提示音语音并不在样本库中;

通过与提示音匹配的样本id的样本语音查询提示音内容,根据提示音内容判断当前的外呼号码是否有效。

具体的,所述语音特征分析包括:

对每个语音进行语音预处理;

将语音信号进行八子带分频,获取每一帧的八个子带的频域子带能量;

根据频域子带能量获取每一帧的频域能量和,当某一帧的频域能量和大于预设能量阈值时确定该帧为语音帧,统计连续语音帧的帧数,达到设定值时的语音帧为语音有效起始帧;

从语音有效起始帧开始,搜索每一帧的八个子带的能量极大值点,对于每个子带的极大值点,记录该极大值点的时间;

根据能量极大值点生成声纹码信息:针对每个子带的每个能量极大值点,将其作为目标点,找到目标点接下来的n个能量极大值点,针对目标点接下来的n个能量极大值点中的各个点,分别计算其与目标点之间的第一时间差以及其与n个能量极大值点中位于其后的各个能量极大值点之间的各个第二时间差,将目标点接下来的n个能量极大值点中的各个点对应的第一时间差与各个第二时间差组成配对,将目标点接下来的n个能量极大值点的所有配对连同子带标号组合生成声纹码,同时记录该声纹码在语音中的时间位置,其中n为不超过4的正整数。

综上所述,实施本发明的基于声纹的外呼检测方法以及系统,具有以下有益效果:本发明可以区分线路状态为彩铃、真人摘机还是提示音,同时根据语音声纹特点,还能对提示音的内容加以区分,以判断当前线路的有效性,本发明可以实现高效而快速的号码有效性筛查。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

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