谁说了什么? Recorder 的设备内置解决方案,用于标记发言者

1725983578999.jpg

2019 年,我们推出了Recorder,这是一款适用于 Pixel 手机的录音应用,可帮助用户创建、管理和编辑录音。它利用设备端机器学习的最新发展成果来转录语音、识别音频事件、为标题推荐标签,并帮助用户浏览转录文本。

尽管如此,一些录音机用户发现,在长录音中,如果有多位发言者,很难导航,因为不清楚谁说了什么。在今年的Made By Google活动期间,我们宣布了录音机应用的“发言者标签”功能。这项可选功能可在录音过程中实时为每位发言者标注唯一且匿名的标签(例如“发言者 1”、“发言者 2”等)。它显著提高了录音记录的可读性和可用性。此功能由 Google 的新发言者日记系统Turn-to-Diarize提供支持,该系统首次在ICASSP 2022上亮相。

左图:没有说话者标签的录音机记录稿。右图:带有说话者标签的录音机记录稿。

系统架构

我们的说话人分类系统利用多种高度优化的机器学习模型和算法,允许在移动设备上以有限的计算资源实时流式处理数小时的音频。该系统主要由三个组件组成:说话人轮换检测模型(用于检测输入语音中的说话人变化)、说话人编码器模型(用于从每个说话人轮换中提取语音特征)以及多阶段聚类算法(用于以高效方式为每个说话人轮换标注说话人标签)。所有组件均完全在设备上运行。

Turn-to-Diarize 系统的架构。

检测说话者转身

我们系统的第一个组件是基于Transformer Transducer (TT) 的说话人转折检测模型,它将声学特征转换为文本记录,并用表示说话人转折的特殊标记进行增强。与之前使用特定角色标记(例如和)进行对话的定制系统

<st>

不同,此模型更通用,可以对其进行训练并部署到各种应用领域。

<doctor>

<patient>

在大多数应用中,二值化系统的输出不会直接显示给用户,而是与经过训练以减少单词错误的单独自动语音识别 (ASR) 系统相结合。因此,对于二值化系统,我们对单词标记错误的容忍度相对高于标记错误

<st>

。基于这种直觉,我们提出了一种新的标记级损失函数,使我们能够在预测标记上以高精度训练小型说话人转折检测模型

<st>

。结合基于编辑的最小贝叶斯风险(EMBR) 训练,这种新的损失函数显著提高了七个评估数据集上 基于间隔的 F1 分数。

提取语音特征

将音频记录分割成同质的说话人回合后,我们使用说话人编码器模型提取嵌入向量(即d 向量)来表示每个说话人回合的语音特征。与从固定长度的小片段中提取嵌入向量的先前工作相比,此方法具有多个优势。首先,它避免从包含多个说话人的语音的片段中提取嵌入。同时,每个嵌入覆盖相对较大的时间范围,其中包含足够的说话人信号。它还减少了要聚类的嵌入总数,从而降低了聚类步骤的成本。这些嵌入完全在设备上处理,直到完成转录的说话人标记,然后将其删除。

多阶段聚类

在用嵌入向量序列表示音频记录后,最后一步是对这些嵌入向量进行聚类,并为每个向量分配说话者标签。但是,由于 Recorder 应用中的音频记录可能短至几秒钟,也可能长达 18 小时,因此对于聚类算法来说,处理长度差异巨大的序列至关重要。

为此,我们提出了一种多阶段聚类策略,以利用不同聚类算法的优势。首先,我们使用说话人转身检测输出来确定录音中是否至少有两个不同的说话人。对于短序列,我们使用凝聚层次聚类(AHC) 作为后备算法。对于中等长度的序列,我们使用谱聚类作为主要算法,并使用特征间隙标准来准确估计说话人数量。对于长序列,我们在将序列输入主算法之前使用 AHC 对序列进行预聚类,从而降低计算成本。在流式传输过程中,我们会保留先前 AHC 聚类质心的动态缓存,这些缓存可在未来的聚类调用中重复使用。这种机制使我们能够以恒定的时间和空间复杂度对整个系统实施上限。

这种多阶段聚类策略对于 CPU、内存和电池预算非常少的设备应用而言是一项关键的优化,即使在对数小时的音频进行日记化后,系统仍可以在低功耗模式下运行。作为质量和效率之间的权衡,可以灵活地为具有不同计算资源的设备配置计算成本的上限。

多阶段聚类策略图。

修正和定制

在我们的实时流式说话者分类系统中,随着模型消耗更多的音频输入,它会积累对预测说话者标签的信心,并且可能偶尔会更正之前预测的置信度较低的说话者标签。录音机应用会在录音过程中自动更新屏幕上的说话者标签,以反映最新、最准确的预测。

同时,录音机应用程序的用户界面允许用户将匿名发言人标签(例如“发言人 2”)重命名为自定义标签(例如“汽车经销商”),以便在每次录音中让用户更好地阅读和更容易记忆。

录音机允许用户重命名说话者标签以提高可读性。

未来工作

目前,我们的分类系统主要在Google Tensor 的 CPU 模块上运行,这是 Google 为较新的 Pixel 手机提供的定制芯片。我们正在努力将更多计算委托给 TPU 模块,这将进一步降低分类系统的整体功耗。未来的另一个工作方向是利用说话人编码器和语音识别模型的多语言功能将此功能扩展到更多语言。

致谢

本文介绍的工作是 Google 多个团队共同努力的成果。贡献者包括 Quan Wang、Yiling Huang、Evan Clark、Qi Cao、Han Lu、Guanlong Zhao、Wei Xia、Hasim Sak、Alvin Zhou、Jason Pelecanos、Luiza Timariu、Allen Su、Fan Zhang、Hugh Love、Kristi Bradford、Vincent Peng、Raff Tsai、Richard Chou、Yitong Lin、Ann Lu、Kelly Tsai、Hannah Bowman、Tracy Wu、Taral Joglekar、Dharmesh Mokani、Ajay Dudani、Ignacio Lopez Moreno、Diego Melendo Casado、Nino Tasca 和 Alex Gruenstein。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论