自动语音识别
又称:ASR
更新于
定义
自动语音识别(ASR)是把人类语音音频转换成文字的机器学习领域,也指这一类模型。ASR模型是每个听写和转写产品内部的引擎。
现代ASR模型是用大量录制语音训练出来的神经网络。知名的系列包括Whisper(OpenAI,开源)、Parakeet(NVIDIA,开源),以及Google、Apple等公司云服务中的专有引擎。
ASR的质量通常用基准音频上的词错误率(WER)来报告。实际质量还取决于你的麦克风、房间、口音和词汇,所以个人词典和领域词汇与主打模型同样重要。
模型是怎样构建的
ASR模型用成对的音频和正确的转写文本来训练,数量多达几十万小时,直到它能为从未听过的音频预测出文字。早期的系统把声学模型(声音到音素)和语言模型(音素到可能的词)分开。当前的系统是端到端的:一个网络直接把音频映射为文字token,这样更简单、更准确,也更容易在消费级硬件上运行。
如今有两种架构占主导地位。编码器-解码器模型(例如Whisper)先读完一整段音频再写出转写文本,所以准确,适合批处理。Transducer模型(例如Parakeet)在音频到来时就输出词元,所以可以流式处理。
实际中是什么决定了准确度
模型大小和训练数据决定了上限。上限以下的一切都取决于你:麦克风质量、与麦克风的距离、房间回声、背景噪声、口音和词汇。名字、行话和产品术语是每个模型都会出错的地方,因为它们在训练数据中很少见,所以个人词典和结合上下文的纠正步骤,往往比换成更大的模型更能提高日常准确度。
开放模型改变了这一领域
直到2022年,有竞争力的ASR都只能通过云端API使用。Whisper的开放发布,以及随后的Parakeet等模型,让任何人都能用上最先进的识别技术,而Apple芯片让笔记本电脑有了运行它的算力。这就是私密的本地听写在短短几年内从一种妥协变成默认选择的原因。
如何用你自己的声音比较两个ASR模型
基准分数描述的是基准测试的音频。要知道一个模型如何处理你的声音、你的房间和你的词汇,唯一的方法是用你的录音来运行它。开源的Whisper命令行工具可以在“终端”中很快完成这项工作。它需要先安装Python和ffmpeg。
- 录一两分钟你自己按平常听写方式说话的音频,包括一些名称和专业术语,并保存为音频文件。
- 在“终端”中用以下命令安装Whisper:pip install -U openai-whisper
- 用小模型转写该文件:whisper myclip.m4a --model small --output_format txt
- 重命名它写出的文本文件,然后用--model turbo运行同一条命令。
- 对照你实际说的话阅读这两份转写文本,分别数出其中错误、遗漏和多余的词。
- 用错误数除以你说的词数。这就是你在每个模型上的个人词错误率。
ASR模型除了词还会返回什么
较早的识别器返回的是一串平铺的小写单词。现在的开源模型会返回更多内容。了解有哪些可用,就能知道基于它们的产品无需额外工作就能做到什么。
- 标点和大小写。Parakeet TDT 0.6B将两者都列为内置功能。
- 时间戳。Parakeet返回词级和片段级时间戳,Whisper有一个word_timestamps选项。
- 字幕文件。Whisper命令行工具可以写出txt、vtt、srt、tsv和json输出。
- 语言。在你不指定时,Whisper和Parakeet TDT 0.6B v3都能检测所说的语言。
- 翻译。Whisper的多语言模型可以把其他语言的语音翻译成英文文本。
ASR准确吗?为什么一个模型有很多分数
ASR模型没有单一的准确率数字。NVIDIA报告Parakeet TDT 0.6B v3在Hugging Face Open ASR Leaderboard的八个英语测试集上的平均词错误率为6.34%,但各个测试集的结果从LibriSpeech test-clean上的1.93%到Earnings-22上的11.42%不等,Earnings-22是公司财报电话会议的录音。
语言和音频类型同样重要。Whisper模型卡表示,这些模型在大约10种语言上表现出色,而在训练数据较少的语言上准确率较低。读到一个分数时,先查看它是在哪个测试集、哪种语言上测得的,再与其他分数比较。
大家常问的问题。
听写用哪个ASR模型最好?
对于实时听写,选择Parakeet这样支持流式处理的模型,因为文字会在你说话时出现。要覆盖最多的语言,就选择用多种语言训练的模型,例如支持99种语言的Whisper,或支持1,600多种语言的Meta Omnilingual ASR。大多数好工具会使用不止一个模型,并按语言和任务来选择。在Apple芯片上,它们都能在本地运行。
ASR和语音转文字是一回事吗?
ASR是这些模型和这一研究领域的技术名称。语音转文字是对它们所做事情的通俗叫法。在产品页面上,两者可以互换。
为什么ASR总把我说的名字弄错?
因为模型见过一个名字的次数,取决于它在训练音频中出现的次数,而大多数名字和产品术语都很少出现。模型会写出这些发音最可能的拼法。一份包含你自己术语的词典,再加上对照屏幕上或项目中可见的名字进行纠正,比换任何模型都更能解决这个问题。
ASR是什么的缩写?
ASR是automatic speech recognition(自动语音识别)的缩写。它是把录制的或实时的语音转换成文字的技术。
可以在自己的电脑上运行ASR模型吗?
可以。Whisper和Parakeet等开源模型可以下载并在本地运行。Whisper用pip安装,在Mac上从“终端”运行。
ASR模型会添加标点吗?
许多现在的模型会。NVIDIA将自动标点和大小写列为Parakeet TDT 0.6B的功能,Whisper也会写出带标点的文本。