英文

FLEURS

Fleurs是 FLoRes machine translation benchmark 的语音版本。我们使用了来自FLoRes公开可用的dev和devtest数据集中的102种语言的2009个多对多平行句子。

训练集提供了约10小时的训练,训练集的说话人与开发/测试集的说话人不同。使用了多语言微调,对所有语言的“单位错误率”(字符,标记)求平均。语言和结果也被分为七个地理区域:

  • 西欧: 阿斯图里亚斯语、波斯尼亚语、加泰罗尼亚语、克罗地亚语、丹麦语、荷兰语、英语、芬兰语、法语、加利西亚语、德语、希腊语、匈牙利语、冰岛语、爱尔兰语、意大利语、佛得角克里奥尔语、卢森堡语、马耳他语、挪威语、奥克西唐语、葡萄牙语、西班牙语、瑞典语、威尔士语
  • 东欧: 亚美尼亚语、白俄罗斯语、保加利亚语、捷克语、爱沙尼亚语、格鲁吉亚语、拉脱维亚语、立陶宛语、马其顿语、波兰语、罗马尼亚语、俄语、塞尔维亚语、斯洛伐克语、斯洛文尼亚语、乌克兰语
  • 中亚/中东/北非: 阿拉伯语、阿塞拜疆语、希伯来语、哈萨克语、吉尔吉斯语、蒙古语、普什图语、波斯语、索拉尼库尔德语、塔吉克语、土耳其语、乌兹别克语
  • 撒哈拉以南非洲: 南非荷兰语、阿姆哈拉语、富拉语、岗达语、豪萨语、伊博语、坎巴语、林加拉语、卢奥语、北索托语、尼扬贾语、奥罗莫语、修纳语、索马里语、斯瓦希里语、翁邦杜语、沃洛夫语、科萨语、约鲁巴语、祖鲁语
  • 南亚: 阿萨姆语、孟加拉语、古吉拉特语、印地语、卡纳达语、马拉雅拉姆语、马拉地语、尼泊尔语、敖利亚语、旁遮普语、信德语、泰米尔语、泰卢固语、乌尔都语
  • 东南亚: 缅甸语、宿务语、菲律宾语、印度尼西亚语、爪哇语、高棉语、老挝语、马来语、毛利语、泰语、越南语
  • 中日韩语: 粤语和普通话、日语、韩语

如何使用和支持的任务

如何使用

数据集库允许您在纯Python环境中以大规模加载和预处理数据集。可以使用load_dataset函数一次将数据集下载并准备到本地磁盘。

例如,要下载Hindi配置,只需指定相应的语言配置名称(即"Hindi"对应的"hi_in"):

from datasets import load_dataset
fleurs = load_dataset("google/fleurs", "hi_in", split="train")

使用数据集库,您还可以通过将streaming=True参数添加到load_dataset函数调用中,实时流式传输数据集。以流式模式加载数据集时,一次加载一个样本,而不是将整个数据集下载到磁盘。

from datasets import load_dataset
fleurs = load_dataset("google/fleurs", "hi_in", split="train", streaming=True)
print(next(iter(fleurs)))

奖励 : 使用您自己的数据集(本地/流式)直接创建数据集。

本地:

from datasets import load_dataset
from torch.utils.data.sampler import BatchSampler, RandomSampler
fleurs = load_dataset("google/fleurs", "hi_in", split="train")
batch_sampler = BatchSampler(RandomSampler(fleurs), batch_size=32, drop_last=False)
dataloader = DataLoader(fleurs, batch_sampler=batch_sampler)

流式:

from datasets import load_dataset
from torch.utils.data import DataLoader
fleurs = load_dataset("google/fleurs", "hi_in", split="train")
dataloader = DataLoader(fleurs, batch_size=32)

要了解有关加载和准备音频数据集的更多信息,请查看 hf.co/blog/audio-datasets

示例脚本

使用 here 在FLEURS上训练您自己的CTC或Seq2Seq自动语音识别模型。

使用 here 在FLEURS上微调您自己的语言识别模型。

1. 语音识别(ASR)

from datasets import load_dataset

fleurs_asr = load_dataset("google/fleurs", "af_za")  # for Afrikaans
# to download all data for multi-lingual fine-tuning uncomment following line
# fleurs_asr = load_dataset("google/fleurs", "all")

# see structure
print(fleurs_asr)

# load audio sample on the fly
audio_input = fleurs_asr["train"][0]["audio"]  # first decoded audio sample
transcription = fleurs_asr["train"][0]["transcription"]  # first transcription
# use `audio_input` and `transcription` to fine-tune your model for ASR

# for analyses see language groups
all_language_groups = fleurs_asr["train"].features["lang_group_id"].names
lang_group_id = fleurs_asr["train"][0]["lang_group_id"]

all_language_groups[lang_group_id]

2. 语言识别

语言识别通常是一种领域分类,但在FLEURS-LangID的情况下,用不同语言进行录制,并且句子对应着n对平行句子,在相同的领域中,这使得这个任务特别适用于评估LangID。该设置很简单,FLEURS-LangID被分割为每种语言的训练/验证/测试。我们只需通过合并所有语言的训练/验证/测试集创建一个单一的LangID训练/验证/测试集。

from datasets import load_dataset

fleurs_langID = load_dataset("google/fleurs", "all") # to download all data

# see structure
print(fleurs_langID)

# load audio sample on the fly
audio_input = fleurs_langID["train"][0]["audio"]  # first decoded audio sample
language_class = fleurs_langID["train"][0]["lang_id"]  # first id class
language = fleurs_langID["train"].features["lang_id"].names[language_class]

# use audio_input and language_class to fine-tune your model for audio classification

3. 检索

检索提供了n对平行语音和文本数据。类似于XTREME用Tatoeba评估双语挖掘,即句子翻译检索,我们使用检索来评估语音短语的固定大小表示的质量。我们的目标是鼓励创建用于语音检索的固定大小的语音编码器。该系统必须检索与15种语言中的“查询”语音的翻译对应的英文“关键”语音。结果必须在用作查询的检索测试集上报告(也是英文关键词)。我们通过大量的语音短语增加了英文关键短语,以增加任务的难度。

from datasets import load_dataset

fleurs_retrieval = load_dataset("google/fleurs", "af_za")  # for Afrikaans
# to download all data for multi-lingual fine-tuning uncomment following line
# fleurs_retrieval = load_dataset("google/fleurs", "all")

# see structure
print(fleurs_retrieval)

# load audio sample on the fly
audio_input = fleurs_retrieval["train"][0]["audio"]  # decoded audio sample
text_sample_pos = fleurs_retrieval["train"][0]["transcription"]  # positive text sample
text_sample_neg = fleurs_retrieval["train"][1:20]["transcription"] # negative text samples

# use `audio_input`, `text_sample_pos`, and `text_sample_neg` to fine-tune your model for retrieval

用户可以利用FLEURS-Retrieval的训练(和验证)集使用排序损失来构建更好的跨语言固定大小的语音表示。

数据集结构

我们展示了数据集配置 af_za 的详细信息,所有其他配置具有相同的结构。

数据实例

af_za

  • 下载的数据集文件大小:1.47 GB
  • 生成的数据集大小:1 MB
  • 使用的总磁盘空间:1.47 GB

数据配置 af_za 的示例数据实例如下所示:

{'id': 91,
 'num_samples': 385920,
 'path': '/home/patrick/.cache/huggingface/datasets/downloads/extracted/310a663d52322700b3d3473cbc5af429bd92a23f9bc683594e70bc31232db39e/home/vaxelrod/FLEURS/oss2_obfuscated/af_za/audio/train/17797742076841560615.wav',
 'audio': {'path': '/home/patrick/.cache/huggingface/datasets/downloads/extracted/310a663d52322700b3d3473cbc5af429bd92a23f9bc683594e70bc31232db39e/home/vaxelrod/FLEURS/oss2_obfuscated/af_za/audio/train/17797742076841560615.wav',
  'array': array([ 0.0000000e+00,  0.0000000e+00,  0.0000000e+00, ...,
         -1.1205673e-04, -8.4638596e-05, -1.2731552e-04], dtype=float32),
  'sampling_rate': 16000},
 'raw_transcription': 'Dit is nog nie huidiglik bekend watter aantygings gemaak sal word of wat owerhede na die seun gelei het nie maar jeugmisdaad-verrigtinge het in die federale hof begin',
 'transcription': 'dit is nog nie huidiglik bekend watter aantygings gemaak sal word of wat owerhede na die seun gelei het nie maar jeugmisdaad-verrigtinge het in die federale hof begin',
 'gender': 0,
 'lang_id': 0,
 'language': 'Afrikaans',
 'lang_group_id': 3}

数据字段

所有拆分之间的数据字段相同。

  • id (int):音频样本的ID
  • num_samples (int):浮点值的数量
  • path (str):音频文件的路径
  • audio (dict):包括加载的音频数组、采样率和音频路径的音频对象
  • raw_transcription (str):音频文件的非标准化转录
  • transcription (str):音频文件的转录
  • gender (int):性别的类别ID
  • lang_id (int):语言的类别ID
  • lang_group_id (int):语言组的类别ID

数据拆分

每个配置只有一个"train"拆分,其中包含大约1000个示例,以及一个"validation"和一个"test"拆分,每个拆分包含大约400个示例。

数据集创建

我们为每个句子收集了一到三个录音(平均2.3个),并构建了新的训练-开发-测试分割,训练、开发和测试分别包含1509、150和350个句子。

使用数据的注意事项

数据集的社会影响

这个数据集旨在鼓励在世界上更多的语言中发展语音技术。其目标之一是为每个人提供平等的获取语音识别或语音翻译等技术的机会,意味着更好的配音或更好地访问互联网上的内容(如播客、流媒体或视频)。

偏见讨论

大多数数据集在性别话语上具有公平的分布(例如,新引入的FLEURS数据集)。虽然涵盖了来自世界各地的许多语言,但该基准测试错过了许多同样重要的语言。我们认为通过FLEURS构建的技术应该适用于所有语言。

其他已知限制

该数据集特别关注朗读语音,因为CoVoST-2或LibriSpeech等常用的评估基准在这种语音类型上进行评估。有时在朗读语音环境和更嘈杂的环境(如生产环境)之间存在一种已知的不匹配。鉴于许多语言仍然需要取得更好的进展,我们相信在FLEURS上取得的更好性能仍然会与语音理解的实际进展相关。

其他信息

所有数据集均遵循 Creative Commons license (CC-BY) 许可协议。

引文信息

您可以在 https://arxiv.org/abs/2205.12446 上访问FLEURS论文。请在引用FLEURS语料库时引用此论文:

@article{fleurs2022arxiv,
  title = {FLEURS: Few-shot Learning Evaluation of Universal Representations of Speech},
  author = {Conneau, Alexis and Ma, Min and Khanuja, Simran and Zhang, Yu and Axelrod, Vera and Dalmia, Siddharth and Riesa, Jason and Rivera, Clara and Bapna, Ankur},
  journal={arXiv preprint arXiv:2205.12446},
  url = {https://arxiv.org/abs/2205.12446},
  year = {2022},

贡献

感谢 @patrickvonplaten @aconneau 添加此数据集。