CN114420111B - 一种基于一维假设的语音向量距离计算方法 - Google Patents

一种基于一维假设的语音向量距离计算方法 Download PDF

Info

Publication number
CN114420111B
CN114420111B CN202210329125.3A CN202210329125A CN114420111B CN 114420111 B CN114420111 B CN 114420111B CN 202210329125 A CN202210329125 A CN 202210329125A CN 114420111 B CN114420111 B CN 114420111B
Authority
CN
China
Prior art keywords
phoneme
voice
deep learning
null
acoustic feature
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
CN202210329125.3A
Other languages
English (en)
Other versions
CN114420111A (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.)
Chipintelli Technology Co Ltd
Original Assignee
Chipintelli 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 Chipintelli Technology Co Ltd filed Critical Chipintelli Technology Co Ltd
Priority to CN202210329125.3A priority Critical patent/CN114420111B/zh
Publication of CN114420111A publication Critical patent/CN114420111A/zh
Application granted granted Critical
Publication of CN114420111B publication Critical patent/CN114420111B/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/08Speech classification or search
    • G10L15/10Speech classification or search using distance or distortion measures between unknown speech and reference templates
    • 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/04Segmentation; Word boundary detection
    • G10L15/05Word boundary detection
    • 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/08Speech classification or search
    • 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/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • 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

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

一种基于一维假设的语音向量距离计算方法,以一维数组形式表示声学特征模板和待识别的用户语音深度学习特征;两个一维数组中,从左到右按照音素分类对应的概率分数从高到低排列;设置第一经验数组d_null={d_null(k)},设置第二经验数组α;距离具体为:如果待识别的用户语音深度学习特征音素分类在声学特征模板的音素分类中,则用户语音深度学习特征音素分类和对应的声学特征模板音素分类的距离为α*│i‑j│,否则距离为d_null(k)。本发明通过将语音向量进行一维简化,按照概率分数高低排序,在兼顾识别性的同时将二维数组运算简化为一维数组运算,计算所需内存大幅减少,适合应用于内存较小的语音识别芯片。

Description

一种基于一维假设的语音向量距离计算方法
技术领域
本发明属于人工智能领域,涉及到人工智能领域语音识别技术,具体涉及一种基于一维假设的语音向量距离计算方法。
背景技术
目前设备端侧语音识别应用越来越普遍,随着以深度神经网络为核心的深度学习技术的应用,语音识别性能也得到大幅提升。使用带语音识别交互功能的用户越来越多。但由于语言的复杂性,世界各地方言发音不同,说法用词也不一定相同。 例如在中国,普通话是一种官方语言,但存在着四大方言区和更多的方言语系;要想在设备端侧实现对全部方言的支持,从成本上和技术难度上都不太现实。而事实上还存在着一部分用户不会讲普通话或不常讲普通话,阻碍了设备端侧语音识别交互进一步的普及。
解决这个困难的一种方法,是采取在设备端按照用户的语言语音习惯的端侧命令词学习和识别技术。这种学习不同于基于大数据标注的学习,而是一种小数据的学习方法。语音设备采集用户命令词发音,同一个待学习的命令词发音通常1次到数次,设备学习到这个发音并记录下来,同时将这个发音映射到一个已知的语义ID上。在识别时,当设备匹配到这个发音,就识别到,然后调用对应的语义ID完成设备操作或相应的功能。
传统端侧命令词自学习过程是,设备记录到用户待学习的命令词发音后,提取并记录该发音的声学特征,典型的声学特征包含但不限于MFCC(梅尔频率倒谱系数),mel-FB(梅尔滤波器组),LPC(线性预测编码),GFCC(gammatone频率倒谱系数)等。识别时,将接收到的语音转化为上述声学特征与所记录的声学特征进行匹配。 匹配时按照每帧语音特征与记录的每帧声学特征进行距离计算。
在进行距离计算时,传统方法计算方式为二维或更高维度的数组相乘除计算,所需内存较高,而对具备语音识别功能的芯片,自带硬件资源有限,进行二维数组运算占用资源量较大,运算速度慢。 利用本发明的距离计算方法进行语音识别的过程记载在另一篇发明专利“一种未知语言端侧命令词小数据学习识别方法”中。
发明内容
为克服现有技术存在的技术缺陷,本发明公开了一种基于一维假设的语音向量距离计算方法。
本发明所述基于一维假设的语音向量距离计算方法 ,以一维数组形式表示声学特征模板:
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);
以一维数组形式表示待识别的用户语音深度学习特征:
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);
Xi(t)和Xb(tm)两个一维数组中,从左到右按照音素分类对应的概率分数从高到低排列;K为音素分类总数;
设置第一经验数组 d_null={d_null(k)},k = 0,1,...K-1, K表示使用的分类个数;d_null(k)的初始值全部为大于0的一组经验正数值,并使
d_null(0) ≥d_null(1) ≥...d_null(K-1);
设置第二经验数组α=(α1…αk…αK-1),α1…αk…αK-1为按从大到小顺序排列的值;
在上述设置基础上,计算用户语音深度学习特征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。
优选的,所述声学特征模板Xi(t)=[id(0,t), id(1,t)…id(i,t)…id(K-1,t)]和待识别的用户语音深度学习特征:Xb(tm)=[id(0,tm), id(1,tm)…id(j,tm)…id(K-1,tm)]取得方法相同;
其中声学特征模板取得方法为:
S1.系统进行语音采集和端点检测,通过端点检测的语音进入步骤S2;
S2.先对语音信号进行预处理得到命令词的语音声学特征向量集合Xf;
Xf={ Xft},t=1,2…N---(1);
其中,Xft为第t帧的语音声学特征向量,上标t表示帧编号, t是1到N之间的任意值,N为帧数;
S3.将语音声学特征向量集合Xf送入深度神经网络进行深度神经网络计算,得到DNN输出向量集合Ot
DNN输出向量集合
Figure 691494DEST_PATH_IMAGE001
---(2)
集合元素中下标id为DNN输出层音素分类编号,上标t是帧编号;M代表输出层音素分类总数;
Figure 670951DEST_PATH_IMAGE002
为第t帧DNN输出层音素分类编号为id,概率分值为
Figure 450689DEST_PATH_IMAGE003
的输出向量,将音素分类按照概率分值从高到低排序,得到声学特征模板
Xi(t)=[id(0,t), id(1,t)…id(i,t)…id(K-1,t)]
其中id(0,t), id(1,t)…id(i,t)…id(K-1,t)即为DNN输出向量集合中的音素分类编号,t是帧编号,K=M
本发明通过将语音向量进行一维简化,按照概率分数高低排序,在兼顾识别性的同时将二维数组运算简化为一维数组运算,并采用两个一维经验数组设置,进一步简化了运算,计算所需内存大幅减少,适合应用于内存较小的语音识别芯片。
附图说明
图1为应用本发明在一个具体的语音识别过程示意图,本发明公开的距离计算方法应用在图1的步骤S9中。
具体实施方式
目前端侧自动语音识别(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维向量可以由其线性表示:
α=α1122…+αnn
则(α12…αn)为向量
Figure 845898DEST_PATH_IMAGE004
在该坐标系的坐标表示。
基于这一定义,类似的,本发明假设输出向量集合可以用已知音素分类集合中的元素单位向量及其概率分值的乘积加权求和来表示。
下面对本发明的具体实施方式作进一步的详细说明。
以下给出本发明所述距离计算方法应用在语音识别的具体步骤中,本发明主要用于应用在步骤S9中,在基于一维数组假设的基础上,替换现有的距离计算方法,语音识别的具体流程如图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
DNN输出向量集合
Figure 965995DEST_PATH_IMAGE001
---(2)
集合元素中下标id为DNN输出层音素分类编号,上标t是帧编号;M代表输出层音素分类总数;
Figure 788458DEST_PATH_IMAGE002
为第t帧DNN输出层音素分类编号为id,概率分值为
Figure 55491DEST_PATH_IMAGE003
的输出向量,
Figure 254391DEST_PATH_IMAGE002
为M维向量 (0,0..
Figure 985587DEST_PATH_IMAGE003
...0)
将M维向量
Figure 978951DEST_PATH_IMAGE002
每个元素归一化,即可以得到空间坐标系方向为id的单位向量:
Figure 733280DEST_PATH_IMAGE005
---(3)
Figure 470292DEST_PATH_IMAGE006
表示向量
Figure 806726DEST_PATH_IMAGE002
的模,其数值等于
Figure 236571DEST_PATH_IMAGE003
本发明基于这一假设,假设前述得到的输出向量集合Ot可以用已知音素的id分类集合
Figure 478196DEST_PATH_IMAGE007
中的元素单位向量
Figure 753320DEST_PATH_IMAGE008
及其概率分值的乘积加权求和来表示,即令:
Figure 459108DEST_PATH_IMAGE009
用坐标表示为:
Figure 794274DEST_PATH_IMAGE010
(4)
M为输出层音素分类总数,id为DNN输出层音素分类编号,上标t是帧编号
公式(4)是本发明的理论假设基础。
(4)式成立的前提是:空间的任何一个向量都可以由坐标系的单位向量组合而成,而未知声音可以由有限已知音素组合而成,因此可以把已知音素集成的单位量看成坐标系的单位向量,进而表示任意的未知声音;
(4)式代表的是未知的一个声音可以使用已知音素集合的单位向量线性组合而成
采用(4)式假设,未知音素可用已知音素集合线性组合来表达,可以兼容更多没训练过的语种,不需要再针对性重新训练,极大节省开发周期,应用更广泛便捷。
基于上述理论及假设,可以使用一维数组来表示向量
Figure 523196DEST_PATH_IMAGE002
,前述
Figure 602010DEST_PATH_IMAGE002
为第t帧DNN输出层音素分类编号为id,概率分值为
Figure 411572DEST_PATH_IMAGE003
的输出向量,
Figure 183219DEST_PATH_IMAGE002
由前述的M维向量 (0,0..
Figure 133857DEST_PATH_IMAGE003
...0)简化为一维数组:
Figure 16363DEST_PATH_IMAGE011
其中,
Figure 431163DEST_PATH_IMAGE003
表示DNN输出类别为id时的概率分值,id为对应的输出类别,在一维数组中,
Figure 373712DEST_PATH_IMAGE003
可以看做向量
Figure 811646DEST_PATH_IMAGE002
的模,分类id为对应的单位向量;
因此,公式(4)可以用一个二维数组表示,即得到公式(5):
Figure 45313DEST_PATH_IMAGE012
(5)
则对应的深度声学特征集合Df可以表示如下
Figure 517882DEST_PATH_IMAGE013
,t=1,2…N;N为帧数
Figure 631332DEST_PATH_IMAGE014
是第t帧的深度声学向量,其等效于Ot
S4.对每一音频,按照步骤S1至S3计算DNN输出向量集合Ot
DNN的输出分类M一般是数百到数千的整数,如果不降低维度,则深度声学特征向量的空间维度太大,导致在嵌入式设备计算上需要消耗较大算力和存储空间。所以本发明进一步提出降低深度声学特征向量维度的方法。
公式(5)描述了第t帧的未知语音音素可以用已知语言大数据训练分类的音素组合来表示;
由于组合中贡献大的音素分类主要是得分较大的音素分类,可依次选取K个最大得分的音素分类来拟合;
为简化后续计算,可设置选择的音素分类数K远小于输出层音素分类总数M。将选择出的K个音素分类按照概率得分从高到低排列,得到筛选出K个最大得分的音素分类后的深度声学向量,令
Figure 556562DEST_PATH_IMAGE015
,以(6)式表示筛选音素分类后的深度声学向量
Figure 843187DEST_PATH_IMAGE016
Figure 904684DEST_PATH_IMAGE017
(6)
其中id(k,t)表示第t帧的第k个音素分类,sid(k,t)表示该音素分类id(k,t)对应的概率分数;
由于K小于输出层音素分类总数M,K个音素分类的概率求和不为1,需要重新归一化。
将K个音素分类的概率求和:
Figure 189035DEST_PATH_IMAGE018
(7)
sum_scoret为K个音素分类的概率总和;
对集合中每个元素的概率得分进行归一化,对第k个音素分类,归一化后的概率得分:
s_norid(k,t)=sid(k,t)/sum_scoret(8)
由于每帧的前K个分类编号将不再固定,所以分类编号将与帧编号t关联,所以分类编号记为:sid(k,t)表示第t帧,深度特征矩阵中的第k个音素编号。
则公式(6)演变为归一化概率分数后的深度声学向量
Figure 601562DEST_PATH_IMAGE019
Figure 941145DEST_PATH_IMAGE020
(9)
其中s_norid(k,t)表示sid(k,t)归一化之后的概率分数。
最终,设置最大深度学习特征维度为K, K远小于M;得到自学习的深度学习声学特征
Figure 122728DEST_PATH_IMAGE019
, t为语音帧编号,t=1,2,3...N ,N是音频的总帧数;k为深度学习特征维度,k=1,2,3…K;
S5.重复S4步骤多次,将多次得到的深度学习声学特征深度学习声学特征
Figure 312401DEST_PATH_IMAGE019
进行平均值计算,并保存为该语音的声学特征模板Xi(t),完成一个待学习命令词的学习;下标i表示不同命令词;
S6.对全部待学习命令词重复步骤S5,得到全部待学习命令词的声学特征模板,完成全部待学习命令词的声学特征模板后,可利用这些声学特征模板进行语音识别,语音识别的具体步骤为:
S7.持续进行语音端点检测,检测到语音端点则执行步骤S8, 否则一直进行语音端点检测;
S8.按照S2-S4步骤描述的提取深度学习声学特征
Figure 212224DEST_PATH_IMAGE019
的方式,提取用户语音深度学习特征Xb(tm),其中tm 表示用户语音中的帧数;
S9. 计算用户语音深度学习特征Xb(tm)与所有声学特征模板Xi(t)之间的欧氏距离Di(t):
详细计算步骤如下:
当使用完整的DNN分类个数来表述深度声学特征向量,即分类个数K=M时,深度声学特征向量如(5)式。
设语音设备在学习用户自定义命令时,按帧计算通过DNN 得到第t帧的深度声学特征模板
Figure 840651DEST_PATH_IMAGE021
识别时,用户发出的待识别语音通过DNN计算得到第tm帧的用户语音深度学习特征
Figure 142319DEST_PATH_IMAGE022
由于人说话语音长短不稳定,学习和识别时的帧数不会严格相同,所以t 不一定等于tm
第tm帧用户语音深度学习特征Xb(tm)和识别时的第t帧声学特征模板Xi(t)间几何距离D(t, tm)可以用(10)式进行绝对值距离计算:
Figure 502894DEST_PATH_IMAGE023
(10)
其中,Xi(t,k)表示第t帧模版特征中k维深度声学特征的概率得分,其值为
Figure 890013DEST_PATH_IMAGE024
;Xb(tm,k)表示第tm 帧模版特征k维深度声学特征的概率得分,其值为
Figure 276126DEST_PATH_IMAGE025
;K为筛选后的音素分类总数。
也可以用(11)式进行欧氏距离计算:
Figure 166721DEST_PATH_IMAGE026
(11)
sqrt表示开方,M为最大深度学习特征维度,k为深度学习特征维度,K为筛选后的音素分类总数;
当使用前K个最大得分的音素分类来拟合深度声学特征向量时,即音素分类数K远小于输出层音素分类总数M(K<M),深度声学特征向量如(9)式;
由于K<M , 存在用户训练时,设备学习记录的深度声学特征向量中的音素分类和识别时计算得到的深度声学向量中的音素分类在矩阵单元的序号不同,甚至没有。所以在进行距离计算时,需要先找到相同的音素分类编号对应的分值,再求距离。
第tm帧用户语音深度学习特征为Xb(tm),第t帧声学特征模板为Xi(t),如果待识别特征的音素分类在声学特征模板的音素分类中,则采用待识别特征的音素分类对应的概率得分;否则采用初始值0作为得分;
根据公式(9),可设第tm帧用户语音深度学习特征Xb(tm)为
Figure 963776DEST_PATH_IMAGE027
第t帧声学特征模板Xi(t)为
Figure 572612DEST_PATH_IMAGE028
遍历所有用户语音深度学习特征的音素分类即id(k,tm)是否在模板特征的音素分类即id(k,t)中;
如果id(k,tm
Figure 605159DEST_PATH_IMAGE029
在集合
Figure 615840DEST_PATH_IMAGE030
中,则对应概率得分s_norid(k,tm)保持不变;否则s_norid(k,tm)的值采用初始值0代替;则最终得到一个更新的第t帧用户语音深度学习特征:
Figure 583796DEST_PATH_IMAGE031
其中
Figure 679928DEST_PATH_IMAGE032
表示音素分类id(k,tm)更新后的概率得分。
如前所述,更新的第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步骤中使用的方法需要存储对应的模板特征,其是由一组二维数组构成(包括音素分类序号和对应的概率得分),而本方法只需要存储一个一维数组即音素分类序号;从而大大降低了芯片的存储。
得到各个帧的距离后,算出整个语音段的累积距离,并按帧数平均如下:
Figure 703117DEST_PATH_IMAGE033
其中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
Figure 568304DEST_PATH_IMAGE034
,集合元素中下标id为DNN输出层音素分类编号, 上标t是与输入向量帧对应的帧编号;输出维度3632即代表一共有M=3632个分类;
Figure 707162DEST_PATH_IMAGE002
为第t帧DNN输出层音素分类编号为id,概率分值为
Figure 352907DEST_PATH_IMAGE003
的输出向量。
⑤对输出向量集合中的每个元素归一化,则有
Figure 602623DEST_PATH_IMAGE035
其中,
Figure 587896DEST_PATH_IMAGE003
为归一化概率得分,其中
Figure 897655DEST_PATH_IMAGE036
并可以使用一组二维数组来简单表示:
Figure 781428DEST_PATH_IMAGE012
按上述步骤②-⑤计算得到输出向量集合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步骤⑤的输出向量计算公式变为:
Figure 834835DEST_PATH_IMAGE017
其中id(k,t)表示第t帧的第k个音素分类,sid(k,t)表示该音素分类id(k,t)对应的概率分数;
将K=200个音素分类的概率求和:
Figure 674615DEST_PATH_IMAGE037
(7)
sum_scoret为K个音素分类的概率总和;
对集合中每个元素的概率得分进行归一化,对第k个音素分类,归一化后的概率得分:
s_norid(k,t)=sid(k,t)/sum_scoret(8)
则公式(6)演变为归一化概率分数后的深度声学向量
Figure 155275DEST_PATH_IMAGE019
Figure 713295DEST_PATH_IMAGE020
(9)
其中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, K表示使用的分类个数;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%
从上表可以看出,虽然采用简化的距离计算方法,但由于筛选了概率最大部分的音素分类,识别率并没有明显下降,但计算量大幅降低,具体实施例3采用本发明简化了距离计算方法,识别率在安静环境下也没有降低,同时显著降低了内存占用,使得本发明所述方法可以应用在自有内存很小的语音识别芯片上。
前文所述的为本发明的各个优选实施例,各个优选实施例中的优选实施方式如果不是明显自相矛盾或以某一优选实施方式为前提,各个优选实施方式都可以任意叠加组合使用,所述实施例以及实施例中的具体参数仅是为了清楚表述发明人的发明验证过程,并非用以限制本发明的专利保护范围,本发明的专利保护范围仍然以其权利要求书为准,凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。

Claims (2)

1.一种基于一维假设的语音向量距离计算方法,其特征在于,
以一维数组形式表示声学特征模板:
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);
以一维数组形式表示待识别的用户语音深度学习特征:
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);
Xi(t)和Xb(tm)两个一维数组中,从左到右按照音素分类对应的概率分数从高到低排列;K为音素分类总数;
设置第一经验数组 d_null={d_null(k)},k = 0,1,...K-1, K表示使用的分类个数;d_null(k)的初始值全部为大于0的一组经验正数值,并使
d_null(0) ≥d_null(1) ≥...d_null(K-1);
设置第二经验数组α=(α1…αk…αK-1),α1…αk…αK-1为按从大到小顺序排列的值;
在上述设置基础上,计算用户语音深度学习特征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);
所述声学特征模板Xi(t)=[id(0,t), id(1,t)…id(i,t)…id(K-1,t)]和待识别的用户语音深度学习特征:Xb(tm)=[id(0,tm), id(1,tm)…id(j,tm)…id(K-1,tm)] 取得方法相同;
其中声学特征模板取得方法为:
S1.系统进行语音采集和端点检测,通过端点检测的语音进入步骤S2;
S2.先对语音信号进行预处理得到命令词的语音声学特征向量集合Xf;
Xf={ Xft},t=1,2…N---(1);
其中,Xft为第t帧的语音声学特征向量,上标t表示帧编号, t是1到N之间的任意值,N为帧数;
S3.将语音声学特征向量集合Xf送入深度神经网络进行深度神经网络计算,得到DNN输出向量集合Ot
DNN输出向量集合
Figure DEST_PATH_IMAGE001
---(2)
集合元素中下标id为DNN输出层音素分类编号,上标t是帧编号;M代表输出层音素分类总数;
Figure DEST_PATH_IMAGE002
为第t帧DNN输出层音素分类编号为id,概率分值为
Figure DEST_PATH_IMAGE003
的输出向量,将音素分类按照概率分值从高到低排序,得到声学特征模板
Xi(t)=[id(0,t), id(1,t)…id(i,t)…id(K-1,t)]
其中id(0,t), id(1,t)…id(i,t)…id(K-1,t)即为DNN输出向量集合中的音素分类编号,t是帧编号,K=M。
2.如权利要求1所述的语音向量距离计算方法,其特征在于,第一经验数组d_null(k)中全部元素为1 ,第二经验数组α中全部元素为0。
CN202210329125.3A 2022-03-31 2022-03-31 一种基于一维假设的语音向量距离计算方法 Active CN114420111B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210329125.3A CN114420111B (zh) 2022-03-31 2022-03-31 一种基于一维假设的语音向量距离计算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210329125.3A CN114420111B (zh) 2022-03-31 2022-03-31 一种基于一维假设的语音向量距离计算方法

Publications (2)

Publication Number Publication Date
CN114420111A CN114420111A (zh) 2022-04-29
CN114420111B true CN114420111B (zh) 2022-06-17

Family

ID=81262887

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210329125.3A Active CN114420111B (zh) 2022-03-31 2022-03-31 一种基于一维假设的语音向量距离计算方法

Country Status (1)

Country Link
CN (1) CN114420111B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102664013A (zh) * 2012-04-18 2012-09-12 南京邮电大学 基于能量选择的离散余弦变换域的音频数字水印方法
CN105321525A (zh) * 2015-09-30 2016-02-10 北京邮电大学 一种降低voip通信资源开销的系统和方法
CN105336323A (zh) * 2015-10-14 2016-02-17 清华大学 维语语音识别方法和装置
CN106297828A (zh) * 2016-08-12 2017-01-04 苏州驰声信息科技有限公司 一种基于深度学习的误发音检测的检测方法和装置
CN107438181A (zh) * 2016-05-27 2017-12-05 博雅网络游戏开发(深圳)有限公司 一种音视频处理方法和装置
CN109256142A (zh) * 2018-09-27 2019-01-22 河海大学常州校区 语音转换基于扩展内核类网格法处理零散数据建模方法及设备
CN109448732A (zh) * 2018-12-27 2019-03-08 科大讯飞股份有限公司 一种数字串语音处理方法及装置
CN109887511A (zh) * 2019-04-24 2019-06-14 武汉水象电子科技有限公司 一种基于级联dnn的语音唤醒优化方法
CN110895932A (zh) * 2018-08-24 2020-03-20 中国科学院声学研究所 基于语言种类和语音内容协同分类的多语言语音识别方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102664013A (zh) * 2012-04-18 2012-09-12 南京邮电大学 基于能量选择的离散余弦变换域的音频数字水印方法
CN105321525A (zh) * 2015-09-30 2016-02-10 北京邮电大学 一种降低voip通信资源开销的系统和方法
CN105336323A (zh) * 2015-10-14 2016-02-17 清华大学 维语语音识别方法和装置
CN107438181A (zh) * 2016-05-27 2017-12-05 博雅网络游戏开发(深圳)有限公司 一种音视频处理方法和装置
CN106297828A (zh) * 2016-08-12 2017-01-04 苏州驰声信息科技有限公司 一种基于深度学习的误发音检测的检测方法和装置
CN110895932A (zh) * 2018-08-24 2020-03-20 中国科学院声学研究所 基于语言种类和语音内容协同分类的多语言语音识别方法
CN109256142A (zh) * 2018-09-27 2019-01-22 河海大学常州校区 语音转换基于扩展内核类网格法处理零散数据建模方法及设备
CN109448732A (zh) * 2018-12-27 2019-03-08 科大讯飞股份有限公司 一种数字串语音处理方法及装置
CN109887511A (zh) * 2019-04-24 2019-06-14 武汉水象电子科技有限公司 一种基于级联dnn的语音唤醒优化方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"融入情感表现力的语音合成方法研究与应用";周静;《《中国优秀硕士学位论文全文数据库 信息科技辑》》;20220115;全文 *
"说话人识别技术研究与改进";田克平;《中国优秀硕士学位论文全文数据库 信息科技辑》;20101231;全文 *

Also Published As

Publication number Publication date
CN114420111A (zh) 2022-04-29

Similar Documents

Publication Publication Date Title
Padmanabhan et al. Machine learning in automatic speech recognition: A survey
Cui et al. Multi-view and multi-objective semi-supervised learning for hmm-based automatic speech recognition
US5924066A (en) System and method for classifying a speech signal
CN111899766B (zh) 基于深度特征与声学特征寻优融合的语音情感识别方法
CN117043857A (zh) 用于英语发音评估的方法、设备和计算机程序产品
Sen et al. A convolutional neural network based approach to recognize bangla spoken digits from speech signal
Vimala et al. Isolated speech recognition system for Tamil language using statistical pattern matching and machine learning techniques
Thamburaj et al. An Critical Analysis of Speech Recognition of Tamil and Malay Language Through Artificial Neural Network
Zhang et al. Deep Template Matching for Small-Footprint and Configurable Keyword Spotting.
Gosztolya et al. Domain adaptation of deep neural networks for automatic speech recognition via wireless sensors
CN114420111B (zh) 一种基于一维假设的语音向量距离计算方法
CN102237082B (zh) 语音识别系统的自适应方法
Elenius et al. Multi-layer perceptrons and probabilistic neural networks for phoneme recognition.
CN114420101B (zh) 一种未知语言端侧命令词小数据学习识别方法
CN113705671B (zh) 一种基于文本相关信息感知的说话人识别方法与系统
KR100776729B1 (ko) 결정 트리 기반의 상태 군집화 방법을 사용하는 비핵심어모델링부를 포함하는 화자독립 가변어휘 핵심어 검출시스템 및 그 방법
Anindya et al. Development of Indonesian speech recognition with deep neural network for robotic command
Cai et al. Deep speaker embeddings with convolutional neural network on supervector for text-independent speaker recognition
CN112233668B (zh) 一种基于神经网络的语音指令及身份识别方法
Fukuda et al. Generalized knowledge distillation from an ensemble of specialized teachers leveraging unsupervised neural clustering
KR100327486B1 (ko) 스테이트별 가중치를 적용한 음성 인식 장치 및 방법
Xu et al. Improve Data Utilization with Two-stage Learning in CNN-LSTM-based Voice Activity Detection
Poddar et al. Data capturing and modeling by speech recognition: roles demonstrated by artificial intelligence, A survey
Maheswari et al. SPEAKER INDEPENDENT PHONEME RECOGNITION USING NEURAL NETWORKS.
CN114398468B (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