语音关键词识别方法和装置与流程
本申请实施例涉及音频信号处理技术领域,具体地,涉及一种语音关键词识别方法和装置。
背景技术:
关键词检测(spokenkeywordspotting或spokentermdetection)技术是语音识别领域的一个子领域,其目的是在语音信号中检测指定词语的所有出现位置,为人机交互领域的重要研究内容之一。传统的关键词识别技术需要构建语音识别系统,语音识别系统一般包含声学模型、发音字典和语言模型,并且需要借助加权有限状态转换机构建复杂的解码网络,将声学特征序列转换为文本序列,再在文本序列上进行搜索,运算复杂度高,需要占用较多资源。
一种基于样例的关键词识别方案,能够避免构建识别系统,只通过声学相似性进行关键词的比较,在无法构建有效语音识别系统的低资源场景下性能突出,但该方案提取出的特征中,包含较少的上下文的信息,未能充分表征关键词在句中的上下文的语义关联,限制了样例关键词识别技术的性能,识别有效率有待进一步提升。
技术实现要素:
本申请描述了一种语音关键词识别方法和装置,用以解决上述问题。
第一方面,本申请实施例提供一种语音关键词识别方法,该方法包括:
获取目标关键词的音频,并从目标关键词的音频中提取出第一声学特征和第二声学特征,将第一声学特征和第二声学特征拼接为第一声学特征序列;第二声学特征中携带有上下文语义关联信息;将第一声学特征序列依次输入预先训练的第一模型和第二模型,通过第一模型和第二模型输出指定维度的第一嵌入向量;第一模型为长短时记忆网络lstm模型;第二模型至少包括注意力网络模型,注意力网络模型用于执行语义特征聚合;从待识别的目标语音的音频中提取出第三声学特征和第四声学特征,将第三声学特征和第四声学特征拼接为第二声学特征序列;将第二声学特征序列依次输入预先训练的第一模型和第二模型,通过第一模型和第二模型输出指定维度的第二嵌入向量;计算第一嵌入向量与第二嵌入式向量之间的相似度,基于相似度确定目标语音中是否包含目标关键词。
在一个实施例中,第一声学特征包括从目标关键词的音频中提取出的对数梅尔倒谱特征、声学后验概率特征、神经网络瓶颈特征中的任意一种;
第三声学特征包括从目标关键词的音频中提取出的对数梅尔倒谱特征、声学后验概率特征、神经网络瓶颈特征中的任意一种。
在一个实施例中,第一声学特征为对数梅尔倒谱特征,从目标关键词的音频中提取出第一声学特征,包括:
将目标关键词的音频信号输入高通滤波器;对高通滤波器输出的音频信号按照预设帧长和帧移进行分帧;对各个帧分别进行加窗,窗函数为汉明窗;对各个帧分别进行快速离散傅里叶变换得到各个帧对应的频谱,并计算各个频点对应的功率谱能量;将各个帧的功率谱能量分别输入梅尔滤波器,并取对数,得到对数梅尔谱;对对数梅尔谱做离线余弦变换得到倒谱,选取前n阶和能量值共n+1维特征;对n+1维特征进行一阶和二阶差分运算,得到维度为3(n+1)的对数梅尔倒谱特征。
在一个实施例中,从目标关键词的音频中提取出第二声学特征,包括:
将目标关键词的音频信号输入预先训练的卷积神经网络模型,输出第二声学特征;卷积神经网络模型包括第一卷积神经网络和第二卷积神经网络,第一卷积神经网络用于对音频信号进行编码处理,第二卷积神经网络用于提取音频信号中的上下文关联特征。
在一个实施例中,第一卷积神经网络包括七个卷积层,通道数为512,卷积核大小分别为10,8,4,4,4,1,1,卷积步长分别为5,4,2,2,2,1,1;和/或,
第二卷积神经网络包括十二个卷积层,通道数为512,卷积核大小分别为1,2,3,4,5,6,7,8,9,10,11,12,卷积步长均为1。
在一个实施例中,第一模型为双向长短时记忆网络blstm模型,包括三个双向长短时记忆层,每层包含多个隐藏单元;双向长短时记忆网络模型用于对音频信号中每一帧进行正向处理和反向处理,并将正向和反向输出拼接作为该帧对应的第一嵌入向量或第二嵌入向量。
在一个实施例中,注意力网络模型包括两个全连接层,两个全连接层之间的激活函数为归一化指数函数。
在一个实施例中,两个全连接层中的第一层包含1024个神经元,第二层包含1个神经元。
第二方面,本申请实施例提供一种语音关键词识别装置,包括:
第一提取单元,被配置为获取目标关键词的音频,并从目标关键词的音频中提取出第一声学特征和第二声学特征,将第一声学特征和第二声学特征拼接为第一声学特征序列;第一嵌入单元,被配置为将第一声学特征序列依次输入预先训练的第一模型和第二模型,通过第一模型和第二模型输出指定维度的第一嵌入向量;第一模型为长短时记忆网络lstm模型;第二模型至少包括注意力网络模型;第二提取单元,被配置为从待识别的目标语音的音频中提取出第三声学特征和第四声学特征,将第三声学特征和第四声学特征拼接为第二声学特征序列;第二嵌入单元,被配置为将第二声学特征序列依次输入预先训练的第一模型和第二模型,通过第一模型和第二模型输出指定维度的第二嵌入向量;识别单元,被配置为计算第一嵌入向量与第二嵌入式向量之间的相似度,基于相似度确定目标语音中是否包含目标关键词。
第三方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当计算机程序在计算机中执行时,令计算机执行第一至第二方面的方法。
第四方面,本申请实施例还提供了一种计算设备,包括存储器和处理器,存储器中存储有可执行代码,处理器执行可执行代码时,实现第一至第二方面的方法。
采用本申请实施例提供的语音关键词识别方法和装置,从目标关键词的音频中提取出的第一声学特征序列中,以及从待识别的目标语音的音频中提取出的第二声学特征序列中,均包含有上下文语义关联信息,将所述第一、第二声学特征序列分别输入预先训练的第一模型和第二模型,第一模型为长短时记忆网络lstm模型,能够提取特征序列中的上下文关联特征,而第二模型中设有注意力网络模型,进一步执行语义特征聚合,从而输出带有山下文语义信息的嵌入向量,基于该嵌入向量进行相似度计算,识别准确度更高。
附图说明
为了更清楚地说明本申请披露的多个实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请披露的多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的语音关键词识别方法实施的系统架构图;
图2为本申请实施例提供的语音关键词识别方法的一个实施例的流程图;
图3为本申请实施例提供的语音关键词识别装置的一个实施例的流程图。
具体实施方式
下面结合附图,对本申请披露的多个实施例进行描述。
本申请实施例提供的语音关键词识别方法和装置,适用于多种语音识别场景。
参阅图1,图1为本申请实施例提供的语音关键词识别方法实施的系统架构图。首先,从目标关键词的音频中提取出第一声学特征和第二声学特征,例如第一声学特征可以是对数梅尔谱倒谱特征,第二声学特征中应携带有上下文语义关联信息。然后将第一声学特征和第二声学特征拼接为第一声学特征序列。以及,从待识别的目标语音的音频中提取出第三声学特征和第四声学特征,将第三声学特征与第一声学特征为同一属性的声学特征,例如都为对数梅尔谱倒谱特征,不同的是,第一声学特征为从关键词音频中提取出,而第三声学特征为从目标语音音频中提取出。对应地,第四声学特征与第二声学特征也为同一属性特征,不同的是,第二声学特征为从关键词音频中提取出,而第四声学特征为从目标语音音频中提取出。然后,将第三声学特征和第四声学特征拼接为第二声学特征序列。
然后将第一声学特征序列和第二声学特征序列依次输入预先训练的第一模型和第二模型,通过第一模型和第二模型输出指定维度的第一嵌入向量或第二嵌入向量。计算第一嵌入向量与第二嵌入式向量之间的相似度,基于相似度即可确定目标语音中是否包含目标关键词,例如相似度高于预定阈值,则判定目标语音中包含目标关键词。
具体地,参阅图2所示,本申请实施例提供的语音关键词识别方法包括以下流程:
s201,获取目标关键词的音频,并从目标关键词的音频中提取出第一声学特征和第二声学特征,将第一声学特征和第二声学特征拼接为第一声学特征序列。
s202,将第一声学特征序列依次输入预先训练的第一模型和第二模型,通过第一模型和第二模型输出指定维度的第一嵌入向量。
s203,从待识别的目标语音的音频中提取出第三声学特征和第四声学特征,将第三声学特征和第四声学特征拼接为第二声学特征序列。
s204,将第二声学特征序列依次输入预先训练的第一模型和第二模型,通过第一模型和第二模型输出指定维度的第二嵌入向量。
s205,计算第一嵌入向量与第二嵌入式向量之间的相似度,基于相似度确定目标语音中是否包含目标关键词。
目标关键词的音频即为样例关键词音频,目标语音的音频即为待检测的一段完整的音频,目标关键词的音频相当于目标语音音频中的片段。
可选的,在一个实施例中,在s201提取出的第一声学特征为对数梅尔谱倒谱特征,且为帧级别的声学特征,具体地,可以采用如下方式进行提取:
首先,对音频进行预加重,提升高频部分,将目标关键词的音频信号通过高通滤波器,过滤掉低频特征,采用的高通滤波器为:
h(z)=1-0.μz-1
式中μ的值介于0.9-1.0之间,例如可以取0.97,z表示音频信号。
然后对音频进行分帧,也就是将音频信号中的n个采样点集合成一个观测单位,定义为帧,n的取值为256或512,帧长约为20-30ms左右,为了避免相邻两帧的变化过大,设置两相邻帧之间有一段重叠区域,此重叠区域包含了m个取样点,m的值约为n的1/2或1/3。作为一种可实施方式,本申请实施例中,设置帧长25毫秒,帧移10毫秒。
然后,对每一帧进行加窗,窗函数为汉明窗,将每一帧乘以汉明窗,以增加帧左端和右端的连续性。在乘上汉明窗后,接下来,每帧还需要进行快速傅里叶变换以得到在频谱上的能量分布,频域上不同的能量分布,能代表不同语音的特性。对每一帧进行快速离散傅里叶变换得到各帧的频谱,并在每个频点计算功率谱能量。频谱取模平方即可得到音频信号的功率谱能量。
然后计算音频信号中的每一帧的功率谱能量通过梅尔滤波器之后的能量,并取其对数,得到对数梅尔谱,对对数梅尔谱做离线余弦变换得到倒谱,选取前n阶和能量值共n+1维特征向量,n为正整数。例如,n可以取值12,即取前12阶和能量值共13维特征向量。
接下来,对得到的n+1维特征向量计算一阶和二阶差分,得到一阶差分后的n+1维特征和二阶差分后的n+1维特征,一共是3(n+1)维特征。例如,13维特征向量计算一阶和二阶差分,得到共39维的对数梅尔倒谱特征。
除对数梅尔倒谱特征以外,第一声学特征还可以是声学后验概率特征或神经网络瓶颈特征。
其中,声学后验概率特征是指在已知先验知识和观测条件下,计算得到的一帧语音中各个unit对应的各个实例的概率分布,unit即为建模单元,表示搭建的系统中最小的结构,比如建模单元是字,那就不再考虑字级别以下的音素音标,只需考虑字如何组成词句。已知先验知识可以是一种语言的发音字典、文本、标有对应时间点文本标注数据的音频,这些已知先验知识将用于训练高斯混合模型或神经网络模型,
上述观测条件可以是音频信号中当前帧的波形、频谱,历史帧的波形、频谱,未来帧的波形、频谱。
在一个实施例中,以语音帧中各个unit的已知先验知识和该语音帧对应的波形、频谱数据作为输入,以各个unit的隐含状态为输出,训练高斯混合模型或者其他神经网络模型,得到优化后的参数,基于训练好的高斯混合模型或者其他神经网络模型,输出各个unit的隐含状态。以unit作为隐马尔可夫模型中的节点,以先验知识作为各个显示节点的观测值,以高斯混合模型或者其他神经网络模型输出的隐含状态,作为各个显示节点对应的隐含节点的隐含状态值,通过所述隐马尔可夫模型,输出各个节点表示的unit的出现概率和转移概率,作为相应的语音帧的声学后验概率特征。unit可以包括单音素、多音素、声韵母、字母、字、词等实例。
在另一个实施例中,神经网络模型直接输出语音帧对应的声学后验概率特征,不经过隐马尔可夫模型。例如unit是英文的字母,则神经网络模型直接输出为26维的向量,代表该帧是每个字母的概率,这个输出的26维向量就是声学后验概率特征。
在另一个实施例中,获取声学后验概率特征的方法是将每一帧提取的对数梅尔倒谱特征输入通过先验知识训练的神经网络声学模型,计算得到该帧对应的所有单音素的概率分布,这个概率就是声学后验概率特征。
神经网络瓶颈特征,是将神经网络中间一层的输出作为特征,比如训练一个两部分结构的神经网络,第一部分是三层的blstm作为编码网络,第二部分是四个lstm层组成的解码网络,这四个lstm层分别输出普通话/英文/西班牙语/波斯语的字级别的概率。使用四种语言依次训练,每种语言只训练第一部分和第二部分中对应的lstm层的解码网络。训练完成后,使用第一部分网络的输出作为每一帧的特征,这个特征在本申请实施例中定义为神经网络瓶颈特征。
在s201中,得到第一声学特征之后,还需要提取第二声学特征。第二声学特征也为帧级别声学特征,即以帧为单位进行提取。将目标关键词的音频输入预先训练的神经网络模型,该预先训练的神经网络模型的输出作为第二声学特征。
具体地,预先训练的神经网络模型包含编码网络和上下文网络。例如,编码网络和上下文网络为两个一维卷积神经网络。下面为描述方便,将编码网络定义为第一卷积神经网络,将上下文网络定义为第二卷积神经网络。第一卷积神经网络用于对音频信号进行编码处理,第二卷积神经网络用于提取音频信号中的上下文关联特征。
在一个实施例中,第一卷积神经网络包括七层卷积层,通道数为512,执行卷积运算的卷积核大小分别为(10,8,4,4,4,1,1),卷积运算的步长分别为(5,4,2,2,2,1,1);而第二卷积神经网络包括十二层卷积层,通道数为512,卷积核大小分别为(1,2,3,4,5,6,7,8,9,10,11,12),卷积步长均设为1,也就是各卷积层卷积运算的步长为(1,1,1,1,1,1,1,1,1,1,1,1)。
经卷积神经网络模型提取出的第二声学特征中携带有上下文语义关联信息。
接下来,将第一声学特征和第二声学特征拼接为第一声学特征序列,也就是将两个特征向量拼接为一个维度更高的特征向量,不同的特征向量按照顺序排列即形成了第一声学特征序列。
s203中从待识别的目标语音的音频中提取出第三声学特征和第四声学特征,以及将第三声学特征和第四声学特征拼接为第二声学特征序列,可以参照s201的详细描述,不同的是,s201中的处理对象为目标关键词音频,而s203的处理对象为目标语音的音频。
需要说明的是,本申请实施例中,s202与s204、以及s201与s203在执行时序上并无先后要求,步骤序号仅为描述方便,并不可理解为对执行时序的限定。
在s202以及s204中,分别将拼接得到的第一声学特征序列和第二声学特征序列输入预先训练好的第一模型和第二模型。在一部分实施例中,第一模型和第二模型均为预先构建并进行了训练,第一模型可以为长短时记忆网络(lstm,longshort-termmemory)模型。例如,在一个具体的实施例中,第一模型包含三层双向长短时记忆网络,每层包含256个神经元,每帧将正向和反向的输出拼接作为这一帧的嵌入向量,嵌入向量为固定的512维。
第二模型至少包括注意力网络模型,注意力网络模型用于执行语义特征聚合。在一部分实施例中,第二模型包括注意力网络、一层平均结构和一个拼接结构。
在一个实施例中,注意力网络包含二个全连接层,全连接层之间的激活函数为归一化指数函数。例如,第一层全连接层包含1024个神经元,第二层(相当于输出层)包含1个神经元。
第一模型和第二模型总体的计算过程如下:
y=fc(z),
其中,splice即为拼接结构,表示将注意力网络的输出和平均网络各自输出的特征向量拼接成为最终输出的嵌入向量e。具体地,fc(·)表示全连接层,z表示输入全连接层的音频信号对应的特征向量,zt表示z中第t个元素。拼接的两部分前面的第一部分是注意力网络输出的特征向量,然后根据softmax输出的权重对zt进行加权平均;后面的
softmax(·)为归一化指数函数,其表达式为:
y表示全连接层的输出序列,xt,yt分别表示第t个三层双向长短时记忆网络的输出特征向量、第t个全连接层的输出特征向量。t表示输入和输出的特征向量的数量。exp表示以自然常数e为底的指数函数。
s202以及s204中通过第一模型和第二模型输出指定维度的第一嵌入向量以及第二嵌入向量的过程均可参照上述过程,当输入第一模型的处理对象为目标关键词音频对应的第一声学特征序列时,则输出的嵌入向量e即为第一嵌入向量,当输入第一模型的处理对象为目标语音音频对应的第二声学特征序列时,则输出的嵌入向量e即为第二嵌入向量。第一嵌入向量和第二嵌入向量的维度均为预定值,例如在一个实施例中,第一嵌入向量和第二嵌入向量的维度均为512。使用的输入特征和输出的嵌入向量的长度是在训练时确定的,如果修改则需要重新训练网络。
接下来,在s205,计算第一嵌入向量和第二嵌入向量之间的相似度。计算相似度的方式有多种,例如曼哈顿距离(manhattandistance)、欧式距离(euclideandistance)、皮尔逊相关系数(pearsoncorrelation)、余弦相似度(cosinesimilarity)等等。
在一个实施例中,采用余弦距离计算相似度,根据余弦距离判定,关键词音频代表的关键词是否出现在目标音频中。当关键词和目标语音嵌入向量余弦距离小于预先设定的阈值,或者相似度高于预定阈值,则判定命中关键词。余弦距离公式如下:
其中a和b为待比较的两个嵌入向量,d(·)为计算的余弦距离。
综上,本申请实施例提供的识别方法,在关键词查询过程中,输入待查询的目标关键词音频,通过步骤s201提取对数梅尔倒谱特征(即第一声学特征)和预训练特征(即第二声学特征),将二者拼接在一起作为帧级别声学特征序列,依次将声学特征序列输入第一模型和第二模型,输出一个预先设定好固定长度的嵌入向量。输入的目标关键词音频无需语种和文本信息,因此无需建立提取文本信息的相关模型,因此减少了相关模型进行数据运算所占用的资源空间,并且,本申请实施例通过改进嵌入神经网络结构,使嵌入的固定长度的嵌入向量能够包含更多上下文信息,通过这种设计,不仅能够适用于低资源环境,还保证了样例关键词识别技术在低资源条件下的性能,提升了后续关键词识别的准确性。
第二方面,参阅图3所示,本申请实施例还提供一种语音关键词识别方法和装置310,该装置包括:
第一提取单元3101,被配置为获取目标关键词的音频,并从目标关键词的音频中提取出第一声学特征和第二声学特征,将第一声学特征和第二声学特征拼接为第一声学特征序列。
第一嵌入单元3102,被配置为将第一声学特征序列依次输入预先训练的第一模型和第二模型,通过第一模型和第二模型输出指定维度的第一嵌入向量;第一模型为长短时记忆网络lstm模型;第二模型至少包括注意力网络模型。
第二提取单元3103,被配置为从待识别的目标语音的音频中提取出第三声学特征和第四声学特征,将第三声学特征和第四声学特征拼接为第二声学特征序列。
第二嵌入单元3104,被配置为将第二声学特征序列依次输入预先训练的第一模型和第二模型,通过第一模型和第二模型输出指定维度的第二嵌入向量。
识别单元3105,被配置为计算第一嵌入向量与第二嵌入式向量之间的相似度,基于相似度确定目标语音中是否包含目标关键词。
第三方面,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一实施例所描述的方法。
第四方面,本申请实施例还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一实施例所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请披露的多个实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本申请披露的多个实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请披露的多个实施例的具体实施方式而已,并不用于限定本申请披露的多个实施例的保护范围,凡在本申请披露的多个实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请披露的多个实施例的保护范围之内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除