数据集:
google/xtreme_s
XTREME-S(Speech的跨语言传输多语言编码器评估)基准是一个设计用来评估语音表示在不同语言、任务、领域和数据环境中的基准。它涵盖了来自10+个语言家族的102种语言,3个不同的领域和4个任务类别:语音识别、翻译、分类和检索。
TLDR; XTREME-S是第一个兼具多元性、完全可访问性和可重现性的语音基准。所有数据集都可以通过一行代码下载。提供了易于使用和灵活的微调脚本,并进行积极地维护。
XTREME-S涵盖了Fleurs、多语言LibriSpeech(MLS)和VoxPopuli的语音识别,CoVoST-2的语音翻译,LangID(Fleurs)和意图分类(Minds-14)的语音分类,以及Fleurs的语音(文本)检索。 每个任务都涵盖了XTREME-S中的102种语言的子集,来自不同的地区:
XTREME-S旨在实现任务、领域和语言的多样性。任务应该多样化,并涵盖多个领域,以提供对模型泛化和在不同环境下嘈杂的自然语音的鲁棒性的可靠评估。语言应该多样化,以确保模型能够适应各种语言和语音现象。
每个任务的子数据集都可以通过一行代码下载,如“受支持的任务”中所示。每个任务都在允许研究目的下使用和再分发的许可证下提供。任务选择是基于预先存在的多语言预训练模型的使用情况,以简化流程。
我们为每个任务提供完全开源、易于使用和可维护的微调脚本,如“微调和评估示例”中所示。XTREME-S鼓励使用公开可用的语音和文本数据集进行提交。用户应详细说明使用的数据。通常情况下,我们鼓励社区可以复现的设置,但也鼓励探索语音表示学习的新前沿。
我们提供了一个微调脚本在 research-projects/xtreme-s 。该微调脚本使用PyTorch编写,可以微调和评估任何 Hugging Face model 在XTREME-S上。该示例脚本受到 @anton-l 和 @patrickvonplaten 的积极维护。如果有任何问题,请随时通过在GitHub上的问题或拉取请求与我们联系。
XTREME-S基准的排行榜可以在 this address (TODO(PVP)) 中找到。
请注意,受支持的任务特别关注语音的语言学方面,而与语音合成或语音转换等与非语言/准语言相关的方面不进行评估。
我们包括了三个语音识别数据集:FLEURS-ASR,MLS和VoxPopuli(可选的BABEL)。这三个数据集采用多语言微调技术。
FLEURS-ASRFLEURS-ASR是FLORES机器翻译基准的语音版本,涵盖了102种语言中的2000个n路并行句子。
from datasets import load_dataset fleurs_asr = load_dataset("google/xtreme_s", "fleurs.af_za") # for Afrikaans # to download all data for multi-lingual fine-tuning uncomment following line # fleurs_asr = load_dataset("google/xtreme_s", "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]多语言LibriSpeech(MLS)
MLS是从LibriVox的有声读物中提取的大规模多语言语料库,包含8种语言。对于这个挑战,训练数据被限制为10小时的音频切片。
from datasets import load_dataset mls = load_dataset("google/xtreme_s", "mls.pl") # for Polish # to download all data for multi-lingual fine-tuning uncomment following line # mls = load_dataset("google/xtreme_s", "mls.all") # see structure print(mls) # load audio sample on the fly audio_input = mls["train"][0]["audio"] # first decoded audio sample transcription = mls["train"][0]["transcription"] # first transcription # use `audio_input` and `transcription` to fine-tune your model for ASRVoxPopuli
VoxPopuli是一种用于表示学习和半监督学习的大规模多语言语音语料库,我们使用其中的语音识别数据集。原始数据是从2009年至2020年的欧洲议会活动录音中收集的。我们对欧洲议会创造和分享这些材料表示感谢。
由于语言相互交织在一起,VoxPopuli需要下载整个数据集100GB,因此可能不值得在此处进行测试。
from datasets import load_dataset voxpopuli = load_dataset("google/xtreme_s", "voxpopuli.ro") # for Romanian # to download all data for multi-lingual fine-tuning uncomment following line # voxpopuli = load_dataset("google/xtreme_s", "voxpopuli.all") # see structure print(voxpopuli) # load audio sample on the fly audio_input = voxpopuli["train"][0]["audio"] # first decoded audio sample transcription = voxpopuli["train"][0]["transcription"] # first transcription # use `audio_input` and `transcription` to fine-tune your model for ASR(可选的)BABEL
IARPA的BABEL是一个低资源语言的对话式语音识别数据集。首先,下载LDC2016S06、LDC2016S12、LDC2017S08、LDC2017S05和LDC2016S13。BABEL是我们基准中唯一不容易访问的数据集,您需要登录LDC以获取访问权限。尽管BABEL不是XTREME-S ASR数据集的官方组成部分,但它经常被用于评估语音表示在一个困难的领域(电话对话)上的性能。
from datasets import load_dataset babel = load_dataset("google/xtreme_s", "babel.as")
以上命令预计会有一个很好的错误消息,解释如何下载BABEL。
以下命令应该可行:
from datasets import load_dataset babel = load_dataset("google/xtreme_s", "babel.as", data_dir="/path/to/IARPA_BABEL_OP1_102_LDC2016S06.zip") # see structure print(babel) # load audio sample on the fly audio_input = babel["train"][0]["audio"] # first decoded audio sample transcription = babel["train"][0]["transcription"] # first transcription # use `audio_input` and `transcription` to fine-tune your model for ASR
我们包括了CoVoST-2数据集,用于自动语音翻译。
CoVoST-2CoVoST-2基准已成为常用的用于评估自动语音翻译的数据集。它涵盖了从英语到15种语言以及从21种语言到英语的语言对。我们仅使用“X->En”方向来评估跨语言表示。在这种情况下,监督程度差别很大,从日语到英语只有一小时,而法语到英语的监督程度为180小时。这使得预训练在启用这种少样本学习上特别有用。我们强制进行多语言微调,以简化流程。结果按照高/中/低资源语言对分离,如文章中所述。
from datasets import load_dataset covost_2 = load_dataset("google/xtreme_s", "covost2.id.en") # for Indonesian to English # to download all data for multi-lingual fine-tuning uncomment following line # covost_2 = load_dataset("google/xtreme_s", "covost2.all") # see structure print(covost_2) # load audio sample on the fly audio_input = covost_2["train"][0]["audio"] # first decoded audio sample transcription = covost_2["train"][0]["transcription"] # first transcription translation = covost_2["train"][0]["translation"] # first translation # use audio_input and translation to fine-tune your model for AST
我们包括了两个多语言语音分类数据集:FLEURS-LangID和Minds-14。
语言识别 - FLEURS-LangIDLangID通常可以是一个领域分类,但在FLEURS-LangID的情况下,录音是在类似的环境中进行的,而句子对应的是n路并行的句子,在完全相同的领域中,因此这个任务对于评估LangID尤为相关。这个设置很简单,FLEURS-LangID按照每种语言划分为训练/验证/测试。我们通过合并所有语言的数据集创建一个单一的LangID训练/验证/测试数据集。
from datasets import load_dataset fleurs_langID = load_dataset("google/xtreme_s", "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意图分类 - Minds-14
Minds-14是由14种语言的电子银行语音数据集进行的意图分类,共有14个意图标签。我们进行了单一的多语言微调,以增加训练和测试集的规模,并减少与每种语言数据集大小相关的方差。
from datasets import load_dataset minds_14 = load_dataset("google/xtreme_s", "minds14.fr-FR") # for French # to download all data for multi-lingual fine-tuning uncomment following line # minds_14 = load_dataset("google/xtreme_s", "minds14.all") # see structure print(minds_14) # load audio sample on the fly audio_input = minds_14["train"][0]["audio"] # first decoded audio sample intent_class = minds_14["train"][0]["intent_class"] # first transcription intent = minds_14["train"].features["intent_class"].names[intent_class] # use audio_input and language_class to fine-tune your model for audio classification
我们可选地包括一个语音检索数据集:FLEURS-Retrieval,如 FLEURS paper 中所述。
FLEURS-RetrievalFLEURS-Retrieval提供了n路并行语音和文本数据。与XTREME用Tatoeba来评估双语挖掘,即句子翻译检索不同,我们使用FLEURS-Retrieval来评估固定大小的语音句子表示的质量。我们的目标是鼓励创建用于语音检索的固定大小语音编码器。系统必须检索英语中与“查询”语音翻译对应的英语“关键”语音。结果必须在FLEURS-Retrieval的测试集上报告,这些测试集的语音被用作查询(英语的关键)。我们通过大量的语音句子来增加英语关键词的难度。
from datasets import load_dataset fleurs_retrieval = load_dataset("google/xtreme_s", "fleurs.af_za") # for Afrikaans # to download all data for multi-lingual fine-tuning uncomment following line # fleurs_retrieval = load_dataset("google/xtreme_s", "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的训练集(和开发集)构建更好的跨语言固定大小语音表示。
XTREME-S基准由以下数据集组成:
请点击数据集卡片的链接以获取有关数据集结构的更多信息。
XTREME-S基准由以下数据集组成:
请访问相应的数据集卡片以获取有关源数据的更多信息。
此数据集旨在鼓励在更多世界语言中开发语音技术。其中一个目标是为每个人提供平等获得语音识别或语音翻译等技术的机会,从而改善配音或更好地访问互联网内容(如播客、流媒体或视频等)。
大多数数据集的性别表达分布公平(例如,新引入的FLEURS数据集)。尽管涵盖了来自世界各地不同地区的许多语言,但该基准缺少许多同样重要的语言。我们相信通过XTREME-S构建的技术应该适用于所有语言。
该基准对读文语音有特别关注,因为常见的评估基准如CoVoST-2或LibriSpeech在这种类型的语音上进行评估。有时在读文语音设置和更嘈杂的环境设置(例如生产环境)之间存在已知的不匹配。鉴于许多语言仍然需要取得巨大进展,我们相信在XTREME-S上的更好性能仍然可以很好地与实际的语音理解进展相关联。
所有数据集均在 Creative Commons license (CC-BY) 下获得许可。
@article{conneau2022xtreme, title={XTREME-S: Evaluating Cross-lingual Speech Representations}, author={Conneau, Alexis and Bapna, Ankur and Zhang, Yu and Ma, Min and von Platen, Patrick and Lozhkov, Anton and Cherry, Colin and Jia, Ye and Rivera, Clara and Kale, Mihir and others}, journal={arXiv preprint arXiv:2203.10752}, year={2022} }MLS
@article{Pratap2020MLSAL, title={MLS: A Large-Scale Multilingual Dataset for Speech Research}, author={Vineel Pratap and Qiantong Xu and Anuroop Sriram and Gabriel Synnaeve and Ronan Collobert}, journal={ArXiv}, year={2020}, volume={abs/2012.03411} }VoxPopuli
@article{wang2021voxpopuli, title={Voxpopuli: A large-scale multilingual speech corpus for representation learning, semi-supervised learning and interpretation}, author={Wang, Changhan and Riviere, Morgane and Lee, Ann and Wu, Anne and Talnikar, Chaitanya and Haziza, Daniel and Williamson, Mary and Pino, Juan and Dupoux, Emmanuel}, journal={arXiv preprint arXiv:2101.00390}, year={2021} }CoVoST 2
@article{DBLP:journals/corr/abs-2007-10310, author = {Changhan Wang and Anne Wu and Juan Miguel Pino}, title = {CoVoST 2: {A} Massively Multilingual Speech-to-Text Translation Corpus}, journal = {CoRR}, volume = {abs/2007.10310}, year = {2020}, url = {https://arxiv.org/abs/2007.10310}, eprinttype = {arXiv}, eprint = {2007.10310}, timestamp = {Thu, 12 Aug 2021 15:37:06 +0200}, biburl = {https://dblp.org/rec/journals/corr/abs-2007-10310.bib}, bibsource = {dblp computer science bibliography, https://dblp.org} }Minds14
@article{gerz2021multilingual, title={Multilingual and cross-lingual intent detection from spoken data}, author={Gerz, Daniela and Su, Pei-Hao and Kusztos, Razvan and Mondal, Avishek and Lis, Micha{\l} and Singhal, Eshan and Mrk{\v{s}}i{\'c}, Nikola and Wen, Tsung-Hsien and Vuli{\'c}, Ivan}, journal={arXiv preprint arXiv:2104.08524}, year={2021} }
感谢 @patrickvonplaten 、 @anton-l 和 @aconneau 的添加此数据集。