选择数据集
与任何机器学习问题一样,我们的模型仅与我们用来训练它的数据一样好。语音识别数据集在它们是如何策划以及它们涵盖的领域方面差异很大。要选择正确的数据集,我们需要将我们的标准与数据集提供的功能相匹配。
在我们选择数据集之前,我们首先需要了解关键的定义特征。
语音数据集的特征
1. 小时数
简单来说,训练小时数表示数据集的大小。它类似于 NLP 数据集中训练示例的数量。但是,更大的数据集并不一定更好。如果我们想要一个泛化能力强的模型,我们需要一个**多样化**的数据集,其中包含许多不同的说话者、领域和说话风格。
2. 领域
领域包含数据源自哪里,无论是音频书籍、播客、YouTube 还是财务会议。每个领域都有不同的数据分布。例如,有声读物是在高质量的录音棚条件下录制(没有背景噪音)和取自书面文献的文本。而对于 YouTube,音频可能包含更多背景噪音和更非正式的说话风格。
我们需要将我们的领域与我们在推理时预期的条件相匹配。例如,如果我们用有声读物训练我们的模型,我们就不能期望它在嘈杂的环境中表现良好。
3. 说话风格
说话风格分为以下两类
- 叙述:从脚本中朗读
- 自发:非脚本化,对话式语音
音频和文本数据反映了说话风格。由于叙述文本是脚本化的,因此它往往会清晰地表达,没有任何错误。
“Consider the task of training a model on a speech recognition dataset”
而对于自发语音,我们可以预期更口语化的语音风格,包括重复、犹豫和假启动。
“Let’s uhh let's take a look at how you'd go about training a model on uhm a sp- speech recognition dataset”
4. 转录风格
转录风格指的是目标文本是否具有标点符号、大小写或两者兼而有之。如果我们希望系统生成可用于出版物或会议转录的完整格式化文本,则需要具有标点符号和大小写的训练数据。如果我们只需要以非格式化结构显示口语单词,则不需要标点符号或大小写。在这种情况下,我们可以选择一个没有标点符号或大小写的数据集,或者选择一个具有标点符号和大小写的数据集,然后随后通过预处理从目标文本中删除它们。
Hub 上数据集的摘要
以下是 Hugging Face Hub 上最流行的英语语音识别数据集的摘要
数据集 | 训练小时数 | 领域 | 说话风格 | 大小写 | 标点符号 | 许可证 | 推荐用途 |
---|---|---|---|---|---|---|---|
LibriSpeech | 960 | 有声读物 | 叙述 | ❌ | ❌ | CC-BY-4.0 | 学术基准 |
Common Voice 11 | 3000 | 维基百科 | 叙述 | ✅ | ✅ | CC0-1.0 | 非母语人士 |
VoxPopuli | 540 | 欧洲议会 | 演说 | ❌ | ✅ | CC0 | 非母语人士 |
TED-LIUM | 450 | TED 演讲 | 演说 | ❌ | ❌ | CC-BY-NC-ND 3.0 | 技术主题 |
GigaSpeech | 10000 | 有声读物、播客、YouTube | 叙述、自发 | ❌ | ✅ | apache-2.0 | 跨多个领域的鲁棒性 |
SPGISpeech | 5000 | 财务会议 | 演说、自发 | ✅ | ✅ | 用户协议 | 完整格式化的转录 |
Earnings-22 | 119 | 财务会议 | 演说、自发 | ✅ | ✅ | CC-BY-SA-4.0 | 口音的多样性 |
AMI | 100 | 会议 | 自发 | ✅ | ✅ | CC-BY-4.0 | 嘈杂的语音条件 |
此表格作为根据您的标准选择数据集的参考。下面是多语言语音识别的等效表格。请注意,我们省略了训练时长列,因为这取决于每个数据集的语言而有所不同,并将其替换为每个数据集的语言数量。
数据集 | 语言 | 领域 | 说话风格 | 大小写 | 标点符号 | 许可证 | 推荐用途 |
---|---|---|---|---|---|---|---|
多语言LibriSpeech | 6 | 有声读物 | 叙述 | ❌ | ❌ | CC-BY-4.0 | 学术基准 |
Common Voice 13 | 108 | 维基百科文本和众包语音 | 叙述 | ✅ | ✅ | CC0-1.0 | 多样化的说话者集合 |
VoxPopuli | 15 | 欧洲议会录音 | 自发 | ❌ | ✅ | CC0 | 欧洲语言 |
FLEURS | 101 | 欧洲议会录音 | 自发 | ❌ | ❌ | CC-BY-4.0 | 多语言评估 |
有关这两个表格中涵盖的音频数据集的详细细分,请参阅博客文章音频数据集完整指南。虽然 Hub 上有 180 多个语音识别数据集,但可能没有一个数据集能满足您的需求。在这种情况下,您也可以使用您自己的音频数据与 🤗 Datasets。要创建自定义音频数据集,请参阅指南创建音频数据集。在创建自定义音频数据集时,请考虑在 Hub 上共享最终数据集,以便社区中的其他人可以从您的努力中受益 - 音频社区是包容性和广泛的,其他人会像您欣赏他们的工作一样欣赏您的工作。
好了!现在我们已经了解了选择 ASR 数据集的所有标准,让我们为本教程的目的选择一个。我们知道 Whisper 已经在高资源语言(如英语和西班牙语)的转录数据方面做得非常出色,因此我们将专注于低资源多语言转录。我们希望保留 Whisper 预测标点符号和大小写的能力,因此从第二个表格来看,Common Voice 13 是一个非常好的候选数据集!
Common Voice 13
Common Voice 13 是一个众包数据集,说话者用各种语言录制维基百科上的文本。它是 Common Voice 系列的一部分,该系列是 Mozilla 基金会发布的一系列 Common Voice 数据集。在撰写本文时,Common Voice 13 是该数据集的最新版本,拥有迄今为止任何版本中最多的语言和每种语言的时长。
我们可以通过查看 Hub 上的数据集页面来获取 Common Voice 13 数据集的完整语言列表:mozilla-foundation/common_voice_13_0。首次查看此页面时,系统会要求您接受使用条款。之后,您将获得对数据集的完全访问权限。
一旦我们提供了使用数据集的身份验证,就会显示数据集预览。数据集预览显示了每个语言的数据集的前 100 个样本。更重要的是,它加载了音频样本,方便我们实时收听。在本单元中,我们将选择迪维希语(或马尔代夫语),这是一种在南亚马尔代夫岛国使用的印欧语系语言。虽然我们选择迪维希语作为本教程的示例,但此处介绍的步骤适用于 Common Voice 13 数据集中任何一种 108 种语言,更广泛地适用于 Hugging Face Hub 上的任何一种 180 多个音频数据集,因此对语言或方言没有限制。
我们可以通过使用下拉菜单将子集设置为 dv
来选择 Common Voice 13 的迪维希语子集(dv
是迪维希语的语言标识符代码)。
如果我们点击第一个样本的播放按钮,我们可以收听音频并查看相应的文本。滚动浏览训练集和测试集的样本,以便更好地了解我们正在处理的音频和文本数据。您可以从语调和风格判断录音取自叙述语音。您还可能会注意到说话者和录音质量的巨大差异,这是众包数据的共同特征。
数据集预览是在使用数据集之前体验数据集的绝佳方式。您可以选择 Hub 上的任何数据集,滚动浏览样本并收听不同子集和拆分的音频,判断它是否适合您的需求。一旦您选择了一个数据集,加载数据以便开始使用它就非常简单了。
现在,我个人不会说迪维希语,而且预计绝大多数读者也不会!要了解我们微调的模型是否有效,我们需要一种严格的方法来在未见过的数据上评估它并衡量其转录准确性。我们将在下一节中详细介绍这一点!