CN114420101B - 一种未知语言端侧命令词小数据学习识别方法 - Google Patents
一种未知语言端侧命令词小数据学习识别方法 Download PDFInfo
- Publication number
- CN114420101B CN114420101B CN202210329124.9A CN202210329124A CN114420101B CN 114420101 B CN114420101 B CN 114420101B CN 202210329124 A CN202210329124 A CN 202210329124A CN 114420101 B CN114420101 B CN 114420101B
- Authority
- CN
- China
- Prior art keywords
- phoneme
- frame
- voice
- acoustic
- deep learning
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 239000013598 vector Substances 0.000 claims abstract description 84
- 238000004364 calculation method Methods 0.000 claims abstract description 28
- 238000013528 artificial neural network Methods 0.000 claims abstract description 17
- 238000001514 detection method Methods 0.000 claims abstract description 14
- 238000007781 pre-processing Methods 0.000 claims abstract description 5
- 238000012217 deletion Methods 0.000 claims abstract description 3
- 230000037430 deletion Effects 0.000 claims abstract description 3
- 238000013135 deep learning Methods 0.000 claims description 75
- 238000012216 screening Methods 0.000 claims description 5
- 239000000284 extract Substances 0.000 claims description 4
- 238000010606 normalization Methods 0.000 claims description 4
- 238000009432 framing Methods 0.000 claims description 3
- 238000002156 mixing Methods 0.000 claims description 2
- 241001672694 Citrus reticulata Species 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- MQJKPEGWNLWLTK-UHFFFAOYSA-N Dapsone Chemical compound C1=CC(N)=CC=C1S(=O)(=O)C1=CC=C(N)C=C1 MQJKPEGWNLWLTK-UHFFFAOYSA-N 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/02—Feature extraction for speech recognition; Selection of recognition unit
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/20—Speech recognition techniques specially adapted for robustness in adverse environments, e.g. in noise, of stress induced speech
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/02—Feature extraction for speech recognition; Selection of recognition unit
- G10L2015/025—Phonemes, fenemes or fenones being the recognition units
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution 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)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种未知语言端侧命令词小数据学习识别方法,包括如下步骤:S1.用户说出待学习命令词音频,***进行语音采集和端点检测,通过端点检测的语音进入步骤S2;S2.先对语音信号进行预处理得到命令词的语音声学特征向量集合;S3.将语音声学特征向量集合送入深度神经网络进行深度神经网络计算,得到DNN输出向量集合;S4.对DNN输出向量集合进行音素分类删减。本发明将说话人语音特征通过深度神经网络进一步转化为深度声学特征,学习时,将该特征记录为模板,识别时提取的将深度声学特征与该模板采用DTW技术进行累积距离计算,从而进行识别。
Description
技术领域
本发明属于人工智能领域,涉及到人工智能领域语音识别技术,具体涉及一种未知语言端侧命令词小数据学习识别方法。
背景技术
目前设备端侧语音识别应用越来越普遍,随着以深度神经网络为核心的深度学习技术的应用,语音识别性能也得到大幅提升。使用带语音识别交互功能的用户越来越多。但由于语言的复杂性,世界各地方言发音不同,说法用词也不一定相同。 例如在中国,普通话是一种官方语言,但存在着四大方言区和更多的方言语系;要想在设备端侧实现对全部方言的支持,从成本上和技术难度上都不太现实。而事实上还存在着一部分用户不会讲普通话或不常讲普通话,阻碍了设备端侧语音识别交互进一步的普及。
解决这个困难的一种方法,是采取在设备端按照用户的语言语音习惯的端侧命令词学习和识别技术。这种学习不同于基于大数据标注的学习,而是一种小数据的学习方法。语音设备采集用户命令词发音,同一个待学习的命令词发音通常1次到数次,设备学习到这个发音并记录下来,同时将这个发音映射到一个已知的语义ID上。在识别时,当设备匹配到这个发音,就识别到,然后调用对应的语义ID完成设备操作或相应的功能。
传统端侧命令词自学习过程是,设备记录到用户待学习的命令词发音后,提取并记录该发音的声学特征,典型的声学特征包含但不限于MFCC(梅尔频率倒谱系数),mel-FB(梅尔滤波器组),LPC(线性预测编码),GFCC(gammatone频率倒谱系数)等。识别时,将接收到的语音转化为上述声学特征与所记录的声学特征进行匹配。 匹配时按照每帧语音特征与记录的每帧声学特征进行距离计算。
传统方法在的问题在于过分依赖于学习时说话人的声学特征矢量以及环境。如果识别时,环境发生变化,比如存在其他背景噪声或者嘈杂人声,则通常难以识别;此外如果换一个说话人,即使说相同的语言,也难以识别到。因此传统的方法很难达到实用阶段。
发明内容
为克服现有技术存在的技术缺陷,本发明公开了一种未知语言端侧命令词小数据学习及识别方法。
本发明所述未知语言端侧命令词小数据学习识别方法,包括如下步骤:
S1.用户说出待学习命令词音频,***进行语音采集和端点检测,通过端点检测的语音进入步骤S2;
S2.先对语音信号进行预处理得到命令词的语音声学特征向量集合Xf;
Xf={ Xft},t=1,2…N 公式1;
其中,Xft为第t帧的语音声学特征向量,上标t表示帧编号, t是1到N之间的任意值,N为帧数;
S3.将语音声学特征向量集合Xf送入深度神经网络进行深度神经网络计算,得到DNN输出向量集合Ot;
集合元素中下标id为DNN输出层音素分类编号,上标t是帧编号;M代表输出层音素分类总数;为第t帧DNN输出层音素分类编号为id,概率分值为的输出向量,为M维向量 (0,0.. ...0),其中=公式3,表示其数值等于向量的模;
将公式4用一个二维数组表示,得到公式5:
S4.对DNN输出向量集合Ot进行音素分类删减,具体为:
从全部输出层音素分类中选择出K个音素分类,将选择出的K个音素分类按照概率得分从高到低排列,得到筛选出K个最大得分的音素分类后的深度声学向量;
令sid(0,t) > sid(1,t) >…sid(k,t) > …>sid(K-1,t)
其中id(k,t)表示第t帧的第k个音素分类,sid(k,t)表示该音素分类id(k,t)对应的概率分数;
将K个音素分类的概率求和:
sum_scoret为K个音素分类的概率总和;
对集合中每个元素的概率得分进行归一化,对第k个音素分类,归一化后的概率得分:
s_norid(k,t) = sid(k,t)/ sum_scoret 公式8
其中s_norid(k,t)表示sid(k,t)归一化之后的概率分数;
t为语音帧编号,t=1,2,3...N ,N是音频的总帧数;k为深度学习特征维度,k=1,2,3…K,K为筛选后的音素分类总数;id(k,t)表示第t帧第k个音素分类,其中k = 0,1,...K-1;
S6.对全部待学习命令词,重复步骤S1-S5,得到全部待学习命令词的声学特征模板;
完成全部待学习命令词的声学特征模板后,利用这些声学特征模板进行语音识别,语音识别的具体步骤为:
S7.持续进行语音端点检测,检测到语音端点则执行步骤S8, 否则一直进行语音端点检测;
S9. 计算用户语音深度学习特征Xb(tm)与所有声学特征模板Xi(t)之间的距离Di(t),所述距离为几何距离或欧氏距离;
遍历全部帧计算各帧对应的距离,求取总距离D=DTW(Di(t));其中DTW表示动态时间弯曲的距离计算方法;
S10.对任意一个声学特征模板,如果有总距离 D < th,th为该声学特征模板对应的注册命令词阈值,即认为匹配该声学特征模板对应的命令词并识别,否则识别失败。
优选的,所述S2步骤中,所述预处理包括依次分帧、加窗、快速傅里叶变换后,然后提取语音的梅尔滤波 fbank特征。
优选的,对同一命令词,重复S1-S4步骤多次,所述S5步骤中,将多次得到的深度学***均值计算,以平均值作为该待学习命令词的声学特征模板Xi(t)。
优选的,所述S8步骤中,计算出用户语音深度学习特征Xb(tm)后,继续对其进行更新,具体方法为:
设第tm帧用户语音深度学习特征Xb(tm)为
id(k,tm)表示第tm帧第k个音素分类,其中k = 0,1,...K-1;s_norid(k,tm)表示id(k,tm)音素分类对应的概率分数;
第t帧声学特征模板Xi(t)为
id(k,t)表示第t帧第k个音素分类,其中k = 0,1,...K-1;s_norid(k,t)表示id(k,t)音素分类对应的概率分数;
遍历所有用户语音深度学习特征的音素分类即id(k,tm)是否在声学特征模板的音素分类即id(k,t)中;
如果id(k,tm)在集合{id(0,t),…id(k,t)…id(K-1,t)}中,
则对应概率得分s_norid(k,tm)保持不变;否则s_norid(k,tm)的值采用初始值0代替;则最终得到一个更新后的第t帧用户语音深度学习特征:
优选的,步骤S4中,在公式9基础上,将第t帧声学特征模板缩减为一维数组:
Xi(t)=[id(0,t), id(1,t)…id(i,t)…id(K-1,t)]
id(i,t)表示声学特征模板的第t帧第i个音素分类,其中i = 0,1,...K-1;
对应的,步骤S8按照相同方法提取用户语音深度学习特征Xb(tm)时,将第tm帧待识别的用户语音深度学习特征缩减为一维数组:
Xb(tm)=[id(0,tm), id(1,tm)…id(j,tm)…id(K-1,tm)]
id(j,tm)表示用户语音深度学习特征的第tm帧第j个音素分类,其中j= 0,1,...K-1;
设置一维数组 d_null={d_null(k)},k = 0,1,...K-1;d_null(k)的初始值全部为大于0的一组经验正数值,并使
d_null(0) ≥d_null(1) ≥...d_null(K-1);
设置一维数组α=(α1…αk…αK-1),α1…αk…αK-1为按从大到小顺序排列的值;
在上述设置基础上,所述步骤S9中计算用户语音深度学习特征Xb(tm)与所有声学特征模板Xi(t)之间的距离Di(t)具体为:
如果待识别的用户语音深度学习特征音素分类在声学特征模板的音素分类中,即id(j,tm) ∈[id(0,t), id(1,t)…id(i,t)…id(K-1,t)]
则用户语音深度学习特征音素分类和对应的声学特征模板音素分类的距离为
α*│i-j│,
如果待识别用户语音深度学习特征音素分类不在声学特征模板的音素分类中,则距离为d_null(k),k=j;
遍历待识别用户语音深度学习特征的音素分类j,j = 0,1,...K-1,求和即可求得距离Di(t)。
优选的,d_null(k) 中全部元素为1 ,α中全部元素为0。
优选的,所述步骤S9中,几何距离的计算方式具体为:
第tm帧用户语音深度学习特征Xb(tm)和识别时的第t帧声学特征模板Xi(t)间几何距离D1(t, tm)由公式10计算:
优选的,所述步骤S9中,欧氏距离的计算方式具体为:
第tm帧用户语音深度学习特征Xb(tm)和识别时的第t帧声学特征模板Xi(t)间欧氏距离D2(t, tm)由公式11计算:
sqrt表示开方,k为深度学习特征维度;K为筛选后的音素分类总数
本发明将说话人语音特征通过深度神经网络进一步转化为深度声学特征,学习时,将该特征记录为模板,识别时提取的将深度声学特征与该模板采用DTW技术进行累积距离计算,从而进行识别。
本发明已应用于申请人自行设计的人工智能语音芯片上,获得良好的效果,其具体优势有: 1.对环境有更广泛的适应性,包括在较安静环境学习后,可以在有音乐嘈杂声和一定房间混响及其他环境噪声下良好识别。在近距离学习后,可以在更远距离进行识别。2.不依赖于特定人作为训练者,一个家庭成员训练该设备后,其他成员使用同样的语言可以使用;3.能使用同一神经网络模型,进行一次计算,做到既可以识别原本预存的命令词如普通话,英语等语言的识别,也能做到同时进行用户自定义的命令词语言的识别。
附图说明
图1为本发明一个具体实施方式的流程示意图。
具体实施方式
目前端侧自动语音识别(auto speech recognition:简写ASR)技术,主要采用DNN(深度神经网络)-HMM(隐马尔科夫模型)技术,将语音声学特征转化为音素概率,再结合命令词语言模型网络(LM),采用维特比搜索解码,从而识别到命令词。
DNN模型主流包含FCN(前向全连接),TDNN(时延神经网络),RNN(递归神经网络,LSTM(长短时神经网络),CNN(卷积神经网络)等。其主要特点包括以声学特征矢量作为输入的输入层,多层隐含层和输出层。
其中输出层采用单音素,双音素或三音素甚至更多音素进行聚类后的分类节点,一般包含数百个到数千个分类节点。每个节点赋予一个节点ID,代表一个音素分类。识别时,每个节点的值代表该音素分类的概率分数。
神经网络模型参数通过已经标注音素标签的语料大数据训练得到。 这种标注了音素标签的语料通常为采集到的一种或多种已知语言的发音语料。这种语料可以采集自不同环境,含有不同环境的噪声或混响;也可以在安静环境下采集得到,通过添加不同环境的噪声或混响进行语料扩展。目前采用深度神经网络的深度学习方法,用户在使用与训练时对同样语言的语音识别性能很好,具有良好的环境自适应能力。
当用户自定义的命令词语言和用于ASR的DNN模型训练语料的语言相同时,通常总能有一个输出节点的音素与发音相同或接近,因此概率得分较高。但当用户自定义的命令词语言和训练用语料语言不同时,则不一定能找到一个节点音素相同或相近。为进一步简化计算,本发明基于已有定理进行假设。
在空间坐标系中存在以下定理:
在n维空间坐标系中,任意一组n维向量都可以由n维单位向量组线性表示,假设ε1=(1,0…0)…,εn=(0…0,1)为n维单位向量组,则任意一个n维向量可以由其线性表示:
α=α1*ε1+α2*ε2…+αn*εn
基于这一定义,类似的,本发明假设输出向量集合可以用已知音素分类集合中的元素单位向量及其概率分值的乘积加权求和来表示。
下面结合附图对本发明的具体实施方式作进一步的详细说明,如图1所示给出本发明的一个具体实施流程。
S1.用户说出待学习命令词,***进行语音采集和端点检测,通过端点检测的语音进入步骤S2;
S2.先对语音信号进行分帧、加窗、FFT处理,然后提取语音的梅尔滤波 fbank特征,得到命令词的语音声学特征向量集合Xf;
Xf={ Xft},t=1,2…N 公式1;
其中,Xft为第t帧的语音声学特征向量,上标t表示帧编号, t是1到N之间的任意值,N为帧数;
S3.将语音声学特征向量集合Xf送入深度神经网络进行深度神经网络计算,得到DNN输出向量集合Ot;
M为输出层音素分类总数,id为DNN输出层音素分类编号,上标t是帧编号
公式4是本发明的理论假设基础。
4式成立的前提是:空间的任何一个向量都可以由坐标系的单位向量组合而成,而未知声音可以由有限已知音素组合而成,因此可以把已知音素集成的单位量看成坐标系的单位向量,进而表示任意的未知声音;
4式代表的是未知的一个声音可以使用已知音素集合的单位向量线性组合而成
采用4式假设,未知音素可用已知音素集合线性组合来表达,可以兼容更多没训练过的语种,不需要再针对性重新训练,极大节省开发周期,应用更广泛便捷。
因此,公式4可以用一个二维数组表示,即得到公式5:
则对应的深度声学特征集合Df可以表示如下
S4.对每一音频,按照步骤S1至S3计算DNN输出向量集合Ot;
DNN的输出分类M一般是数百到数千的整数,如果不降低维度,则深度声学特征向量的空间维度太大,导致在嵌入式设备计算上需要消耗较大算力和存储空间。所以本发明进一步提出降低深度声学特征向量维度的方法。
公式5描述了第t帧的未知语音音素可以用已知语言大数据训练分类的音素组合来表示;
由于组合中贡献大的音素分类主要是得分较大的音素分类,可依次选取K个最大得分的音素分类来拟合;
为简化后续计算,可设置选择的音素分类数K远小于输出层音素分类总数M。将选择出的K个音素分类按照概率得分从高到低排列,得到筛选出K个最大得分的音素分类后的深度声学向量,
其中id(k,t)表示第t帧的第k个音素分类,sid(k,t)表示该音素分类id(k,t)对应的概率分数;
由于K小于输出层音素分类总数M,K个音素分类的概率求和不为1,需要重新归一化。
将K个音素分类的概率求和:
sum_scoret为K个音素分类的概率总和;
对集合中每个元素的概率得分进行归一化,对第k个音素分类,归一化后的概率得分:
s_norid(k,t)=sid(k,t)/sum_scoret公式8
由于每帧的前K个分类编号将不再固定,所以分类编号将与帧编号t关联,所以分类编号记为:sid(k,t)表示第t帧,深度特征矩阵中的第k个音素编号。
其中s_norid(k,t)表示sid(k,t)归一化之后的概率分数。
S5.重复S4步骤多次,将多次得到的深度学***均值计算,并保存为该语音的声学特征模板Xi(t),完成一个待学习命令词的学习;下标i表示不同命令词;
S6.对全部待学习命令词重复步骤S5,得到全部待学习命令词的声学特征模板。
完成全部待学习命令词的声学特征模板后,可利用这些声学特征模板进行语音识别,语音识别的具体步骤为:
S7.持续进行语音端点检测,检测到语音端点则执行步骤S8, 否则一直进行语音端点检测;
S9. 计算用户语音深度学习特征Xb(tm)与所有声学特征模板Xi(t)之间的欧氏距离Di(t):
详细计算步骤如下:
当使用完整的DNN分类个数来表述深度声学特征向量,即K=M时,深度声学特征向量如公式5。
由于人说话语音长短不稳定,学习和识别时的帧数不会严格相同,所以t 不一定等于tm。
第tm帧用户语音深度学习特征Xb(tm)和识别时的第t帧声学特征模板Xi(t)间几何距离D(t, tm)可以用公式10进行绝对值距离计算:
也可以用公式11进行欧氏距离计算:
sqrt表示开方,M为最大深度学习特征维度,k为深度学习特征维度,K为筛选后的音素分类总数;
当使用前K个最大得分的音素分类来拟合深度声学特征向量时,即音素分类数K远小于输出层音素分类总数M(K<M),深度声学特征向量如公式9:
由于K<M , 存在用户训练时,设备学习记录的深度声学特征向量中的音素分类和识别时计算得到的深度声学向量中的音素分类在矩阵单元的序号不同,甚至没有。所以在进行距离计算时,需要先找到相同的音素分类编号对应的分值,再求距离。
第tm帧用户语音深度学习特征为Xb(tm),第t帧声学特征模板为Xi(t),如果待识别特征的音素分类在声学特征模板的音素分类中,则采用待识别特征的音素分类对应的概率得分;否则采用初始值0作为得分;
根据公式9,
可设第tm帧用户语音深度学习特征Xb(tm)为
第t帧声学特征模板Xi(t)为
遍历所有用户语音深度学习特征的音素分类即id(k,tm)是否在模板特征的音素分类即id(k,t)中;
如前所述,更新的第t帧用户语音深度学习特征中,第二行的部分概率分数可能为零。
然后将更新后得到的用户语音深度学习特征Xnew(tm)和第t帧声学特征模板Xi(t)进行几何距离和欧氏距离等的求取,可以使用公式10、11进行计算。
为了再次简化距离的计算,本发明进一步设计了一种不用概率得分,而通过声学特征模板和待识别的用户语音深度学习特征中音素分类的排序来求特征距离的方法。
具体实现思路如下:
在步骤S4的基础上,第t帧声学特征模板缩减为:
Xi(t)=[id(0,t), id(1,t)…id(i,t)…id(K-1,t)]
id(i,t)表示声学特征模板的第t帧第i个音素分类,其中i = 0,1,...K-1;
类似的,第tm帧待识别的用户语音深度学习特征缩减为:
Xb(tm)=[id(0,tm), id(1,tm)…id(j,tm)…id(K-1,tm)]
id(j,tm)表示用户语音深度学习特征的第tm帧第j个音素分类,其中j= 0,1,...K-1,
并设置一维数组 d_null={d_null(k)},k = 0,1,...K-1, K表示使用的分类个数,即筛选后的音素分类总数;
配置一维数组d_null的元素d_null(k)的初始值全部为大于0的一组经验正数值,并使
d_null(0) >= d_null(1) >=...d_null(K-1)。
设置d_null(k)含义为用户语音深度学习特征Xb(tm)中某一维对应的音素分类不在声学特征模板Xi(t)中时,该音素分类对应体现的声学特征模板和用户语音深度学习特征之间的距离。
如果待识别特征的用户语音深度学习特征音素分类在声学特征模板的音素分类中,即
id(j,tm) ∈[id(0,t), id(1,t)…id(i,t)…id(K-1,t)]
则待识别特征音素分类和对应的声学特征模板音素分类的距离为
α*│i-j│,
i为声学特征模板音素分类对应的数组序号,j为用户语音深度学习特征音素分类对应的数组序号, │i-j│表示两者对应的数组序号之间差值的绝对值,其中α=(α1…αk…αK-1)是一组按从大到小顺序排列的经验值,由于S4步骤中设置音素分类按照概率得分从高到低排列,α=(α1…αk…αK-1)中的元素从大到小排序表示靠前的音素分类对整个距离的计算贡献更多,对应一个更高的概率。
如果待识别特征的用户语音深度学习特征音素分类不在声学特征模板的音素分类中则采用初始值d_null(k)作为距离。
从待识别特征的第一个音素id(0, tm )按照上述规则进行遍历,即可求得距离D。
例如,一个较简单的典型设置中,设d_null(k) 中全部元素为1 ,α中全部元素为0,即只要待识别特征的音素分类在声学特征模板的音素分类中,就认为两者距离为0;则上述距离求解过程就变成求Xb(tm)和Xi(t)中音素分类编号相同的交集了。如果交集越多,则距离值就越小,如果待识别的用户语音深度学习特征的音素分类都不在声学特征模板的音素分类,则距离为K(即1*K=K),否则都小于K。
例如:假设K=5,
Xb(tm)=[10、5、30、40、50],Xi(t)=[50、7、20、10、30]
待识别特征的音素分类为10,5,30,40,50,我们依次判断其是否在Xi(t)对应的分类(50,7,20,10,30)中;
对于Xb(tm)的第一个(i=0)音素id(0,tm )=10,其在Xi(t)中能找到相同的音素序号id(3,t )=10,
因此其对应的距离为
α1*│i-j│=α1*│0-3│=3α1
对于Xb(tm)的第二个(i=1)音素id(1,tm )=5,其在Xi(t)中找不到相同的音素序号,因此其距离为d_null(1);遍历Xb(tm)中所有的音素,既可以求得两个向量之间的距离D(t,tm),相应的设立合理的阈值,对低于阈值的判定为识别成功。
进一步假设d_null(k) 中全部元素为1 ,α中全部元素为0,则可以得到上面两个特征的距离D(i)=0+1+0+1+0=2。
这种方法的好处是大幅降低了运算复杂度,由于设置了按照分数从高到低排列,使得概率分数较高的音素分类在最终结果中的权重提升,减少算力的同时仍然可以维持识别正确率,从而可以减少芯片的存储内存。
在使用时,原S9步骤中使用的方法需要存储对应的模板特征,其是由一组二维数组构成(包括音素分类序号和对应的概率得分),而本方法只需要存储一个一维数组即音素分类序号;从而大大降低了芯片的存储。
得到各个帧的距离后,算出整个语音段的累积距离,并按帧数平均如下:
其中DTW表示动态时间弯曲的距离计算方法,为本领域现有技术,在此不再赘述,N为帧数,Dtolal为平均距离。
S10:根据过往经验设置注册命令词阈值th,定义平均距离Dtolal符合Dtolal<th 时,可以判定该语音为在学习过程中记录的用户自定义注册的命令词,设备输出相应的语义,否则就判定未注册命令词,不予响应。
具体实施例1:
学习阶段:
①使用启英泰伦带有深度神经网络 DNN 的芯片,通过语音识别控制进入到学习。
②模式用户说出期望的学习命令词,***持续进行语音采集,同时进行端点检测。
③通过端点检测后,提取语音的梅尔滤波 fbank特征,滤波器设置为60个,即得到60维向量表示的自定义命令词语音声学特征
Xf={ Xft},t=1,2…240
其中,上标t表示帧编号, t是1到240之间的任意值,帧长为240
④将Xf送入深度神经网络DNN,进行深度神经网络计算,深度神经网络输入层维度660,隐含层神经元512,隐含层数4层,输出维度3632,得到DNN的输出向量集合Ot
⑤对输出向量集合中的每个元素归一化,则有
并可以使用一组二维数组来简单表示:
按上述步骤②-⑤计算得到输出向量集合Ot,
⑥为了防止突发噪声对用户语音的干扰, 提升学习的准确性。重复 ②-⑤步骤两次,分别提取对应输出向量集合并保存。
将三次得到的输出向量集合进行平均值计算,并保存为该命令词的声学特征模板Xi(t),完成一个期望命令词的注册。
Xi(t)中的t表示帧数, t=1,2,3,...,N, N是音频的总帧数;Xi(t)的维度是K,一般为10到50;
重复 ②-⑥步骤,得到其他命令词的声学特征模板,直到所有学习命令词语音完成学习,退出学习模式进入识别模式。
识别匹配步骤:
⑦***处于语音采集状态下持续进行语音端点检测,如果检测到语音端点则执行步骤⑨, 否则一直进行语音端点检测。
⑧提取用户语音深度学习特征为待识别特征Xb(t),提取方式与学习步骤中的③-⑤相同。
⑨计算待识别特征Xb(t) 与学习步骤中得到的每一声学特征模板 Xi(t) ,按照公式11计算欧氏距离,
⑩遍历全部帧计算各帧对应的欧氏距离Di(t),求取总距离D=DTW(Di(t)),t=1,2,3,...,N;
对任意一个声学特征模板,如果有 D< th,th为注册命令词阈值,即认为匹配该声学特征模板对应的命令词并识别,否则识别失败。注册命令词阈值th可根据实测经验值确定。
具体实施例2
本实施例与具体实施例1的区别在于,在④步骤中设置音素分类数K=200,即筛选出概率分值最大的前200个音素分类组合作为本次自学习的深度学习声学特征X1(t);
因此,具体实施例1步骤⑤的输出向量计算公式变为:
其中id(k,t)表示第t帧的第k个音素分类,sid(k,t)表示该音素分类id(k,t)对应的概率分数;
将K=200个音素分类的概率求和:
sum_scoret为K个音素分类的概率总和;
对集合中每个元素的概率得分进行归一化,对第k个音素分类,归一化后的概率得分:
s_norid(k,t)=sid(k,t)/sum_scoret公式8
其中s_norid(k,t)表示sid(k,t)归一化之后的概率分数。
具体实施例3
本实施例与具体实施例2的区别在于,
步骤S4中,在公式9基础上,将第t帧声学特征模板缩减为一维数组:
Xi(t)=[id(0,t), id(1,t)…id(i,t)…id(K-1,t)]
id(i,t)表示声学特征模板的第t帧第i个音素分类,其中j = 0,1,...K-1;
对应的,步骤S8按照相同方法提取用户语音深度学习特征Xb(tm)时,将第tm帧待识别的用户语音深度学习特征缩减为一维数组:
Xb(tm)=[id(0,tm), id(1,tm)…id(j,tm)…id(K-1,tm)]
id(j,tm)表示用户语音深度学习特征的第tm帧第j个音素分类,其中j= 0,1,...K-1;
设置一维数组 d_null={d_null(k)},k = 0,1,...K-1;d_null(k)初始值全部为1,设置一维数组α=(α1…αk…αK-1),α1…αk…αK-1全部为零;
所述步骤S9中计算用户语音深度学习特征Xb(tm)与所有声学特征模板Xi(t)之间的距离Di(t)具体为:
如果待识别的用户语音深度学习特征音素分类在声学特征模板的音素分类中,即id(j,tm) ∈[id(0,t), id(1,t)…id(i,t)…id(K-1,t)]
则用户语音深度学习特征音素分类和对应的声学特征模板音素分类的距离为0;如果待识别用户语音深度学习特征音素分类不在声学特征模板的音素分类中,则距离为1;
遍历待识别用户语音深度学习特征的音素分类j,j = 0,1,...K-1,求和即可求得距离作为欧氏距离。
本发明的优势主要是减少芯片的内存存储,下表是具体的内存存储(对于该实施例来说,本表使用小乐管家命令词为例(即以小乐管家为模板命令词),在安静、噪音环境(音乐、风噪)等环境下测试识别效果(测试样本数为20,即同样的命令词测试20次),其中测试距离为1m,信噪比为15dB):
具体实施例1 | 具体实施例2 | 具体实施例3 | |
内存(kB) | 3446 | 187 | 93 |
安静环境 | 100% | 100% | 100% |
音乐环境 | 95% | 90% | 85% |
风噪环境 | 100% | 95% | 90% |
从上表可以看出,虽然本发明采用简化的距离计算方法,但由于具体实施例2中筛选了概率最大部分的音素分类,识别率并没有明显下降,但计算量大幅降低,具体实施例3进一步简化了距离计算方法,识别率在安静环境下也没有降低,同时显著降低了内存占用,使得本发明所述方法可以应用在自有内存很小的语音识别芯片上。
前文所述的为本发明的各个优选实施例,各个优选实施例中的优选实施方式如果不是明显自相矛盾或以某一优选实施方式为前提,各个优选实施方式都可以任意叠加组合使用,所述实施例以及实施例中的具体参数仅是为了清楚表述发明人的发明验证过程,并非用以限制本发明的专利保护范围,本发明的专利保护范围仍然以其权利要求书为准,凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。
Claims (8)
1.一种未知语言端侧命令词小数据学习识别方法,其特征在于,包括如下步骤:
S1.用户说出待学习命令词音频,***进行语音采集和端点检测,通过端点检测的语音进入步骤S2;
S2.先对语音信号进行预处理得到命令词的语音声学特征向量集合Xf;
Xf={ Xft},t=1,2…N 公式1;
其中,Xft为第t帧的语音声学特征向量,上标t表示帧编号, t是1到N之间的任意值,N为帧数;
S3.将语音声学特征向量集合Xf送入深度神经网络进行深度神经网络计算,得到DNN输出向量集合Ot;
集合元素中下标id为DNN输出层音素分类编号,上标t是帧编号;M代表输出层音素分类总数;为第t帧DNN输出层音素分类编号为id,概率分值为的输出向量,为M维向量(0,0.. ...0),其中= 公式3,
将公式4用一个二维数组表示,得到公式5:
S4.对DNN输出向量集合Ot进行音素分类删减,具体为:
从全部输出层音素分类中选择出K个音素分类,将选择出的K个音素分类按照概率得分从高到低排列,得到筛选出K个最大得分的音素分类后的深度声学向量;
令sid(0,t) > sid(1,t) >…sid(k,t) > …>sid(K-1,t)
其中id(k,t)表示第t帧的第k个音素分类,sid(k,t)表示该音素分类id(k,t)对应的概率分数;
将K个音素分类的概率求和:
sum_scoret为K个音素分类的概率总和;
对集合中每个元素的概率得分进行归一化,对第k个音素分类,归一化后的概率得分:
s_norid(k,t) = sid(k,t)/ sum_scoret 公式8
其中s_norid(k,t)表示sid(k,t)归一化之后的概率分数;
t为语音帧编号,t=1,2,3...N ,N是音频的总帧数;k为深度学习特征维度,k=1,2,3…K,K为筛选后的音素分类总数;id(k,t)表示第t帧第k个音素分类,其中k = 0,1,...K-1;
S6.对全部待学习命令词,重复步骤S1-S5,得到全部待学习命令词的声学特征模板;
完成全部待学习命令词的声学特征模板后,利用这些声学特征模板进行语音识别,语音识别的具体步骤为:
S7.持续进行语音端点检测,检测到语音端点则执行步骤S8, 否则一直进行语音端点检测;
S9. 计算用户语音深度学习特征Xb(tm)与所有声学特征模板Xi(t)之间的距离Di(t),所述距离为几何距离或欧氏距离;
遍历全部帧计算各帧对应的距离,求取总距离D=DTW(Di(t));其中DTW表示动态时间弯曲的距离计算方法;
S10.对任意一个声学特征模板,如果有总距离 D < th,th为该声学特征模板对应的注册命令词阈值,即认为匹配该声学特征模板对应的命令词并识别,否则识别失败。
2.如权利要求1所述未知语言端侧命令词小数据学习识别方法,其特征在于,所述S2步骤中,所述预处理包括依次分帧、加窗、快速傅里叶变换后,然后提取语音的梅尔滤波fbank特征。
3.如权利要求1所述未知语言端侧命令词小数据学***均值计算,以平均值作为该待学习命令词的声学特征模板Xi(t)。
4.如权利要求1所述未知语言端侧命令词小数据学习识别方法,其特征在于,所述S8步骤中,计算出用户语音深度学习特征Xb(tm)后,继续对其进行更新,具体方法为:
设第tm帧用户语音深度学习特征Xb(tm)为
id(k,tm)表示第tm帧第k个音素分类,其中k = 0,1,...K-1;s_norid(k,tm)表示id(k,tm)音素分类对应的概率分数;
第t帧声学特征模板Xi(t)为
id(k,t)表示第t帧第k个音素分类,其中k = 0,1,...K-1;s_norid(k,t)表示id(k,t)音素分类对应的概率分数;
遍历所有用户语音深度学习特征的音素分类即id(k,tm)是否在声学特征模板的音素分类即id(k,t)中;
如果id(k,tm)在集合{id(0,t),…id(k,t)…id(K-1,t)}中,
则对应概率得分s_norid(k,tm)保持不变;否则s_norid(k,tm)的值采用初始值0代替;则最终得到一个更新后的第t帧用户语音深度学习特征:
5.如权利要求1所述未知语言端侧命令词小数据学习识别方法,其特征在于,
步骤S4中,在公式9基础上,将第t帧声学特征模板缩减为一维数组:
Xi(t)=[id(0,t), id(1,t)…id(i,t)…id(K-1,t)]
id(i,t)表示声学特征模板的第t帧第i个音素分类,其中i = 0,1,...K-1;
对应的,步骤S8按照相同方法提取用户语音深度学习特征Xb(tm)时,将第tm帧待识别的用户语音深度学习特征缩减为一维数组:
Xb(tm)=[id(0,tm), id(1,tm)…id(j,tm)…id(K-1,tm)]
id(j,tm)表示用户语音深度学习特征的第tm帧第j个音素分类,其中j= 0,1,...K-1;
设置一维数组 d_null={d_null(k)},k = 0,1,...K-1;d_null(k)的初始值全部为大于0的一组经验正数值,并使
d_null(0) ≥d_null(1) ≥...d_null(K-1);
设置一维数组α=(α1…αk…αK-1),α1…αk…αK-1为按从大到小顺序排列的值;
在上述设置基础上,所述步骤S9中计算用户语音深度学习特征Xb(tm)与所有声学特征模板Xi(t)之间的距离Di(t)具体为:
如果待识别的用户语音深度学习特征音素分类在声学特征模板的音素分类中,即id(j,tm) ∈[id(0,t), id(1,t)…id(i,t)…id(K-1,t)]
则用户语音深度学习特征音素分类和对应的声学特征模板音素分类的距离为
α*│i-j│,
如果待识别用户语音深度学习特征音素分类不在声学特征模板的音素分类中,则距离为d_null(k),k=j;
遍历待识别用户语音深度学习特征的音素分类j,j = 0,1,...K-1,求和即可求得距离Di(t)。
6.如权利要求5所述未知语言端侧命令词小数据学习识别方法,其特征在于,d_null(k) 中全部元素为1 ,α中全部元素为0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210329124.9A CN114420101B (zh) | 2022-03-31 | 2022-03-31 | 一种未知语言端侧命令词小数据学习识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210329124.9A CN114420101B (zh) | 2022-03-31 | 2022-03-31 | 一种未知语言端侧命令词小数据学习识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114420101A CN114420101A (zh) | 2022-04-29 |
CN114420101B true CN114420101B (zh) | 2022-05-27 |
Family
ID=81262650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210329124.9A Active CN114420101B (zh) | 2022-03-31 | 2022-03-31 | 一种未知语言端侧命令词小数据学习识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114420101B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63220298A (ja) * | 1987-03-10 | 1988-09-13 | 富士通株式会社 | 音声認識における単語候補削減装置 |
CN106297776A (zh) * | 2015-05-22 | 2017-01-04 | 中国科学院声学研究所 | 一种基于音频模板的语音关键词检索方法 |
CN106847259A (zh) * | 2015-12-03 | 2017-06-13 | 中国科学院声学研究所 | 一种音频关键词模板的筛选和优化方法 |
CN112420026A (zh) * | 2019-08-23 | 2021-02-26 | 微软技术许可有限责任公司 | 优化关键词检索*** |
CN112530410A (zh) * | 2020-12-24 | 2021-03-19 | 北京地平线机器人技术研发有限公司 | 一种命令词识别方法及设备 |
CN113035231A (zh) * | 2021-03-18 | 2021-06-25 | 三星(中国)半导体有限公司 | 关键词检测方法及装置 |
CN113707135A (zh) * | 2021-10-27 | 2021-11-26 | 成都启英泰伦科技有限公司 | 一种高精度连续语音识别的声学模型训练方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7725319B2 (en) * | 2003-07-07 | 2010-05-25 | Dialogic Corporation | Phoneme lattice construction and its application to speech recognition and keyword spotting |
US7624013B2 (en) * | 2004-09-10 | 2009-11-24 | Scientific Learning Corporation | Word competition models in voice recognition |
US8532989B2 (en) * | 2009-09-03 | 2013-09-10 | Honda Motor Co., Ltd. | Command recognition device, command recognition method, and command recognition robot |
US10019514B2 (en) * | 2015-03-19 | 2018-07-10 | Nice Ltd. | System and method for phonetic search over speech recordings |
-
2022
- 2022-03-31 CN CN202210329124.9A patent/CN114420101B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63220298A (ja) * | 1987-03-10 | 1988-09-13 | 富士通株式会社 | 音声認識における単語候補削減装置 |
CN106297776A (zh) * | 2015-05-22 | 2017-01-04 | 中国科学院声学研究所 | 一种基于音频模板的语音关键词检索方法 |
CN106847259A (zh) * | 2015-12-03 | 2017-06-13 | 中国科学院声学研究所 | 一种音频关键词模板的筛选和优化方法 |
CN112420026A (zh) * | 2019-08-23 | 2021-02-26 | 微软技术许可有限责任公司 | 优化关键词检索*** |
CN112530410A (zh) * | 2020-12-24 | 2021-03-19 | 北京地平线机器人技术研发有限公司 | 一种命令词识别方法及设备 |
CN113035231A (zh) * | 2021-03-18 | 2021-06-25 | 三星(中国)半导体有限公司 | 关键词检测方法及装置 |
CN113707135A (zh) * | 2021-10-27 | 2021-11-26 | 成都启英泰伦科技有限公司 | 一种高精度连续语音识别的声学模型训练方法 |
Non-Patent Citations (2)
Title |
---|
Igor S 等."Comparison of Keyword Spotting Approaches for Informal Continuous Speech".《Interspeech 2005》.2005, * |
王立源."关键词检索技术的研究及应用".《中国优秀硕士学位论文全文数据库(信息科技辑)》.2018, * |
Also Published As
Publication number | Publication date |
---|---|
CN114420101A (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Feng et al. | Speech feature denoising and dereverberation via deep autoencoders for noisy reverberant speech recognition | |
Padmanabhan et al. | Machine learning in automatic speech recognition: A survey | |
JP4141495B2 (ja) | 最適化された部分的確率混合共通化を用いる音声認識のための方法および装置 | |
CN111862952B (zh) | 一种去混响模型训练方法及装置 | |
CN117043857A (zh) | 用于英语发音评估的方法、设备和计算机程序产品 | |
Sen et al. | A convolutional neural network based approach to recognize bangla spoken digits from speech signal | |
KR100832556B1 (ko) | 강인한 원거리 음성 인식 시스템을 위한 음성 인식 방법 | |
Vimala et al. | Isolated speech recognition system for Tamil language using statistical pattern matching and machine learning techniques | |
Ons et al. | A self learning vocal interface for speech-impaired users | |
Thamburaj et al. | An Critical Analysis of Speech Recognition of Tamil and Malay Language Through Artificial Neural Network | |
Gosztolya et al. | Domain adaptation of deep neural networks for automatic speech recognition via wireless sensors | |
CN114420101B (zh) | 一种未知语言端侧命令词小数据学习识别方法 | |
CN102237082B (zh) | 语音识别***的自适应方法 | |
JP3444108B2 (ja) | 音声認識装置 | |
CN114420111B (zh) | 一种基于一维假设的语音向量距离计算方法 | |
KR100776729B1 (ko) | 결정 트리 기반의 상태 군집화 방법을 사용하는 비핵심어모델링부를 포함하는 화자독립 가변어휘 핵심어 검출시스템 및 그 방법 | |
CN113705671B (zh) | 一种基于文本相关信息感知的说话人识别方法与*** | |
Walter et al. | An evaluation of unsupervised acoustic model training for a dysarthric speech interface | |
CN112233668B (zh) | 一种基于神经网络的语音指令及身份识别方法 | |
Anindya et al. | Development of Indonesian speech recognition with deep neural network for robotic command | |
Tailor et al. | Deep learning approach for spoken digit recognition in Gujarati language | |
Fukuda et al. | Generalized knowledge distillation from an ensemble of specialized teachers leveraging unsupervised neural clustering | |
KR100327486B1 (ko) | 스테이트별 가중치를 적용한 음성 인식 장치 및 방법 | |
Kaur et al. | Speech based retrieval system for Punjabi language | |
Maheswari et al. | SPEAKER INDEPENDENT PHONEME RECOGNITION USING NEURAL NETWORKS. |
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 |