一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

语音唤醒方法及系统与流程

2021-07-16 20:24:00 来源:中国专利 TAG:

2中分类器的输入进行模型的训练和测试,能够有效进行二次预测,解决了使用动态规划算法做后处理的唤醒模型区分性弱的问题,提高了唤醒的区分性能。并且,为了减小stage 2带来的内存占用,尝试了基于多任务学习训练的后验纠正分类器压缩方案,在减小内存占用的同时,保证了唤醒的准确率。
附图说明
16.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
17.图1是本发明一实施例提供的一种语音唤醒方法的流程图;
18.图2是本发明一实施例提供的一种语音唤醒方法的后验纠正分类流程图;
19.图3是本发明一实施例提供的一种语音唤醒方法的声学后验缓存示意图;
20.图4是本发明一实施例提供的一种语音唤醒方法的极值点搜寻示意图;
21.图5是本发明一实施例提供的一种语音唤醒方法的唤醒声学模型训练流程图;
22.图6是本发明一实施例提供的一种语音唤醒方法的模型效果数据示意图;
23.图7是本发明一实施例提供的一种语音唤醒系统的结构示意图。
具体实施方式
24.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
25.如图1所示为本发明一实施例提供的一种语音唤醒方法的流程图,包括如下步骤:
26.s11:语音唤醒模型在第一阶段预测当前语句包含唤醒词后,将所述唤醒词对应的语音唤醒模型中的隐层值作为后验纠正分类器的输入;
27.s12:基于后验纠正分类器的第二阶段的预测结果,判断所述音频流是否包含唤醒词。
28.在本实施方式中,重新设计了two

stage唤醒模型,又称为posterior correction/pc(后验纠正)方案,使用了stage 1中的声学模型的隐层值(神经网络中隐层的输出),作为stage 2中分类器的输入进行模型的训练和测试。
29.对于步骤s11,常见的唤醒模型测试流程如图2中的stage 1,唤醒模型对输入的音频流计算唤醒词的得分,得分超过阈值,唤醒模型被唤醒,反之则未被唤醒。在two

stage唤醒方案中,stage 1中的唤醒模型被唤醒,则将唤醒词对应的语音唤醒模型中的隐层值作为后验纠正分类器的输入至stage 2。
30.作为一种实施方式,所述语音唤醒模型包括:基于动态规划的语音唤醒模型。由于现有的two

stage中的stage 2的分类器,输入特征主要包括唤醒词的时长,唤醒词中单字时长等等,在使用动态规划算法做后处理的唤醒模型中,这些特征不能直接获得,不适用于基于动态规划的后处理的唤醒方案。而本方法考虑了隐层值这一特征,并且基于隐层值进
行深度处理,使得隐层值可以应用到stage2中,并且确保了语音唤醒区分的准确性。
31.在每一时刻,唤醒模型的隐层值被存入特定时长的缓存t

buffer中。其中,通过buffer可以减少进程间通信需要等待的时间,当存储速度快的设备与存储速度慢的设备进行通信时,存储慢的数据先把数据存放到buffer,达到一定程度存储快的设备再读取buffer的数据,在此期间存储快的设备cpu可以干其他的事情。
32.对于步骤s12,通过步骤s11的stage1确定了唤醒词对应的语音唤醒模型中的隐层值,在stage 2中,后验纠正分类器依赖在t

buffer缓存的隐层值的特征输入。预测音频流中是否包含唤醒词,如果预测结果为“包含唤醒词”,则系统抛出唤醒信息,如果预结果为“不包含唤醒词/误唤醒”,则系统不抛出唤醒信息。
33.通过该实施方式可以看出,使用了stage 1中的声学模型的隐层值,作为stage 2中分类器的输入进行模型的训练和测试,能够有效进行二次预测,一定程度上解决了,使用动态规划算法做后处理的唤醒模型,语音唤醒区分性弱的问题。
34.作为一种实施方式,在本实施例中,所述将所述唤醒词对应的语音唤醒模型中的隐层值作为后验纠正分类器的输入包括:
35.将所述唤醒词中每个字的声学后验概率的极值点对应的语音唤醒模型中的隐层值拼接在一起,作为后验纠正分类器的输入。
36.在本实施方式中,当stage1确定了唤醒词对应的语音唤醒模型中的隐层值之后,进入stage2过程中,通过寻找唤醒词中字的声学后验的极值点,其对应的隐层值作为后验纠正分类器的输入,从而获得预测结果。
37.其中,极值点的获取方式如下:在t

buffer时长内,唤醒词中的单个字的声学模型后验概率均被存储在缓存中。以唤醒词“你好小驰”为例,“你”“好”“小”“驰”的声学后验被存储在缓存内。如图3所示,t1时刻唤醒词的总得分大于阈值,“驰”的后验概率的极值点,在t1时刻前推twin(窗口)区间内被搜寻。极值点在这里具体指的是,声学概率的值,大于或等于前面以及后面n时刻的概率值。当“驰”的极值点(以index_d表示)被找到,在index_d时刻前推twin区间内,继续搜寻“小”的极值点,记为index_c。以同样的方式,“好”和“你”的极值点均被找到,被记为index_b和index_a。图4示意了部分极值点的搜寻过程(由index_d到index_c的过程,index_b和index_a也按照同样的方式进行搜寻,在此不再赘述)。这四个时刻对应的声学模型第一和最后一层的隐层值被拼接到一起,作为pc分类器的输入。
38.通过该实施方式可以看出,基于对隐层值深度处理,确定出极值点所在时刻对应的更加准确的隐层值,从而提高语音唤醒区分性能。
39.作为一种实施方式,在本实施例中,所述方法还包括:
40.基于多任务学习对所述隐层值自适应压缩,以降低所述隐层值的维度,将维度降低后的隐层值,作为后验纠正分类器的输入。
41.在本实施方式中,可以发现,在现有的后验纠正分类器,需要通过缓存的方式,存储和选择后验纠正分类器的输入;后验纠正分类器方案会带来的内存增加,可以表示为缓存与后验纠正分类器的内存占用之和,而二者均与唤醒模型隐层值的维度正相关。因此,为了降低内存占用,降低隐层值的维度是一个主要思路。首先尝试了使用主成份分析(pca)与线性判别分析(lda)进行了降维实验,将隐层值降低到特定维度,再进行后验纠正分类器的训练与测试,然而降低误唤醒的效果明显降低,因此,需要一种自适应的降维方案,来解决
后验纠正分类器方案的内存占用问题。因此采用了基于多任务学习multi

task training的后验纠正分类压缩方案,在减小内存占用的同时,降低误唤醒的能力与原有方案持平。
42.如图5所示,左侧黑色框中,task a是常规的唤醒声学模型训练任务,唤醒的声学模型称之为model 1;右侧黑色框中,task b是后验纠正分类器参数降维训练任务,参数降维网络称之为model 2。在task b中,其中隐层1和隐层n(即最后一个隐层)的参数,拼接在一起,经过线性压缩,压缩到一个特定维度,与输出节点b相连,从而进行训练。task a与task b可共用输出节点。
43.整个训练过程采用三段训练方式;第一个阶段,进行task a,即训练常规的声学模型model 1;第二个阶段,固定model 1,训练model 2;在第三个阶段,联调model 1和2。
44.整个实验在唤醒词“你好小驰”的模型上进行,实验结果如图6所示。其中far表示false alarm rate译为误唤醒率;#para表示增加的参数量;frr表示false reject rate译为拒识率,与唤醒率的和为1;rfrr表示采用了后验纠正分类器的唤醒模型系统,相比未采用后验纠正分类器的系统,frr的相对变量。
45.通过该实施方式可以看出,从图6得到,对比原本的后验纠正分类方案,two

stage方案降低70%的误唤醒次数,frr相对增加0.1%,绝对增加了0.1个点。同时参数量升高了58.7k,其中42.2表示模型部分参数增加量,16.5表示缓存的内存占用。采用自适应的后验纠正分类压缩方案,同样降低70%的误唤醒次数,frr相对增加0.3%,绝对增加了0.2个点,内存占用升高了16.3k。可以得到结论,在正例唤醒率基本持平的情况下,内存占用减少了72.2%。
46.在进行多任务学习过程中,也可以根据情况尝试最简单直接的训练方式,即直接联调model 1和model 2。测试结果显示,降低70%的误唤醒次数,frr增加了绝对值2个点,内存占用减少了50%。虽然内存占用减少,但会牺牲部分唤醒准确性能。
47.作为一种实施方式,在本实施例中,所述方法还包括:
48.当所述语音唤醒模型误判断音频流内的语句包含唤醒词时,确定误判断的唤醒词的声学得分大于预设阈值的时间区间;
49.提取出所述时间区间内对应的语音唤醒模型中的隐层值,作为所述后验纠正分类器的训练样本。
50.在本实施方式中,可以发现,在现有的后验纠正分类器的训练数据的数据量是由误唤醒(反例)数据决定的,因为在实际应用中,反例数据相比唤醒词(正例)数据,更难以获得。这个“误唤醒”指的是stage1的误唤醒,stage2内的后验纠正分类器会直接拿来搜寻,并将对应的隐层值用作模型训练;举例说明,假设误唤醒次数1h/1次,那么一个小时的音频中,只能得到一条反例数据。后验纠正分类器本质上是一个神经网络,神经网络的性能受训练数据的数量影响较大。为了扩充反例数据,不再从一段误唤醒音频中,获取单一的训练样本,而是获取满足条件的所有训练样本;满足条件指的是唤醒词的得分大于阈值,同样如图3所示,对于整段误唤醒音频,找到唤醒词得分大于阈值的起始点和终止点t1和t2,对于该区间内的所有时刻,获取缓存t0时长的隐层特征,提取出后验纠正分类器的输入,作为训练样本。就这样,训练数据得到了扩充。而根据经验值,正例和反例的数据比例在3:1到4:1之间时,预测效果最优。
51.如图7所示为本发明一实施例提供的一种语音唤醒系统示意图,该系统可执行上
述任意实施例所述的语音唤醒方法,并配置在终端中。
52.本实施例提供的一种语音唤醒系统10包括:隐层值输入程序模块11和唤醒程序模块12。
53.其中,隐层值输入程序模块11用于语音唤醒模型在第一阶段预测当前语句包含唤醒词后,将所述唤醒词对应的语音唤醒模型中的隐层值作为后验纠正分类器的输入;唤醒程序模块12用于基于后验纠正分类器的第二阶段的预测结果,判断所述音频流是否包含唤醒词。
54.本发明实施例还提供了一种非易失性计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的语音唤醒方法;
55.作为一种实施方式,本发明的非易失性计算机存储介质存储有计算机可执行指令,计算机可执行指令设置为:
56.语音唤醒模型在第一阶段预测当前语句包含唤醒词后,将所述唤醒词对应的语音唤醒模型中的隐层值作为后验纠正分类器的输入;
57.基于后验纠正分类器的第二阶段的预测结果,判断所述音频流是否包含唤醒词。
58.作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的方法对应的程序指令/模块。一个或者多个程序指令存储在非易失性计算机可读存储介质中,当被处理器执行时,执行上述任意方法实施例中的语音唤醒方法。
59.非易失性计算机可读存储介质可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据装置的使用所创建的数据等。此外,非易失性计算机可读存储介质可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,非易失性计算机可读存储介质可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
60.本发明实施例还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的语音唤醒方法的步骤。
61.本申请实施例的电子设备以多种形式存在,包括但不限于:
62.(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机、多媒体手机、功能性手机,以及低端手机等。
63.(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如平板电脑。
64.(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器,掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
65.(4)其他具有数据处理功能的电子装置。
66.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际
的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
67.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
68.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
69.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜