本申请涉及语音识别技术领域,尤其涉及一种说话人识别方法、装置、电子设备及存储介质。
背景技术:
说话人识别是一种通过音频特征判别说话人身份的技术。已有的说话人识别方法大致是使用编码器模型对目标音频文件与待识别音频文件进行编码,再通过比较编码后的向量相似度对目标检测结果进行判定,采用的编码器模型大多是普通的深度神经网络模型,例如cnn(convolutionalneuralnetworks,卷积神经网络)或rnn(recurrentneuralnetwork,循环神经网络)等。
以课堂质量评价的应用场景为例,教师与学生说话的次数与两者之间的交互时长被认为是评价课堂质量好坏的重要指标。通过说话人识别技术,可将课堂内教师与学生各自说话的时间在课堂的时间轴上准确地标记出来,从而获取精确的师生说话次数与时长的统计量。但是应用已有方法提取的特征表达能力较弱,说话人识别结果的准确率偏低。
技术实现要素:
本申请实施例提供一种说话人识别方法、装置、电子设备及存储介质,以解决相关技术存在的问题,技术方案如下:
第一方面,本申请实施例提供了一种说话人识别方法,包括:
获取目标音频文件和待识别音频文件,目标音频文件中包括目标说话人的音频;
将目标音频文件和待识别音频文件分别分割成多个音频单元;
从每个音频单元提取对应的音频特征,得到目标音频文件的音频特征序列和待识别音频文件的音频特征序列;
利用孪生神经网络对目标音频文件的音频特征序列和待识别音频文件的音频特征序列进行特征学习,得到目标音频文件对应的特征向量和待识别音频文件中的多个音频单元各自对应的特征向量;
基于目标音频文件对应的特征向量和待识别音频文件中的多个音频单元各自对应的特征向量,利用基于注意力机制的机器学习模型识别待识别音频文件中属于目标说话人的音频单元。
在一种实施方式中,利用孪生神经网络对目标音频文件的音频特征序列和待识别音频文件的音频特征序列进行特征学习,得到目标音频文件对应的特征向量和待识别音频文件中的多个音频单元各自对应的特征向量,包括:
利用孪生神经网络中的第一神经网络,对目标音频文件的音频特征序列进行特征学习,得到目标音频文件对应的特征向量;以及,利用孪生神经网络中的第二神经网络,对待识别音频文件的音频特征序列进行特征学习,得到待识别音频文件中的多个音频单元各自对应的特征向量。
在一种实施方式中,第一神经网络或第二神经网络包括以下至少一种:深度神经网络、基于门控循环单元gru的双向递归神经网络、基于长短期记忆lstm的双向递归神经网络或基于自注意力模块的序列编码网络。
在一种实施方式中,利用孪生神经网络中的第二神经网络,对待识别音频文件的音频特征序列进行特征学习,得到待识别音频文件中的多个音频单元各自对应的特征向量,包括:
针对待识别音频文件的当前音频单元,分别计算当前音频单元和待识别音频文件中所有音频单元的各自音频特征的相似度,将相似度作为每个音频单元相对当前音频单元对应的权值;
根据权值,将待识别音频文件的音频特征序列中的所有音频单元对应的音频特征加权求和,得到当前音频单元对应的特征向量。
在一种实施方式中,利用孪生神经网络中的第一神经网络,对目标音频文件的音频特征序列进行特征学习,得到目标音频文件对应的特征向量,包括:
针对目标音频文件的当前音频单元,分别计算当前音频单元和目标音频文件中所有音频单元的各自音频特征的相似度,将相似度作为每个音频单元相对当前音频单元对应的权值;
根据权值,将目标音频文件的音频特征序列中的所有音频单元对应的音频特征加权求和,得到当前音频单元对应的特征向量;
将目标音频文件中的所有音频单元对应的特征向量进行平均池化操作,得到目标音频文件对应的特征向量。
在一种实施方式中,基于目标音频文件对应的特征向量和待识别音频文件中的多个音频单元各自对应的特征向量,利用基于注意力机制的机器学习模型识别待识别音频文件中属于目标说话人的音频单元,包括:
基于目标音频文件对应的特征向量和待识别音频文件中的多个音频单元各自对应的特征向量,计算待识别音频文件中的多个音频单元各自的注意力分值;
在注意力分值大于等于预设的判别阈值的情况下,确定待识别音频文件中的音频单元属于目标说话人。
在一种实施方式中,基于目标音频文件对应的特征向量和待识别音频文件中的多个音频单元各自对应的特征向量,计算待识别音频文件中的多个音频单元各自的注意力分值,包括:
将目标音频文件对应的特征向量作为查询向量,将待识别音频文件中的多个音频单元各自对应的特征向量作为键向量,计算查询向量和键向量的内积;
利用sigmoid函数对内积进行归一化处理,得到待识别音频文件中的多个音频单元各自的注意力分值。
在一种实施方式中,将目标音频文件和待识别音频文件分别分割成多个音频单元,包括:
利用语音活动检测模型去除目标音频文件和待识别音频文件中的静音片段;
将去除静音片段的目标音频文件和待识别音频文件分别分割成多个音频单元。
在一种实施方式中,从每个音频单元提取对应的音频特征,得到目标音频文件的音频特征序列和待识别音频文件的音频特征序列,包括:
利用声纹编码模型提取每个音频单元的对应的音频特征;
分别针对目标音频文件和待识别音频文件,将音频特征按时间顺序进行排列,得到目标音频文件的音频特征序列和待识别音频文件的音频特征序列。
在一种实施方式中,上述方法还包括:
在待识别音频文件中,将时间上连续的属于目标说话人的音频单元进行连接,得到属于目标说话人的至少一个说话时间段。
第二方面,本申请实施例提供了一种说话人识别装置,包括:
获取模块,用于获取目标音频文件和待识别音频文件,所述目标音频文件中包括目标说话人的音频;
分割模块,用于将所述目标音频文件和所述待识别音频文件分别分割成多个音频单元;
提取模块,用于从每个所述音频单元提取对应的音频特征,得到目标音频文件的音频特征序列和待识别音频文件的音频特征序列;
学习模块,用于利用孪生神经网络对所述目标音频文件的音频特征序列和所述待识别音频文件的音频特征序列进行特征学习,得到所述目标音频文件对应的特征向量和所述待识别音频文件中的多个音频单元各自对应的特征向量;
识别模块,用于基于所述目标音频文件对应的特征向量和所述待识别音频文件中的多个音频单元各自对应的特征向量,利用基于注意力机制的机器学习模型识别所述待识别音频文件中属于所述目标说话人的音频单元。
在一种实施方式中,所述学习模块包括:
第一学习子模块,用于利用所述孪生神经网络中的第一神经网络,对所述目标音频文件的音频特征序列进行特征学习,得到所述目标音频文件对应的特征向量;以及,
第二学习子模块,用于利用所述孪生神经网络中的第二神经网络,对所述待识别音频文件的音频特征序列进行特征学习,得到待识别音频文件中的多个音频单元各自对应的特征向量。
在一种实施方式中,所述第一神经网络或所述第二神经网络包括以下至少一种:深度神经网络、基于门控循环单元gru的双向递归神经网络、基于长短期记忆lstm的双向递归神经网络或基于自注意力模块的序列编码网络。
在一种实施方式中,所述第二学习子模块具体用于:
针对待识别音频文件的当前音频单元,分别计算当前音频单元和待识别音频文件中所有音频单元的各自音频特征的相似度,将相似度作为每个音频单元相对当前音频单元对应的权值;
根据所述权值,将所述待识别音频文件的音频特征序列中的所有音频单元对应的音频特征加权求和,得到所述当前音频单元对应的特征向量。
在一种实施方式中,所述第一学习子模块具体用于:
针对目标音频文件的当前音频单元,分别计算当前音频单元和目标音频文件中所有音频单元的各自音频特征的相似度,将相似度作为每个音频单元相对当前音频单元对应的权值;
根据所述权值,将所述目标音频文件的音频特征序列中的所有音频单元对应的音频特征加权求和,得到所述当前音频单元对应的特征向量;
将所述目标音频文件中的所有音频单元对应的特征向量进行平均池化操作,得到所述目标音频文件对应的特征向量。
在一种实施方式中,所述识别模块包括:
计算子模块,用于基于所述目标音频文件对应的特征向量和所述待识别音频文件中的多个音频单元各自对应的特征向量,计算所述待识别音频文件中的多个音频单元各自的注意力分值;
确定子模块,用于在所述注意力分值大于等于预设的判别阈值的情况下,确定所述待识别音频文件中的音频单元属于所述目标说话人。
在一种实施方式中,所述计算子模块具体用于:
将所述目标音频文件对应的特征向量作为查询向量,将所述待识别音频文件中的多个音频单元各自对应的特征向量作为键向量,计算所述查询向量和所述键向量的内积;
利用sigmoid函数对所述内积进行归一化处理,得到所述待识别音频文件中的多个音频单元各自的注意力分值。
在一种实施方式中,所述分割模块包括:
去除子模块:用于利用语音活动检测模型去除所述目标音频文件和所述待识别音频文件中的静音片段;
分割子模块,用于将去除静音片段的目标音频文件和待识别音频文件分别分割成多个音频单元。
在一种实施方式中,所述提取模块,包括:
提取子模块,用于利用声纹编码模型提取每个所述音频单元的对应的音频特征;
排列子模块,用于分别针对所述目标音频文件和所述待识别音频文件,将所述音频特征按时间顺序进行排列,得到所述目标音频文件的音频特征序列和所述待识别音频文件的音频特征序列。
在一种实施方式中,所述装置还包括:
连接模块,用于在所述待识别音频文件中,将时间上连续的属于所述目标说话人的音频单元进行连接,得到属于所述目标说话人的至少一个说话时间段。
第三方面,本申请实施例提供了一种电子设备,该设备包括:存储器和处理器。其中,该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且当该处理器执行该存储器存储的指令时,使得该处理器执行上述各方面任一种实施方式中的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储计算机程序,当计算机程序在计算机上运行时,上述各方面任一种实施方式中的方法被执行。
上述技术方案中的优点或有益效果至少包括:本申请实施例利用孪生神经网络对音频文件的音频特征序列进行特征学习,可充分利用长段音频文件中前后语音信号的连续信息帮助模型取得更为精确的识别结果,在此基础上利用基于注意力分的说话人角色判断结构进一步提升说话人识别的准确率。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本申请进一步的方面、实施方式和特征将会是容易理解的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请公开的一些实施方式,而不应将其视为是对本申请范围的限制。
图1为根据本申请实施例的说话人识别方法的流程图;
图2为根据本申请另一实施例的说话人识别方法的流程图;
图3为根据本申请又一实施例的说话人识别方法的第二神经网络的处理流程图;
图4为根据本申请另一实施例的说话人识别方法的第一神经网络的处理流程图;
图5为根据本申请另一实施例的说话人识别方法的基于注意力机制的机器学习模型的处理流程图;
图6为根据本申请另一实施例的说话人识别方法的基于注意力机制的机器学习模型的处理流程图;
图7为根据本申请另一实施例的说话人识别方法的预测结果示意图;
图8为根据本申请实施例的说话人识别装置的结构示意图;
图9为根据本申请实施例的说话人识别装置的学习模块的结构示意图;
图10为根据本申请实施例的说话人识别装置的识别模块的结构示意图;
图11为根据本申请实施例的说话人识别装置的分割模块的结构示意图;
图12为根据本申请实施例的说话人识别装置的提取模块的结构示意图;
图13为根据本申请另一实施例的说话人识别装置的结构示意图;
图14为用来实现本申请实施例的电子设备的框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
图1为根据本申请实施例的说话人识别方法的流程图。如图1所示,该说话人识别方法可以包括:
步骤s101,获取目标音频文件和待识别音频文件,目标音频文件中包括目标说话人的音频;
步骤s102,将目标音频文件和待识别音频文件分别分割成多个音频单元;
步骤s103,从每个音频单元提取对应的音频特征,得到目标音频文件的音频特征序列和待识别音频文件的音频特征序列;
步骤s104,利用孪生神经网络对目标音频文件的音频特征序列和待识别音频文件的音频特征序列进行特征学习,得到目标音频文件对应的特征向量和待识别音频文件中的多个音频单元各自对应的特征向量;
步骤s105,基于目标音频文件对应的特征向量和待识别音频文件中的多个音频单元各自对应的特征向量,利用基于注意力机制的机器学习模型识别待识别音频文件中属于目标说话人的音频单元。
孪生神经网络可以由两个网络结构相同并且权值共享的神经网络组成。这两个神经网络分别将各自的输入映射到新的空间,形成输入信息在新的空间的表示,将输入信息转换为向量。传统的说话人识别方法通常是针对音频文件的每个小段的编码逐一进行比较。这样的比较方法损失了音频文件前后小段的序列信息。传统方法具体存在如下技术缺陷:
1)在对目标音频文件进行编码的时候,通常会将目标音频文件切成等时间长度的小段,之后取每个小段的平均作为目标音频文件的编码结果。这种取小段平均的方式会减弱特征的表达能力,对后续的相似度计算存在消极的影响。
2)在处理待识别音频文件的时候也是将音频切分成为等长的小段,再用每个小段的编码与目标音频文件的编码结果进行一一比较。这样的比较损失了待识别音频文件前后小段的序列信息,因此对后续的相似度计算也存在一定的消极影响。
本申请实施例利用孪生神经网络对目标音频文件的音频特征序列和待识别音频文件的音频特征序列进行特征学习,可充分利用长段音频文件中前后语音信号的连续信息帮助模型取得更为精确的识别结果。
以课堂质量评价的应用场景为例,通过说话人识别技术,可识别出课堂现场录音中的每个音频单元是否属于教师,将课堂内教师与学生各自说话的时间在课堂的时间轴上准确地标记出来,从而获取精确的师生说话次数与时长的统计量。
仍以课堂质量评价的应用场景作为示例,在步骤s101中获取目标音频文件和待识别音频文件。其中,目标说话人可以是教师。可预先录制教师在任意场合发言的录音,作为目标音频文件。参见图2中的(教师语音样本(teachervocalsample)表示目标音频文件。可将课堂现场录音作为待识别音频文件。参见图2中的(课堂现场录音(classroomrecording)表示待识别音频文件。在步骤s102中,可使用预设的固定长度的滑窗将作为目标音频文件的教师语音样本和作为待识别音频文件的课堂现场录音分别分割成多个音频单元。
在一种实施方式中,图1中的步骤s102,将目标音频文件和待识别音频文件分别分割成多个音频单元,具体可包括:
利用语音活动检测模型去除目标音频文件和待识别音频文件中的静音片段;
将去除静音片段的目标音频文件和待识别音频文件分别分割成多个音频单元。
参见图2的示例,在步骤s102中,可将教师语音样本和课堂现场录音输入到特征抽取模块(featureextraction)中。在特征抽取模块中,首先将教师语音样本和课堂现场录音输入vad(voiceactivitydetection,语音活动检测)模型,利用语音活动检测模型去除教师语音样本和课堂现场录音中的静音片段,得到两类输入音频中各自的音频片段。其中,vad又称说话区间检测、语音端点检测或语音边界检测。通过vad可从声音信号流里识别和消除长时间的静音期。
在图2所示的片段(segments)中,标号为1的音频片段表示静音片段(novoiceornoise)。图2中的windows表示预设滑窗。如图2所示,针对教师语音样本和课堂现场录音中去除静音片段后的音频片段,使用固定长度的滑窗将每段音频片段分割成为更细小的音频单元。其中,标号2表示声音角色属于教师的音频片段和音频单元(teachertalk);标号3表示声音角色属于学生的音频片段和音频单元(studenttalk)。
在一种实施方式中,图1中的步骤s103,从每个音频单元提取对应的音频特征,得到目标音频文件的音频特征序列和待识别音频文件的音频特征序列,具体可包括:
利用声纹编码模型提取每个音频单元的对应的音频特征;
分别针对目标音频文件和待识别音频文件,将音频特征按时间顺序进行排列,得到目标音频文件的音频特征序列和待识别音频文件的音频特征序列。
参见图2的示例,在步骤s103中,针对每个音频单元,使用预训练得到的声纹编码模型提取每个单元的对应音频特征。在一个示例中,该音频特征的维度可以是64维。在得到每个音频单元的音频特征之后,将这些音频特征按其出现的时间顺序进行排列,分别得到教师语音样本的音频特征序列和课堂现场录音的音频特征序列。图2中的预训练模型的语音特征表示(pre-trainvoicereps.)表示特征抽取模块的输出结果。
在一种实施方式中,图1中的步骤s104,利用孪生神经网络对目标音频文件的音频特征序列和待识别音频文件的音频特征序列进行特征学习,得到目标音频文件对应的特征向量和待识别音频文件中的多个音频单元各自对应的特征向量,具体可包括:
利用孪生神经网络中的第一神经网络,对目标音频文件的音频特征序列进行特征学习,得到目标音频文件对应的特征向量;以及,利用孪生神经网络中的第二神经网络,对待识别音频文件的音频特征序列进行特征学习,得到待识别音频文件中的多个音频单元各自对应的特征向量。
本申请实施例中的孪生神经网络可包括第一神经网络和第二神经网络。其中第一神经网络和第二神经网络的输入信息分别是目标音频文件的音频特征序列和待识别音频文件的音频特征序列。在一个示例中,音频特征序列是按时间顺序进行排列的每个所述音频单元的对应的音频特征。第二神经网络针对待识别音频文件中的每个音频单元得到输出结果,其输出结果为待识别音频文件中的多个音频单元各自对应的特征向量。第一神经网络针对目标音频文件的整体特征进行学习得到输出结果,其输出结果为目标音频文件对应的特征向量。
在一种实施方式中,第一神经网络或第二神经网络包括以下至少一种:深度神经网络、基于门控循环单元gru(gatedrecurrentunit)的双向递归神经网络、基于长短期记忆lstm(longshort-termmemory)的双向递归神经网络或基于自注意力(self-attention)模块的序列编码网络。
参见图2的示例,图2中的特征学习模块(representationlearning)中,将来自教师语音样本和课堂现场录音的滑窗级别的语音特征(window-levelvocalreps.)分别输入孪生神经网络的第一神经网络和第二神经网络中。如图2所示,第一神经网络或第二神经网络包括以下至少一种:dnn(deepneuralnetworks,深度神经网络)、bigru(bidirectiongatedrecurrentunit,基于门控循环单元的双向递归神经网络)、bilstm(bi-directionallstm,基于长短期记忆的双向递归神经网络)或transformer(转换器,基于自注意力模块的序列编码网络)。
图3为根据本申请又一实施例的说话人识别方法的第二神经网络的处理流程图。如图3所示,在一种实施方式中,利用孪生神经网络中的第二神经网络,对待识别音频文件的音频特征序列进行特征学习,得到待识别音频文件中的多个音频单元各自对应的特征向量,具体可包括:
步骤s301,针对待识别音频文件的当前音频单元,分别计算当前音频单元和待识别音频文件中所有音频单元的各自音频特征的相似度,将相似度作为每个音频单元相对当前音频单元对应的权值;
步骤s302,根据权值,将待识别音频文件的音频特征序列中的所有音频单元对应的音频特征加权求和,得到当前音频单元对应的特征向量。
在一个示例中,待识别音频文件的音频特征序列中包括n个音频单元,记为v1、v2、…、vn。则分别计算当前音频单元和待识别音频文件的音频特征序列中的所有音频单元中的每个音频单元的相似度。具体可计算当前音频单元和待识别音频文件中所有音频单元的各自音频特征的相似度。
例如当前音频单元为v1,则计算v1与v1、v1与v2、v1与v3、…、v1与vn的相似度,记为v11、v12、v13、…、v1n。将v11、v12、v13、…、v1n做归一化处理后得到v11′、v12′、v13′、…、v1n′。将v11′作为v1对应的权值、将v12′作为v2对应的权值、将v13′作为v3对应的权值、…,以及将v1n′作为vn对应的权值。再将待识别音频文件的音频特征序列中的所有音频单元对应的音频特征加权求和,得到当前音频单元v1对应的特征向量:
a1=v11'v1+v12'v2+v13'v3+…+v1n'vn
再如当前音频单元为v2,则计算v2与v1、v2与v2、v2与v3、…、v2与vn的相似度,记为v21、v22、v23、…、v2n。将v21、v22、v23、…、v2n做归一化处理后得到v21′、v22′、v23′、…、v2n′。将v21′作为v1对应的权值、将v22′作为v2对应的权值、将v23′作为v3对应的权值、…,以及将v2n′作为vn对应的权值。再将待识别音频文件的音频特征序列中的所有音频单元对应的音频特征加权求和,得到当前音频单元v2对应的特征向量:
a2=v21′v1+v22′v2+v23′v3+…+v2n′vn
在图2所示的示例中,待识别音频文件为课堂现场录音。图2中的课堂现场录音的序列特征(classroomsequentialreps.)表示第二神经网络的输出结果为课堂现场录音中音频单元对应的特征向量。
图4为根据本申请另一实施例的说话人识别方法的第一神经网络的处理流程图。如图4所示,在一种实施方式中,利用孪生神经网络中的第一神经网络,对目标音频文件的音频特征序列进行特征学习,得到目标音频文件对应的特征向量,具体可包括:
步骤s401,针对目标音频文件的当前音频单元,分别计算当前音频单元和目标音频文件中所有音频单元的各自音频特征的相似度,将相似度作为每个音频单元相对当前音频单元对应的权值;
步骤s402,根据权值,将目标音频文件的音频特征序列中的所有音频单元对应的音频特征加权求和,得到当前音频单元对应的特征向量;
步骤s403,将目标音频文件中的所有音频单元对应的特征向量进行平均池化操作,得到目标音频文件对应的特征向量。
在一个示例中,目标音频文件的音频特征序列中包括m个音频单元,记为u1、u2、…、um。则分别计算当前音频单元和目标音频文件的音频特征序列中的所有音频单元中的每个音频单元的相似度。具体可计算当前音频单元和目标音频文件中所有音频单元的各自音频特征的相似度。
例如当前音频单元为u1,则计算u1与u1、u1与u2、u1与u3、…、u1与um的相似度,记为u11、u12、u13、…、u1m。将u11、u12、u13、…、u1m做归一化处理后得到u11′、u12′、u13′、…、u1m′。将u11′作为u1对应的权值、将u12′作为u2对应的权值、将u13′作为u3对应的权值、…,以及将u1m′作为um对应的权值。再将目标音频文件的音频特征序列中的所有音频单元对应的音频特征加权求和,得到当前音频单元u1对应的特征向量:
b1=u11′u1+u12′u2+u13′u3+…+u1m′um
再如当前音频单元为u2,则计算u2与u1、u2与u2、u2与u3、…、u2与um的相似度,记为u21、u22、u23、…、u2m。将u21、u22、u23、…、u2m做归一化处理后得到u21′、u22′、u23′、…、u2m′。将u21′作为u1对应的权值、将u22′作为u2对应的权值、将u23′作为u3对应的权值、…,以及将u2m′作为um对应的权值。再将目标音频文件的音频特征序列中的所有音频单元对应的音频特征加权求和,得到当前音频单元u2对应的特征向量:
b2=u21′u1+u22′u2+u23′u3+…+u2m′um
最后,将目标音频文件中的所有音频单元对应的特征向量b1、b2、…bn进行平均池化操作,得到目标音频文件对应的特征向量。
池化过程是一个降维过程。比如将一个矩阵中每个2×2的子矩阵通过平均池化,即取子矩阵中所有元素的平均值的方法,将子矩阵化简为一个值。上述过程称为经过了2×2的池化。通过池化层可在神经网络上减小特征空间维度。
在图2所示的示例中,目标音频文件为教师语音样本。将目标音频文件中的所有音频单元对应的特征向量进行平均池化(meanpooling)操作。图2中的第一神经网络的输出结果为教师语音样本的聚合特征(teacher′saggregatedreps.)。教师语音样本的聚合特征是对教师语音样本中所有音频单元对应的特征向量进行平均池化操作后,得到的鲁棒性增强的特征向量。
本申请实施例中,将目标音频文件中的所有音频单元对应的特征向量进行平均池化操作,最终得到了一个鲁棒性较强的目标音频文件对应的特征向量,能够更好地表征目标说话人的音频特征。
在一种实施方式中,第一神经网络和第二神经网络可以采用transformer(转换器,基于自注意力模块的序列编码网络)。在transformer中利用注意力机制计算目标音频文件对应的特征向量和待识别音频文件中的多个音频单元各自对应的特征向量。注意力机制可包括由一个查询向量(query)到一系列的键向量key-值向量value对的映射。注意力机制输出结果的计算过程是通过对value进行加权求和来得到,每一个value所对应的权值是由query和key计算得到。
在这种实施方式中,将目标音频文件和待识别音频文件的音频特征序列分别输入孪生神经网络的transfomer之后,在每个transfomer的处理流程中,首先利用三个特征提取层针对音频特征序列进行特征提取,再利用三个全连接层分别产生查询向量query、键向量key和值向量value。在一个示例中,查询向量query、键向量key和值向量value中的任意两个向量彼此互不相等。用于产生以上三个向量的三个全连接层的参数互不相同。
在之前的处理流程中,利用预设滑窗将目标音频文件和待识别音频文件分别分割成多个音频单元。每个窗口对应一个音频单元。在目标音频文件和待识别音频文件中,上述key表示每个窗口对应的键向量,query表示当前查询窗口对应的查询向量。将query和所有音频单元中的每个音频单元对应的key进行相似度计算得到每个音频单元相对当前查询窗口对应的权重,常用的相似度函数包括点积等。然后可使用一个softmax函数对上述权重进行归一化处理。最后将所有音频单元对应的权重和对应的value进行加权求和,得到当前查询窗口对应的特征向量。其中,sigmoid是一个非线性变换函数:f(x)=1/(1+e^-x)。
在待识别音频文件和目标音频文件中,当前查询窗口对应于当前音频单元。将目标音频文件和待识别音频文件的音频特征序列分别输入孪生神经网络的transfomer之后,可得到待识别音频文件的当前音频单元对应的特征向量和目标音频文件的当前音频单元对应的特征向量。根据上述方法分别遍历待识别音频文件和目标音频文件中的所有音频单元,可得到所有音频单元对应的特征向量。然后再将目标音频文件中的所有音频单元对应的特征向量进行平均池化操作,得到所述目标音频文件对应的特征向量。
本申请实施例中,在以上各种形式的加权求和计算中,以音频单元之间的相似度作为权值,使得最终得到的音频单元对应的特征向量融合了音频文件中其他音频单元的音频特征。通过以上各种形式的加权求和计算,使得目标音频文件的音频特征序列和待识别音频文件的音频特征序列经过孪生神经网络结构的处理后,音频特征序列中每个音频单元的特征被前后音频单元内的特征所加强,其特征表达能力得到了加强。将本申请实施例的方法与现有技术相比较可知,现有技术中针对音频文件的每个小段的编码独立比对,损失了音频文件前后小段的序列信息。本申请实施例中充分利用长段音频文件中前后语音信号的连续信息,帮助模型取得更为精确的识别结果。
图5为根据本申请另一实施例的说话人识别方法的基于注意力机制的机器学习模型的处理流程图。如图5所示,在一种实施方式中,图1中的步骤s105,基于目标音频文件对应的特征向量和待识别音频文件中的多个音频单元各自对应的特征向量,利用基于注意力机制的机器学习模型识别待识别音频文件中属于目标说话人的音频单元,具体可包括:
步骤s501,基于目标音频文件对应的特征向量和待识别音频文件中的多个音频单元各自对应的特征向量,计算待识别音频文件中的多个音频单元各自的注意力分值;
步骤s502,在注意力分值大于等于预设的判别阈值的情况下,确定待识别音频文件中的音频单元属于目标说话人。
图6为根据本申请另一实施例的说话人识别方法的基于注意力机制的机器学习模型的处理流程图。如图6所示,在一种实施方式中,图5中的步骤s501,基于目标音频文件对应的特征向量和待识别音频文件中的多个音频单元各自对应的特征向量,计算待识别音频文件中的多个音频单元各自的注意力分值,包括:
步骤s601,将目标音频文件对应的特征向量作为查询向量,将待识别音频文件中的多个音频单元各自对应的特征向量作为键向量,计算查询向量和键向量的内积;
步骤s602,利用sigmoid函数对内积进行归一化处理,得到待识别音频文件中的多个音频单元各自的注意力分值。
本申请实施例中,基于注意力机制的机器学习模型中,注意力分值根据查询向量query和键向量key计算得到。仍以课堂质量评价的应用场景为例,将教师语音样本对应的特征向量作为查询向量query,将课堂现场录音中的多个音频单元中各自对应的特征向量作为键向量key,将查询向量和键向量作内积计算。再利用sigmoid函数对内积计算的结果进行归一化处理,得到课堂现场录音中的多个音频单元各自的注意力分值。其中,sigmoid是一个非线性变换函数:f(x)=1/(1+e^-x)。
在计算得到注意力分值后,可根据预设的判别阈值判断待识别音频文件中的音频单元是否属于教师。例如,预设的判别阈值为0.5。则当课堂现场录音中的某个音频单元的注意力分值大于等于0.5时,机器学习模型将判断该音频单元的声音角色属于教师;当课堂现场录音中的某个音频单元的注意力分值小于0.5时,则机器学习模型判断该音频单元的声音角色属于学生。
参见图2的示例,在基于注意力机制的机器学习预测模块(attentionalprediction)中,将教师语音样本的聚合特征(teacher′saggregatedreps.)和课堂现场录音的序列特征(classroomsequentialreps.)输入到基于注意力机制的预测模型(attentionalprediction)中,得到滑窗级别的检测结果(window-leveldetectionresults)。
在一种实施方式中,上述方法还包括:在待识别音频文件中,将时间上连续的属于目标说话人的音频单元进行连接,得到属于目标说话人的至少一个说话时间段。
经过以上处理过程识别出属于教师的音频单元,然后将属于相同角色且时间上连续的音频单元进行连接,得到了整段课堂现场录音中的教师与学生说话时间段的区间。
在一个示例中,利用滑窗将课堂现场录音分割成音频单元之后,可记录每个音频单元的语音序号,也就是标记每个音频单元对应于第几个滑窗窗口,并且记录每个音频单元在课堂现场录音中对应的开始时间。然后利用本申请实施例的说话人识别方法识别出属于教师的音频单元。通过使用预先标记的语音序号及记录的对应的开始时间,将属于教师且时间上连续的音频单元进行连接,得到课堂现场录音中的教师说话时间段。
图7为根据本申请另一实施例的说话人识别方法的预测结果示意图。如图7所示,通过使用预先标记的语音序号及记录的对应的开始时间,将每个说话时间段在课堂现场录音的时间轴上标记为不同颜色,最终结果的形式呈现如图7所示。在图7中,“目标说话”表示与教师对应的说话时间段;“非目标说话”表示与学生对应的说话时间段。
本申请实施例利用孪生神经网络对音频文件的音频特征序列进行特征学习,可充分利用长段音频文件中前后语音信号的连续信息帮助模型取得更为精确的识别结果,在此基础上利用基于注意力分的说话人角色判断结构进一步提升说话人识别的准确率。
图8为根据本申请实施例的说话人识别装置的结构示意图。如图8所示,该装置可以包括:
获取模块100,用于获取目标音频文件和待识别音频文件,所述目标音频文件中包括目标说话人的音频;
分割模块200,用于将所述目标音频文件和所述待识别音频文件分别分割成多个音频单元;
提取模块300,用于从每个所述音频单元提取对应的音频特征,得到目标音频文件的音频特征序列和待识别音频文件的音频特征序列;
学习模块400,用于利用孪生神经网络对所述目标音频文件的音频特征序列和所述待识别音频文件的音频特征序列进行特征学习,得到所述目标音频文件对应的特征向量和所述待识别音频文件中的多个音频单元各自对应的特征向量;
识别模块500,用于基于所述目标音频文件对应的特征向量和所述待识别音频文件中的多个音频单元各自对应的特征向量,利用基于注意力机制的机器学习模型识别所述待识别音频文件中属于所述目标说话人的音频单元。
图9为根据本申请实施例的说话人识别装置的学习模块的结构示意图。如图9所示,在一些实施方式中,学习模块400包括:
第一学习子模块410,用于利用所述孪生神经网络中的第一神经网络,对所述目标音频文件的音频特征序列进行特征学习,得到所述目标音频文件对应的特征向量;以及,
第二学习子模块420,用于利用所述孪生神经网络中的第二神经网络,对所述待识别音频文件的音频特征序列进行特征学习,得到待识别音频文件中的多个音频单元各自对应的特征向量;
在一种实施方式中,第一神经网络或第二神经网络包括以下至少一种:深度神经网络、基于门控循环单元gru的双向递归神经网络、基于长短期记忆lstm的双向递归神经网络或基于自注意力模块的序列编码网络。
在一些实施方式中,第二学习子模块420具体用于:
针对待识别音频文件的当前音频单元,分别计算当前音频单元和待识别音频文件中所有音频单元的各自音频特征的相似度,将相似度作为每个音频单元相对当前音频单元对应的权值;
根据所述权值,将所述待识别音频文件的音频特征序列中的所有音频单元对应的音频特征加权求和,得到所述当前音频单元对应的特征向量。
在一些实施方式中,第一学习子模块410具体用于:
针对目标音频文件的当前音频单元,分别计算当前音频单元和目标音频文件中所有音频单元的各自音频特征的相似度,将相似度作为每个音频单元相对当前音频单元对应的权值;
根据所述权值,将所述目标音频文件的音频特征序列中的所有音频单元对应的音频特征加权求和,得到所述当前音频单元对应的特征向量;
将所述目标音频文件中的所有音频单元对应的特征向量进行平均池化操作,得到所述目标音频文件对应的特征向量。
图10为根据本申请实施例的说话人识别装置的识别模块的结构示意图。如图10所示,在一些实施方式中,识别模块500包括:
计算子模块510,用于基于所述目标音频文件对应的特征向量和所述待识别音频文件中的多个音频单元各自对应的特征向量,计算所述待识别音频文件中的多个音频单元各自的注意力分值;
确定子模块520,用于在所述注意力分值大于等于预设的判别阈值的情况下,确定所述待识别音频文件中的音频单元属于所述目标说话人。
在一些实施方式中,计算子模块510具体用于:
将所述目标音频文件对应的特征向量作为查询向量,将所述待识别音频文件中的多个音频单元各自对应的特征向量作为键向量,计算所述查询向量和所述键向量的内积;
利用sigmoid函数对所述内积进行归一化处理,得到所述待识别音频文件中的多个音频单元各自的注意力分值。
图11为根据本申请实施例的说话人识别装置的分割模块的结构示意图。如图11所示,在一些实施方式中,分割模块200包括:
去除子模块210:用于利用语音活动检测模型去除所述目标音频文件和所述待识别音频文件中的静音片段;
分割子模块220,用于将去除静音片段的目标音频文件和待识别音频文件分别分割成多个音频单元。
图12为根据本申请实施例的说话人识别装置的提取模块的结构示意图。如图12所示,在一些实施方式中,提取模块300,包括:
提取子模块310,用于利用声纹编码模型提取每个所述音频单元的对应的音频特征;
排列子模块320,用于分别针对所述目标音频文件和所述待识别音频文件,将所述音频特征按时间顺序进行排列,得到所述目标音频文件的音频特征序列和所述待识别音频文件的音频特征序列。
图13为根据本申请另一实施例的说话人识别装置的结构示意图。如图13所示,在一些实施方式中,说话人识别装置还包括:
连接模块600,用于在所述待识别音频文件中,将时间上连续的属于所述目标说话人的音频单元进行连接,得到属于所述目标说话人的至少一个说话时间段。
本发明实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
在其他一些实施方式中,本实施例还提供一种电子设备,其包括处理器和存储器,存储器中存储指令,指令由处理器加载并执行,以实现如上述实施例的方法。
在其他一些实施方式中,本实施例还提供一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现如上述实施例的方法。
图14为用来实现本申请实施例的电子设备的框图。如图14所示,该电子设备包括:存储器910和处理器920,存储器910内存储有可在处理器920上运行的计算机程序。处理器920执行该计算机程序时实现上述实施例中的说话人识别方法。存储器910和处理器920的数量可以为一个或多个。
该电子设备还包括:
通信接口930,用于与外界设备进行通信,进行数据交互传输。
如果存储器910、处理器920和通信接口930独立实现,则存储器910、处理器920和通信接口930可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(industrystandardarchitecture,isa)总线、外部设备互连(peripheralcomponentinterconnect,pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器910、处理器920及通信接口930集成在一块芯片上,则存储器910、处理器920及通信接口930可以通过内部接口完成相互间的通信。
本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现本申请实施例中提供的方法。
本申请实施例还提供了一种芯片,该芯片包括,包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本申请实施例提供的方法。
本申请实施例还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行申请实施例提供的方法。
应理解的是,上述处理器可以是中央处理器(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advancedriscmachines,arm)架构的处理器。
进一步地,可选的,上述存储器可以包括只读存储器和随机存取存储器,还可以包括非易失性随机存取存储器。该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以包括只读存储器(read-onlymemory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、电可擦除可编程只读存储器(electricallyeprom,eeprom)或闪存。易失性存储器可以包括随机存取存储器(randomaccessmemory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用。例如,静态随机存取存储器(staticram,sram)、动态随机存取存储器(dynamicrandomaccessmemory,dram)、同步动态随机存取存储器(synchronousdram,sdram)、双倍数据速率同步动态随机存取存储器(doubledatadatesdram,ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,esdram)、同步连接动态随机存取存储器(synchlinkdram,sldram)和直接内存总线随机存取存储器(directrambusram,drram)。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。