基于神经网络的语音端点检测方法、装置、设备及介质与流程

    专利2022-07-08  108


    本申请涉及语音检测技术领域,尤其涉及一种基于神经网络的语音端点检测方法、装置、设备及介质。



    背景技术:

    语音端点检测(voiceactivitydetection)是语音处理的一个重要部分。准确的语音端点检测不仅可以减少语音信号处理的计算量,提高系统的实时性,而且可以提高语音系统的鲁棒性及后续语音系统的准确性。但实际环境中,存在背景噪声过大,这给语音端点检测的检测结果带来了巨大挑战。所以一个准确的语音端点检测系统具有重要意义。

    现有的语音端点检测模型只能利用固定的上下文信息,不能根据上下文的语音情况自适应的选择最优的上下文信息。这使得当使用较长的上下文信息时,语音端点检测模型会存在输入过多噪音情况,造成端点检测异常;当使用较短的上下文信息则不能更好的利用语音的上下文信息,进行语音端点的正确判断。这导致了现有技术无法提供较为准确的语音端点检测,现亟需一种能够提高语音端点检测准确度的方法。



    技术实现要素:

    本申请实施例的目的在于提出一种基于神经网络的语音端点检测方法、装置、设备及介质,以提高语音端点检测的准确度。

    为了解决上述技术问题,本申请实施例提供一种基于神经网络的语音端点检测方法,包括:

    获取样本语音文件,并对所述样本语音文件进行声学特征提取,得到语音特征,其中,所述语音特征包含特征信息;

    对每帧所述语音特征进行分配n帧上下文特征信息,得到特征矩阵,其中,n为正整数;

    通过神经网络模型对所述特征矩阵进行特征处理,得到一维特征向量,并对所述一维特征向量进行语音帧的序列信息的学习处理,得到预测值;

    计算所述预测值与真实语音值的损失函数值,并根据所述损失函数值更新神经网络模型的网络参数,得到训练好的神经网络模型;

    获取待检测的语音文件,并对所述待检测的语音文件进行声学特征提取,得到待检测的语音文件的语音特征;

    将所述待检测的语音文件的语音特征输入到所述训练好的神经网络模型中,得到预测结果。

    为了解决上述技术问题,本申请实施例提供一种基于神经网络的语音端点检测装置,包括:

    语音特征提取模块,用于获取样本语音文件,并对所述样本语音文件进行声学特征提取,得到语音特征,其中,所述语音特征包含特征信息;

    特征矩阵获取模块,用于对每帧所述语音特征进行分配n帧上下文特征信息,得到特征矩阵,其中,n为正整数;

    预测值获取模块,用于通过神经网络模型对所述特征矩阵进行特征处理,得到一维特征向量,并对所述一维特征向量进行语言帧的序列信息进行学习处理,得到预测值;

    神经网络模型训练模块,用于计算所述预测值与真实语音值的损失函数值,将所述损失函数值更新神经网络模型的网络参数,得到训练好的神经网络模型;

    声学特征信息提取模块,用于获取待检测的语音文件,并对所述待检测的语音文件进行声学特征提取,得到声学特征信息;

    预测结果获取模块,用于将所述声学特征信息输入到所述训练好的神经网络模型中,得到预测结果。

    为解决上述技术问题,本发明采用的一个技术方案是:提供一种计算机设备,包括,一个或多个处理器;存储器,用于存储一个或多个程序,使得一个或多个处理器实现上述任意一项所述的基于神经网络的语音端点检测方法。

    为解决上述技术问题,本发明采用的一个技术方案是:一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的基于神经网络的语音端点检测方法。

    本发明实施例提供了一种基于神经网络的语音端点检测方法、装置、设备及介质。其中,所述方法包括:获取样本语音文件,并对样本语音文件进行声学特征提取,得到语音特征,对每帧语音特征进行分配n帧上下文特征信息,得到特征矩阵,通过神经网络模型对特征矩阵进行特征处理,得到一维特征向量,并对一维特征向量进行语音帧的序列信息的学习处理,得到预测值;计算预测值与真实语音值的损失函数值,并根据损失函数值更新神经网络模型的网络参数,得到训练好的神经网络模型;获取待检测的语音文件,并对待检测的语音文件进行声学特征提取,得到待检测的语音文件的语音特征;将待检测的语音文件的语音特征输入到训练好的神经网络模型中,得到预测结果。本发明实施例通过提取语音特征,并为语音特征分配上下文特征信息,得到特征矩阵,并根据特征矩阵训练神经网络模型,以此根据训练好的神经网络模型输入待检测语音文件的预测值,有利于提高神经网络的语音端点检测的准确度。

    附图说明

    为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

    图1是本申请实施例提供的基于神经网络的语音端点检测方法的应用环境示意图;

    图2根据本申请实施例提供的基于神经网络的语音端点检测方法的一实现流程图;

    图3是本申请实施例提供的基于神经网络的语音端点检测方法中子流程的一实现流程图;

    图4是本申请实施例提供的基于神经网络的语音端点检测方法中子流程的又一实现流程图;

    图5是本申请实施例提供的基于神经网络的语音端点检测方法中子流程的又一实现流程图;

    图6是本申请实施例提供的基于神经网络的语音端点检测方法中子流程的又一实现流程图;

    图7是本申请实施例提供的基于神经网络的语音端点检测方法中子流程的又一实现流程图;

    图8是本申请实施例提供的基于神经网络的语音端点检测方法中子流程的又一实现流程图;

    图9是本申请实施例提供的基于神经网络的语音端点检测装置示意图;

    图10是本申请实施例提供的计算机设备的示意图。

    具体实施方式

    除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。

    在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

    为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。

    下面结合附图和实施方式对本发明进行详细说明。

    请参阅图1,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

    用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、搜索类应用、即时通信工具等。

    终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

    服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。

    需要说明的是,本申请实施例所提供的基于神经网络的语音端点检测方法一般由服务器执行,相应地,基于神经网络的语音端点检测装置一般配置于服务器中。

    应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

    请参阅图2,图2示出了基于神经网络的语音端点检测方法的一种具体实施方式。

    需注意的是,若有实质上相同的结果,本发明的方法并不以图2所示的流程顺序为限,该方法包括如下步骤:

    s1:获取样本语音文件,并对样本语音文件进行声学特征提取,得到语音特征,其中,语音特征包含特征信息。

    具体的,样本语音文件中包括真实语音信号和非真实语音信号,其中,非真实语音信号包含噪声信号。本申请实施例的目的是通过将真实语音信号和非真实语音信号训练神经网络模型,得到训练好的神经网络模型,然后在接收到待检测的语音文件时,可以直接通过训练好的神经网络模型输出待待检测的语音文件真实语音信号。在训练神经网络模型过程中,服务器会获取用来训练神经网络模型的样本语音文件,并对样本语音文件进行声学特征提取以得到语音特征。其中,语音特征包含特征信息,特征信息是指样本语音文件中包含的真实语音、噪声信息等信息。步骤s1的详细过程如以下步骤s11至步骤s13具体描述,此处不再赘述。

    进一步的,对样本语音文件进行的声学特征提取,只要提取声学fbank特征,这是因为声学fbank特征更加符合声音信号的本质,拟合人耳的接收特性。

    s2:对每帧语音特征进行分配n帧上下文特征信息,得到特征矩阵,其中,n为正整数。

    具体的,相比使用单一帧语音建模,借助语音的上下文特征信息进行语音端点的建模,能够使语音端点检测的精度有很大提高。所以本申请实施例对每帧语音特征进行分配n帧上下文特征信息,建立特征矩阵,其为后续训练神经网络模型提供基础。

    其中,特征矩阵为针对语音特征所拥有的特征信息,进行数值化后,建立的矩阵。例如,某一帧语音特征y,其包含的特征信息有特征信息y1、特征信息y2、特征信息y3、特征信息y4,则该特征矩阵为y={y1、y2、y3、y4}。

    需要说明的是,n帧根据实际情况进行设定,此处不做限定。在一具体实施例中,n帧为5帧。

    s3:通过神经网络模型对特征矩阵进行特征处理,得到一维特征向量,并对一维特征向量进行语音帧的序列信息的学习处理,得到预测值。

    具体的,将特征矩阵输入到神经网络模型中,通过神经网络模型的自适应感受野注意力模块,对特征矩阵进行构建不同感受野的特征矩阵,并对其进行池化处理,最后转化成一维特征向量,再通过双向短时记忆神经网络模块对一维特征向量进行语音帧的序列信息的学习处理,最终得到预测值。步骤s3的详细过程如步骤s31至步骤s34具体描述,此处不再赘述。

    其中,自适应感受野注意力模块是神经网络模型中的一个模块,其用于选择最合适的上下文感受野信息,并得到对应的特征向量;自适应感受野注意力模块还包含一个注意力映射模块,该模块对不同感受野的门控特征矩阵进行建模,得到不同感受野的门控特征矩阵的权值系数。

    其中,特征处理是指对特征矩阵进行特征转换、特征映射、池化处理以及归一化处理等等,其目的是为了得到一维特征向量。其中,学习处理是指通过2层双向短时记忆神经网络模块对语音帧的序列信息学习,然后通过1层全连接神经网络用于输出当前帧的预测结果。

    其中,预测值是指通过神经网络模型处理后,语音样本文件中接近真实语音信号所转化的数值。

    s4:计算预测值与真实语音值的损失函数值,并根据损失函数值更新神经网络模型的网络参数,得到训练好的神经网络模型。

    具体的,通过计算预测值与真实语音值的损失函数值,从而判断出预测值的偏离程度,并通过逐渐将损失函数值更新神经网络模型的网络参数,待到该损失函数值足够小时,就可以认定预测值无限接近真实语音值,此时的神经网络模型输出的预测值无限接近真实语音值,故当损失函数值足够小时,停止更新神经网络模型的网络参数,得到训练好的神经网络模型。

    其中,真实语音值为样本语音文件中的真实语音信号经过数值化处理后,得到的数值。

    s5:获取待检测的语音文件,并对待检测的语音文件进行声学特征提取,得到待检测的语音文件的语音特征。

    具体的,通过上述步骤已经对神经网络模型进行训练完毕,此时再获取到待检测的语音文件时,对其进行声学特征提取,得到待检测的语音文件的语音特征,该待检测的语音文件的语音特征提取与步骤s1声学特征提取方法一致,此处不再赘述。

    s6:将待检测的语音文件的语音特征输入到训练好的神经网络模型中,得到预测结果。

    具体的,将每帧的待检测的语音文件的语音特征作为输入量,输入到训练好的神经网络模型中,得到每帧待检测的语音文件的语音特征的预测结果。每帧的预测结果有两种情况,两种情况分别为该帧语音特征为真实语音、该帧语音特征为非真实语音。得到的每一帧语音特征的预测结果,实现了对语音端点检测的目的。

    本实施例中,通过获取样本语音文件,并对样本语音文件进行声学特征提取,得到语音特征,对每帧语音特征进行分配n帧上下文特征信息,得到特征矩阵,通过神经网络模型对特征矩阵进行特征处理,得到一维特征向量,并对一维特征向量进行语音帧的序列信息的学习处理,得到预测值;计算预测值与真实语音值的损失函数值,并将损失函数值更新神经网络模型的网络参数,得到训练好的神经网络模型;获取待检测的语音文件,并对待检测的语音文件进行声学特征提取,得到待检测的语音文件的语音特征;将待检测的语音文件的语音特征输入到训练好的神经网络模型中,得到预测结果。本发明实施例通过提取语音特征,并为语音特征分配上下文特征信息,得到特征矩阵,并根据特征矩阵训练神经网络模型,以此根据训练好的神经网络模型输入待检测语音文件的预测值,有利于提高神经网络的语音端点检测的准确度。

    请参阅图3,图3示出了步骤s3的一种具体实施方式,步骤s3中通过神经网络模型对特征矩阵进行特征处理,得到一维特征向量,并对一维特征向量进行语音帧的序列信息学习处理,得到预测值的具体实现过程,详叙如下:

    s31:将特征矩阵输入到神经网络模型中,通过自适应感受野注意力模块对特征矩阵进行向量处理,得到特征向量。

    具体的,将包含n帧上下文特征信息的特征矩阵,送入到神经网络模型的自适应感受野注意力模块。在自适应感受野注意力模块中,构建不同感受野的特征矩阵,并将其转化成同一大小的特征矩阵,并进行池化处理,得到特征向量。

    其中,向量处理是指对特征矩阵进行构建不同感受野的特征矩阵,并将其转化成同一大小的特征矩阵,并进行池化处理,得到特征向量。

    s32:通过将特征向量输入到全连接层网络中,对特征向量进行归一化处理,得到目标特征矩阵。

    具体的,将特征向量输入到一个共享的2层全连接层网络中,得到池化后对应的特征向量,再对其进行归一化处理,得到目标特征矩阵。

    其中,归一化是一种无量纲处理手段,使物理系统数值的绝对值变成某种相对值关系。在本实施例中,通过归一化处理,将池化后的系数向量转换成归一化系数,最终得到目标特征矩阵。

    s33:按照reshape函数的方式,将每帧目标特征矩阵转化成一维向量,得到一维特征向量。

    具体的,reshape函数是matlab中将指定的矩阵变换成特定维数矩阵一种函数,且矩阵中元素个数不变,函数可以重新调整矩阵的行数、列数、维数。函数语法为b=reshape(a,size)是指返回一个和a元素相同的n维数组,但是由向量size来决定重构数组维数的大小。在本实施例中,按照reshape函数的方式,将每帧目标特征矩阵转化成一维向量,便于后续输入到双向短时记忆神经网络模块中,获取预测值。

    s34:通过将一维特征向量输入双向短时记忆神经网络模块中,进行语音帧的序列信息的学习处理,得到预测值。

    具体的,将一维特征向量输入2层双向短时记忆神经网络模块中,进行语音帧的序列信息进行学习处理,并将学习处理后每帧语音帧结果对应输入到全连接层神经网络分类器中,得到每帧预测值。

    在本实施中,将特征矩阵输入到神经网络模型中,通过自适应感受野注意力模块对特征矩阵进行向量处理,得到特征向量,再将特征向量输入到全连接层网络中,对特征向量进行归一化处理,得到目标特征矩阵,并按照reshape函数的方式,将每帧目标特征矩阵转化成一维向量,得到一维特征向量,最后将一维特征向量输入双向短时记忆神经网络模块中,进行语音帧的序列信息的学习处理,得到预测值,使得特征矩阵进过池化处理、归一化处理等,最终得到预测值,有利于后续对神经网络模型的网络参数进行更新,从而提高端点检测的准确度。

    请参阅图4,图4示出了步骤s31的一种具体实施方式,步骤s31中将特征矩阵输入到神经网络模型中,通过自适应感受野注意力模块对特征矩阵进行向量处理,得到特征向量的具体实现过程,详叙如下:

    s311:将特征矩阵输入到神经网络模型中,通过自适应感受野注意力模块将特征矩阵转化成感受野的特征矩阵,作为基础特征矩阵。

    具体的,在卷积神经网络中,感受野的定义是卷积神经网络每一层输出的特征图上的像素点在原始图像上映射的区域大小。在本实施例中,特征矩阵转化成不同的感受野的特征矩阵,作为基础特征矩阵,便于后续进行的池化处理。

    s312:按照门控函数映射的方式,将基础特征矩阵转化成同一大小的基础特征矩阵。

    具体的,通过门控函数映射的方式,即将基础特征矩阵映射到同一大小的区域,从而得到同一大小的基础特征矩阵。

    其中,门控函数映射的方式是指将输入的矩阵映射到同一大小区域后,得到同一大小矩阵。

    s313:对同一大小的基础特征矩阵进行全局最大池化和全局平均池化处理,得到全局最大池化向量和全局平均池化向量,并将全局最大池化向量和全局平均池化向量作为特征向量。

    具体的,全局最大池化来获取全局上下文关系,不以窗口的形式取最大值,而是以特征图谱为单位进行最大值化。全局平均池化来获取全局上下文关系,不以窗口的形式取均值,而是以特征图谱为单位进行均值化。在本实施例中,对同一大小的基础特征矩阵进行全局最大池化和全局平均池化处理,得到全局最大池化向量和全局平均池化向量。

    本实施例中,通过将特征矩阵输入到神经网络模型中,通过自适应感受野注意力模块将特征矩阵转化成感受野的特征矩阵,作为基础特征矩阵,按照门控函数映射的方式,将基础特征矩阵转化成同一大小的基础特征矩阵,对同一大小的基础特征矩阵进行全局最大池化和全局平均池化处理,得到全局最大池化向量和全局平均池化向量,得到特征向量,选择最合适的上下文感受野信息,获得特征向量,从而有利于提供语音端点检测的准确度。

    请参阅图5,图5示出了步骤s32的一种具体实施方式,步骤s31中通过将特征向量输入到全连接层网络中,对特征向量进行归一化处理,得到目标特征矩阵的具体实现过程,详叙如下:

    s321:通过将特征向量输入到全连接层网络中,对应得到最大池化系数向量和平均池化系数向量。

    具体的,上述步骤中,已经取得了全局最大池化向量和全局平均池化向量,通过将其输入到全连接层网络中,可以对应得到应得到最大池化系数向量和平均池化系数向量。

    s322:将最大池化系数向量和平均池化系数向量进行相加,得到系数向量累加值,并对系数向量累加值进行归一化处理,得到归一化系数。

    具体的,对系数向量累加值进行归一化处理,能够得到每个同一大小基础特征矩阵的归一化系数,便于后续将其与同一大小基础特征矩阵进行相乘。

    s323:将归一化系数与同一大小的基础特征矩阵进行相乘,得到目标特征矩阵。

    具体的,将归一化系数与同一大小的基础特征矩阵进行相乘,能够得到注意力映射模块的注意力处理的特征矩阵,即为目标特征矩阵。

    本实施例中,通过将特征向量输入到全连接层网络中,对应得到最大池化系数向量和平均池化系数向量,将最大池化系数向量和平均池化系数向量进行相加,得到系数向量累加值,并对系数向量累加值进行归一化处理,得到归一化系数,将归一化系数与同一大小的基础特征矩阵进行相乘,得到目标特征矩阵,进一步对特征向量进行处理,得到注意力映射模块的注意力处理的特征矩阵,从而实现提高语音端点检测的准确度。

    请参阅图6,图6示出了步骤s34的一种具体实施方式,步骤s34中通过将一维特征向量输入双向短时记忆神经网络模块中,进行语音帧的序列信息进行学习处理,得到预测值的具体实现过程,详叙如下:

    s341:通过将一维特征向量输入双向短时记忆神经网络模块中,对每帧一维特征向量的语音帧的序列信息进行学习处理,得到语音帧结果。

    具体的,通过将一维特征向量输入2层双向短时记忆神经网络模块中,通过2层双向短时记忆神经网络模块对每帧一维特征向量的语音帧的序列信息进行学习处理,最终得到语音帧结果。

    s342:将每帧语音帧结果对应输入到全连接层神经网络分类器中,得到预测值。

    具体的,通过全连接层神经网络分类器对每帧语音帧结果进行分类判别,得到每帧语音的预测值,这些预测将作为与真实语音值进行比较,判断预测值与真实语音值的差距。

    本实施例中,通过将一维特征向量输入双向短时记忆神经网络模块中,对每帧一维特征向量的语音帧的序列信息进行学习处理,得到语音帧结果,将每帧语音帧结果对应输入到全连接层神经网络分类器中,得到预测值,实现预测值的获取,便于后续对神经网络的网络参数进行更新,进而提高语音端点检测的准确度。

    请参阅图7,图7示出了步骤s1的一种具体实施方式,步骤s1中获取样本语音文件,并对样本语音文件进行声学特征提取,得到语音特征的具体实现过程,详叙如下:

    s11:获取样本语音文件,并对语音文件按照预设长度进行分帧处理,得到语音分帧。

    具体的,将获取到的样本语音文件按照预设长度进行切分,即进行分帧处理,得到长度一致的语音分帧。

    需要说明的是,预设长度根据实际情况进行设定,此处不再限定。在一具体实施例中,预设长度为15毫秒。

    s12:根据傅里叶变换的方式,将语音分帧的时域信号转换为频域信号,得到基础语音分帧。

    具体的,分帧处理之后得到的语音分帧,时域信号,为了提取声学fbank特征,需要将时域信号转换为频域信号。而傅里叶变换可以将信号从时域转到频域。其傅里叶变换可以分为连续傅里叶变换和离散傅里叶变换,由于语音分帧属于数字音频,而非模拟音频,所以采用的是离散傅里叶变换,从而得到基础语音分帧。

    s13:选取符合预设频谱范围的基础语音分帧,作为语音特征。

    具体的,计算基础语音分帧的能量谱,再根据能量谱计算梅尔倒频谱,选取选取符合预设频谱范围的基础语音分帧,最后对其进行对数运算,最终得到语音特征。

    其中,梅尔倒频谱(mel-frequencyspectrum,mfc)是一个可用来代表短期音讯的频谱,其原理根基于以非线性的梅尔刻度(melscale)表示的对数频谱(spectrum)及其线性余弦转换(linearcosinetransform)之上。

    需要说明的是,预设频谱范围根据实际情况设定,此处不做限定。

    本实施例中,通过获取样本语音文件,并对语音文件按照预设长度进行分帧处理,得到语音分帧,根据傅里叶变换的方式,将语音分帧的时域信号转换为频域信号,得到基础语音分帧,选取符合预设频谱范围的基础语音分帧,作为语音特征,实现了声学特征提取,便于后续神经网络模型的训练,进而提高语音端点检测的准确度。

    请参阅图8,图8示出了步骤s4的一种具体实施方式,步骤s4中计算预测值与真实语音值的损失函数值,将损失函数值更新神经网络模型参数,得到训练好的神经网络模型的具体实现过程,详叙如下:

    s41:获取样本语音文件的真实语音值。

    具体的,由于样本语音文件中包括真实语音信号和非真实语音信号,为了与后续预测值进行损失函数值计算,判断预测值偏离真实语音值程度。需要先获取真实语音信号,再将真实语音信号进行数值化处理,得到真实语音值。

    s42:计算预测值与真实语音值的损失函数值,并将损失函数值梯度输入神经网络模型中,更新神经网络模型的网络参数。

    具体的,计算预测值与真实语音值的损失函数值,将按照从大到小的顺序,梯度输入神经网络模型中,进行更新神经网络模型的网络参数。

    s43:当损失函数值达到预设阈值时,停止更新神经网络模型的网络参数,得到训练好的神经网络模型。

    具体的,当损失函数值达到预设阈值时,即预测值以及很接近真实语音值,此时停止更新神经网络模型的网络参数,得到训练好的神经网络模型。

    需要说明的是,预设阈值根据实际情况进行设定,此处不做限定。在一具体实施例中,预设阈值为0.005。

    本实施例中,通过获取样本语音文件的真实语音值,计算预测值与真实语音值的损失函数值,并将损失函数值梯度输入神经网络模型中,更新神经网络模型的网络参数,当损失函数值达到预设阈值时,停止更新神经网络模型的网络参数,得到训练好的神经网络模型,实现神经网络模型的训练,便于后续对待检测的语音文件输出预测结果,从而有利于提高语音端点检测的准确度。

    需要强调的是,为进一步保证上述样本语音文件的私密和安全性,上述样本语音文件还可以存储于一区块链的节点中。

    本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等非易失性存储介质,或随机存储记忆体(randomaccessmemory,ram)等。

    请参考图9,作为对上述图2所示方法的实现,本申请提供了一种基于神经网络的语音端点检测装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

    如图9所示,本实施例的基于神经网络的语音端点检测装置包括:语音特征提取模块71、特征矩阵获取模块72、预测值获取模块73、神经网络模型训练模块74、声学特征信息提取模块75及预测结果获取模块76,其中:

    语音特征提取模块71,用于获取样本语音文件,并对样本语音文件进行声学特征提取,得到语音特征,其中,语音特征包含特征信息;

    特征矩阵获取模块72,用于对每帧语音特征进行分配n帧上下文特征信息,得到特征矩阵,其中,n为正整数;

    预测值获取模块73,用于通过神经网络模型对特征矩阵进行特征处理,得到一维特征向量,并对一维特征向量进行语言帧的序列信息的学习处理,得到预测值;

    神经网络模型训练模块74,用于计算预测值与真实语音值的损失函数值,并根据损失函数值更新神经网络模型的网络参数,得到训练好的神经网络模型;

    声学特征信息提取模块75,用于获取待检测的语音文件,并对待检测的语音文件进行声学特征提取,得到待检测的语音文件的语音特征;

    预测结果获取模块76,用于将待检测的语音文件的语音特征输入到训练好的神经网络模型中,得到预测结果。

    进一步的,预测值获取模块73包括:

    特征向量获取单元,用于将特征矩阵输入到神经网络模型中,通过自适应感受野注意力模块对特征矩阵进行向量处理,得到特征向量;

    目标特征矩阵获取单元,用于通过将特征向量输入到全连接层网络中,对特征向量进行归一化处理,得到目标特征矩阵;

    一维特征向量获取单元,用于按照reshape函数的方式,将每帧目标特征矩阵转化成一维向量,得到一维特征向量;

    序列信息学习单元,用于通过将一维特征向量输入双向短时记忆神经网络模块中,进行语音帧的序列信息的学习处理,得到预测值。

    进一步的,特征向量获取单元包括:

    基础特征矩阵获取子单元,用于将特征矩阵输入到神经网络模型中,通过自适应感受野注意力模块将特征矩阵转化成感受野的特征矩阵,作为基础特征矩阵;

    基础特征矩阵转化子单元,用于按照门控函数映射的方式,将基础特征矩阵转化成同一大小的基础特征矩阵;

    基础特征矩阵池化单元,用于对同一大小的基础特征矩阵进行全局最大池化和全局平均池化处理,得到全局最大池化向量和全局平均池化向量,并将全局最大池化向量和全局平均池化向量作为特征向量。

    进一步的,目标特征矩阵获取单元包括:

    特征向量输入子单元,用于通过将特征向量输入到全连接层网络中,对应得到最大池化系数向量和平均池化系数向量;

    归一化系数获取子单元,用于将最大池化系数向量和平均池化系数向量进行相加,得到系数向量累加值,并对系数向量累加值进行归一化处理,得到归一化系数;

    归一化系数处理子单元,用于将归一化系数与同一大小的基础特征矩阵进行相乘,得到目标特征矩阵。

    进一步的,序列信息学习单元包括:

    语音帧结果获取子单元,用于通过将一维特征向量输入双向短时记忆神经网络模块中,对每帧一维特征向量的语音帧的序列信息进行学习处理,得到语音帧结果;

    语音帧输入子单元,用于将每帧语音帧结果对应输入到全连接层神经网络分类器中,得到预测值。

    进一步的,语音特征提取模块71包括:

    语音分帧获取单元,用于获取样本语音文件,并对语音文件按照预设长度进行分帧处理,得到语音分帧;

    基础语音分帧获取单元,用于根据傅里叶变换的方式,将语音分帧的时域信号转换为频域信号,得到基础语音分帧;

    基础语音分帧选取单元,用于选取符合预设频谱范围的基础语音分帧,作为语音特征。

    进一步的,神经网络模型训练模块74包括:

    真实语音值获取单元,用于获取样本语音文件的真实语音值;

    网络参数更新单元,用于计算预测值与真实语音值的损失函数值,并将损失函数值梯度输入神经网络模型中,更新神经网络模型的网络参数;

    网络参数停止更新单元,用于当损失函数值达到预设阈值时,停止更新神经网络模型的网络参数,得到训练好的神经网络模型。

    需要强调的是,为进一步保证上述样本语音文件的私密和安全性,上述样本语音文件还可以存储于一区块链的节点中。

    为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图10,图10为本实施例计算机设备基本结构框图。

    计算机设备8包括通过系统总线相互通信连接存储器81、处理器82、网络接口83。需要指出的是,图中仅示出了具有三种组件存储器81、处理器82、网络接口83的计算机设备8,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。

    计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

    存储器81至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器81可以是计算机设备8的内部存储单元,例如该计算机设备8的硬盘或内存。在另一些实施例中,存储器81也可以是计算机设备8的外部存储设备,例如该计算机设备8上配备的插接式硬盘,智能存储卡(smatmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,存储器81还可以既包括计算机设备8的内部存储单元也包括其外部存储设备。本实施例中,存储器81通常用于存储安装于计算机设备8的操作系统和各类应用软件,例如基于神经网络的语音端点检测方法的程序代码等。此外,存储器81还可以用于暂时地存储已经输出或者将要输出的各类数据。

    处理器82在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器82通常用于控制计算机设备8的总体操作。本实施例中,处理器82用于运行存储器81中存储的程序代码或者处理数据,例如运行一种基于神经网络的语音端点检测方法的程序代码。

    网络接口83可包括无线网络接口或有线网络接口,该网络接口83通常用于在计算机设备8与其他电子设备之间建立通信连接。

    本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,计算机可读存储介质存储有服务器维护程序,服务器维护程序可被至少一个处理器执行,以使至少一个处理器执行如上述的一种基于神经网络的语音端点检测方法的步骤。

    通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例的方法。

    本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

    显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。


    技术特征:

    1.一种基于神经网络的语音端点检测方法,其特征在于,包括:

    获取样本语音文件,并对所述样本语音文件进行声学特征提取,得到语音特征,其中,所述语音特征包含特征信息;

    对每帧所述语音特征进行分配n帧上下文特征信息,得到特征矩阵,其中,n为正整数;

    通过神经网络模型对所述特征矩阵进行特征处理,得到一维特征向量,并对所述一维特征向量进行语音帧的序列信息的学习处理,得到预测值;

    计算所述预测值与真实语音值的损失函数值,并根据所述损失函数值更新神经网络模型的网络参数,得到训练好的神经网络模型;

    获取待检测的语音文件,并对所述待检测的语音文件进行声学特征提取,得到待检测的语音文件的语音特征;

    将所述待检测的语音文件的语音特征输入到所述训练好的神经网络模型中,得到预测结果。

    2.根据权利要求1所述的基于神经网络的语音端点检测方法,其特征在于,所述通过神经网络模型对所述特征矩阵进行特征处理,得到一维特征向量,并对所述一维特征向量进行语言帧的序列信息进行学习处理,得到预测值,包括:

    将所述特征矩阵输入到所述神经网络模型中,通过自适应感受野注意力模块对所述特征矩阵进行向量处理,得到特征向量;

    通过将所述特征向量输入到全连接层网络中,对所述特征向量进行归一化处理,得到目标特征矩阵;

    按照reshape函数的方式,将每帧所述目标特征矩阵转化成一维向量,得到所述一维特征向量;

    通过将所述一维特征向量输入双向短时记忆神经网络模块中,进行语音帧的序列信息的学习处理,得到所述预测值。

    3.根据权利要求2所述的基于神经网络的语音端点检测方法,其特征在于,所述将所述特征矩阵输入到所述神经网络模型中,通过自适应感受野注意力模块对所述特征矩阵进行向量处理,得到特征向量,包括:

    将所述特征矩阵输入到所述神经网络模型中,通过自适应感受野注意力模块将所述特征矩阵转化成感受野的特征矩阵,作为基础特征矩阵;

    按照门控函数映射的方式,将所述基础特征矩阵转化成同一大小的基础特征矩阵;

    对所述同一大小的基础特征矩阵进行全局最大池化和全局平均池化处理,得到全局最大池化向量和全局平均池化向量,并将所述全局最大池化向量和所述全局平均池化向量作为所述特征向量。

    4.根据权利要求3所述的基于神经网络的语音端点检测方法,其特征在于,所述通过将所述特征向量输入到全连接层网络中,对所述特征向量进行归一化处理,得到目标特征矩阵,包括:

    通过将所述特征向量输入到全连接层网络中,对应得到最大池化系数向量和平均池化系数向量;

    将所述最大池化系数向量和所述平均池化系数向量进行相加,得到系数向量累加值,并对所述系数向量累加值进行归一化处理,得到归一化系数;

    将所述归一化系数与所述同一大小的基础特征矩阵进行相乘,得到所述目标特征矩阵。

    5.根据权利要求2所述的基于神经网络的语音端点检测方法,其特征在于,所述通过将所述一维特征向量输入双向短时记忆神经网络模块中,进行语音帧的序列信息进行学习处理,得到所述预测值,包括:

    通过将所述一维特征向量输入双向短时记忆神经网络模块中,对每帧所述一维特征向量的语音帧的序列信息进行学习处理,得到语音帧结果;

    将每帧所述语音帧结果对应输入到全连接层神经网络分类器中,得到所述预测值。

    6.根据权利要求1所述的基于神经网络的语音端点检测方法,其特征在于,所述获取样本语音文件,并对所述样本语音文件进行声学特征提取,得到语音特征,包括:

    获取所述样本语音文件,并对所述语音文件按照预设长度进行分帧处理,得到语音分帧;

    根据傅里叶变换的方式,将所述语音分帧的时域信号转换为频域信号,得到基础语音分帧;

    选取符合预设频谱范围的基础语音分帧,作为所述语音特征。

    7.根据权利要求1所述的基于神经网络的语音端点检测方法,其特征在于,所述计算所述预测值与真实语音值的损失函数值,将所述损失函数值更新神经网络模型参数,得到训练好的神经网络模型,包括:

    获取所述样本语音文件的所述真实语音值;

    计算所述预测值与所述真实语音值的损失函数值,并将所述损失函数值梯度输入所述神经网络模型中,更新所述神经网络模型的网络参数;

    当所述损失函数值达到预设阈值时,停止更新所述神经网络模型的网络参数,得到所述训练好的神经网络模型。

    8.一种基于神经网络的语音端点检测装置,其特征在于,包括:

    语音特征提取模块,用于获取样本语音文件,并对所述样本语音文件进行声学特征提取,得到语音特征,其中,所述语音特征包含特征信息;

    特征矩阵获取模块,用于对每帧所述语音特征进行分配n帧上下文特征信息,得到特征矩阵,其中,n为正整数;

    预测值获取模块,用于通过神经网络模型对所述特征矩阵进行特征处理,得到一维特征向量,并对所述一维特征向量进行语言帧的序列信息的学习处理,得到预测值;

    神经网络模型训练模块,用于计算所述预测值与真实语音值的损失函数值,并根据所述损失函数值更新神经网络模型的网络参数,得到训练好的神经网络模型;

    声学特征信息提取模块,用于获取待检测的语音文件,并对所述待检测的语音文件进行声学特征提取,得到待检测的语音文件的语音特征;

    预测结果获取模块,用于将所述待检测的语音文件的语音特征输入到所述训练好的神经网络模型中,得到预测结果。

    9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的基于神经网络的语音端点检测方法。

    10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的基于神经网络的语音端点检测方法。

    技术总结
    本申请涉及语音检测技术领域,揭露一种基于神经网络的语音端点检测方法、装置、设备及介质,其中方法包括对样本语音文件进行声学特征提取,对每帧语音特征进行分配上下文特征信息,得到特征矩阵,通过神经网络模型对特征矩阵进行特征处理,得到一维特征向量,并对一维特征向量进行语音帧的序列信息进行学习处理,得到预测值;计算预测值与真实语音值的损失函数值,并根据损失函数值更新神经网络模型的网络参数,再通过训练好的神经网络模型输出待检测语音文件的预测结果。本申请还涉及区块链技术,样本语音文件存储于区块链中。本申请通过结合上下文特征信息,训练神经网络模型,有利于提高神经网络的语音端点检测的准确度。

    技术研发人员:郑振鹏;王健宗
    受保护的技术使用者:平安科技(深圳)有限公司
    技术研发日:2020.11.20
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-14489.html

    最新回复(0)