基于长短时记忆神经网络的说话人分段标注方法及装置与流程

文档序号:20154282发布日期:2020-03-24 20:24阅读:229来源:国知局
基于长短时记忆神经网络的说话人分段标注方法及装置与流程

本发明属于计算机听觉以及人工智能技术领域,涉及一种听觉场景下的说话人转换检测、语音特征空间建模以及分段标注方法,具体涉及一种基于双向长短时记忆网络模型的说话人转换检测及语音分段标注方法。



背景技术:

在当前机器学习技术及计算机硬件性能高速提升的情况下,近年来计算机视觉、自然语言处理和语音检测等应用领域取得了突破性进展。说话人分段标注作为计算机语音处理中的一项基础任务,其记录精度得到了大幅提升。

说话人分段标注任务可分为两个个关键的子任务:说话人转换检测和语音特征空间建模。

其中,说话人转换检测任务负责找出输入的语音片段中是否存在待检测的说话人转换点,其输出为一系列置信度标签,表示这些转换发生的时间点,据此可将语音分割为多个主要含有同一个说话人的片段;语音特征空间建模负责生成能够区分足够多的说话人语音特征的特征空间,建立映射关系,对来自于不同说话人的声音特征片段能够有效区分,即生成属于每个说话人的d-vector。

说话人分段标注或说话人记录对于计算机声学领域和实际应用领域具有重要意义过去几十年里激励大批研究人员密切关注并投入研究。随着强劲的机器学习理论和特征分析技术的发展,近年来计算机声学和说话人分割等课题相关的研究活动有增无减,每年都有最新的研究成果和实际应用发表和公布。不仅如此,说话人分割也被应用到很多实际任务,例如智能人机交互、敏感人员特征识别、智能会议记录等。然而,现有技术的多种说话人分割记录方法的检测准确率仍然较低而不能应用于实际通用的检测任务。因此,目标检测还远未被完美解决,仍旧是重要的挑战性的研究课题。

为了提高说话人记录的准确率,目前常用的方法是增加检测模型训练时的训练数据和使用无监督聚类方法实现每个说话人的片段截取。然而,一方面,收集大量的训练数据是一件极其困难的工作,数据量增多也导致模型训练时间延长,另一方面,现有方法使用的聚类方法由于自身存在无法适配生成的说话人特征空间等问题,分段以及记录的精度会受到影响。



技术实现要素:

为解决上述问题,提供一种结构简单、训练消耗少、不需依赖聚类算法,同时还具有高识别准确率的说话人记录方法,本发明采用了如下技术方案:

本发明提供了一种基于长短时记忆深度神经网络的说话人分段标注方法,其特征在于,采用基于长短时记忆深度神经网络的说话人识别样本标注模型从待测音频中检测出每个说话人语音出现和持续的时间,包括:步骤s1,对待测音频进行预处理获得音频帧级特征f1和音频帧级特征f2,音频帧级特征f1为说话人转换检测所需数据,音频帧级特征f2为说话人声纹特征建模所需数据;步骤s2,搭建基于长短时记忆深度神经网络的说话人识别样本标注模型,该说话人样本标注模型包括说话人转换检测子模型以及说话人特征建模子模型;步骤s3,将包含多组说话人转换训练音频的训练集输入搭建好的说话人转换检测子模型进行训练,并将包含多组说话人特征建模训练音频的训练即输入说话人特征建模子模型进行模型训练;步骤s4,将音频帧级特征f1以及音频帧级特征f2输入基于长短时记忆深度神经网络的说话人识别样本标注模型从而完成待测音频中各个说话人的说话时间段的分类记录,其中,步骤s4包括如下子步骤:步骤s4-1,将音频帧级特征f1输入说话人转换检测子模型从而识别出待测音频中的说话人转换点的时间点;步骤s4-2,根据时间点从音频帧级特征f2中裁剪出单个说话人的特征片段;步骤s4-3,将特征片段输入说话人特征建模子模型从而生成每个特征片段的特征向量;步骤s4-4,根据特征向量间的余弦相似度将每个特征片段对应分配给某个已存储或新建的说话人信息,从而根据特征片段与时间点记录每个说话时间段以及对应的说话人。

本发明提供的基于长短时记忆深度神经网络的说话人分段标注方法,还可以具有这样的技术特征,其中,步骤s1包括如下子步骤:步骤s1-1,对待测音频进行梅尔频率倒谱系数运算、mfcc一阶导数以及mfcc二阶导数的运算,进一步将每一帧的三个运算结果合并形成融合特征并作为各帧的音频帧级特征f1;步骤s1-2,对待测音频进行对数梅尔滤波器组的运算,并将运算结果作为各帧的音频帧级特征f2。

本发明提供的基于长短时记忆深度神经网络的说话人分段标注方法,还可以具有这样的技术特征,其中,步骤s3包括如下子步骤:步骤s3-1,初始化说话人识别样本标注模型,该说话人识别样本标注模型所包含的模型参数为随机设置;步骤s3-2,将相应的训练集分别输入说话人转换检测子模型以及说话人特征建模子模型从而进行一次迭代;步骤s3-3,分别根据说话人转换检测子模型以及说话人特征建模子模型的模型参数计算出各自的损失误差,说话人转换检测子模型使用的是对数交叉熵损失函数,说话人特征建模子模型使用自定义的生成式端到端损失函数;步骤s3-4,将说话人转换检测子模型以及说话人特征建模子模型各自的损失误差分别反向传播从而更新模型参数;步骤s3-5,重复步骤s3-2至s3-4直至达到训练完成条件,从而得到训练好的说话人识别样本标注模型。

本发明还提供了一种基于长短时记忆深度神经网络的说话人分段标注装置,其特征在于,采用基于长短时记忆深度神经网络的说话人识别样本标注模型从待测音频中检测出每个说话人语音出现和持续的时间,包括:预处理部,用于对待测音频进行预处理获得音频帧级特征f1和音频帧级特征f2,音频帧级特征f1为说话人转换检测所需数据,音频帧级特征f2为说话人声纹特征建模所需数据;以及说话人识别部,用于根据音频帧级特征f1以及音频帧级特征f2完成待测音频中各个说话人的说话时间段的分类,该说话人识别部含有一个预先训练好的基于长短时记忆深度神经网络的说话人识别样本标注模型,其中,说话人样本标注模型包括说话人转换检测子模型以及说话人特征建模子模型,说话人识别部包括:时间点识别单元,将音频帧级特征f1输入说话人转换检测子模型从而识别出待测音频中的说话人转换点的时间点;特征片段裁剪单元,根据时间点从音频帧级特征f2中裁剪出单个说话人的特征片段;特征向量生成单元,将特征片段输入说话人特征建模子模型从而生成每个特征片段的特征向量;以及说话人匹配记录单元,根据特征向量间的余弦相似度将每个特征片段对应分配给某个已存储或新建的说话人信息,从而记录每个说话人的说话时间段。

发明作用与效果

根据本发明的基于长短时记忆深度神经网络的说话人分段标注方法,因为用于对待测音频进行检测的说话人样本标注模型包括说话人转换检测子模型以及说话人特征建模子模型,其中的说话人转换检测子模型直接对待测音频的序列特征窗口进行说话人转换检测,该子模型的可以直接学习到包含前后两个说话人语音的序列片段中的序列特征,因此能够对语音片段进行更准确的按说话人划分片段,从而有利于说话人特征建模子模型对同源语音片段生成更相似的嵌入向量、并对非同源语音片段生成更有区分性的嵌入向量,提高了最终的说话人分段标注精度。与现有的高精度模型相比,本实施例的说话人分段标注方法中所使用的说话人样本标注模型在保证的更高准确率的基础上,构建快速方便,且训练过程所消耗的计算量也较小,因此能够在迁移到的数据集上经过短时间的重训练即可适应新的使用场景。

附图说明

图1是本发明实施例中基于长短时记忆深度神经网络的说话人分段标注方法的流程图;以及

图2是本发明实施例中长短时记忆深度神经网络的说话人识别样本标注模型的结构示意图。

具体实施方式

为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,以下结合实施例及附图对本发明的基于长短时记忆深度神经网络的说话人分段标注方法作具体阐述。

<实施例>

本实施例中,采用的数据集为timit。timit是一个声学语音研究以及自动语音识别系统开发、评估的语音数据基准,该数据集包含在美国八个主要方言地区,使用宽带麦克风采集的5小时左右音频数据。录音以16位,16000hz采样率录制。timit数据集中有来自630人的音频样本,通过让每个志愿者朗读10句多音节语句获得了6300条单说话人语音采样。通过随机拼接这些采样获得了超过396000个说话人转换点。

另外,本实施例中说话人分段标注方法所实现的硬件平台需要一张nvidia1080ti显卡(进行gpu加速)。

本实施例首先对数据集音频进行两种预处理,然后分别训练无长短时记忆深度神经网络的说话人识别样本标注方法的两个部分,最后通过长短时记忆深度神经网络的说话人识别样本标注方法获得目标音频中包含的说话人转换时间点和每个说话人发言的时间段标注,即判断并记录“谁在何时讲话”。具体包括5个过程:预处理、搭建模型、训练说话人转换检测模型、训练说话人声纹特征空间模型以及说话人分段标注。

图1是本发明实施例中基于长短时记忆深度神经网络的说话人分段标注方法的流程图。

如图1所示,基于长短时记忆深度神经网络的说话人分段标注方法包括如下步骤:

步骤s1,对待测音频进行预处理获得两种音频帧级特征f1和f2。

本实施例中,待测音频为包含多个说话人发言片段的音频(例如,电话录音,会议录音等)。步骤s1中的预处理过程包括如下子步骤:

步骤s1-1,将待测音频的序列(即音频的各个采样帧的时间顺序)进行有重叠的滑动窗口采样,并将采样得到的每个窗口进行短时傅里叶变换,再进行对数梅尔滤波后就得到了音频帧级特征f1。该音频帧级特征f1用于辨别说话人身份,这部分特征的维度为40×n,其中n为滑动窗口采样得到的窗口数量。

步骤s1-2,对原始的待测音频计算其梅尔频率倒谱系数,以及其梅尔频率倒谱系数的一阶导数和二阶导数,按时间片对应顺序堆叠作为音频帧级特征f2。该音频帧级特征f2用于检测音频中过的说话人转换点,由于在滑动窗口采样时使用了相同的窗口参数,这部分特征的维度为为59×n。

步骤s2,搭建基于长短时记忆深度神经网络的说话人识别样本标注模型(以下简称为说话人识别样本标注模型或模型)。

本实施例的步骤s2中,利用现有的深度学习框架pytorch,搭建说话人识别样本标注模型。该模型是基于长短时记忆神经网络并不依赖聚类方法的说话人记录神经网络模型,主要可分为两个模块,即说话人转换检测子模型以及说话人特征建模子模型。

该说话人识别样本标注模型将说话人分段标注看做两个相连的任务组合,首先由说话人转换检测子模型对待测音频进行说话人转换的检测,为后续步骤提供音频裁剪的依据,而后使用说话人特征建模子模型对裁剪得到的片段进行特征空间嵌入,提取每个片段内说话人的声纹特征嵌入向量,并分别归一化后作为说话人身份标注的特征依据。

图2是本发明实施例中长短时记忆深度神经网络的说话人识别样本标注模型的结构示意图。

如图2所示,说话人识别样本标注模型包括两个子模型结构,即说话人转换检测子模型(scd-net)和说话人特征建模子模型(speaker-embedding-net)。

说话人转换检测子模型用于搭建说话人转换点标注结构,为分割待测音频片段提供分段依据,由于直接对窗口内是否存在说话人的切换进行预测,因此能够更好的提取到转换点的特征信息。该说话人转换检测子模型包括依次设置的输入层i、双向长短时记忆网络b1、双向长短时记忆网络b2、全连接层fc1、全连接层fc2和输出层o。

说话人特征建模子模型(或称说话人声纹特征空间建模子模型)用于对输入的音频特征片段提取其嵌入向量,可依据这些向量的相似度关系作为说话人语音分段的依据。该说话人声纹特征空间建模子模型包含一次设置的输入层i’,长短时记忆网络l1、长短时记忆网络l2、长短时记忆网络l3、全连接层fc’1和输出层o’。

本实施例的说话人识别样本标注模型由双向长短时记忆网路结构、全连接层组成,在每层双向长短期记忆神经网络层之后都要对数据进行l2正则化操作。本任务作为一个二分类问题使用了relu作为全连接层的激活函数。具体地,该长短时记忆深度神经网络的说说话人识别样本标注模型的具体结构如下:

(1)输入层i,用于输入预处理后的经滑动窗口采样的帧级特征f1,其大小为59×320;

(2)两个双向长短时记忆神经网络结构,包括b1和b2,其中b1具有32个隐藏节点,输出为32×320;b2具有20个隐藏节点,输出为20×320;

(3)两个全连接层结构,包括fc1和fc2,其中fc1输出为40×320,fc2输出为10×320;

(4)说话人转换检测子模型的输出层o,实际是一个输出维度为2×320的全连接层和一个对数softmax层,其最终输出为2×320;

(5)说话人声纹特征空间建模子模型的输入i’,用于输入预处理后的根据说话人转换子模型输出结果裁剪得到的帧级特征f2片段,这些片段经过采样后生成式大小为40×160的窗口数据,i’的大小与窗口大小一致,为40×160;

(6)长短时记忆网络l1和l2、l3,三个长短时记忆结构的隐层节点数都为768,输出都为768×160;

(7)全连接层fc’1,该层结构将前层生成的结果映射至256维;

(8)输出层o’是一个l2归一化层,输出为256维的特征空间嵌入向量。

步骤s3,把包含输入搭建好的说话人识别样本标注方法中的说话人转换检测子模型从而进行说话人检测模型训练;把包含多组说话人特征建模训练音频的训练集输入说话人特征建模子模型从而进行说话人检测模型训练。

本实施例中,采用声学语音数据集timit作为训练数据。说话人转换检测子模型使用了将timit中的6300条语音片段随机拼接产生的39600个以上的说话人转换点;说话人声纹特征空间建模子模型使用了timit数据集中包含的630个独立说话人声音数据构建声纹特征空间。在处理训练集的数据时采用的方法与步骤s1的方法相近,即:对于说话人转换部分的数据,对每条音频进行滑动窗口采样后对每个窗口数据进行标注,从该数据集中获得了包含396000个以上的说话人转换点,每个转换点对应5个窗口采样,这些窗口数据作为说话人转换检测子模型的说话人转换音频训练集;而对于说话人声纹特征空间建模子模型所需的说话人声纹特征训练集,为将timit原始音频每条进行采样生成4条音频片段,以期增强该子模型对与不完整语句中包含的人声的辨识效果。

步骤s3的模型训练过程具体包括如下步骤:

步骤s3-1,初始化说话人识别样本标注模型,该说话人识别样本标注模型的各层包含有不同的模型参数,这些模型参数在初始化时为随机设置。

步骤s3-2,将相应的训练集分别输入说话人转换检测子模型以及说话人特征建模子模型从而进行一次迭代。

本实施例的步骤s3-2中,每次进入说话人转换检测子模型的训练数据批次大小为32,一共迭代训练35200次;每次进入说话人声纹特征空间建模子模型的训练数据批次大小为16,一共迭代56000次。

步骤s3-3,分别根据两个子模型的模型参数计算出各自的损失误差,说话人转换检测子模型使用的是对数交叉熵损失函数,说话人特征建模子模型使用自定义的生成式端到端损失函数。

步骤s3-4,将说话人转换检测子模型以及说话人特征建模子模型各自的损失误差分别反向传播从而更新模型参数。

模型训练过程中,对于说话人转换检测子模型,每次迭代(即训练集声音片段通过模型)后,最后一层的模型参数计算出损失误差(logsoftmaxloss对数交叉熵损失),然后将计算得到的损失误差(logsoftmaxloss)反向传播,从而更新模型参数;对于说话人声纹特征空间建模子模型,每次迭代后,则使用生成的端到端损失函数(generalizedend-to-endloss)。另外,两个模型的训练过程中使用了自适应学习率调整每次迭代是使用的学习率,并且在各层的模型参数收敛后就完成训练。

步骤s3-5,重复步骤s3-2至s3-4直至达到训练完成条件,从而得到训练好的模型。该训练完成条件为常规的训练完成条件,例如模型参数收敛即视为训练完成。

经过上述迭代训练并在迭代过程中进行误差计算和反向传播的过程后,即可获得训练完成的长短时记忆深度神经网络的说话人识别样本标注模型。本实施例采用该训练完成的模型在电话录音场景下对说话人语音进行分段记录。

步骤s4,将音频帧级特征f1以及音频帧级特征f2输入说话人识别样本标注模型从而完成待测音频中各个说话人的说话时间段的分类记录。

本实施例中,步骤s4包括如下子步骤:

步骤s4-1,将音频帧级特征f1输入说话人转换检测子模型从而识别出待测音频中的说话人转换点的时间点。

本实施例中,说话人转换检测子模型识别出的时间点为待测音频中说话人转换点的时间位置信息。

步骤s4-2,根据步骤s4-1识别出的时间点,在音频帧级特征f2中裁剪出每个说话人单独存在的时间段内的特征片段。

步骤s4-3,将特征片段输入说话人特征建模子模型从而生成每个特征片段的特征向量,该特征向量为每个特征片段的声纹特征空间嵌入向量。

步骤s4-4,根据特征向量间的余弦相似度将每个特征片段对应分配给某个已存储或新建的说话人信息,从而根据特征片段与时间点记录每个说话时间段以及对应的说话人。

本实施例的步骤s4-4中,在判断特征向量间的余弦相似度时,会将各个特征片段所对应的特征向量依次与各个说话人预存的声纹特征向量进行余弦相似度计算,从而完成特征片段与说话人信息的匹配。若匹配有相应的说话人信息,则直接将特征片段与说话人信息进行匹配;若没有匹配的说话人信息,表明该片段属于一个未曾出现的说话人,则新建一个说话人信息并与特征片段相匹配。

在特征片段与说话人信息匹配后,则根据两者以及特征片段对应的时间点进行记录,即:根据特征片段以及时间点得出相应在待测音频中的说话时间段并记录,同时对应记录相应的说话人信息。当完成所有的匹配以及记录处理后,最终就完成了每条待测音频内说话人语音片段的归属标注。

本实施例中,还采用了拼接的timit测试集作为待测音频来对上述模型进行测试,其中目标是多个不同说话人单独讲话的片段。

具体过程为:利用如步骤s1的预处理方式对测试集音频数据进行预处理,得到200条测试音频的两种帧级特征作为测试集,依次分别输入训练好的说话人识别样本标注模型,按照说话人转换检测子模型的输出切割测试音频片段,取切割完成的片段输入至声纹特征子模型,生成该片段的256-d声纹特征嵌入向量,储存该向量后,重复上述过程,用每次生成的嵌入向量与已储存的向量进行余弦相似度比较并完成记录。最终可得到对于一条测试音频内说话人语音片段的归属标注。

本实施例中,训练好的长短时记忆深度神经网络的说话人识别样本标注方法对该测试集的说话人记录标注精度(即der)为14.22%。同时,还采用上述测试集对现有技术的其他方法进行了对比测试,其结果如下表所示:

表1对比测试结果

从表1可以看出,本发明所采用方法相比于常见的标注方法,有效提升了说话人分段以及标注的准确率。

实施例作用与效果

根据本实施例提供的基于长短时记忆深度神经网络的说话人分段标注方法,因为用于对待测音频进行检测的说话人样本标注模型包括说话人转换检测子模型以及说话人特征建模子模型,其中的说话人转换检测子模型直接对待测音频的序列特征窗口进行说话人转换检测,该子模型的可以直接学习到包含前后两个说话人语音的序列片段中的序列特征,因此能够对语音片段进行更准确的按说话人划分片段,从而有利于说话人特征建模子模型对同源语音片段生成更相似的嵌入向量、并对非同源语音片段生成更有区分性的嵌入向量,提高了最终的说话人分段标注精度。与现有的高精度模型相比,本实施例的说话人分段标注方法中所使用的说话人样本标注模型在保证的更高准确率的基础上,构建快速方便,且训练过程所消耗的计算量也较小,因此能够在迁移到的数据集上经过短时间的重训练即可适应新的使用场景。

另外,实施例中,说话人特征建模子模型还使用了新的度量学习损失函数,使模型在训练时能够更关注分属于不同说话人但相似度较高的样本,在提高区分能力的同时也提高了训练效率。

上述实施例仅用于举例说明本发明的具体实施方式,而本发明不限于上述实施例的描述范围。

例如,上述实施例中提供了一种基于长短时记忆深度神经网络的说话人分段标注方法,该方法主要包括预处理、搭建模型、训练模型及说话人识别的步骤。然而,为了实际使用时更为方便,本发明中训练好的说话人样本标注模型也可以打包形成一个说话人识别部,该说话人识别部可以与用于对待测音频进行预处理的预处理部构成一个基于长短时记忆深度神经网络的说话人分段标注装置,使得待测音频经过预处理部处理后由说话人识别部调用模型完成相应的识别任务。其中,预处理部采用说话人分段标注方法中步骤s1的预处理方法,说话人识别部采用说话人分段标注方法中步骤s4的处理方法,该说话人识别部具体包括执行步骤s4-1的时间点识别单元、执行步骤s4-2的特征片段裁剪单元、执行步骤s4-3的特征向量生成单元以及执行步骤s4-1的说话人匹配记录单元,这些单元的工作原理与对应步骤中描述的动作一致,在此不再赘述。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1