本发明涉及语音识别技术领域,尤其涉及一种多语种混说语音的语种识别方法及装置。
背景技术:
语种识别是通过计算机识别出一段语音段所属语言的过程。在工作和日常生活中,多语种混说的现象越来越常见,而这给单一语言的语音识别带了巨大困难。
现有技术中,语种识别主要分为三个过程,首先根据语音信号进行特征提取,然后建立语种识别模型,最后是对测试语音进行语种判决。传统的语种识别系统包括基于hmm等机器学习的语种识别、基于音素识别器的语种识别、基于底层声学特征的语种识别等。
但是,现有技术中的语种识别局限于声学的研究和建模的不足,导致语种识别系统的复杂较高,并且语种识别的准确率有待提高。
技术实现要素:
本发明实施例提供一种多语种混说语音的语种识别方法及装置,用于解决现有技术中的上述技术问题。
为了解决上述技术问题,一方面,本发明实施例提供一种多语种混说语音的语种识别方法,包括:
对待识别多语种混说语音数据进行端点检测,得到多帧语音状态信息;
将所有的语音状态信息输入至语种识别模型,输出所述待识别多语种混说语音数据中每一帧语音状态信息所属的语种;
其中,所述语种识别模型是基于多语种混说语音样本以及预先确定的多语种混说语音样本中每一帧语音状态信息所属的语种进行训练后得到。
进一步地,将所有的语音状态信息输入至语种识别模型,输出所述待识别多语种混说语音数据中每一帧语音状态信息所属的语种,具体包括:
将所有的语音状态信息输入至所述语种识别模型中的编码端,输出每一帧语音状态信息的高维语音特征;
将所有的高维语音特征输入至所述语种识别模型中的解码端,输出每一帧语音状态信息所属的语种。
进一步地,所述编码端由卷积层和全连接层组成,所述编码端的激活函数为线性整流函数。
进一步地,所述编码端中的卷积层的层数为四层;
所述编码端中的全连接层的层数为两层。
进一步地,所述解码端为注意力机制。
进一步地,将所有的高维语音特征输入至所述语种识别模型中的解码端,输出每一帧语音状态信息所属的语种,具体包括:
将所有的高维语音特征输入至所述解码端的attend函数,输出每一语音状态信息的归一化权重;
根据所有的高维语音特征和所有的归一化权重,确定注意力向量;
基于所述注意力向量,利用softmax函数确定每一帧语音状态信息所属的语种。
进一步地,利用如下公式确定所述注意力向量:
其中,c为注意力向量,t为语音状态信息的帧数,αt为第t帧语音状态信息的归一化权重,ht为第t帧语音状态信息的高维语音特征。
另一方面,本发明实施例提供一种多语种混说语音的识别方法,包括:
采用上述的多语种混说语音的语种识别方法,对待识别多语种混说语音数据进行语种识别,确定每一帧语音状态信息所属的语种;
分别将每一帧语音状态信息,输入至相应的语音识别模型,输出每一帧语音状态信息的文字识别结果。
再一方面,本发明实施例提供一种多语种混说语音的语种识别装置,包括:
端点检测模块,用于对待识别多语种混说语音数据进行端点检测,得到多帧语音状态信息;
语种识别模块,用于将所有的语音状态信息输入至语种识别模型,输出所述待识别多语种混说语音数据中每一帧语音状态信息所属的语种;
其中,所述语种识别模型是基于多语种混说语音样本以及预先确定的多语种混说语音样本中每一帧语音状态信息所属的语种进行训练后得到。
又一方面,本发明实施例提供一种电子设备,包括:存储器、处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述方法的步骤。
本发明实施例提供的多语种混说语音的语种识别方法及装置,通过缩减人工预处理和后续处理,以原始语音波形作为输入,将特征提取和分类建立一体化结构模型,尽可能简化模型从原始输入到最终输出的步骤,增加模型的整体契合度,提高了语种识别的准确率。
附图说明
图1为本发明实施例提供的多语种混说语音的语种识别方法示意图;
图2为本发明实施例提供的语音端点检测预处理示意图;
图3为本发明实施例提供的语种识别模型的结构示意图;
图4为本发明实施例提供的多语种混说语音的语种识别装置示意图;
图5为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为了使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
语种识别是通过计算机识别出一段语音段所属语言的过程。随着全球的发展日趋国际化,英语作为一门国际语言,其使用范围极为广泛。在工作和日常生活中,中英混说的现象越来越常见,而这给单一语言的语音识别带了巨大困难。为了把不同语言的语音送入对应的语音识别系统,首先需要对不同语言的语音进行分类识别。
语种识别技术的发展经历以下几个阶段:首先是隐马尔可夫模型(hiddenmarkovmodel,hmm)的问世,被广泛地应用到了各种统计学的模型中,出现了基于hmm的语种识别系统;在此之后人们对声学进行了研究,出现了基于音素识别器的语种识别方法;随着人们对语音信号以及人耳结构特征、听音特征的研究深入,出现了以梅尔频率倒谱系数(mel-frequencycepstralcoefficient,mfcc)为代表的基于底层声学特征的语种识别方法;为了进一步提升语种识别的准确率,减少噪声的干扰,出现了许多基于其他特征(例如韵律特征、瓶颈特征等等)的语种识别方法。
语种识别主要分为三个过程,首先根据语音信号进行特征提取,然后建立语种识别模型,最后是对测试语音进行语种判决。传统的语种识别系统包括基于hmm等机器学习的语种识别、基于音素识别器的语种识别、基于底层声学特征的语种识别等。传统的语种识别局限于声学的研究和计算力的不足,最近几年随着科技技术的突飞猛进,如今的语种识别系统多采用神经网络来提取特征和高斯混合分类模型的架构,虽然系统性能获得的大幅度提升,但是从根本上仍是传统语种识别架构,系统性能已达到瓶颈。
为了解决上述技术问题,进一步提升模型性能,即提高识别准确率和降低语种识别系统的复杂度,本发明实施例提供一种多语种混说语音的语种识别方法,该方法通过缩减人工预处理和后续处理,以原始语音波形作为输入,在卷积网络中加入注意力机制和线性整流relu函数,将特征提取和分类建立一体化结构模型,尽可能简化模型从原始输入到最终输出的步骤。
图1为本发明实施例提供的多语种混说语音的语种识别方法示意图,如图,本发明实施例提供一种多语种混说语音的语种识别方法,其执行主体为多语种混说语音的语种识别装置。该方法包括:
步骤s101、对待识别多语种混说语音数据进行端点检测,得到多帧语音状态信息。
具体来说,首先对待识别多语种混说语音数据进行预处理,即对待识别多语种混说语音数据进行端点检测,得到多帧语音状态信息。
语音端点检测是关于如何将语音在有背景噪声存在的情况下正确分出语音段与非语音段的问题,也就是从一段包含语音的信号中确定出语音的起始点和结束点位置。对语音信号的模型λ1和背景噪声信号的模型λ0分别进行初始估计,引入em算法分别对λ1和λ0进行参数调整使其适应于观测序列,生成最佳模型。采用hmm区分语音帧与非语音帧的本质是根据观测序列找出对应的状态,即解码问题,采用veterbi解码算法计算当前帧的状态为语音的最大概率p(ot|λ1)和非语音的最大概率p(ot|λ0),计算当前帧的最大似然比lrt值,lrt的计算公式如下:
其中,
图2为本发明实施例提供的语音端点检测预处理示意图,如图2所示,图中为一段语音在经端点检测方法之后,可以将其分为语音状态和非语音状态,语音状态信号输入识别模型中。
步骤s102、将所有的语音状态信息输入至语种识别模型,输出所述待识别多语种混说语音数据中每一帧语音状态信息所属的语种;
其中,所述语种识别模型是基于多语种混说语音样本以及预先确定的多语种混说语音样本中每一帧语音状态信息所属的语种进行训练后得到。
具体来说,获取所有的语音状态信息之后,将所有的语音状态信息输入至语种识别模型,输出待识别多语种混说语音数据中每一帧语音状态信息所属的语种。
其中,该语种识别模型是基于多语种混说语音样本以及预先确定的多语种混说语音样本中每一帧语音状态信息所属的语种进行训练后得到。
本发明实施例提供的多语种混说语音的语种识别方法,通过缩减人工预处理和后续处理,以原始语音波形作为输入,将特征提取和分类建立一体化结构模型,尽可能简化模型从原始输入到最终输出的步骤,增加模型的整体契合度,提高了语种识别的准确率。
基于上述任一实施例,进一步地,将所有的语音状态信息输入至语种识别模型,输出所述待识别多语种混说语音数据中每一帧语音状态信息所属的语种,具体包括:
将所有的语音状态信息输入至所述语种识别模型中的编码端,输出每一帧语音状态信息的高维语音特征;
将所有的高维语音特征输入至所述语种识别模型中的解码端,输出每一帧语音状态信息所属的语种。
具体来说,在本发明实施例中,语种识别模型分为编码端(encoder)和解码端(decoder),图3为本发明实施例提供的语种识别模型的结构示意图,如图3所示,将所有的语音状态信息输入至语种识别模型,输出待识别多语种混说语音数据中每一帧语音状态信息所属的语种具体步骤如下:
首先,将所有的语音状态信息输入至语种识别模型中的编码端,输出每一帧语音状态信息的高维语音特征。
经端点检测后的语音状态信息的原始音频波形用x表示,x={x1,x2,…,xt},编码端映射到高维语音特征用h表示,h={h1,h2,…,ht},用公式表示如下:
h=encoder(x)(2)
其中,h表示高维语音特征,x表示语音状态信息,encoder(·)表示编码处理。
然后,将所有的高维语音特征输入至语种识别模型中的解码端,输出每一帧语音状态信息所属的语种。
本发明实施例提供的多语种混说语音的语种识别方法,通过缩减人工预处理和后续处理,以原始语音波形作为输入,将特征提取和分类建立一体化结构模型,尽可能简化模型从原始输入到最终输出的步骤,增加模型的整体契合度,提高了语种识别的准确率。
基于上述任一实施例,进一步地,所述编码端由卷积层和全连接层组成,所述编码端的激活函数为线性整流函数。
具体来说,在本发明实施例中,编码端由卷积层和全连接层组成,所述编码端的激活函数为线性整流函数。
在训练过程中,为了克服梯度消失的问题,编码端加入线性整流relu函数作为激活函数,并且起到了加快模型收敛速度的作用。
本发明实施例提供的多语种混说语音的语种识别方法,通过缩减人工预处理和后续处理,以原始语音波形作为输入,将特征提取和分类建立一体化结构模型,尽可能简化模型从原始输入到最终输出的步骤,增加模型的整体契合度,提高了语种识别的准确率。
基于上述任一实施例,进一步地,所述编码端中的卷积层的层数为四层;
所述编码端中的全连接层的层数为两层。
具体来说,在本发明实施例中,编码端中的卷积层的层数为四层,编码端中的全连接层的层数为两层。
如图3所示,四层一维卷积的卷积核大小分别为40*5、500*7、500*1、500*1,卷积核的个数分别为500、500、500、3000,步长为1、1、2、1,并与全局平均池化层相连,使其输出3000*1的固定维度大小;两个全连接层的节点个数为1500和600。
本发明实施例提供的多语种混说语音的语种识别方法,通过缩减人工预处理和后续处理,以原始语音波形作为输入,将特征提取和分类建立一体化结构模型,尽可能简化模型从原始输入到最终输出的步骤,增加模型的整体契合度,提高了语种识别的准确率。
基于上述任一实施例,进一步地,所述解码端为注意力机制。
具体来说,在本发明实施例中,解码端为注意力机制(attention),并将其作为损失函数。attention为一种权重向量或矩阵,其权重越大,表示对输出越重要。
本发明实施例提供的多语种混说语音的语种识别方法,通过缩减人工预处理和后续处理,以原始语音波形作为输入,将特征提取和分类建立一体化结构模型,尽可能简化模型从原始输入到最终输出的步骤,增加模型的整体契合度,提高了语种识别的准确率。
基于上述任一实施例,进一步地,将所有的高维语音特征输入至所述语种识别模型中的解码端,输出每一帧语音状态信息所属的语种,具体包括:
将所有的高维语音特征输入至所述解码端的attend函数,输出每一语音状态信息的归一化权重;
根据所有的高维语音特征和所有的归一化权重,确定注意力向量;
基于所述注意力向量,利用softmax函数确定每一帧语音状态信息所属的语种。
具体来说,在本发明实施例中,将所有的高维语音特征输入至语种识别模型中的解码端,输出每一帧语音状态信息所属的语种的具体步骤如下:
首先,将所有的高维语音特征输入至解码端的attend函数,输出每一语音状态信息的归一化权重,用公式表示如下:
αt=attend(ht)(3)
其中,αt为第t帧语音状态信息的归一化权重,αt∈[0,1],ht为第t帧语音状态信息的高维语音特征。
然后,根据所有的高维语音特征和所有的归一化权重,确定注意力向量,用公式表示如下:
其中,c为注意力向量,t为语音状态信息的帧数,αt为第t帧语音状态信息的归一化权重,ht为第t帧语音状态信息的高维语音特征。
最后,基于注意力向量,利用softmax函数确定每一帧语音状态信息所属的语种,用公式表示如下:
p(y)=softmax(uc)(5)
其中,u是线性变换向量,y表示当前输入的标签,例如,中文或英文。
本发明实施例提供的多语种混说语音的语种识别方法,通过缩减人工预处理和后续处理,以原始语音波形作为输入,将特征提取和分类建立一体化结构模型,简化模型从原始输入到最终输出的步骤,与已有的语种识别算法相比,该方法给模型更多可以根据数据自动调节的空间,建立各种非线性变换与具体任务的某些性质之间的联系,增加模型的整体契合度,不仅提高了中英混说语种识别准确率,而且降低语种识别系统的复杂度。
基于上述任一实施例,本发明实施例提供一种多语种混说语音的识别方法,该方法包括:
采用上述任一实施例所述的多语种混说语音的语种识别方法,对待识别多语种混说语音数据进行语种识别,确定每一帧语音状态信息所属的语种;
分别将每一帧语音状态信息,输入至相应的语音识别模型,输出每一帧语音状态信息的文字识别结果。
具体来说,在本发明实施例中,针对多语种混说语音的识别,首先采用上述任一实施例所述的多语种混说语音的语种识别方法,对待识别多语种混说语音数据进行语种识别,确定每一帧语音状态信息所属的语种。
例如,针对中英混说的一段语音数据,首先,采用上述任一实施例所述的多语种混说语音的语种识别方法,对其进行语种识别,确定哪些帧语音状态信息属于汉语,哪些帧语音状态信息属于英语。
然后,分别将每一帧语音状态信息,输入至相应的语音识别模型,输出每一帧语音状态信息的文字识别结果。
例如,针对中英混说的一段语音数据,在获取每一帧语音状态信息所属的语种之后,将属于汉语的那些帧语音状态信息,输入至汉语语音识别模型,输出相应的文字识别结果,将属于英语的那些帧语音状态信息,输入至英语语音识别模型,输出相应的文字识别结果。
本发明实施例提供的多语种混说语音的识别方法,通过缩减人工预处理和后续处理,以原始语音波形作为输入,将特征提取和分类建立一体化结构模型,尽可能简化模型从原始输入到最终输出的步骤,增加模型的整体契合度,提高了语音识别的准确率。
在测试过程中,将一段中英混说语音输入到已训练生成的中英语种识别模型,模型会对语音信号进行语种分类,输出以帧级别为单位来判断。若输出当前帧为0,则表示汉语;若输出当前帧为1,则表示英语,然后把同类语种的连续语音帧送入对应语种的语音识别模型。实验结果表明,该方法的中英语混说种识别准确率提高了4.53%,这也使得中英混说语音识别模型词准确率获得了相对7.28%的提升。
基于上述任一实施例,图4为本发明实施例提供的多语种混说语音的语种识别装置示意图,如图4所示,本发明实施例提供一种多语种混说语音的语种识别装置,包括端点检测模块401和语种识别模块402,其中:
端点检测模块401用于对待识别多语种混说语音数据进行端点检测,得到多帧语音状态信息;语种识别模块402用于将所有的语音状态信息输入至语种识别模型,输出所述待识别多语种混说语音数据中每一帧语音状态信息所属的语种;其中,所述语种识别模型是基于多语种混说语音样本以及预先确定的多语种混说语音样本中每一帧语音状态信息所属的语种进行训练后得到。
本发明实施例提供一种多语种混说语音的语种识别装置,用于执行上述任一实施例中所述的方法,通过本实施例提供的装置执行上述某一实施例中所述的方法的具体步骤与上述相应实施例相同,此处不再赘述。
本发明实施例提供的多语种混说语音的语种识别装置,通过缩减人工预处理和后续处理,以原始语音波形作为输入,将特征提取和分类建立一体化结构模型,尽可能简化模型从原始输入到最终输出的步骤,增加模型的整体契合度,提高了语种识别的准确率。
图5为本发明实施例提供的电子设备的结构示意图,如图5所示,该电子设备包括:处理器(processor)501、通信接口(communicationsinterface)502、存储器(memory)503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。处理器501和存储器502通过总线503完成相互间的通信。处理器501可以调用存储器503中的逻辑指令,以执行如下方法:
对待识别多语种混说语音数据进行端点检测,得到多帧语音状态信息;将所有的语音状态信息输入至语种识别模型,输出所述待识别多语种混说语音数据中每一帧语音状态信息所属的语种;其中,所述语种识别模型是基于多语种混说语音样本以及预先确定的多语种混说语音样本中每一帧语音状态信息所属的语种进行训练后得到。
或者执行如下方法:
采用如上述任一实施例中所述的多语种混说语音的语种识别方法,对待识别多语种混说语音数据进行语种识别,确定每一帧语音状态信息所属的语种;分别将每一帧语音状态信息,输入至相应的语音识别模型,输出每一帧语音状态信息的文字识别结果。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
进一步地,本发明实施例提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例中的步骤,例如包括:
对待识别多语种混说语音数据进行端点检测,得到多帧语音状态信息;将所有的语音状态信息输入至语种识别模型,输出所述待识别多语种混说语音数据中每一帧语音状态信息所属的语种;其中,所述语种识别模型是基于多语种混说语音样本以及预先确定的多语种混说语音样本中每一帧语音状态信息所属的语种进行训练后得到。
或者执行如下方法:
采用如上述任一实施例中所述的多语种混说语音的语种识别方法,对待识别多语种混说语音数据进行语种识别,确定每一帧语音状态信息所属的语种;分别将每一帧语音状态信息,输入至相应的语音识别模型,输出每一帧语音状态信息的文字识别结果。
进一步地,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被处理器执行时,实现上述各方法实施例中的步骤,例如包括:
对待识别多语种混说语音数据进行端点检测,得到多帧语音状态信息;将所有的语音状态信息输入至语种识别模型,输出所述待识别多语种混说语音数据中每一帧语音状态信息所属的语种;其中,所述语种识别模型是基于多语种混说语音样本以及预先确定的多语种混说语音样本中每一帧语音状态信息所属的语种进行训练后得到。
或者执行如下方法:
采用如上述任一实施例中所述的多语种混说语音的语种识别方法,对待识别多语种混说语音数据进行语种识别,确定每一帧语音状态信息所属的语种;分别将每一帧语音状态信息,输入至相应的语音识别模型,输出每一帧语音状态信息的文字识别结果。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
本文用于企业家、创业者技术爱好者查询,结果仅供参考。