Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

王泉、张帆专栏

谷歌Recorder实现说话人自动标注,功能性与iOS语音备忘录再度拉大

谷歌于 2019 年为其 Pixel 手机推出了安卓系统下的录音软件 Recorder,对标 iOS 下的语音备忘录,并支持音频文件的录制、管理和编辑等。在此之后,谷歌陆续为 Recorder 加入了大量基于机器学习的功能,包括语音识别,音频事件检测,自动标题生成,以及智能浏览等。

不过当录音文件较长并包含多个说话人的时候,一部分 Recorder 的用户在使用过程中会感到不便。因为仅凭语音识别得到的文本,并不能判断每句话分别是谁说的。在今年的 Made By Google 大会上,谷歌公布了 Recorder 应用的自动说话人标注功能。该功能将实时地为语音识别的文本加上匿名的说话人标签(例如 “说话人 1” 或“说话人 2”)。这项功能将极大地提升录音文本的可读性与实用性。而这项功能背后的技术,被称为声纹分割聚类(speaker diarization)。谷歌在 2022 年的 ICASSP 会议上,首次介绍了其名为 Turn-to-Diarize 的声纹分割聚类系统。

图片

左图:关闭了说话人标注的录音文本。右图:开启了说话人标注的录音文本。

系统架构

谷歌的 Turn-to-Diarize 系统包含了多个高度优化的模型和算法,实现了在移动设备上,以极少的计算资源完成对长达数小时的音频进行实时声纹分割聚类处理。该系统主要包含三个组成部分:用以检测说话人身份转换的说话人转换检测模型,用以提取每个说话人声音特征的声纹编码器模型,以及一个能够高效完成说话人标注的多阶段聚类算法。所有组成部分都完全运行在用户的设备上,不依赖于任何服务器连接。

图片

Turn-to-Diarize 系统的架构图。

说话人转换检测

该系统的第一个组成部分是一个基于 Transformer Transducer(T-T)的说话人转换检测模型。该模型能够将声学特征序列转换为包含了特殊字符 < st > 的文本序列。特殊字符 < st > 表示一个说话人转换的事件。谷歌之前发表的论文曾经用诸如 < doctor > 或 < patient > 的特殊字符来表示具体说话人的身份。而在最新的系统中,由于 < st > 字符不局限于特定的身份,因此其应用也更加广泛。

对于大多数的应用,声纹分割聚类系统的输出一般不会直接呈现给用户,而是与语音识别模型的输出进行结合。由于语音识别模型在训练过程中已经针对词错率进行了优化,因此说话人转换检测模型对于词错率较为宽容,但更加注重特殊字符 < st > 的准确率。在此基础上,谷歌提出了一种新的基于字符的损失函数,实现了只需较小的模型,就能准确地检测出说话人转换事件 < st>。

提取声纹特征

当音频信号被按照说话人转换事件进行分割之后,系统通过声纹编码器模型对每一个说话人片段提取包含声纹信息的嵌入码,即 d-vector。谷歌在之前发表的论文中,一般都是从固定长度的音频中提取声纹嵌入码。与之相比,这次的新系统有多项改进。首先,新系统避免了从包含多个说话人信息的片段中提取声纹嵌入码,从而提升了嵌入码的整体质量。其次,每一个声纹嵌入码对应的语音片段,其时长都比较长,因此包含了对应说话人较多的声纹信息。最后,该方法得到的最终声纹嵌入码序列,其长度较短,使得后续的聚类算法计算代价较低。

多阶段聚类

声纹分割聚类的最后一步,便是对前面几步得到的声纹嵌入码序列进行聚类。由于用户使用 Recorder 应用生成的录音可能只有几秒钟,也可能长达 18 小时,所以聚类算法面临的关键挑战便是能够处理各种长度的声纹嵌入码序列。

为此,谷歌的多阶段聚类策略巧妙地结合了几种不同的聚类算法各自的优势。对于较短的序列,该策略采用聚合式分层聚类(AHC)。对于中等长度的序列,该方法采用谱聚类,并利用特征值的最大间隔法,来准确地估算说话人的数量。对于较长的序列,该方法先用聚合式分层聚类来对序列进行预处理,然后再调用谱聚类,从而降低了聚类这一步骤的计算代价。而在整个流式处理的过程当中,通过对之前的聚类结果进行动态缓存并重复利用,每一次聚类算法的调用,其时间复杂度以及空间复杂度,上限都可以被设置为一个常数。

多阶段聚类策略是针对设备端应用的一项关键优化。因为在设备端,CPU、内存、电池等资源通常都较为稀缺。该策略即使在处理过长达数小时的音频之后,依然能够维持在一个低能耗的状态下运行。而该策略的常数复杂度上限,通常可以根据具体的设备型号进行调整,实现准确率和性能之间的平衡。

图片

多阶段聚类策略的示意图。

实时校正以及用户标注

因为 Turn-to-Diarize 是一个实时的流式处理系统,所以当模型处理完更多的音频之后,其预测得到的说话人标签也会变得更加准确。为此,Recorder 应用会在用户录音的过程当中,持续地对之前预测的说话人标签进行校正,保证用户在当前屏幕上看到的说话人标签始终是更为准确的标签。

与此同时,Recorder 应用的用户界面还允许用户对每一段录音中的说话人标签进行重命名,例如将 “说话人 2” 重命名为“汽车经销商”,从而方便用户阅读和记忆。

图片

Recorder 允许用户对说话人标签进行重命名,从而提升可读性。

未来工作

谷歌在最新的数款 Pixel 手机上推出了自研芯片 Google Tensor。而当前的声纹分割聚类系统主要便运行在 Google Tensor 的 CPU 模块上。未来谷歌计划将声纹分割聚类系统运行到 Google Tensor 的 TPU 模块上,从而进一步降低能耗。此外,谷歌还希望借助多语言的声纹编码器以及语音识别模型,将这一功能扩展到除英语之外的其他语言上。

原文链接:

https://ai.googleblog.com/2022/12/who-said-what-recorders-on-device.html

理论谷歌自动说话人标注
相关数据
时间复杂度技术

在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,亦即考察输入值大小趋近无穷时的情况。例如,如果一个算法对于任何大小为 n (必须比 n0 大)的输入,它至多需要 5n3 + 3n 的时间运行完毕,那么它的渐近时间复杂度是 O(n3)。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

谱聚类技术

在多元统计和数据聚类中,谱聚类技术利用数据相似度矩阵的谱(特征值)在较少维度聚类之前执行降维。 相似性矩阵作为输入提供,并由对数据集中每对点的相对相似性的定量评估组成。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

聚类技术

将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。“物以类聚,人以群分”,在自然科学和社会科学中,存在着大量的分类问题。聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法。聚类分析起源于分类学,但是聚类不等于分类。聚类与分类的不同在于,聚类所要求划分的类是未知的。聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。

推荐文章
暂无评论
暂无评论~