使用智能滚动轻松浏览记录器成绩单
视频介绍:使用智能滚动轻松浏览记录器成绩单
去年,我们推出了Recorder,这是一种新型录音应用程序,通过利用设备上的机器学习 (ML) 转录录音、突出显示音频事件并为标题建议适当的标签,使录音更智能、更实用。Recorder 使编辑、共享和搜索成绩单变得更容易。然而,由于 Recorder 可以转录很长的录音(长达 18 小时!),用户仍然很难找到特定的部分,因此需要一种新的解决方案来快速浏览如此长的转录。
为了提高内容的可导航性,我们在 Recorder 中引入了基于 ML 的新功能 Smart Scrolling,它可以自动标记成绩单中的重要部分,从每个部分中选择最具代表性的关键字,然后将这些关键字显示在垂直滚动条上,例如章节标题。然后,用户可以滚动关键字或点击它们以快速导航到感兴趣的部分。所使用的模型足够轻量级,无需上传脚本即可在设备上执行,从而保护用户隐私。
引擎盖
下 智能滚动功能由两个不同的任务组成。第一个从每个部分中提取有代表性的关键字,第二个选择文本中哪些部分信息量最大且最独特。
对于每项任务,我们使用两种不同的自然语言处理 (NLP) 方法:对源自维基百科数据集的数据进行预训练的蒸馏双向变换器(BERT) 模型,以及改进的提取词频-逆文档频率(TF-IDF)模型。通过将双向转换器和基于 TF-IDF 的模型并行用于关键字提取和重要部分识别任务,以及聚合启发式,我们能够利用每种方法的优点并减轻它们各自的缺点(更多信息参见下一节)。
双向转换器是一种神经网络架构,它采用自注意力机制以非顺序方式实现对输入文本的上下文感知处理。这使得输入文本的并行处理能够识别转录本中给定位置之前和之后的上下文线索。
提取TF-IDF方法根据它们在文本中的频率与它们在训练数据集中的逆频率相比对术语进行评级,并能够在文本中找到唯一的代表性术语。
这两个模型都在公开可用的对话数据集上进行了训练,这些数据集由独立评估者标记和评估。会话数据集与预期的产品用例来自相同的领域,侧重于会议、讲座和访谈,从而确保相同的词频分布(齐夫定律)。
提取代表性关键字
基于 TF-IDF 的模型通过给每个单词一个分数来检测信息性关键字,该分数对应于该关键字在文本中的代表性。该模型这样做,就像一个标准的TF-IDF模型,利用相比于整个会话数据集的文本给定单词的出现次数的比例,但也考虑到了特异性的术语,即它的广泛性或具体性。此外,该模型然后使用预先训练的函数曲线将这些特征聚合成一个分数。同时,针对提取关键字的任务进行了微调的双向转换器模型提供了对文本的深入语义理解,使其能够提取精确的上下文感知关键字。
TF-IDF 方法是保守的,因为它很容易在文本中找到不常见的关键字(高偏差),而双向转换器模型的缺点是可以提取的可能关键字的高方差。但是当一起使用时,这两个模型相互补充,形成平衡的偏差-方差权衡。
一旦从两个模型中检索到关键字分数,我们就会通过利用 NLP 启发式算法(例如加权平均)、跨部分删除重复项以及消除停用词和动词来规范化和组合它们。此过程的输出是每个部分的建议关键字的有序列表。
对部分的重要性进行评级
下一个任务是确定应突出显示哪些部分是信息丰富且独特的。为了解决这个任务,我们再次结合上面提到的两个模型,为每个部分产生两个不同的重要性分数。我们通过获取该部分中所有关键字的 TF-IDF 分数并通过它们在该部分中各自的出现次数对其进行加权,然后是这些单个关键字分数的总和来计算第一个分数。我们通过双向转换器模型运行部分文本来计算第二个分数,该模型也在部分评级任务上进行了训练。来自两个模型的分数被归一化,然后组合以产生部分分数。
一些挑战
Smart Scrolling 开发过程中的一个重大挑战是如何确定某个部分或关键字是否重要——对一个人来说非常重要的内容对另一个人来说可能不太重要。关键是仅当可以从中提取有用的关键字时才突出显示部分。
为此,我们将解决方案配置为选择评分最高的部分,这些部分也具有高评价的关键字,突出显示的部分数量与录音的长度成正比。在智能滚动功能的上下文中,如果关键字能够更好地代表该部分的独特信息,则该关键字的评分更高。
为了训练模型以理解此标准,我们需要准备一个针对此任务量身定制的标记训练数据集。我们与熟练的评估者团队合作,将此标记目标应用于一小批示例以建立初始数据集,以评估标签的质量并在与预期存在偏差的情况下指导评估者。标记过程完成后,我们手动审查标记数据,并根据需要对标记进行更正,以使其与我们对重要性的定义保持一致。
使用这个有限的标记数据集,我们运行自动模型评估来建立模型质量的初始指标,这些指标被用作模型质量的不太准确的代理,使我们能够快速评估模型性能并应用架构和启发式中的更改。一旦解决方案指标令人满意,我们就会对一组代表预期 Recorder 用例的精心挑选的封闭示例使用更准确的手动评估过程。使用这些示例,我们使用可靠的模型质量评估来调整模型启发式参数以达到所需的性能水平。
运行时改进
Recorder 最初发布后,我们进行了一系列用户研究,以了解如何提高智能滚动功能的可用性和性能。我们发现许多用户希望在录制完成后立即提供导航关键字和突出显示的部分。由于上述计算管道可能需要大量时间来计算长录音,因此我们设计了一个部分处理解决方案,在整个录音期间分摊此计算。在记录过程中,每个片段一被捕获就被处理,然后将中间结果存储在内存中。录制完成后,Recorder 会汇总中间结果。
在 Pixel 5 上运行时,这种方法将一小时长录音(约 9K 字)的平均处理时间从 1 分 40 秒减少到仅 9 秒,同时输出相同的结果。
总结
Recorder 的目标是提高用户访问其录制内容并轻松导航的能力。我们已经在这个方向上取得了实质性进展,现有的 ML 功能可以自动为录音建议标题词,并使用户能够搜索录音中的声音和文本。Smart Scrolling 提供了额外的文本导航功能,这将进一步提高 Recorder 的实用性,使用户能够快速显示感兴趣的部分,即使是长时间的录音。
更新说明:优先更新微信公众号“雨夜的博客”,后更新博客,之后才会陆续分发到各个平台,如果先提前了解更多,请关注微信公众号“雨夜的博客”。
博客来源:雨夜的博客