导读:在最近的一篇博客中,谷歌宣布他们已经开源了他们的扬声器Diarization技术,该技术能够以高准确率区分人们的声音。谷歌可以通过将包含多个参与者的音频流划分为每个参与者的同质段来实现这一点。
在最近的一篇博客中,谷歌宣布他们已经开源了他们的扬声器Diarization技术,该技术能够以高准确率区分人们的声音。谷歌可以通过将包含多个参与者的音频流划分为每个参与者的同质段来实现这一点。
将语音划分成同质段有许多应用。谷歌的研究科学家Chong Wang解释说:
通过解决“谁说了什么时候”的问题,说话人二值化在许多重要场景中都有应用,如理解医疗对话、视频字幕等。
能够准确地分割会话可以提高在线和离线Diarization系统的质量。这种好处在医疗保健行业有很多实际的好处,正如最近的年报家庭医学杂志报道的那样:
医生通常在11个小时的工作日里花6个小时在电子健康档案(EHR)上。因此,一项研究发现,接受调查的医生中,超过一半的人报告至少有一种倦怠症状。
使用监督学习方法来训练语音听写系统在历史上一直具有挑战性,Wang解释了原因:
使用监督学习方法对这些系统进行训练是具有挑战性的——与标准的监督分类任务不同,稳健的Diarization模型需要将新个体与未参与训练的不同语音片段关联起来。重要的是,这限制了在线和离线Diarization系统的质量。
在流媒体音频输入上使用在线扬声器Diarization,可以检测不同扬声器,如下图所示,在底部轴上用不同颜色表示不同的扬声器。
谷歌开发了一篇名为《Fully Supervised Speaker Diarization》的研究论文,他们引入了一种新的模型,这种模型比传统方法更有效地使用监督扬声器标签。在这个模型中,会进行一个评估,确定参与会话的说话者的数量,从而增加标记数据的数量。
作为NIST SRE 2000 CALLHOME基准测试的一部分,谷歌的技术实现了低至7.6%的Diarization错误率,其中Diarization错误率被定义为“被Diarization输出错误标记的输入信号的百分比”。最近的结果是对基于聚类的方法获得的8.8%的Diarization错误率和使用深度神经网络嵌入方法获得的9.9%Diarization错误率进行了改进。
现代扬声器Diarization系统通常利用聚类算法,如k均值或光谱聚类。Wang解释了使用这些方法的一些缺点:
由于这些聚类方法是非监督的,不能很好地利用数据中可用的监督说话人标签。此外,在线聚类算法通常在流媒体音频输入的实时Diarization应用中质量较差。该模型与常用聚类算法的关键区别在于,该方法采用参数共享递归神经网络(RNN)对所有说话人的嵌入进行建模,并利用在时域内交叉的不同RNN状态,对不同的说话人进行区分。
为了说明这个模型是如何工作的,考虑4个不同的扬声器(该模型可以支持未知数量的扬声器),每个扬声器都用自己的颜色(蓝色、黄色、粉色和绿色)表示。每个扬声器都有自己的RNN实例,其中初始状态在所有扬声器之间共享。一个演讲者将继续更新他们的RNN,直到另一个演讲者开始讲话。例如,蓝色的音箱可以开始对话,直到它转换到黄色音箱为止。在这两个时间段内,每个发言者在发言时都会更新他们的RNN。当对话从一个发言者转换到另一个发言者时,所有参与者都会出现这种情况。
Wang解释了为什么使用RSS状态很重要:
将说话人表示为RNN状态使我们能够使用RNN参数学习不同说话人和话语之间共享的高级知识,这保证了更多标记数据的有用性。与此相反,常见的聚类算法几乎总是独立地处理单个话语,因此很难从大量标记数据中获益。
下一步,谷歌将继续降低Diarization错误率,整合上下文信息进行离线解码。为了进一步了解扬声器Diarization技术,谷歌发表了一篇论文,并在GitHub上提供了它的源代码。