基于多段网络的语音唤醒方法、装置及存储介质与流程
本申请涉及语音唤醒技术领域,具体涉及一种基于多段网络的语音唤醒方法、装置、存储介质、计算机设备。
背景技术:
现有技术中,语音唤醒模型都需要对待识别唤醒的音频进行降噪处理,才能进行计算以得到唤醒结果,目前具有前端降噪以及ai降噪两种降噪方法,其中,第一种前端降噪方法通常是将先将唤醒词经过前端降噪算法处理再进行识别或分类计算,或者将前端降噪部分直接当做一个固定不变的模块嵌入到后边的识别或分类网络中;第二种ai降噪方法的原理是基于网络的计算,输入带噪声音,输出去噪后的声音,该种方法通常采用可抗噪的模型,主要通过提升模型自身的噪声适应能力来得到唤醒结果。
然而,第一种方法中的前端算法一般比较复杂,模型比较大,占用资源多,很难小型化;第二种方法虽然可以得到较小的模型,但是误唤醒次数降低的同时也会造成唤醒率的降低。
技术实现要素:
本申请的主要目的为提供一种基于多段网络的语音唤醒方法、装置、存储介质、计算机设备,旨在解决现有技术中唤醒模型的唤醒率较低的技术问题。
基于上述技术问题,本申请提出了一种基于多段网络的语音唤醒方法,通过预设的唤醒模型实现,所述唤醒模型包括预设的前置网络以及后置网络,该方法包括:
获取待唤醒识别的第一音频数据;
将所述第一音频数据输入至所述前置网络中进行计算,得到第一计算结果以及与所述第一音频数据对应的第一特征,所述第一计算结果包括所述第一音频数据的第一类别概率值,所述第一类别概率值对应的类别包括唤醒词以及非唤醒词;
依据所述第一计算结果判断所述第一音频数据是否为唤醒词;
若依据所述第一计算结果判定所述第一音频数据为唤醒词,则将所述第一特征输入至所述后置网络进行计算,得到第二计算结果,所述第二计算结果包括所述第一音频数据的第二类别概率值,所述第二类别概率值对应的类别包括唤醒词以及非唤醒词;
依据所述第二计算结果判断所述第一音频数据是否为唤醒词;
若依据所述第二计算结果判定所述第一音频数据为唤醒词,则执行唤醒动作。
进一步地,所述依据所述第一计算结果判断所述第一音频数据是否为唤醒词的步骤之后,包括:
若所述第一音频数据不是唤醒词,则执行停止动作。
所述获取待唤醒识别的第一音频数据的步骤之前,包括:
依据预设的第一样本集对预设第一网络进行训练,得到前置网络;
获取第二样本集,所述第二样本集为通过所述前置网络中的神经网络层进行计算得到的特征矩阵集;
依据所述第二样本集对预设的第二网络进行训练,得到后置网络;
将所述后置网络连接于所述前置网络,得到所述唤醒模型。
进一步地,所述依据预设的第一样本集对预设第一网络进行训练,得到前置网络的步骤,包括:
获取第一样本集,所述样本集包括第一正样本以及第一负样本,所述第一正样本为具有指定信噪比的混合音频数据,所述混合音频数据为唤醒词数据,所述第一负样本为所述混合音频数据中的噪声数据;
将所述第一样本集输入至所述第一网络进行计算,得到与所述第一样本集对应的第一特征集;
将所述第一特征集通过预设的损失函数计算得到第一损失值集;
将所述第一损失值集通过网络反向传播计算出所述第一网络的参数梯度,更新所述第一网络的参数直到收敛,得到所述前置网络。
进一步地,所述获取第一样本集的步骤,包括:
获取指定时间长度的唤醒词的干净声音以及噪声;
按照预设的信噪比将所述干净声音与所述噪声进行混合,得到所述混合音频数据;
将所述混合音频数据作为第一正样本,将所述混合音频数据中的噪声数据作为第一负样本,得到所述第一样本集。
进一步地,所述获取第二样本集的步骤,包括:
获取所述第一正样本,并将所述第一正样本输入至所述前置网络的中的神经网络层进行计算,得到对应所述第一正样本的第一特征矩阵,以所述第一特征矩阵作为第二正样本;
采集经所述前置网络误识别得到的第一计算结果所对应的第二音频数据,将所述第二音频数据输入至所述前置网络的中的神经网络层进行计算,得到对应所述第二音频数据的第二特征矩阵,以所述第二特征矩阵作为第二负样本;
以多个所述第二正样本以及所述第二负样本形成所述第二样本集。
本申请实施例还提出了一种基于多段网络的语音唤醒装置,通过预设的唤醒模型实现,所述唤醒模型包括前置网络以及后置网络,所述装置包括:
获取音频单元,用于获取待唤醒识别的第一音频数据;
第一计算单元,用于将所述第一音频数据输入至所述前置网络中进行计算,得到第一计算结果以及与所述第一音频数据对应的第一特征,所述第一计算结果包括所述第一音频数据的第一类别概率值,所述第一类别概率值对应的类别包括唤醒词以及非唤醒词;
第一判断单元,用于依据所述第一计算结果判断所述第一音频数据是否为唤醒词;
第二计算单元,用于若依据所述第一计算结果判定所述第一音频数据为唤醒词,则将所述第一特征输入至所述后置网络进行计算,得到第二计算结果,所述第二计算结果包括所述第一音频数据的第二类别概率值,所述第二类别概率值对应的类别包括唤醒词以及非唤醒词;
第二判断单元,用于依据所述第二计算结果判断所述第一音频数据是否为唤醒词;
执行唤醒单元,用于依据所述第二计算结果判定所述第一音频数据为唤醒词时,执行唤醒动作。
进一步地,所述装置,还包括:
前置训练单元,用于依据预设的第一样本集对预设第一网络进行训练,得到前置网络;
获取样本单元,用于获取第二样本集,所述第二样本集为通过所述前置网络中的神经网络层进行计算得到的特征矩阵集;
后置训练单元,用于依据所述第二样本集对预设的第二网络进行训练,得到后置网络;
连接网络单元,用于将所述后置网络连接于所述前置网络,得到所述唤醒模型。
本申请实施例还提出了一种存储介质,其为计算机可读的存储介质,其上存储有计算机程序,所述计算机程序被执行时实现上述基于多段网络的语音唤醒方法。
本申请实施例还提出了一种计算机设备,其包括处理器、存储器及存储于所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被执行时实现上述基于多段网络的语音唤醒方法。
本申请的有益效果:
本申请提出了一种基于多段网络的语音唤醒方法、存储介质及计算机设备,该方法中通过前置网络计算,并在判断出输入的音频数据为唤醒词后,进一步通过后置网络的计算来验证前置网络的准确性,这样通过前置网络与后置网络结合来进行语音唤醒,不但模型小占用资源少,而且由于前置网络的数据集在构建上吸取了前端降噪算法的数据集结构思想,使其具有一定的信息分离能力,进而可提高唤醒率,还可以通过后置网络修正来降低误唤醒率。
附图说明
图1是本申请一实施例的基于多段网络的语音唤醒方法的流程示意图;
图2是本申请一实施例的基于多段网络的语音唤醒装置的结构示意框图;
图3是本申请的存储介质的一实施例的结构示意框图;
图4是本申请的计算机设备的一实施例的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
另外,在本申请中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
参照图1,本申请提供的一种基于多段网络的语音唤醒方法的流程示意图,该方法,包括:
步骤s1:获取待唤醒识别的第一音频数据;
步骤s2:将所述第一音频数据输入至所述前置网络中进行计算,得到第一计算结果以及与所述第一音频数据对应的第一特征,所述第一计算结果包括所述第一音频数据的第一类别概率值,所述第一类别概率值对应的类别包括唤醒词以及非唤醒词;
步骤s3:依据所述第一计算结果判断所述第一音频数据是否为唤醒词;
步骤s4:若依据所述第一计算结果判定所述第一音频数据为唤醒词,则将所述第一特征输入至所述后置网络进行计算,得到第二计算结果,所述第二计算结果包括所述第一音频数据的第二类别概率值,所述第二类别概率值对应的类别包括唤醒词以及非唤醒词;
步骤s5:依据所述第二计算结果判断所述第一音频数据是否为唤醒词;
步骤s6:若依据所述第二计算结果判定所述第一音频数据为唤醒词,则执行唤醒动作。
本实施例中,上述方法通过预设的唤醒模型来实现,该唤醒模型用于识别唤醒词,当识别出输入的数据为唤醒词时,则执行唤醒动作,否则执行停止动作,也即停止继续运行后续程序,唤醒模型包括前置网络以及后置网络,通过前置网络连接后置网络形成上述唤醒模型。其中,前置网络为用于语音唤醒的神经网络,包括用于提取特征的神经网络层以及分类层,该神经网络层可以由长短期记忆网络(lstm)以及全连接网络(fc)搭建,后面连接分类层,例如在全连接网络后连接softmax;后置网络可包括全连接网络(fc),其后面也可以连接分类层;本申请不对前置网络与后置网络的结构作限定,只要是用于语音唤醒的深度神经网络即可,例如其结构可为rnn网络,或者注意力机制网络等。
如上述步骤s1所述,获取待唤醒识别的第一音频数据,该第一音频数据可以为一预设时间长度的第一音频数据,例如用户发出的唤醒指令、从指定位置获取的唤醒词或非唤醒词等,该第一音频数据可以为干净语音与噪声的混和第一音频数据,也可以是单纯的干净语音的第一音频数据,本实施例不对上述待唤醒识别的第一音频数据作限制。
如上述步骤s2-s3所述,将上述第一音频数据输入至前置网络进行计算,得到第一计算结果,例如当上述前置网络由长短期记忆网络、全连接网络以及softmax构建时,这时第一音频数据依次通过长短期记忆网络以及全连接网络得到与第一音频数据对应的特征,然后输入到softmax中进行计算得到第一计算结果,同时也可以获得通过长短期记忆网络以及全连接网络计算得到的与第一音频数据对应的特征,此处名为第一特征,第一计算结果为该第一音频数据的第一类别概率值,上述类别包括唤醒词与非唤醒词两类,通过第一计算结果得到第一音频数据为唤醒词的概率,从而可以依据第一计算结果判断第一音频数据是否为唤醒词,以便进行下一步操作。
在一个实施例中,步骤s3之后,包括:
步骤s4’:若所述第一音频数据不是唤醒词,则执行停止动作。
本实施例中,当判定上述第一音频数据不是唤醒词后,此时可直接执行停止动作,也即停止运行后续步骤,不进行唤醒操作,由于通常通过唤醒模型判断不进行唤醒操作时,该判断的正确率比较高,不容易产生误判现象,故而直接执行停止动作即可。
当判定第一音频数据为唤醒词时,为了提高唤醒的正确率,避免误判,本实施例采用后置网络来进一步验证,具体地,如上述步骤s4-s6所述,将经过所述神经网络层计算出的第一特征输入至后置网络进行计算,得到计算结果,为了便于区别此处名为为第二计算结果,上述后置网络可以由全连接网络以及softmax构建,将上述第一特征输入到全连接网络计算得到对应的特征向量,然后通过softmax计算得到第一音频数据的第二类别概率值,也即得到该第一音频数据为唤醒词的概率,第二类别概率值所对应的类别同样包括唤醒词以及非唤醒词,从而可以判断第一音频数据是否为唤醒词,若第一音频数据为唤醒词,则说明第一计算结果正确,这时可执行唤醒动作,若判断第一音频数据不为唤醒词,则说明第一计算结果错误,产生了误判,这时执行停止动作,即不进行唤醒操作。
本申请提供的基于多段网络的语音唤醒方法,通过前置网络与后置网络结合,在前置网络以完成判断的基础上,进一步通过后置网络来验证,从而确保唤醒模型计算结果的正确性,避免产生误判,提高唤醒正确率。
在一个实施例中,在使用上述唤醒模型之前,可先进行训练以得到上述唤醒模型,具体而言,所述步骤s1之前,包括:
步骤s01:依据预设的第一样本集对预设第一网络进行训练,得到前置网络;
步骤s02:获取第二样本集,所述第二样本集为通过所述前置网络中的神经网络层进行计算得到的特征矩阵集;
步骤s03:依据所述第二样本集对预设的第二网络进行训练,得到后置网络;
步骤s04:将所述后置网络连接于所述前置网络,得到所述唤醒模型。
本实施例中,训练上述唤醒模型可以分两部分进行,一是对前置网络进行训练,二是对后置网络进行训练。如上述步骤s01所述,依据预设的第一样本集对预设的第一网络进行训练,得到前置网络,上述预设的第一样本集可以为用户依据预设规则生成的样本集,上述第一网络可以为预先搭建的初始网络,例如将长短期记忆网络(lstm)以及全连接网络(fc)搭建而成的网络,在一个实施例中,上述步骤s01包括:
步骤s011:获取第一样本集,所述样本集包括第一正样本以及第一负样本,所述第一正样本为具有指定信噪比的混合音频数据,所述混合音频数据为唤醒词数据,所述第一负样本为所述混合音频数据中的噪声数据;
步骤s012:将所述第一样本集输入至所述第一网络进行计算,得到与所述第一样本集对应的第一特征集;
步骤s013:将所述第一特征集通过预设的损失函数计算得到第一损失值集;
步骤s014:将所述第一损失值集通过网络反向传播计算出所述第一网络的参数梯度,更新所述第一网络的参数直到收敛,得到所述前置网络。
本实施例中,通过第一样本集对前置网络进行训练,上述第一样本集包括第一正样本以及第一负样本,第一正样本与第一负样本一一对应,其中,第一正样本为具有指定信噪比的混合音频数据,该混合音频数据是由干净语音与噪声混合在一起的音频数据,上述干净语音为干净的唤醒词语音,也即第一正样本是干净的唤醒词声音与噪声叠加得到的带噪唤醒词声音,而第一负样本是对应的噪声,上述干净语音与噪声的信噪比可设定,例如其范围设定在0-20db之间,第一负样本为混合音频数据中的噪声数据,也即第一负样本为用于与干净语音进行混合的噪声,在训练时,将第一样本集中的样本分批依次输入到第一网络进行计算,得到与各样本对应的特征向量,此处命为第一特征,所有第一特征的集合即为上述第一特征集,值得注意的是,每一批次输入的音频数据不需要正、负样本对应,随机输入即可;然后将第一特征集通过预设的损失函数计算得到第一损失值集,再将第一损失值集中的第一损失值依次通过网络反向传播计算出第一网络的参数梯度,然后更新第一网络的参数直到网络收敛,得到上述前置网络,本实施例中,上述前置网络为分类模型,该分类模型的类别为正、负两类,也即依据计算后得到的结果可以直接判断第一音频数据是否为唤醒词。
本实施例中,前置网络的数据集构建上吸取了传统的前端降噪模块的数据集结构思想,第一正样本中包含了第一负样本的内容,可以让前置网络具有一定的信息分离能力,进而可区分音频里面的干净声音和噪声,使得训练后得到的前置网络在噪声适应上有较大的提升。
如上述步骤s02-s03所述,训练完前置网络之后,获取第二样本集,该第二样本集为通过前置网络中的神经网络层进行计算得到特征矩阵集,本实施例中上述神经网络层可以包括长短期记忆网络(lstm)以及全连接网络(fc),即上述特征矩阵集中的特征矩阵是由全连接网络输出的特征矩阵,然后将该特征矩阵集作为第二样本集,对第二网络进行训练得到后置网络,具体而言,上述步骤s03,包括:
步骤s031:将所述第二样本集输入至所述第二网络进行计算,得到与所述第二样本集对应的第二特征集;
步骤s032:将所述第二特征集通过预设的损失函数计算得到第二损失值集;
步骤s033:将所述第二损失值集通过网络反向传播计算出所述第二网络的参数梯度,更新所述第二网络的参数直到收敛,得到所述后置网络。
本实施例中,将第二样本集输入至第二网络进行计算,得到与第二样本集对应的第二特征集,第二网络包括全连接网络,通过全连接网络计算得到与各第一特征一一对应的第二特征,从而得到第二特征集,然后将第二特征集通过损失函数计算得到第二损失值集,该损失函数可与上述步骤s013中的损失函数一致;后置网络的输入数据为前置网络最后一个全连接层的输出数据,训练后置网络的时候,前置网络的参数不变,即前置网络的网络参数不参与更新,当计算出上述第二损失值集时,直接将第二损失值集通过网络反向传播计算出第二网络的参数梯度,然后更新第二网络的参数直到收敛,得到后置网络。
如上述步骤s04所述,得到前置网络以及后置网络户后,将后置网络连接于前置网络,得到唤醒模型,本实施例中,由于将混合语音以及噪声分布作为第一正样本与第一负样本,训练出的前置网络具有一定的信息分离能力,可区分音频里面的干净声音和噪声,使其在噪声适应能力提高,而后置网络通过一个小网络即可实现对前置网络输出结果的验证,不但使得整个唤醒模型运算量少,而且可以通过后置网络对前置网络判断错的部分进行补充判断,进而避免误唤醒,提高唤醒正确率。
在一个实施例中,所述步骤s011,包括:
步骤s0111:获取指定时间长度的唤醒词的干净声音以及噪声;
步骤s0112:按照预设的信噪比将所述干净声音与所述噪声进行混合,得到所述混合音频数据;
步骤s0113:将所述混合音频数据作为第一正样本,将所述混合音频数据中的噪声数据作为第一负样本,得到所述第一样本集。
如上述步骤s0111-s0113,上述指定时间长度可根据实际情况设定,例如1秒,获取1秒的干净声音以及1秒的噪声,上述干净声音即为没有噪声的唤醒词声音,然后按预设的信噪比将干净声音与噪声混合,得到混合语音,即得到混合音频数据,上述信噪比为干净声音与噪声的比值,例如信噪比可以设定的范围为0-20db,本实施例中,不对上述信噪比作具体限定,可随机从0-20db之中设定一个,然后将上述混合音频数据作为第一正样本,将对应的噪声数据作为第一负样本,得到上述第一样本集。
在一个实施例中,上述步骤s02,包括:
步骤s021:获取所述第一正样本,并将所述第一正样本输入至所述前置网络的中的神经网络层进行计算,得到对应所述第一正样本的第一特征矩阵,以所述第一特征矩阵作为第二正样本;
步骤s022:采集经所述前置网络误识别得到的第一计算结果所对应的第二音频数据,将所述第二音频数据输入至所述前置网络的中的神经网络层进行计算,得到对应所述第二音频数据的第二特征矩阵,以所述第二特征矩阵作为第二负样本;
步骤s022:以多个所述第二正样本以及所述第二负样本形成所述第二样本集。
本实施例中,由于前置网络在处理音频数据时,若音频数据中包含小部分曾经见过的噪声以及没见过的噪声,则会出现误唤醒的情况,故而可将基于前置网络收集到的误唤醒声音,用来训练后置网络,使得后置网络可以修正前置网络的误唤醒情况,上述用于训练后置网络的第二样本集包括第二正样本以及第二负样本,第二正样本和第二负样本均可以通过前置网络的神经网络层计算得到,具体而言,依据第一正样本来得到第二正样板,首先获取第一正样本,然后将第一正样本输入至前置网络的中的神经网络层进行计算得到对应该第一正样本的第一特征矩阵,以第一特征矩阵作为第二正样本;通过前置网络误识别的音频数据来获得第二负样本,首先采集经前置网络误识别得到的第一计算结果所对应的音频数据,为了便于区别,此处将其命名为第二音频数据,然后将第二音频数据输入至前置网络的中的神经网络层进行计算得到对应第二音频数据的第二特征矩阵,以第二特征矩阵作为第二负样本,如上述步骤得到多个第二正样本以及第二负样本,以此形成上述第二样本集。
本申请还提出了一种基于多段网络的语音唤醒装置,用于执行上述基于多段网络的语音唤醒方法,基于多段网络的语音唤醒装置具体可通过软件或硬件的形式实现。参照图2,上述基于多段网络的语音唤醒装置包括:
获取音频单元1,用于获取待唤醒识别的第一音频数据;
第一计算单元2,用于将所述第一音频数据输入至所述前置网络中进行计算,得到第一计算结果以及与所述第一音频数据对应的第一特征,所述第一计算结果包括所述第一音频数据的第一类别概率值,所述第一类别概率值对应的类别包括唤醒词以及非唤醒词;
第一判断单元3,用于依据所述第一计算结果判断所述第一音频数据是否为唤醒词;
第二计算单元4,用于若依据所述第一计算结果判定所述第一音频数据为唤醒词,则将所述第一特征输入至所述后置网络进行计算,得到第二计算结果,所述第二计算结果包括所述第一音频数据的第二类别概率值,所述第二类别概率值对应的类别包括唤醒词以及非唤醒词;
第二判断单元5,用于依据所述第二计算结果判断所述第一音频数据是否为唤醒词;
执行唤醒单元6,用于依据所述第二计算结果判定所述第一音频数据为唤醒词时,执行唤醒动作。
本实施例中,上述唤醒模型用于识别唤醒词,当识别出输入的数据为唤醒词时,则执行唤醒动作,否则执行停止动作,也即停止继续运行后续程序,唤醒模型包括前置网络以及后置网络,通过前置网络连接后置网络形成上述唤醒模型。其中,前置网络为用于语音唤醒的神经网络,包括用于提取特征的神经网络层以及分类层,该神经网络层可以由长短期记忆网络(lstm)以及全连接网络(fc)搭建,后面连接分类层,例如在全连接网络后连接softmax;后置网络包括全连接网络(fc),其后面也可以连接分类层;本申请不对前置网络与后置网络的结构作限定,只要是用于语音唤醒的深度神经网络即可,例如其结构可为rnn网络,或者注意力机制网络等。
如上述获取音频单元1所述,获取待唤醒识别的第一音频数据,该第一音频数据可以为一预设时间长度的第一音频数据,例如用户发出的唤醒指令、从指定位置获取的唤醒词或非唤醒词等,该第一音频数据可以为干净语音与噪声的混和第一音频数据,也可以是单纯的干净语音的第一音频数据,本实施例不对上述待唤醒识别的第一音频数据作限制。
如上述第一计算单元2以及第一判断单元3所述,将上述第一音频数据输入至前置网络进行计算,得到第一计算结果,例如当上述前置网络由长短期记忆网络、全连接网络以及softmax构建时,这时第一音频数据依次通过长短期记忆网络以及全连接网络得到与第一音频数据对应的特征,然后输入到softmax中进行计算得到第一计算结果,同时也可以获得通过长短期记忆网络以及全连接网络计算得到的与第一音频数据对应的特征,此处名为第一特征,第一计算结果为该第一音频数据的第一类别概率值,上述类别包括唤醒词与非唤醒词两类,通过第一计算结果得到第一音频数据为唤醒词的概率,从而可以依据第一计算结果判断第一音频数据是否为唤醒词,以便进行下一步操作。
在一个实施例中,语音唤醒装置包括:
停止动作单元,用于在所述第一音频数据不是唤醒词时,执行停止动作。
本实施例中,当判定上述第一音频数据不是唤醒词后,此时可直接执行停止动作,也即停止运行后续步骤,不进行唤醒操作,由于通常通过唤醒模型判断不进行唤醒操作时,该判断的正确率比较高,不容易产生误判现象,故而直接执行停止动作即可。
当判定第一音频数据为唤醒词时,为了提高唤醒的正确率,避免误判,本实施例采用后置网络来进一步验证,具体地,如上述第二计算单元4、第二判断单元5及执行唤醒单元6所述,将经过所述神经网络层计算出的第一特征输入至后置网络进行计算,得到计算结果,为了便于区别此处名为为第二计算结果,上述后置网络可以由全连接网络以及softmax构建,将上述第一特征输入到全连接网络计算得到对应的特征向量,然后通过softmax计算得到第一音频数据的第二类别概率值,也即得到该第一音频数据为唤醒词的概率,第二类别概率值所对应的类别同样包括唤醒词以及非唤醒词,从而可以判断第一音频数据是否为唤醒词,若第一音频数据为唤醒词,则说明第一计算结果正确,这时可执行唤醒动作,若判断第一音频数据不为唤醒词,则说明第一计算结果错误,产生了误判,这时执行停止动作,即不进行唤醒操作。
本申请提供的基于多段网络的语音唤醒方法,通过前置网络与后置网络结合,在前置网络以完成判断的基础上,进一步通过后置网络来验证,从而确保唤醒模型计算结果的正确性,避免产生误判,提高唤醒正确率。
在一个实施例中,在使用上述唤醒模型之前,可先进行训练以得到上述唤醒模型,具体而言,所述语音唤醒装置,包括:
前置训练单元,用于依据预设的第一样本集对预设第一网络进行训练,得到前置网络;
获取样本单元,用于获取第二样本集,所述第二样本集为通过所述前置网络中的神经网络层进行计算得到的特征矩阵集;
后置训练单元,用于依据所述第二样本集对预设的第二网络进行训练,得到后置网络;
连接网络单元,用于将所述后置网络连接于所述前置网络,得到所述唤醒模型。
本实施例中,训练上述唤醒模型可以分两部分进行,一是对前置网络进行训练,二是对后置网络进行训练。如上述前置训练单元所述,依据预设的第一样本集对预设的第一网络进行训练,得到前置网络,上述预设的第一样本集可以为用户依据预设规则生成的样本集,上述第一网络可以为预先搭建的初始网络,例如将长短期记忆网络(lstm)以及全连接网络(fc)搭建而成的网络,在一个实施例中,上述前置训练单元包括:
获取样本子单元,用于获取第一样本集,所述样本集包括第一正样本以及第一负样本,所述第一正样本为具有指定信噪比的混合音频数据,所述混合音频数据为唤醒词数据,所述第一负样本为所述混合音频数据中的噪声数据;
第一计算子单元,用于将所述第一样本集输入至所述第一网络进行计算,得到与所述第一样本集对应的第一特征集;
第一损失子单元,用于将所述第一特征集通过预设的损失函数计算得到第一损失值集;
第一更新子单元,用于将所述第一损失值集通过网络反向传播计算出所述第一网络的参数梯度,更新所述第一网络的参数直到收敛,得到所述前置网络。
本实施例中,通过第一样本集对前置网络进行训练,上述第一样本集包括第一正样本以及第一负样本,第一正样本与第一负样本一一对应,其中,第一正样本为具有指定信噪比的混合音频数据,该混合音频数据是由干净语音与噪声混合在一起的音频数据,上述干净语音为干净的唤醒词语音,也即第一正样本是干净的唤醒词声音与噪声叠加得到的带噪唤醒词声音,而第一负样本是对应的噪声,上述干净语音与噪声的信噪比可设定,例如其范围设定在0-20db之间,第一负样本为混合音频数据中的噪声数据,也即第一负样本为用于与干净语音进行混合的噪声,在训练时,将第一样本集中的样本分批依次输入到第一网络进行计算,得到与各样本对应的特征向量,此处命为第一特征,所有第一特征的集合即为上述第一特征集,值得注意的是,每一批次输入的音频数据不需要正、负样本对应,随机输入即可;然后将第一特征集通过预设的损失函数计算得到第一损失值集,再将第一损失值集中的第一损失值依次通过网络反向传播计算出第一网络的参数梯度,然后更新第一网络的参数直到网络收敛,得到上述前置网络,本实施例中,上述前置网络为分类模型,该分类模型的类别为正、负两类,也即依据计算后得到的结果可以直接判断第一音频数据是否为唤醒词。
本实施例中,前置网络的数据集构建上吸取了传统的前端降噪模块的数据集结构思想,第一正样本中包含了第一负样本的内容,可以让前置网络具有一定的信息分离能力,进而可区分音频里面的干净声音和噪声,使得训练后得到的前置网络在噪声适应上有较大的提升。
训练完前置网络之后,获取第二样本集,该第二样本集为通过前置网络中的神经网络层进行计算得到特征矩阵集,本实施例中上述神经网络层可以包括长短期记忆网络(lstm)以及全连接网络(fc),即上述特征矩阵集中的特征矩阵是由全连接网络输出的特征矩阵,然后将该特征矩阵集作为第二样本集,对第二网络进行训练得到后置网络,具体而言,上述后置训练单元,包括:
第二计算子单元,用于将所述第二样本集输入至所述第二网络进行计算,得到与所述第二样本集对应的第二特征集;
第二损失子单元,用于将所述第二特征集通过预设的损失函数计算得到第二损失值集;
第二更新子单元,用于将所述第二损失值集通过网络反向传播计算出所述第二网络的参数梯度,更新所述第二网络的参数直到收敛,得到所述后置网络。
本实施例中,将第二样本集输入至第二网络进行计算,得到与第二样本集对应的第二特征集,第二网络包括全连接网络,通过全连接网络计算得到与各第一特征一一对应的第二特征,从而得到第二特征集,然后将第二特征集通过损失函数计算得到第二损失值集,该损失函数可与上述步骤s013中的损失函数一致;后置网络的输入数据为前置网络最后一个全连接层的输出数据,训练后置网络的时候,前置网络的参数不变,即前置网络的网络参数不参与更新,当计算出上述第二损失值集时,直接将第二损失值集通过网络反向传播计算出第二网络的参数梯度,然后更新第二网络的参数直到收敛,得到后置网络。
如上述连接网络单元所述,得到前置网络以及后置网络户后,将后置网络连接于前置网络,得到唤醒模型,本实施例中,由于将混合语音以及噪声分布作为第一正样本与第一负样本,训练出的前置网络具有一定的信息分离能力,可区分音频里面的干净声音和噪声,使其在噪声适应能力提高,而后置网络通过一个小网络即可实现对前置网络输出结果的验证,不但使得整个唤醒模型运算量少,而且可以通过后置网络对前置网络判断错的部分进行补充判断,进而避免误唤醒,提高唤醒正确率。
在一个实施例中,所述获取样本子单元,包括:
获取声音模块,用于获取指定时间长度的唤醒词的干净声音以及噪声;
混合声音模块,用于按照预设的信噪比将所述干净声音与所述噪声进行混合,得到所述混合音频数据;
作为样本模块,用于将所述混合音频数据作为第一正样本,将所述混合音频数据中的噪声数据作为第一负样本,得到所述第一样本集。
本实施例中,上述指定时间长度可根据实际情况设定,例如1秒,获取1秒的干净声音以及1秒的噪声,上述干净声音即为没有噪声的唤醒词声音,然后按预设的信噪比将干净声音与噪声混合,得到混合语音,即得到混合音频数据,上述信噪比为干净声音与噪声的比值,例如信噪比可以设定的范围为0-20db,本实施例中,不对上述信噪比作具体限定,可随机从0-20db之中设定一个,然后将上述混合音频数据作为第一正样本,将对应的噪声数据作为第一负样本,得到上述第一样本集。
在一个实施例中,上述获取样本单元,包括:
第一获取子单元,用于获取所述第一正样本,并将所述第一正样本输入至所述前置网络的中的神经网络层进行计算,得到对应所述第一正样本的第一特征矩阵,以所述第一特征矩阵作为第二正样本;
第二获取子单元,用于采集经所述前置网络误识别得到的第一计算结果所对应的第二音频数据,将所述第二音频数据输入至所述前置网络的中的神经网络层进行计算,得到对应所述第二音频数据的第二特征矩阵,以所述第二特征矩阵作为第二负样本;
形成样集子单元,用于以多个所述第二正样本以及所述第二负样本形成所述第二样本集。
本实施例中,由于前置网络在处理音频数据时,若音频数据中包含小部分曾经见过的噪声以及没见过的噪声,则会出现误唤醒的情况,故而可将基于前置网络收集到的误唤醒声音,用来训练后置网络,使得后置网络可以修正前置网络的误唤醒情况,上述用于训练后置网络的第二样本集包括第二正样本以及第二负样本,第二正样本和第二负样本均可以通过前置网络的神经网络层计算得到,具体而言,依据第一正样本来得到第二正样板,首先获取第一正样本,然后将第一正样本输入至前置网络的中的神经网络层进行计算得到对应该第一正样本的第一特征矩阵,以第一特征矩阵作为第二正样本;通过前置网络误识别的音频数据来获得第二负样本,首先采集经前置网络误识别得到的第一计算结果所对应的音频数据,为了便于区别,此处将其命名为第二音频数据,然后将第二音频数据输入至前置网络的中的神经网络层进行计算得到对应第二音频数据的第二特征矩阵,以第二特征矩阵作为第二负样本,如上述步骤得到多个第二正样本以及第二负样本,以此形成上述第二样本集。
参考图3,本申请还提供了一种计算机可读的存储介质21,存储介质21中存储有计算机程序22,当其在计算机上运行时,使得计算机执行以上实施例所描述基于多段网络的语音唤醒方法。
参考图4,本申请还提供了一种包含指令的计算机设备34,计算机设备包括存储器31和处理器33,存储器31存储有计算机程序22,处理器33执行计算机程序22时实现以上实施例所描述的基于多段网络的语音唤醒方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除