自动语音识别 (ASR):一份全面的指南
自动语音识别 (ASR) 是将口语单词转换为书面文本的技术过程。自20世纪50年代初贝尔实验室推出能识别部分语音的早期系统Audrey以来,它就一直与机器学习 (ML) 交织在一起。最近,现代人工智能 (AI) 技术——如深度学习和基于Transformer的架构——已经彻底改变了这一领域,使得像OpenAI的Whisper这样的强大模型即使在嘈杂的现实环境中也能提供高精度的转录。
因此,自动语音识别已经从一项昂贵的小众技术演变为一种可访问、几乎无处不在的服务。医疗、法律和客户服务提供商多年来一直依赖ASR来获取准确的记录。现在,数百万的高管、内容创作者和消费者也使用它来记录会议笔记、生成文字稿或控制智能家居设备。2024年,全球语音和自动语音识别技术市场价值为155亿美元,预计到2032年将增长至816亿美元。
在这轮圆桌讨论中,两位Toptal专家探讨了AI技术的快速改进对自动语音识别产生的影响。Alessandro Pedori是一位在机器学习、自然语言处理 (NLP) 和深度神经网络方面拥有全栈经验的AI开发人员、工程师和顾问,他曾将语音转文本技术用于转录和从语音消息中提取可操作事项的应用程序,以及用于团队协作促进和1对1辅导的副驾驶系统。Necati Demir博士是一位计算机科学家、AI工程师和AWS认证的机器学习专家,最近在实施一个利用最先进深度学习方法的视频摘要系统。
本次对话已经过编辑,以提升清晰度和长度。
探索自动语音识别的工作原理
自动语音识别看起来可能很简单——音频输入,文本输出——但它由日益复杂的机器学习系统驱动。在本节中,我们将探讨ASR如何从具有离散组件的传统流水线演变为现代的、端到端的基于Transformer的架构。我们深入探讨自动语音识别在底层的运作细节,包括系统架构和常见算法,然后讨论不同语音识别系统之间的权衡。
什么是ASR(自动语音识别)?
Demir: ASR的基本功能可以用一句话来解释:它用于将口语单词翻译成文本。
当我们说话时,会产生包含层层频率的声波。在ASR中,我们接收这些音频信息作为输入,并将其转换为数字序列,这是机器学习模型能理解的格式。然后这些数字可以被转换为所需的结果,即文本。
Pedori: 如果你听过一门外语,它听起来并不包含独立的单词——它对你来说就像一堵不间断的声音墙。现代ASR系统经过训练,能够接收这堵声波墙(以波形文件的形式),并从中推断出单词。
Demir: 另一个非常重要的一点是,自动语音识别的目标并不是理解人类语音本身的意图。目标只是转换数据,或者换句话说,将语音转换为文本。要以任何其他方式使用这些数据,需要将另一个独立的、专用的系统与ASR模型集成。
关键ASR概念与特性
| 术语 | 定义 | 重要性 |
|---|---|---|
| 噪声抑制 | 使用信号处理或学习到的噪声抑制技术来过滤背景声音。 | 通过在转录开始前增强音频清晰度,提高ASR在现实环境中的性能。 |
| 声学模型 | 在传统系统中,此组件将音频映射到语音单位(例如音素)。在如Whisper的端到端模型中,此过程在神经网络内隐式学习。 | 对准确的声音到文本转换至关重要。传统和现代系统在实现方式上有所不同。 |
| 语言模型 | 基于语法和语义预测可能的单词序列。在端到端ASR中,这直接集成到模型架构中。 | 确保最终转录文本连贯且语法准确。 |
| 说话人日志 | 按说话人(例如,“说话人1”、“说话人2”)分割和标记音频的任务。 | 对于涉及多个说话人的会议、访谈和对话至关重要。 |
| 延迟 | 从说话到接收到转录文本之间的时间延迟。 | 对于实时应用如实时字幕、语音助手或自动客户支持很重要。 |
| 词错误率 (WER) | 转录错误的单词(例如,插入、删除、替换)的百分比。 | 最常用于评估ASR转录准确性的指标。 |
| 句子错误率 (SER) | 包含至少一个转录错误的句子的百分比。 | 对于评估叙事性或对话性转录文本的可用性很有价值。 |
| 实时因子 (RTFx) | 模型相对于实时时间的处理速度。衡量模型效率和确定其是否适用于流式或边缘设备部署的关键指标。 |
什么是语音识别,它与ASR有何不同?
Pedori: “语音识别”是一个相当模糊的术语。它通常用来表示“说话人识别”,即通过将特定声音与特定人匹配来验证当前谁在说话。
我们也有语音检测,即能够判断某个特定的声音是否在说话。想象一种情况,你有一段带有几位发言人的音频录音,但与你的项目相关的人只说了5%的时间。在这种情况下,你首先会在整个录音上运行语音检测(这通常比ASR更经济),然后使用ASR专注于你需要调查的那部分音频录音;在这个例子中,就是相关人士所说的对话片段。
语音识别在音频转录中的主要应用称为“日志化”。假设我们有一个名叫John的说话人。在分析音频录音时,日志化会将John的声音与其他声音区分并隔离,根据在任何给定时刻谁在说话将音频分割成多个部分。
大多数情况下,语音识别和ASR在处理口音的方式上有所不同。在ASR中,为了理解单词,你通常希望忽略口音。然而,在语音识别中,口音是一大优势:说话人的口音越重,就越容易识别。
一个提醒:语音识别在分析语音时可能是一种经济高效且有价值的工具,但它有局限性。目前,借助AI克隆声音变得越来越容易。在隐私敏感的环境中,你可能应该谨慎使用语音识别。例如,避免使用语音识别作为官方身份验证的方法。
Demir: 另一个可能出现的限制是当你的录音中包含多人在嘈杂或非正式环境中的声音时。语音识别在这种情况下可能会更加困难。例如,与我们这次对话相比,某人在专业录音室环境中录制有声书的数据就不是“干净数据”的典型例子。这个问题对于ASR系统也存在。然而,如果我们谈论的是语音检测,唤醒词或简单的语音命令——比如“Hey Siri”——即使是在嘈杂的声学环境中,软件也更容易理解。
ML模型如何融入ASR过程?
Demir: 如果我们愿意,我们可以大致将语音识别的历史分为两个阶段:深度学习出现之前和之后。在深度学习之前,研究人员的任务是识别语音中的正确特征。有三个步骤:数据预处理、构建统计模型和对模型输出进行后处理。
在预处理阶段,根据手工制定的规则从声波中提取特征并将其转换为数字。预处理完成后,可以将得到的数字拟合到隐马尔可夫模型中,该模型将尝试预测每个单词。但这里有个诀窍:在深度学习之前,我们并不试图预测单词本身。我们试图预测音素——单词的发音方式。以单词“five”为例:这是一个单词,但其发音听起来类似于“F-AY-V”。系统会预测这些音素,并尝试将它们转换为正确的单词。
在一个混合系统中,三个相应的子模型负责这三个步骤。声学模型负责寻找并尝试预测音素。发音模型接收音素并预测它们应该匹配哪些单词。最后,语言模型——通常是一个n-gram模型——通过将文本分块进行另一轮预测,以确保文本在统计上是匹配的。例如,“a bear in the woods”很可能是正确的单词组合,而短语“a bare in the woods”在统计上则不太可能出现。
您发现哪些AI驱动的自动语音识别工具很有用?
Demir: 说到ASR工具,OpenAI的Whisper模型因其可靠性而广受认可。这个单一模型能够准确转录各种语音模式和口音,即使在嘈杂的环境中也能做到。Hugging Face是一家对机器学习贡献巨大的公司和开源社区,它提供了多种用于语音识别的开源机器学习模型,其中之一就是Distil-Whisper。这个模型是基于深度神经网络实现的高质量系统的杰出代表。Distil-Whisper基于Whisper模型,尽管模型更轻量,但保持了强大的性能。对于使用较小数据集进行开发的开发者来说,这是一个很好的选择。
Pedori: Hugging Face拥有超过16,000个处理某种自动语音识别的模型。而Whisper本身可以实时、本地运行,甚至可以作为API运行。你甚至可以在WebAssembly中运行Whisper。
ASR已经从实现起来非常棘手的系统演变成了更简单的系统——更像光学字符识别 (OCR)。我不想说它易如反掌,但开发者现在可以期望至少95%的精确度,除非音频非常嘈杂或者说话者有非常重的口音。而且,除非你的资源非常有限,否则大多数ASR需求都可以通过深度学习有效解决。当前基于Transformer的模型正在主导行业。
工作原理: 一个混合ASR模型从音频中提取特征,使用深度神经网络预测音素概率,然后将它们解码成最可能的单词。
然而,在深度学习时代,这个过程是“端到端”的:我们在一端输入声波,在另一端接收单词——技术上说是“词元”。在像Whisper这样的端到端模型中,不再进行特征提取。我们只是从声学分析中获取波形,将其输入模型,并期望模型从数据本身提取声学特征,然后根据这些结果进行预测。
工作原理: OpenAI的Whisper将音频转换为频谱图,然后使用编码器块处理它,并利用注意力机制——一种专注于相关输入数据的方法——来预测下一个词元,从各种任务中学习。
Pedori: 使用端到端模型,一切都发生在一个被输入大量训练数据的“魔法黑盒”中;在Whisper的例子中,是680,000小时的音频。首先,音频数据通过声学处理被转换为对数梅尔频谱图——一种表示音频频率随时间变化的图表。这是对开发者来说最难的部分——其他所有事情都发生在神经网络内部。其核心是一个带有不同注意力块的Transformer模型。
大多数人只是把模型当作一个黑盒使用,你可以向它传递音频,知道在另一端会收到单词。它通常表现得非常好,然而,作为一个黑盒,当它表现不佳时,纠正系统可能会有点困难,需要进行额外的调试,这可能很耗时。
您目前在ASR工作中更喜欢使用哪些AI算法?
Pedori: OpenAI的Whisper和Nvidia的NeMo都是基于Transformer的模型,是市场上最受欢迎的工具之一。这类算法已经彻底改变了这个领域,使自然语言处理变得更加灵活。过去,用于ASR的深度学习技术涉及长短期记忆 (LSTM) 循环神经网络和卷积神经网络 (CNN)。它们表现不俗,然而,Transformer是当前最先进的技术。它们非常容易并行化,因此你可以向它们输入海量数据,并且它们可以无缝扩展。
顶级ASR模型比较
| 模型 | 提供方 | 主要优势 |
|---|---|---|
| Whisper | OpenAI | 采用最广泛的开源ASR模型。Whisper对噪音和口音具有鲁棒性,提供多语言功能,甚至能处理翻译。它仍然是研究和生产使用的基准。 |
| Distil-Whisper | Hugging Face | Whisper的轻量级、更快的变体,保留了其大部分准确性。这些模型广泛用于效率至关重要的生产流水线中。 |
| NeMo Canary/Parakeet | NVIDIA | 在准确性和速度方面的基准领先者。Canary擅长通用转录,而Parakeet变体则针对实时流式传输和大规模部署进行了优化。 |
| Granite Speech | IBM | IBM的Watsonx基础模型家族的一部分。Granite Speech是企业级的,具有强大的准确性,并能高效扩展以适应生产环境。 |
| Phi-4-Multimodal | Microsoft | 以研究为导向的多模态基础模型。展示了将ASR集成到能够跨文本、图像和语音进行推理的更广泛AI系统中。 |
| Kyutai STT | Kyutai | 来自新兴实验室的高性能开源模型。显示出具有竞争力的准确性和效率,表明ASR的创新不再局限于最大的科技公司。 |
Demir: 这就是为什么我们在本次对话中主要关注Whisper的一个重要原因。当然,它并不是唯一可用的Transformer。Whisper的不同之处在于它处理海量不完美、弱监督数据的方式;对Whisper来说,680,000小时相当于78年的口语语音数据,所有这些数据一次性输入系统。一旦模型训练完成,你可以通过加载预训练的权重并对网络进行微调来提高其准确性。微调是根据你想要看到的结果行为进一步训练模型的过程——例如,你可以定制模型以增强对特定行业内术语的精确度,或针对特定语言进行优化。
对于高性能的自动语音识别系统,哪些功能至关重要?
Pedori: 对于特定的ASR系统,我们可以调整的主要“旋钮”是词错误率 (WER) 以及模型的大小和速度。一般来说,较大的模型会比较小的模型慢。这对于每个机器学习系统来说几乎都是如此。一个系统很少能同时做到准确、廉价且快速;你通常可以实现其中两个品质,但很少能同时实现三个。
你可以决定是本地运行ASR系统还是通过API运行,然后为该配置获得你能得到的最佳WER。或者,你可以为应用预先定义一个WER,然后尝试找到最适合这项工作的模型。有时,你可能不得不瞄准“足够好”,因为找到最佳方法需要大量的工程时间。
AI的最新进展如何影响这些关键特性?
Pedori: 基于Transformer的模型提供了预先训练好的、相当“智能”且对背景噪音更具弹性的模块,但它们更难控制,自定义性更差。总的来说,AI使得实现ASR变得容易得多,因为像Whisper和NeMo这样的模型开箱即用效果就很好。到目前为止,根据期望的WER和语音中是否存在口音,它们几乎可以在便携设备上实现实时的准确转录。
ASR技术的当前用例与未来
现在让我们讨论自动语音识别在各个领域当前和未来的应用,以及必须克服的挑战和伦理考量。挑战包括口音和方言偏见、转录准确性的人口统计学差异,以及日益增长的隐私担忧,特别是随着ASR工具越来越多地部署在医疗等敏感领域。但首先,我们将考虑ASR的变革潜力以及实际用例。
哪些行业正在被ASR革命?
Pedori: ASR使得通过语音与设备和服务交互变得容易得多——不同于过去断断续续的体验,那时需要发出语音信号来指示系统执行一步操作,然后发出第二个信号告诉它执行另一步。ASR通常将音频开放给大多数自然语言处理技术。从用户或客户体验的角度来看,这意味着你可以将语音识别功能集成到工作流中,获得医生就诊的转录记录,或轻松地将语音邮件转换为短信。
基于音频的自动转录正变得极其普遍——想想法律转录和文档处理、在线课程、媒体和娱乐领域的内容创作以及客户服务,这只是其中一些用途。但ASR远不止是一个转录工具。语音助手正在成为我们日常生活的一部分,安全技术通过集成语音生物特征识别进行身份验证也在不断进步。自动语音识别还通过为残障人士提供字幕和语音用户界面来支持无障碍访问。
人类通常喜欢通过使用他们的声音进行互动。结合大型语言模型,我们现在可以很好地理解用户的声音。
开发人员在自动语音识别技术中面临哪些当前的挑战和伦理考量,如何应对?
Pedori: 如果基本的端到端系统能为你的用例开箱即用,你可以在几天甚至几小时内为客户拼凑出一些东西。但是,一旦端到端系统不够用,你需要对其进行调整,那么就需要花费几个月的时间来收集数据和进行训练。这主要是因为模型相当大。解决这个难题的一个方法是“知识蒸馏”,这是一种在不损失性能的情况下移除模型中你不需要的部分的方法,也称为教师-学生训练。
Demir: 在蒸馏过程中,一个新的、更小的网络(“学生”模型)试图从原始的、更复杂的模型(“教师”模型)中学习。这使得模型更加敏捷,直接从原始模型中获取信息,并在不损失性能的情况下使过程更加经济高效。这有点像一位研究员花费数年时间学习某个特定主题,然后在课堂上用几个小时教给学生所学内容。学生模型使用从教师模型收集的预测结果进行训练。这种训练数据或“知识”教会学生模型以类似于教师模型的方式行为。我们通过向两个模型输入相同的音频输入和输出来优化学生模型,然后测量它们之间的性能差异。
Pedori: 另一个技术挑战是口音独立性。当Whisper发布时,我做的第一件事就是制作一个Telegram机器人来转录长音频消息,因为我更喜欢文本形式的消息而不是听语音消息。问题是,根据发送者是以英语为母语还是以英语为第二语言,机器人的性能差异很大。对于以英语为母语的人来说,转录是完美的。当是我或我的国际朋友说话时,机器人就变得有点“富有想象力”。
您对这一领域的哪些发展最感到兴奋?
Demir: 我很高兴看到具有类似性能指标的小型ASR模型。看到像一兆字节大小的模型将是令人兴奋的。正如我们提到的,我们已经通过蒸馏在“压缩”模型了。因此,看看我们能走多远,通过逐渐将大量知识压缩到网络中的几个权重里,将会是令人惊叹的。
Pedori: 我也期待更好的日志化——更好地归属谁在说话——因为这是我一些项目中的障碍。但我愿望清单上最大的事情是拥有一个能够进行在线学习的ASR系统:一个可以自我学习以理解特定口音的系统。不过,我看不出这在当前的架构中会发生,因为训练和推理——模型应用其在训练阶段所学知识的步骤——阶段是截然分开的。
Demir: 机器学习的世界似乎非常不可预测。我们现在谈论的是Transformer,但这种架构在我2010年开始攻读博士学位时甚至还不存在。世界变化和适应得非常快,因此很难预测未来可能会出现什么样令人兴奋的新架构。
本文中介绍的技术内容由Nabeel Raza审阅。
基础知识了解
什么是自动语音识别? 自动语音识别 (ASR) 指的是用于将口语单词翻译成文本的技术和工具。我们说话时产生的声波包含层层频率,ASR将这些频率作为数据进行分析,最终将它们转换为文本。
自动语音识别如何与AI协同工作? 在AI出现之前,自动语音识别包括数据预处理、构建统计模型和对模型输出进行后处理。有了AI,这个过程变成了端到端。经过大量音频数据训练的模型可以区分不同的声音,将声波转换为文本输出。
ASR和语音转文本是一回事吗? ASR和语音转文本是用于描述涉及口语的计算机科学子领域的相似术语。ASR指的是与将口语单词转换为文本相关的过程,而语音转文本是一个更通用的术语,涵盖了这项技术的应用和功能。
ASR和NLP有什么区别? 虽然ASR和自然语言处理 (NLP) 都涉及语言,但它们完成不同的任务。ASR的目标是将口语转换为文本,而NLP则侧重于处理文本以探索其含义和组成部分。
ASR有哪些缺点? 自动语音识别系统可能难以应对口音和方言偏见,并且在嘈杂或非正式环境中的性能会下降。当在医疗或法律等敏感领域使用时,它们还会引发隐私担忧,而且它们的黑盒性质使得定制和调试变得困难。开发人员经常在准确性、速度和资源需求之间面临权衡。