CN111489737B - 语音命令识别方法、装置、存储介质及计算机设备 - Google Patents

语音命令识别方法、装置、存储介质及计算机设备 Download PDF

Info

Publication number
CN111489737B
CN111489737B CN202010287000.XA CN202010287000A CN111489737B CN 111489737 B CN111489737 B CN 111489737B CN 202010287000 A CN202010287000 A CN 202010287000A CN 111489737 B CN111489737 B CN 111489737B
Authority
CN
China
Prior art keywords
calculation
word
layer
feature matrix
phoneme
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010287000.XA
Other languages
English (en)
Other versions
CN111489737A (zh
Inventor
徐泓洋
王广新
杨汉丹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Youjie Zhixin Technology Co ltd
Original Assignee
Shenzhen Youjie Zhixin Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Youjie Zhixin Technology Co ltd filed Critical Shenzhen Youjie Zhixin Technology Co ltd
Priority to CN202010287000.XA priority Critical patent/CN111489737B/zh
Publication of CN111489737A publication Critical patent/CN111489737A/zh
Application granted granted Critical
Publication of CN111489737B publication Critical patent/CN111489737B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • G10L2015/025Phonemes, fenemes or fenones being the recognition units
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Machine Translation (AREA)

Abstract

本申请揭示了一种语音命令识别方法、装置、存储介质及计算机设备,该方法包括:获取N帧音素数据;将音素数据以M帧为一个单元,依次输入预设的预测模型进行计算,得到N/M个对应的预测结果,预测结果包括预测的音素及其概率值,不同类别的音素由不同帧数的音素数据构成,M小于所有类别音素的帧数中的最小值;将预测的音素按输出顺序拼接成预测词;当预测词包含预设的唤醒词时,执行唤醒动作,当预测词包含预设的命令词时,执行命令词对应的动作,当预测词不包含命令词或者只包含部分命令词时,则不执行命令词对应的动作,这样通过采用小于音素长度的帧数作为一个单元逐个进行预测,再将预测结果拼接来获得预测词,提高模型预测的准确率。

Description

语音命令识别方法、装置、存储介质及计算机设备
技术领域
本申请涉及语音技术领域,具体涉及一种语音命令识别方法、装置、存储介质及计算机设备。
背景技术
在语音唤醒场景中,通常通过对音频进行识别,再依据识别结果判断是否执行唤醒动作。音素是语音的自然属性划分出来的最小语音单位,音素持续时间长短不一,当音频数据量跨越一个音素的长度时,会造成识别效果下降,现有技术中,对音频识别的模型一般是针对整段音频进行识别,数据量远远超于音素的长度,识别时往往不考虑每个音素的准确性,而只得到整体的识别结果,造成识别效果差,对命令的识别准确率不高。
发明内容
本申请的主要目的为提供一种语音命令识别方法、装置、存储介质、计算机设备及语音识别方法,旨在解决现有技术中语音命令识别准确率不够高的技术问题。
基于上述发明目的,本申请实施例提出一种语音命令识别方法,包括:
获取N帧音素数据;
将所述音素数据以M帧为一个单元,依次输入预设的预测模型进行计算,得到N/M个对应的预测结果,所述预测结果包括预测的音素及其概率值,所述预测模型基于多头注意力机制构建,其中M<N,M及N为正整数,且N为M的倍数,不同类别的音素由不同帧数的音素数据构成,M小于所有类别音素的帧数中的最小值;
将所述预测的音素按输出顺序拼接成预测词;
当所述预测词包含预设的命令词时,执行所述命令词对应的动作,当所述预测词不包含所述命令词或者只包含部分所述命令词时,则不执行所述命令词对应的动作。
进一步地,所述将所述音素数据以M帧为一个单元,依次输入预设的预测模型进行计算,得到N/M个对应的预测结果的步骤,包括:
将每次输入的M帧所述指定音素数据进行计算,得到相应的第一特征矩阵;
将各所述第一特征矩阵输入至预设的全连接层进行转换计算,得到相应的第二特征矩阵;
将各所述第二特征矩阵依次输入预设的多头注意力机制网络进行选择计算,得到对应的第三特征矩阵;
将各所述第三特征矩阵输入到vector层进行计算,得到对各所述第三特征矩阵的特征向量;
将各所述特征向量输入softmax层进行计算,得到N/M个音素类别及其概率值。
进一步地,所述多头注意力机制网络由多个所述多头注意力层首尾连接构成,所述将各所述第二特征矩阵依次输入预设的多头注意力机制网络进行选择计算,得到对应的第三特征矩阵的步骤,包括:
将各所述第二特征矩阵依次输入第一层多头注意力层进行计算,得到相应的第一结果;
将各所述第一结果输入第二层多头注意力层进行计算,得到相应的第二结果,如此以上一输出数据为下一输入数据的方式遍历各所述多头注意力层,得到对应的第三特征矩阵。
进一步地,所述第二特征矩阵的列数为J,所述多头注意力机制网络由多层多头注意力层构成,每层的注意力头数量为k,每个所述注意力头计算矩阵的列数为w,且所述J、k以及w的关系满足公式w*k=J,J、k以及w为正整数。
进一步地,所述多头注意力机制网络中所述多头注意力层首尾连接,其中,以k值最大的多头注意力层作为第一层,按k值逐渐减小至最小再逐渐增加至最大的顺序,依次连接各所述多头注意力层。
进一步地,所述获取N帧音素数据步骤之前,包括:
获取样本,并对各所述样本标注类别,得到样本集,所述样本集包括正样本以及负样本,所述正样本为预设命令词的音素数据,所述负样本为噪音或除却预设命令词之外的其他语音的数据,其中预设命令词的音素具有T类,T为正整数;
以每次输入M帧样本数据的方式,将所述样本集输入到预设的初始模型进行计算,得到行列数为1*(T+1)的概率向量,所述概率向量中每一个元素分别表示一种类别音素的概率;
对所有所述概率向量中相同类别的概率分别求平均值,以得到所述平均值中最大值的向量;
将所述向量通过预设的损失函数计算得到损失值,再通过网络反向传播计算参数梯度,以更新网络模型的模型参数直到模型收敛,得到所述预测模型。
本申请实施例还提出了一种语音命令识别装置,包括:
获取数据单元,用于获取N帧音素数据;
计算数据单元,用于将所述音素数据以M帧为一个单元,依次输入预设的预测模型进行计算,得到N/M个对应的预测结果,所述预测结果包括预测的音素及其概率值,所述预测模型基于多头注意力机制构建,其中M<N,M及N为正整数,且N为M的倍数,不同类别的音素由不同帧数的音素数据构成,M小于所有类别音素的帧数中的最小值;
拼接音素单元,用于将所述预测的音素按输出顺序拼接成预测词;
执行唤醒单元,用于在所述预测词包含预设的命令词时,执行所述命令词对应的动作,所述预测词不包含所述命令词或者只包含部分所述命令词时,则不执行所述命令词对应的动作。
进一步地,所述计算数据单元,包括:
将每次输入的M帧所述指定音素数据进行计算,得到相应的第一特征矩阵;
将各所述第一特征矩阵输入至预设的全连接层进行转换计算,得到相应的第二特征矩阵;
将各所述第二特征矩阵依次输入预设的多头注意力机制网络进行选择计算,得到对应的第三特征矩阵;
将各所述第三特征矩阵输入到vector层进行计算,得到对各所述第三特征矩阵的特征向量;
将各所述特征向量输入softmax层进行计算,得到N/M个音素类别及其概率值。
本申请实施例还提出了一种存储介质,其为计算机可读的存储介质,其上存储有计算机程序,所述计算机程序被执行时实现如上述语音命令识别方法。
本申请实施例还提出了一种计算机设备,其包括处理器、存储器及存储于所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被执行时实现如上述语音命令识别方法。
本申请的有益效果:
本申请提出了一种语音命令识别方法、存储介质及计算机设备,该语音命令识别方法中,通过采用小于音素长度的帧数作为一个单元逐个逐个进行预测,再将预测结果拼接来获得预测词,提高模型预测的准确率,避免将整段音频进行识别预测,难以确保每个音素的准确性而导致识别效果不佳,而且通过按k值逐渐增至最大再逐渐减至最小这种波浪式堆叠的多头注意力层进行计算,使得模型模拟人类反复推理的学习习惯,在学习过程中先由局部特征逐步扩大视野到全局,再由全局逐步对局部进行总结学习,以使特征提取效果更好。
附图说明
图1是本申请一实施例的语音命令识别的流程示意图;
图2是本申请一实施例的语音命令识别装置的结构示意框图;
图3是本申请的存储介质的一实施例的结构示意框图;
图4是本申请的计算机设备的一实施例的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
另外,在本申请中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
参照图1,本申请提供的一种语音命令识别的流程示意图,该方法可以由语音命令识别装置来执行,语音命令识别装置具体可通过软件或硬件的形式实现。本申请实施例提供了一种语音命令识别方法,包括:
步骤S1:获取N帧指定音素数据;
步骤S2:将所述指定音素数据以M帧为一个单元,依次输入预设的预测模型进行计算,得到N/M个对应的预测结果,所述预测结果包括预测的音素及其概率值,所述预测模型基于多头注意力机制构建,其中M<N,M及N为正整数,且N为M的倍数,不同类别的音素由不同帧数的音素数据构成,M小于所有类别音素的帧数中的最小值;
步骤S3:将所述预测的音素按输出顺序拼接成预测词;
步骤S4:当所述预测词包含预设的命令词时,执行所述命令词对应的动作,当所述预测词不包含所述命令词或者只包含部分所述命令词时,则不执行所述命令词对应的动作。
如上述步骤S1-S2,首先获取定长的语音片段,将语音片段进行分帧处理得到N帧音素数据,需知,不同类别的音素由不同帧数的音素数据构成,即一个音素可以由多帧音素数据构成,例如,某一音素由5帧音素数据构成,另一音素由12帧音素数据构成,将这些N帧音素数据分成多个M帧,其中,M<N,M及N为正整数,N为M的倍数,且M小于所有类别音素的帧数中的最小值,例如所有类别的音素当中,由5帧音素数据构成的音素是最短的,也即其构成帧数所有音素当中最小的,那么M小于5。再以M帧为一个单元分别输入预测模型,由于每次预测的数据量小于音素的长度,通过每次小量帧数来确保预测到每个音素,从而达到预测更加准确的目的,优选地,M=3,即以每次输入三帧音素数据的方式,将上述N帧音素数据逐次输入预测模型,这样处理时可以结合前后帧信息,更有助于提升识别效果。上述预测模型为预设的基于多头注意力机制构成的模型,本实施例中,上述预测模型包括全连接层、多头注意力机制层、vector层以及softmax层,在该预测模型中,通过全连接层以及多头注意力机制层对每次输入M帧的音素数据进行特征提取,再通过vector层对特征进行压缩计算得到对应的特征向量,然后通过softmax层对特征向量进行计算得到对应的音素类别以及概率值,也即得到识别出对应的音素,将上述N帧音素数据通过每次输入M帧的音素数据进行计算,得到N/M个预测结果,也即得到N/M个类别音素以及对应的概率值。
如上述步骤S3-S4,将上述N/M个预测出的音素进行拼接得到对应上述语音片段的预测词,然后判断预测词中是否包含有预设的命令词,上述命令词可以为唤醒词,也可以为命令词,唤醒词用于将设备从待工作状态唤醒进入到工作状态,命令词用于设备执行与命令词对应的操作,当预测词包含有命令词时,执行该命令词对应的动作,当预测词不包含命令词或者只包含部分命令词时,则不执行命令词对应的动作。
举例地,当上述命令词为唤醒词时,例如将预测出音素分别为n、i、h、ao、x、i、ao、m、ing,拼接nihaoxiaoming,得到预测词“你好小明”,当预测词包含有唤醒词,例如唤醒词为“你好”,则执行唤醒动作,当预测音素为z、ao、sh、ang、h、ao,拼接为zaoshanghao,得到预测词为“早上好”,预测词不包含有或者只包含部分唤醒词“你好”,则不执行唤醒动作,此处的唤醒动作为将设备从非工作状态转换为工作状态,例如通过上述方法将设备唤醒后,设备进入工作状态,这时设备可以通过接收其他指令进行相应操作。
举例地,当上述命令词为指令词时,例如预测的音素分别为q、ing、b、o、f、ang、y、i、sh、ou、g、e,拼接qingbofangyishouge,得到预测词“请播放一首歌”,当预测词包含有指令词,例如指令词为“播放歌”,则执行播放歌曲的动作,当预测音素为b、o、f、ang,拼接为bofang,得到预测词为“播放”,预测词不包含有或者只包含部分指令词“播放歌”,则不执行放歌曲的动作。
在一个实施例中,上述步骤S2,包括:
步骤S21:将每次输入的M帧所述指定音素数据进行计算,得到相应的第一特征矩阵;
步骤S22:将各所述第一特征矩阵输入至预设的全连接层进行转换计算,得到相应的第二特征矩阵;
步骤S23:将各所述第二特征矩阵依次输入预设的多头注意力机制网络进行选择计算,得到对应的第三特征矩阵;
步骤S24:将各所述第三特征矩阵输入到vector层进行计算,得到对各所述第三特征矩阵的特征向量;
步骤S25:将各所述特征向量输入softmax层进行计算,得到N/M个音素类别及其概率值。
本实施例中,对M帧音素数据进行特征提取,首先提取每帧音频的Fbank特征,通常每帧的Fbank特征为40列,即得到每个单元对应的第一特征矩阵,该第一特征矩阵行列数为M*40,然后将第一特征矩阵输入到预设的全连接层进行转换计算,得到将列数扩展至64的第二特征矩阵,即第二特征矩阵的行列数为M*64,然后将第二特征矩阵输入到上述多头注意力机制网络进行选择计算,得到特征选择后的第三特征矩阵,上述多头注意力机制网络可以为多个不同注意力头数的多头注意力层堆叠而成,然后将上述第三特征矩阵输入至vector层进行压缩计算,得到相应的特征向量,再将特征向量输入到softmax层进行计算得到,预测的音素类别以及对应的概率值,也即得到预测的音素,如此依次将N帧音频数据分别计算,每次计算M帧,得到预测的N/M个音素。
在一个实施例中,上述步骤S23,包括:
步骤S231:将各所述第二特征矩阵依次输入第一层多头注意力层进行计算,得到相应的第一结果;
步骤S232:将各所述第一结果输入第二层多头注意力层进行计算,得到相应的第二结果,如此以上一输出数据为下一输入数据的方式遍历各所述多头注意力层,得到对应的第三特征矩阵。
本实施例中,上述多头注意力机制网络由多个多头注意力层首尾连接构成,每层的注意力头数量为k,即可对第二特征矩阵中列数进行k等分,在多头注意力机制网络中,每层的注意力头数可相同也可不同,即每层的k值可一致,也可不一致,而通过上述全连接层转换后的第二特征矩阵列数为J,每个所述注意力头计算矩阵的列数为w,即J、k以及w的关系满足公式w*k=J,J、k以及w为正整数,也即每层的多头注意力层可将J等分给每个注意头分别进行计算,举例地,J=64,k=2,4,8,即上述多头注意力网络可分为三层,第一层注意力头数量为2,即对列数为64的第二特征矩阵进行二等分,每等分计算矩阵的32列;第二层注意力头数为4,即对列数为64的第二特征矩阵进行四等分,每等分计算矩阵的16列,第三层注意力头数为8,即对列数为64的第二特征矩阵进行八等分,每等分计算矩阵的8列。当将上述第二特征矩阵输入上述多头注意机制网络进行计算,可通过将上一层输出数据作为下一层的输入数据的方式进行遍历所有多头注意层,得到第三矩阵特征,首先输入第一层多头注意力层进行计算,得到第一结果,再将第一结果输入到第二层多头注意力层进行计算,得到第二结果,以此类推,直至将结果输入至最后一层多头注意力层计算得到第三特征矩阵。
优选地,上述多头注意力机制网络中多头注意力层首尾连接,k值取多个,以k值最大的多头注意力层作为第一层,按k值逐渐减小至最小再逐渐增加至最大的顺序,依次连接各所述多头注意力层得到上述多头注意力机制网络,例如,针对上述第二特征矩阵的列数J=64,k值取1,2,4,8,16,32,则第一层k值最大,对应的多头注意层的注意力头数量为32,第二层的k值为16,第三层的k值为8,第四层的k值为4,第五层的k值为2,第六层的k值为1,第七层的k值为2,第八层的k值为4,直至最后一层k值为32,如此通过网络模拟人类反复推理的学习习惯,在特性提取过程中先由局部特征逐步扩大视野到全局,再由全局逐步对局部进行总结学习。在另一实施例中,也可以在该多头注意力网络之外继续增加一个一样的网络,从而达到反复学习的过程,提高选择特征的效果。
在一个实施例中,上述步骤S1之前,还需构建并训练得到上述预测模型,其中,上述预测模型的训练方法,包括:
获取样本,对各所述样本标注类别,得到样本集,所述样本集包括正样本以及负样本,所述正样本为预设命令词的音素数据,所述负样本为噪音或除却预设命令词之外的其他语音的数据,其中预设命令词的音素具有T类,T为正整数;
以每次输入M帧样本数据的方式,将所述样本集输入到预设的初始模型进行计算,得到行列数为1*(T+1)的概率向量,所述概率向量中每一个元素分别表示一种类别音素的概率;
对所有所述概率向量中相同类别的概率分别求平均值,以得到所述平均值中最大值的向量;
将所述向量通过预设的损失函数计算得到损失值,再通过网络反向传播计算参数梯度,以更新网络模型的模型参数直到模型收敛,得到所述预测模型。
训练时,首先设定命令词,对命令词的各个音素类别进行标注,例如命令词的各音素类别对应为T个类别,T为正整数,其它的音素类用标签unknow表示,或者语音中的停顿空白处可用空表示,该预测模型只需识别设定命令词所包含的音素,空,以及unknown类即可,类别数量相比于传统语音识别模型要小很多,因此模型体积及计算量都比传统的语音识别模型小。
具体而言,首先采集一定量的命令语音为正样本,例如唤醒语音或指令语音,噪声以及其他语音为负样本,用asr模型对样本中的各个音素进行标注对齐,得到上述样本集。构建初始模型,初始模型包括全连接层、多头注意力机制层、vector层以及softmax层,上述全连接层、多头注意力机制层、vector层以及softmax层均采用现有算法构建,此处不再赘述详细计算过程,对初始模型以帧的形式输入指定音素数据,例如设定的某一音素为N帧,每次输入M帧,M值优选为3,每三帧预测一个结果,每次得到一个行列数为1*(T+1)的概率向量,该概率向量中的每一个元素表示预测属于对应类别音素的概率,总共输出N/3*(T+1)个矩阵,然后将各个类别对应的概率求平均,值最大的对应的类别即为预测的音素类别,例如设定有4+1个音素,某个音素对应了18帧数据,三帧一次预测,得到6个输出向量,向量中每一列为一类别,按列求均值,得到4+1个结果,值最大的对应的类即为预测的类别,该值即是概率。
然后将最后的概率向量通过预设的损失函数计算得到损失值,上述损失函数为交叉熵损失(cross_entropy_loss),再通过网络反向传播计算参数梯度,以更新网络模型的模型参数,重复输入样本计算,直到模型收敛,得到上述预测模型。
本申请还提出了一种语音命令识别装置,用于执行上述基于基于膨胀机制的特征选择方法,语音命令识别装置具体可通过软件或硬件的形式实现。参照图2,上述语音命令识别装置包括:
获取数据单元100,用于获取N帧音素数据;
计算数据单元200,用于将所述音素数据以M帧为一个单元,依次输入预设的预测模型进行计算,得到N/M个对应的预测结果,所述预测结果包括预测的音素及其概率值,所述预测模型基于多头注意力机制构建,其中M<N,M及N为正整数,且N为M的倍数,不同类别的音素由不同帧数的音素数据构成,M小于所有类别音素的帧数中的最小值;
拼接音素单元300,用于将所述预测的音素按输出顺序拼接成预测词;
执行唤醒单元400,用于在所述预测词包含预设的命令词时,执行所述命令词对应的动作,所述预测词不包含所述命令词或者只包含部分所述命令词时,则不执行所述命令词对应的动作。
如上述获取数据单元100以及计算数据单元200,首先获取定长的语音片段,将语音片段进行分帧处理得到N帧音素数据,需知,不同类别的音素由不同帧数的音素数据沟通,即一个音素可以由多帧音素数据构成,例如,某一音素由5帧音素数据构成,另一音素由12帧音素数据构成,将这些N帧音素数据分成多个M帧,其中,M<N,M及N为正整数,N为M的倍数,且M小于所有类别音素的帧数中的最小值,例如所有类别的音素当中,由5帧音素数据构成的音素是最短的,也即其构成帧数所有音素当中最小的,那么M小于5。再以M帧为一个单元分别输入预测模型,由于每次预测的数据量小于音素的长度,通过每次小量帧数来确保预测到每个音素,从而达到预测更加准确的目的,优选地,M=3,即以每次输入三帧音素数据的方式,将上述N帧音素数据逐次输入预测模型,这样处理时可以结合前后帧信息,更有助于提升识别效果。上述预测模型为预设的基于多头注意力机制构成的模型,本实施例中,上述预测模型包括全连接层、多头注意力机制层、vector层以及softmax层,在该预测模型中,通过全连接层以及多头注意力机制层对每次输入M帧的音素数据进行特征提取,再通过vector层对特征进行压缩计算得到对应的特征向量,然后通过softmax层对特征向量进行计算得到对应的音素类别以及概率值,也即得到识别出对应的音素,将上述N帧音素数据通过每次输入M帧的音素数据进行计算,得到N/M个预测结果,也即得到N/M个类别音素以及对应的概率值。
如上述拼接音素单元300以及执行唤醒单元400,将上述N/M个预测出的音素进行拼接得到对应上述语音片段的预测词,然后判断预测词中是否包含有预设的命令词,上述命令词可以为唤醒词,也可以为命令词,唤醒词用于将设备从待工作状态唤醒进入到工作状态,命令词用于设备执行与命令词对应的操作,当预测词包含有命令词时,执行该命令词对应的动作,当预测词不包含命令词或者只包含部分命令词时,则不执行命令词对应的动作。
举例地,当上述命令词为唤醒词时,例如将预测出音素分别为n、i、h、ao、x、i、ao、m、ing,拼接nihaoxiaoming,得到预测词“你好小明”,当预测词包含有预设唤醒词,例如唤醒词为“你好”,则执行唤醒动作,当预测音素为z、ao、sh、ang、h、ao,拼接为zaoshanghao,得到预测词为“早上好”,预测词不包含有或者只包含部分唤醒词“你好”,则不执行唤醒动作,此处的唤醒动作为将设备从非工作状态转换为工作状态,例如通过上述方法将设备唤醒后,设备进入工作状态,这时设备可以通过接收其他指令进行相应操作。
举例地,当上述命令词为指令词时,例如预测的音素分别为q、ing、b、o、f、ang、y、i、sh、ou、g、e,拼接qingbofangyishouge,得到预测词“请播放一首歌”,当预测词包含有指令词,例如指令词为“播放歌”,则执行播放歌曲的动作,当预测音素为b、o、f、ang,拼接为bofang,得到预测词为“播放”,预测词不包含有或者只包含部分指令词“播放歌”,则不执行放歌曲的动作。
在一个实施例中,上述计算数据单元200,包括:
第一计算子单元,用于将每次输入的M帧所述指定音素数据进行计算,得到相应的第一特征矩阵;
第二计算子单元,用于将各所述第一特征矩阵输入至预设的全连接层进行转换计算,得到相应的第二特征矩阵;
第三计算子单元,用于将各所述第二特征矩阵依次输入预设的多头注意力机制网络进行选择计算,得到对应的第三特征矩阵;
第四计算子单元,用于将各所述第三特征矩阵输入到vector层进行计算,得到对各所述第三特征矩阵的特征向量;
第五计算子单元,用于将各所述特征向量输入softmax层进行计算,得到N/M个音素类别及其概率值。
本实施例中,对M帧音素数据进行特征提取,首先提取每帧音频的Fbank特征,通常每帧的Fbank特征为40列,即得到每个单元对应的第一特征矩阵,该第一特征矩阵行列数为M*40,然后将第一特征矩阵输入到预设的全连接层进行转换计算,得到将列数扩展至64的第二特征矩阵,即第二特征矩阵的行列数为M*64,然后将第二特征矩阵输入到上述多头注意力机制网络进行选择计算,得到特征选择后的第三特征矩阵,上述多头注意力机制网络可以为多个不同注意力头数的多头注意力层堆叠而成,然后将上述第三特征矩阵输入至vector层进行压缩计算,得到相应的特征向量,再将特征向量输入到softmax层进行计算得到,预测的音素类别以及对应的概率值,也即得到预测的音素,如此依次将N帧音频数据分别计算,每次计算M帧,得到预测的N/M个音素。
在一个实施例中,上述第三计算子单元,包括:
第一计算模块,用于将各所述第二特征矩阵依次输入第一层多头注意力层进行计算,得到相应的第一结果;
第二计算模块,用于将各所述第一结果输入第二层多头注意力层进行计算,得到相应的第二结果,如此以上一输出数据为下一输入数据的方式遍历各所述多头注意力层,得到对应的第三特征矩阵。
本实施例中,上述多头注意力机制网络由多个多头注意力层首尾连接构成,每层的注意力头数量为k,即可对第二特征矩阵中列数进行k等分,在多头注意力机制网络中,每层的注意力头数可相同也可不同,即每层的k值可一致,也可不一致,而通过上述全连接层转换后的第二特征矩阵列数为J,每个所述注意力头计算矩阵的列数为w,即J、k以及w的关系满足公式w*k=J,J、k以及w为正整数,也即每层的多头注意力层可将J等分给每个注意头分别进行计算,举例地,J=64,k=2,4,8,即上述多头注意力网络可分为三层,第一层注意力头数量为2,即对列数为64的第二特征矩阵进行二等分,每等分计算矩阵的32列;第二层注意力头数为4,即对列数为64的第二特征矩阵进行四等分,每等分计算矩阵的16列,第三层注意力头数为8,即对列数为64的第二特征矩阵进行八等分,每等分计算矩阵的8列。当将上述第二特征矩阵输入上述多头注意机制网络进行计算,可通过将上一层输出数据作为下一层的输入数据的方式进行遍历所有多头注意层,得到第三矩阵特征,首先输入第一层多头注意力层进行计算,得到第一结果,再将第一结果输入到第二层多头注意力层进行计算,得到第二结果,以此类推,直至将结果输入至最后一层多头注意力层计算得到第三特征矩阵。
优选地,上述多头注意力机制网络中多头注意力层首尾连接,k值取多个,以k值最大的多头注意力层作为第一层,按k值逐渐减小至最小再逐渐增加至最大的顺序,依次连接各所述多头注意力层得到上述多头注意力机制网络,例如,针对上述第二特征矩阵的列数J=64,k值取1,2,4,8,16,32,则第一层k值最大,对应的多头注意层的注意力头数量为32,第二层的k值为16,第三层的k值为8,第四层的k值为4,第五层的k值为2,第六层的k值为1,第七层的k值为2,第八层的k值为4,直至最后一层k值为32,如此通过网络模拟人类反复推理的学习习惯,在特性提取过程中先由局部特征逐步扩大视野到全局,再由全局逐步对局部进行总结学习。在另一实施例中,也可以在该多头注意力网络之外继续增加一个一样的网络,从而达到反复学习的过程,提高选择特征的效果。
在一个实施例中,上述语音命令识别装置,还包括:
获取样本单元,用于获取样本,并对各所述样本标注类别,得到样本集,所述样本集包括正样本以及负样本,所述正样本为预设命令词的音素数据,所述负样本为噪音或除却预设命令词之外的其他语音的数据,其中预设命令词的音素具有T类,T为正整数;
输入模型单元,用于以每次输入M帧样本数据的方式,将所述样本集输入到预设的初始模型进行计算,得到行列数为1*(T+1)的概率向量,所述概率向量中每一个元素分别表示一种类别音素的概率;
计算向量单元,用于对所有所述概率向量中相同类别的概率分别求平均值,以得到所述平均值中最大值的向量;
得到模型单元,用于将所述向量通过预设的损失函数计算得到损失值,再通过网络反向传播计算参数梯度,以更新网络模型的模型参数直到模型收敛,得到所述预测模型。
训练时,首先设定命令词,对命令词的各个音素类别进行标注,例如命令词的各音素类别对应为T个类别,其它的音素类用标签unknow表示,或者语音中的停顿空白处可用空表示,该预测模型只需识别设定命令词所包含的音素,空,以及unknown类即可,类别数量相比于传统语音识别模型要小很多,因此模型体积及计算量都比传统的语音识别模型小。
具体而言,首先采集一定量的指令语音为正样本,例如唤醒语音或命令语音,噪声以及其他语音为负样本,用asr模型对样本中的各个音素进行标注对齐。构建初始模型,初始模型包括全连接层、多头注意力机制层、vector层以及softmax层,对初始模型以帧的形式输入指定音素数据,例如设定的某一音素为N帧,每次输入M帧,M值优选为3,每三帧预测一个结果,每次得到一个行列数为1*(T+1)的概率向量,该概率向量中的每一个元素表示预测属于对应类别音素的概率,总共输出N/3*(T+1)个矩阵,然后将各个类别对应的概率求平均,值最大的对应的类别即为预测的音素类别,例如设定有4+1个音素,某个音素对应了18帧数据,三帧一次预测,得到6个输出向量,向量中每一列为一类别,按列求均值,得到4+1个结果,值最大的对应的类即为预测的类别,该值即是概率。
然后将最后的概率向量通过预设的损失函数计算得到损失值,上述损失函数为交叉熵损失(cross_entropy_loss),再通过网络反向传播计算参数梯度,以更新网络模型的模型参数,重复输入样本计算,直到模型收敛,得到上述预测模型。
参考图3,本申请还提供了一种计算机可读的存储介质21,存储介质21中存储有计算机程序22,当其在计算机上运行时,使得计算机执行以上实施例所描述语音命令识别方法。
参考图4,本申请还提供了一种包含指令的计算机设备34,计算机设备包括存储器31和处理器33,存储器31存储有计算机程序22,处理器33执行计算机程序22时实现以上实施例所描述的语音命令识别方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (8)

1.一种语音命令识别方法,其特征在于,包括:
获取N帧音素数据;
将所述音素数据以M帧为一个单元,依次输入预设的预测模型进行计算,得到N/M个对应的预测结果,所述预测结果包括预测的音素及其概率值,所述预测模型基于多头注意力机制构建,其中M<N,M及N为正整数,且N为M的倍数,不同类别的音素由不同帧数的音素数据构成,M小于所有类别音素的帧数中的最小值;
将所述预测的音素按输出顺序拼接成预测词;
当所述预测词包含预设的命令词时,执行所述命令词对应的动作,当所述预测词不包含所述命令词或者只包含部分所述命令词时,则不执行所述命令词对应的动作;
所述将所述音素数据以M帧为一个单元,依次输入预设的预测模型进行计算,得到N/M个对应的预测结果的步骤,包括:
将每次输入的M帧所述音素数据进行计算,得到相应的第一特征矩阵;
将各所述第一特征矩阵输入至预设的全连接层进行转换计算,得到相应的第二特征矩阵;
将各所述第二特征矩阵依次输入预设的多头注意力机制网络进行选择计算,得到对应的第三特征矩阵;
将各所述第三特征矩阵输入到vector层进行计算,得到对各所述第三特征矩阵的特征向量;
将各所述特征向量输入softmax层进行计算,得到N/M个音素类别及其概率值。
2.如权利要求1所述的语音命令识别方法,其特征在于,所述多头注意力机制网络由多个多头注意力层首尾连接构成,所述将各所述第二特征矩阵依次输入预设的多头注意力机制网络进行选择计算,得到对应的第三特征矩阵的步骤,包括:
将各所述第二特征矩阵依次输入第一层多头注意力层进行计算,得到相应的第一结果;
将各所述第一结果输入第二层多头注意力层进行计算,得到相应的第二结果,如此以上一输出数据为下一输入数据的方式遍历各所述多头注意力层,得到对应的第三特征矩阵。
3.如权利要求2所述的语音命令识别方法,其特征在于,所述第二特征矩阵的列数为J,所述多头注意力机制网络由多层多头注意力层构成,每层的注意力头数量为k,每个所述注意力头计算矩阵的列数为w,且所述J、k以及w的关系满足公式w*k=J,J、k以及w为正整数。
4.如权利要求3所述的语音命令识别方法,其特征在于,所述多头注意力机制网络中所述多头注意力层首尾连接,其中,以k值最大的多头注意力层作为第一层,按k值逐渐减小至最小再逐渐增加至最大的顺序,依次连接各所述多头注意力层。
5.如权利要求1所述的语音命令识别方法,其特征在于,所述获取N帧音素数据步骤之前,包括:
获取样本,并对各所述样本标注类别,得到样本集,所述样本集包括正样本以及负样本,所述正样本为预设命令词的音素数据,所述负样本为噪音或除却预设命令词之外的其他语音的数据,其中预设命令词的音素具有T类,T为正整数;
以每次输入M帧样本数据的方式,将所述样本集输入到预设的初始模型进行计算,得到行列数为1*(T+1)的概率向量,所述概率向量中每一个元素分别表示一种类别音素的概率;
对所有所述概率向量中相同类别的概率分别求平均值,以得到所述平均值中最大值的向量;
将所述向量通过预设的损失函数计算得到损失值,再通过网络反向传播计算参数梯度,以更新网络模型的模型参数直到模型收敛,得到所述预测模型。
6.一种语音命令识别装置,其特征在于,包括:
获取数据单元,用于获取N帧音素数据;
计算数据单元,用于将所述音素数据以M帧为一个单元,依次输入预设的预测模型进行计算,得到N/M个对应的预测结果,所述预测结果包括预测的音素及其概率值,所述预测模型基于多头注意力机制构建,其中M<N,M及N为正整数,且N为M的倍数,不同类别的音素由不同帧数的音素数据构成,M小于所有类别音素的帧数中的最小值;
拼接音素单元,用于将所述预测的音素按输出顺序拼接成预测词;
执行唤醒单元,用于在所述预测词包含预设的命令词时,执行所述命令词对应的动作,所述预测词不包含所述命令词或者只包含部分所述命令词时,则不执行所述命令词对应的动作;
所述计算数据单元,包括:
第一计算子单元,用于将每次输入的M帧所述音素数据进行计算,得到相应的第一特征矩阵;
第二计算子单元,用于将各所述第一特征矩阵输入至预设的全连接层进行转换计算,得到相应的第二特征矩阵;
第三计算子单元,用于将各所述第二特征矩阵依次输入预设的多头注意力机制网络进行选择计算,得到对应的第三特征矩阵;
第四计算子单元,用于将各所述第三特征矩阵输入到vector层进行计算,得到对各所述第三特征矩阵的特征向量;
第五计算子单元,用于将各所述特征向量输入softmax层进行计算,得到N/M个音素类别及其概率值。
7.一种存储介质,其特征在于,其为计算机可读的存储介质,其上存储有计算机程序,所述计算机程序被执行时实现如权利要求1~5任一项所述的语音命令识别方法。
8.一种计算机设备,其特征在于,其包括处理器、存储器及存储于所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被执行时实现如权利要求1~5任一项所述的语音命令识别方法。
CN202010287000.XA 2020-04-13 2020-04-13 语音命令识别方法、装置、存储介质及计算机设备 Active CN111489737B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010287000.XA CN111489737B (zh) 2020-04-13 2020-04-13 语音命令识别方法、装置、存储介质及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010287000.XA CN111489737B (zh) 2020-04-13 2020-04-13 语音命令识别方法、装置、存储介质及计算机设备

Publications (2)

Publication Number Publication Date
CN111489737A CN111489737A (zh) 2020-08-04
CN111489737B true CN111489737B (zh) 2020-11-10

Family

ID=71794725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010287000.XA Active CN111489737B (zh) 2020-04-13 2020-04-13 语音命令识别方法、装置、存储介质及计算机设备

Country Status (1)

Country Link
CN (1) CN111489737B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111933112B (zh) * 2020-09-21 2021-01-01 北京声智科技有限公司 唤醒语音确定方法、装置、设备及介质
CN113096642A (zh) * 2021-03-31 2021-07-09 南京地平线机器人技术有限公司 语音识别方法和装置、计算机可读存储介质、电子设备
CN113011184A (zh) * 2021-04-13 2021-06-22 北京金山数字娱乐科技有限公司 一种语言表征模型的训练方法及装置
CN113704511B (zh) * 2021-07-30 2022-11-22 北京达佳互联信息技术有限公司 多媒体资源的推荐方法、装置、电子设备及存储介质
CN113506575B (zh) * 2021-09-09 2022-02-08 深圳市友杰智新科技有限公司 流式语音识别的处理方法、装置和计算机设备
CN114783419B (zh) * 2022-06-21 2022-09-27 深圳市友杰智新科技有限公司 结合先验知识的文本识别方法、装置、计算机设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077714A (zh) * 2013-01-29 2013-05-01 华为终端有限公司 信息的识别方法和装置
CN109101584A (zh) * 2018-07-23 2018-12-28 湖南大学 一种将深度学习与数学分析相结合的句子分类改进方法
CN109273007A (zh) * 2018-10-11 2019-01-25 科大讯飞股份有限公司 语音唤醒方法及装置
CN109545190A (zh) * 2018-12-29 2019-03-29 联动优势科技有限公司 一种基于关键词的语音识别方法
CN110364142A (zh) * 2019-06-28 2019-10-22 腾讯科技(深圳)有限公司 语音音素识别方法和装置、存储介质及电子装置
CN110491393A (zh) * 2019-08-30 2019-11-22 科大讯飞股份有限公司 声纹表征模型的训练方法及相关装置
CN110570858A (zh) * 2019-09-19 2019-12-13 芋头科技(杭州)有限公司 语音唤醒方法、装置、智能音箱和计算机可读存储介质
CN110782875A (zh) * 2019-10-16 2020-02-11 腾讯科技(深圳)有限公司 一种基于人工智能的语音韵律处理方法及装置
CN110992929A (zh) * 2019-11-26 2020-04-10 苏宁云计算有限公司 一种基于神经网络的语音关键词检测方法、装置及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6690484B2 (ja) * 2016-09-15 2020-04-28 富士通株式会社 音声認識用コンピュータプログラム、音声認識装置及び音声認識方法
JP6891144B2 (ja) * 2018-06-18 2021-06-18 ヤフー株式会社 生成装置、生成方法及び生成プログラム

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077714A (zh) * 2013-01-29 2013-05-01 华为终端有限公司 信息的识别方法和装置
CN109101584A (zh) * 2018-07-23 2018-12-28 湖南大学 一种将深度学习与数学分析相结合的句子分类改进方法
CN109273007A (zh) * 2018-10-11 2019-01-25 科大讯飞股份有限公司 语音唤醒方法及装置
CN109545190A (zh) * 2018-12-29 2019-03-29 联动优势科技有限公司 一种基于关键词的语音识别方法
CN110364142A (zh) * 2019-06-28 2019-10-22 腾讯科技(深圳)有限公司 语音音素识别方法和装置、存储介质及电子装置
CN110491393A (zh) * 2019-08-30 2019-11-22 科大讯飞股份有限公司 声纹表征模型的训练方法及相关装置
CN110570858A (zh) * 2019-09-19 2019-12-13 芋头科技(杭州)有限公司 语音唤醒方法、装置、智能音箱和计算机可读存储介质
CN110782875A (zh) * 2019-10-16 2020-02-11 腾讯科技(深圳)有限公司 一种基于人工智能的语音韵律处理方法及装置
CN110992929A (zh) * 2019-11-26 2020-04-10 苏宁云计算有限公司 一种基于神经网络的语音关键词检测方法、装置及系统

Also Published As

Publication number Publication date
CN111489737A (zh) 2020-08-04

Similar Documents

Publication Publication Date Title
CN111489737B (zh) 语音命令识别方法、装置、存储介质及计算机设备
KR102323046B1 (ko) 음성 감정 검출 방법 및 장치, 컴퓨터 장치 및 저장 매체
WO2017076222A1 (zh) 语音识别方法及装置
JPH0581917B2 (zh)
EP0590925A1 (en) Method of speech modelling and a speech recognizer
US5765133A (en) System for building a language model network for speech recognition
WO2020119432A1 (zh) 一种语音识别方法、装置、设备和存储介质
CN106940998A (zh) 一种设定操作的执行方法及装置
EP0573553A4 (en) METHOD OF RECOGNIZING SPEECH USING HIDDEN LANGUAGE VIEWED MARKOV MODELS.
TW533403B (en) Recognition system using lexical trees
JPH10116092A (ja) 発音プレフィックスツリーのエンコード方法及びシステム
CN113539244B (zh) 端到端语音识别模型训练方法、语音识别方法及相关装置
EP3444806A1 (en) Voice recognition-based decoding method and device
JP2002215187A (ja) 音声認識方法及びその装置
CN112397053A (zh) 语音识别方法、装置、电子设备及可读存储介质
CN111489738A (zh) 基于多头注意力机制的特征提取方法及语音命令识别方法
CN111508487B (zh) 基于膨胀机制的特征提取方法及语音命令识别方法
CN111508481B (zh) 语音唤醒模型的训练方法、装置、电子设备及存储介质
CN112530418B (zh) 一种语音唤醒方法、装置及相关设备
CN113724698B (zh) 语音识别模型的训练方法、装置、设备及存储介质
JP6633556B2 (ja) 音響モデル学習装置、音声認識装置、音響モデル学習方法、音声認識方法、およびプログラム
CN112882760A (zh) 一种智能设备的唤醒方法、装置及设备
CN113990353B (zh) 识别情绪的方法、训练情绪识别模型的方法、装置及设备
JP3969079B2 (ja) 音声認識装置および方法、記録媒体、並びにプログラム
CN116612744A (zh) 语音唤醒方法、语音唤醒装置和车辆

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Voice command recognition method, device, storage medium, and computer equipment

Granted publication date: 20201110

Pledgee: Shenzhen Shunshui Incubation Management Co.,Ltd.

Pledgor: SHENZHEN YOUJIE ZHIXIN TECHNOLOGY Co.,Ltd.

Registration number: Y2024980029366

PE01 Entry into force of the registration of the contract for pledge of patent right