five

voiceintelligenceresearch/MOCKS

收藏
Hugging Face2023-10-27 更新2024-03-04 收录
下载链接:
https://hf-mirror.com/datasets/voiceintelligenceresearch/MOCKS
下载链接
链接失效反馈
官方服务:
资源简介:
--- annotations_creators: - expert-generated language: - en - de - es - fr - it license: - cc-by-4.0 - mpl-2.0 multilinguality: - multilingual dataset_info: - config_name: config features: - name: audio_id dtype: string - name: audio dtype: audio: sampling_rate: 16000 - name: text dtype: string --- # MOCKS: Multilingual Open Custom Keyword Spotting Testset ## Table of Contents - [Table of Contents](#table-of-contents) - [Dataset Description](#dataset-description) - [Dataset Summary](#dataset-summary) - [Supported Tasks and Leaderboards](#supported-tasks-and-leaderboards) - [Languages](#languages) - [Dataset Structure](#dataset-structure) - [Data Instances](#data-instances) - [Data Fields](#data-fields) - [Data Splits](#data-splits) - [Dataset Creation](#dataset-creation) - [Curation Rationale](#curation-rationale) - [Source Data](#source-data) - [Annotations](#annotations) - [Personal and Sensitive Information](#personal-and-sensitive-information) - [Considerations for Using the Data](#considerations-for-using-the-data) - [Social Impact of Dataset](#social-impact-of-dataset) - [Discussion of Biases](#discussion-of-biases) - [Other Known Limitations](#other-known-limitations) - [Additional Information](#additional-information) - [Dataset Curators](#dataset-curators) - [Licensing Information](#licensing-information) - [Citation Information](#citation-information) - [Contributions](#contributions) ## Dataset Description - **Paper:** [MOCKS 1.0: Multilingual Open Custom Keyword Spotting Testset](https://www.isca-speech.org/archive/pdfs/interspeech_2023/pudo23_interspeech.pdf) ### Dataset Summary Multilingual Open Custom Keyword Spotting Testset (MOCKS) is a comprehensive audio testset for evaluation and benchmarking Open-Vocabulary Keyword Spotting (OV-KWS) models. It supports multiple OV-KWS problems: both text-based and audio-based keyword spotting, as well as offline and online (streaming) modes. It is based on the LibriSpeech and Mozilla Common Voice datasets and contains almost 50,000 keywords, with audio data available in English, French, German, Italian, and Spanish. The testset was generated using automatically generated alignments used for the extraction of parts of the recordings that were split into keywords and test samples. MOCKS contains both positive and negative examples selected based on phonetic transcriptions that are challenging and should allow for in-depth OV-KWS model evaluation. Please refer to our [paper](https://www.isca-speech.org/archive/pdfs/interspeech_2023/pudo23_interspeech.pdf) for further details. ### Supported Tasks and Leaderboards The MOCKS dataset can be used for the Open-Vocabulary Keyword Spotting (OV-KWS) task. It supports two OV-KWS types: - Query-by-Text, where the keyword is provided by text and needs to be detected in the audio stream. - Query-by-Example, where the keyword is provided with enrollment audio for detection in the audio stream. It also allows for: - offline keyword detection, where test audio is trimmed to contain only keywords of interest. - online (streaming) keyword detection, where test audio has past and future context besides keywords of interest. ### Languages The MOCKS incorporates 5 languages: - English - primary and largest test set, - German, - Spanish, - French, - Italian. ## Dataset Structure The MOCKS testset is split by language, source dataset, and OV-KWS type: ``` MOCKS │ └───de │ └───MCV │ │ └───test │ │ │ └───offline │ │ │ │ │ all.pair.different.tsv │ │ │ │ │ all.pair.positive.tsv │ │ │ │ │ all.pair.similar.tsv │ │ │ │ │ data.tar.gz │ │ │ │ │ subset.pair.different.tsv │ │ │ │ │ subset.pair.positive.tsv │ │ │ │ │ subset.pair.similar.tsv │ │ │ │ │ │ │ └───online │ │ │ │ │ all.pair.different.tsv │ │ │ │ │ ... │ │ │ │ data.offline.transcription.tsv │ │ │ │ data.online.transcription.tsv │ └───en │ └───LS-clean │ │ └───test │ │ │ └───offline │ │ │ │ │ all.pair.different.tsv │ │ │ │ │ ... │ │ │ │ ... │ │ │ └───LS-other │ │ └───test │ │ │ └───offline │ │ │ │ │ all.pair.different.tsv │ │ │ │ │ ... │ │ │ │ ... │ │ │ └───MCV │ │ └───test │ │ │ └───offline │ │ │ │ │ all.pair.different.tsv │ │ │ │ │ ... │ │ │ │ ... │ └───... ``` Each split is divided into: - positive examples (`all.pair.positive.tsv`) - test examples with true keywords, 5000-8000 keywords in each subset, - similar examples (`all.pair.similar.tsv`) - test examples with similar phrases to the keyword selected based on phonetic transcription distance, - different examples (`all.pair.different.tsv`) - test examples with completely different phrases. All those files contain columns separated by tab: - `keyword_path` - path to audio containing keyword phrase. - `adversary_keyword_path` - path to test audio. - `adversary_keyword_timestamp_start` - start time in seconds of phrase of interest for a given keyword from `keyword_path`, the field only available in **offline** split. - `adversary_keyword_timestamp_end` - end time in seconds of phrase of interest for a given keyword from `keyword_path`, the field only available in **offline** split. - `label` - whether the `adversary_keyword_path` contain keyword from `keyword_path` or not (1 - contains keyword, 0 - doesn't contain keyword). Each split also contains a subset of whole data with the same field structure to allow faster evaluation (`subset.pair.*.tsv`). Also, transcriptions are provided for each audio in: - `data_offline_transcription.tsv` - transcriptions for **offline** examples and `keyword_path` from **online** scenario, - `data_online_transcription.tsv` - transcriptions for the adversary, test examples from **online** scenario, three columns are present within each file: - `path_to_keyword`/`path_to_adversary_keyword` - path to the audio file, - `keyword_transcription`/`adversary_keyword_transcription` - audio transcription, - `keyword_phonetic_transcription`/`adversary_keyword_phonetic_transcription` - audio phonetic transcription. ## Using the Dataset The dataset can be used by: - downloading the archive and constructing all the test cases based on the provided `tsv` files, - `datasets` package. In the latter case, the following should work: ``` load_dataset(path="voiceintelligenceresearch/MOCKS", name="en.LS-clean", split="offline") ``` The allowed values for `name` are: - `en.LS-{clean,other}`, - `en.LS-{clean,other}.positive`, - `en.LS-{clean,other}.similar`, - `en.LS-{clean,other}.different`, - `en.LS-{clean,other}.subset`, - `en.LS-{clean,other}.positive_subset`, - `en.LS-{clean,other}.similar_subset`, - `en.LS-{clean,other}.different_subset`, - `{de,en,es,fr,it}.MCV.positive`, - `{de,en,es,fr,it}.MCV.positive.similar`, - `{de,en,es,fr,it}.MCV.positive.different`, - `{de,en,es,fr,it}.MCV.positive.subset`, - `{de,en,es,fr,it}.MCV.positive.positive_subset`, - `{de,en,es,fr,it}.MCV.positive.similar_subset`, - `{de,en,es,fr,it}.MCV.positive.different_subset`. The allowed values for `split` are: - `offline`, - `online`. `load_dataset` provides a list of the dictionary objects with the following contents: ``` { "keyword_id": datasets.Value("string"), "keyword_transcription": datasets.Value("string"), "test_id": datasets.Value("string"), "test_transcription": datasets.Value("string"), "test_audio": datasets.Audio(sampling_rate=16000), "label": datasets.Value("bool"), } ``` Each element of this list represents a single test case for the QbyT KWS: - `keyword_id` - the name of the keyword audio file in `data.tar.gz` (not used in QbyT KWS), - `keyword_transcription` - transcription of the keyword, - `test_id` - the name of the test audio file in `data.tar.gz`, - `test_transcription` - transcription of the test sample, - `test_audio` - raw data of the test audio, - `label` - `True` if the test case is positive (`keyword_transcription` is a substring of the `test_transcription`), `False` otherwise (`similar` and `different` subsets). Note that each test case can be extended to QbyE KWS by reading the proper `keyword_id` file. Unfortunately, there is no easy way to do that in the loading script. All the test files are provided in 16 kHz, even though `{de,en,es,fr,it}.MCV` files are stored in the original sampling (usually 48 kHz) in the `data.tar.gz` archives. ## Dataset Creation The MOCKS testset was created from LibriSpeech and Mozilla Common Voice (MCV) datasets that are publicly available. To create it: - a [MFA](https://mfa-models.readthedocs.io/en/latest/acoustic/index.html) with publicly available models was used to extract word-level alignments, - an internally developed, rule-based grapheme-to-phoneme (G2P) algorithm was used to prepare phonetic transcriptions for each sample. The data is stored in a 16-bit, single-channel WAV format. 16kHz sampling rate is used for LibriSpeech based testset and 48kHz sampling rate for MCV based testset. The offline testset contains an additional 0.1 seconds at the beginning and end of the extracted audio sample to mitigate the cut-speech effect. The online version contains an additional 1 second or so at the beginning and end of the extracted audio sample. The MOCKS testset is gender balanced. ## Citation Information ```bibtex @inproceedings{pudo23_interspeech, author={Mikołaj Pudo and Mateusz Wosik and Adam Cieślak and Justyna Krzywdziak and Bożena Łukasiak and Artur Janicki}, title={{MOCKS} 1.0: Multilingual Open Custom Keyword Spotting Testset}, year={2023}, booktitle={Proc. Interspeech 2023}, } ```
提供机构:
voiceintelligenceresearch
原始信息汇总

数据集概述

数据集名称

MOCKS: Multilingual Open Custom Keyword Spotting Testset

数据集摘要

MOCKS是一个综合的音频测试集,用于评估和基准测试开放词汇关键词识别(OV-KWS)模型。它支持多种OV-KWS问题,包括基于文本和基于音频的关键词识别,以及离线和在线(流式)模式。该数据集基于LibriSpeech和Mozilla Common Voice数据集,包含近50,000个关键词,音频数据涵盖英语、法语、德语、意大利语和西班牙语。

支持的任务和排行榜

MOCKS数据集可用于开放词汇关键词识别(OV-KWS)任务,支持两种OV-KWS类型:

  • 文本查询(Query-by-Text):通过文本提供关键词,并在音频流中检测该关键词。
  • 示例查询(Query-by-Example):通过注册音频提供关键词,并在音频流中检测该关键词。

此外,还支持:

  • 离线关键词检测:测试音频被修剪以仅包含感兴趣的关键词。
  • 在线(流式)关键词检测:测试音频包含关键词感兴趣的过去和未来上下文。

语言

MOCKS包含以下五种语言:

  • 英语
  • 德语
  • 西班牙语
  • 法语
  • 意大利语

数据集结构

MOCKS测试集按语言、源数据集和OV-KWS类型进行划分。每个划分包含以下内容:

  • 正例(all.pair.positive.tsv):包含真实关键词的测试示例,每个子集包含5000-8000个关键词。
  • 相似例(all.pair.similar.tsv):包含与关键词相似的短语的测试示例,基于音素转录距离选择。
  • 不同例(all.pair.different.tsv):包含完全不同短语的测试示例。

所有这些文件包含以下列:

  • keyword_path:包含关键词短语的音频路径。
  • adversary_keyword_path:测试音频路径。
  • adversary_keyword_timestamp_start:关键词短语的开始时间(仅在离线划分中可用)。
  • adversary_keyword_timestamp_end:关键词短语的结束时间(仅在离线划分中可用)。
  • labeladversary_keyword_path是否包含keyword_path中的关键词(1表示包含,0表示不包含)。

每个划分还包含一个相同字段结构的子集数据,以允许更快的评估(subset.pair.*.tsv)。

此外,每个音频的转录本也提供在:

  • data_offline_transcription.tsv:离线示例和在线场景中关键词路径的转录本。
  • data_online_transcription.tsv:在线场景中对手、测试示例的转录本。

每个文件包含以下三列:

  • path_to_keyword/path_to_adversary_keyword:音频文件路径。
  • keyword_transcription/adversary_keyword_transcription:音频转录本。
  • keyword_phonetic_transcription/adversary_keyword_phonetic_transcription:音频音素转录本。

使用数据集

数据集可以通过以下方式使用:

  • 下载存档并根据提供的tsv文件构建所有测试用例。
  • 使用datasets包。

在后一种情况下,以下代码应能工作: python load_dataset(path="voiceintelligenceresearch/MOCKS", name="en.LS-clean", split="offline")

name允许的值包括:

  • en.LS-{clean,other}
  • en.LS-{clean,other}.positive
  • en.LS-{clean,other}.similar
  • en.LS-{clean,other}.different
  • en.LS-{clean,other}.subset
  • en.LS-{clean,other}.positive_subset
  • en.LS-{clean,other}.similar_subset
  • en.LS-{clean,other}.different_subset
  • {de,en,es,fr,it}.MCV.positive
  • {de,en,es,fr,it}.MCV.positive.similar
  • {de,en,es,fr,it}.MCV.positive.different
  • {de,en,es,fr,it}.MCV.positive.subset
  • {de,en,es,fr,it}.MCV.positive.positive_subset
  • {de,en,es,fr,it}.MCV.positive.similar_subset
  • {de,en,es,fr,it}.MCV.positive.different_subset

split允许的值包括:

  • offline
  • online

load_dataset提供了一个字典对象列表,每个对象包含以下内容: json { "keyword_id": datasets.Value("string"), "keyword_transcription": datasets.Value("string"), "test_id": datasets.Value("string"), "test_transcription": datasets.Value("string"), "test_audio": datasets.Audio(sampling_rate=16000), "label": datasets.Value("bool"), }

每个列表元素代表一个QbyT KWS的单个测试用例:

  • keyword_id:关键词音频文件在data.tar.gz中的名称(在QbyT KWS中不使用)。
  • keyword_transcription:关键词的转录本。
  • test_id:测试音频文件在data.tar.gz中的名称。
  • test_transcription:测试样本的转录本。
  • test_audio:测试音频的原始数据。
  • label:如果测试用例为正例(keyword_transcriptiontest_transcription的子字符串),则为True,否则为Falsesimilardifferent子集)。

注意,每个测试用例可以通过读取适当的keyword_id文件扩展到QbyE KWS。遗憾的是,加载脚本中没有简单的方法来实现这一点。

所有测试文件以16 kHz提供,尽管{de,en,es,fr,it}.MCV文件在data.tar.gz存档中以原始采样率(通常为48 kHz)存储。

数据集创建

MOCKS测试集是从公开可用的LibriSpeech和Mozilla Common Voice(MCV)数据集创建的。创建过程如下:

  • 使用公开可用的模型进行MFA(MFA)提取单词级对齐。
  • 使用内部开发的基于规则的音素转录本(G2P)算法为每个样本准备音素转录本。

数据以16位、单声道WAV格式存储。LibriSpeech基于的测试集使用16 kHz采样率,MCV基于的测试集使用48 kHz采样率。

离线测试集在提取的音频样本的开始和结束处额外包含0.1秒,以减轻剪切语音效果。在线版本在提取的音频样本的开始和结束处额外包含约1秒。

MOCKS测试集是性别平衡的。

引用信息

bibtex @inproceedings{pudo23_interspeech, author={Mikołaj Pudo and Mateusz Wosik and Adam Cieślak and Justyna Krzywdziak and Bożena Łukasiak and Artur Janicki}, title={{MOCKS} 1.0: Multilingual Open Custom Keyword Spotting Testset}, year={2023}, booktitle={Proc. Interspeech 2023}, }

搜集汇总
数据集介绍
main_image_url
构建方式
在语音识别领域,构建高质量测试集对于评估开放词汇关键词检测模型至关重要。MOCKS数据集基于LibriSpeech和Mozilla Common Voice两大公开语音数据集,通过自动对齐技术提取音频片段,并利用公开的MFA模型进行词级对齐。采用内部开发的规则化字素到音素转换算法生成语音转录,确保了数据标注的精确性。数据集以16kHz采样率存储,同时兼顾了离线与在线检测场景,通过添加前后缓冲音频来缓解截断效应,实现了性别平衡的样本分布。
特点
作为多语言开放自定义关键词检测测试集,MOCKS涵盖了英语、德语、西班牙语、法语和意大利语五种语言,包含近五万个关键词。其独特之处在于支持文本查询和示例查询两种开放词汇关键词检测模式,并区分离线与在线检测场景。数据集精心设计了正例、相似例和不同例三种样本类型,基于语音转录距离筛选挑战性样本,为模型评估提供了深度基准。数据以结构化文件组织,包含详细的时间戳和转录信息,便于灵活调用与分析。
使用方法
研究人员可通过下载数据归档文件或利用Hugging Face的datasets包加载MOCKS数据集。使用load_dataset函数时,需指定语言、数据源及检测模式等参数,例如选择英语LibriSpeech清洁子集的离线检测任务。加载后的数据以字典列表形式呈现,包含关键词转录、测试音频及标签等字段,可直接用于文本查询关键词检测任务。对于示例查询任务,需额外读取对应音频文件。数据集支持快速评估子集,并提供了完整的转录文件,方便进行多维度性能分析。
背景与挑战
背景概述
在语音智能领域,开放词汇关键词检测(OV-KWS)作为一项前沿技术,旨在实现灵活且不受预设词汇限制的语音指令识别。由Voice Intelligence Research团队于2023年发布的MOCKS数据集,正是为应对这一技术挑战而构建的多语言评测基准。该数据集基于LibriSpeech与Mozilla Common Voice两大公开语音资源,通过专家生成的音素对齐与转录,涵盖了英语、德语、西班牙语、法语及意大利语五种语言,包含近五万个关键词实例。其核心研究问题聚焦于提升OV-KWS模型在跨语言、多模态查询(文本与音频)及流式与非流式场景下的泛化与鲁棒性评估能力,为语音识别研究的标准化与国际化推进提供了关键基础设施。
当前挑战
MOCKS数据集所针对的开放词汇关键词检测任务,本身面临多重技术挑战:模型需在无需预训练特定词汇的条件下,精准识别音频流中任意文本或示例音频指定的关键词,这对模型的跨语言泛化、音素相似性辨析及实时流式处理能力提出了极高要求。在数据集构建过程中,挑战同样显著:如何从原始语音数据中自动化提取高质量的关键词片段并确保时间对齐的准确性,以及如何基于音素转录距离构建具有区分度的正例、相似例与反例样本,以模拟真实场景中的语音混淆与干扰。此外,平衡多语言数据分布、处理不同采样率音频的统一化,以及维护数据集的性别平衡,均需精细的算法设计与人工校验。
常用场景
经典使用场景
在语音智能研究领域,MOCKS数据集为开放词汇关键词检测模型的评估与基准测试提供了标准化平台。该数据集通过整合LibriSpeech与Mozilla Common Voice的语音资源,构建了涵盖英语、德语、西班牙语、法语和意大利语的多语言测试环境。其经典应用场景聚焦于模型在文本查询与音频查询两种模式下的性能验证,同时支持离线与在线流式处理场景的全面评估。研究者通过该数据集能够系统检验模型在相似发音干扰项与完全无关负样本中的鲁棒性,为语音唤醒技术的演进奠定实证基础。
实际应用
在实际应用层面,MOCKS数据集为智能语音助手的多语言唤醒系统提供了关键测试工具。基于该数据集训练的模型能够支持用户通过文本或示例音频自定义唤醒词,显著提升智能家居、车载语音系统及移动设备的交互灵活性。在医疗辅助设备中,该技术可帮助行动不便者通过个性化语音指令控制环境;在工业物联网场景中,则能实现多语言工作环境下的安全语音指令验证。数据集包含的流式检测评估方案,更直接对应现实场景中连续语音流的实时处理需求。
衍生相关工作
围绕MOCKS数据集已衍生出多项具有影响力的研究工作。在Interspeech 2023会议上发表的原始论文建立了多语言开放词汇检测的评估范式,后续研究在此基础上探索了跨语言音素嵌入迁移方法。部分团队利用其相似样本子集开发了对抗性训练框架,显著提升了模型对发音近似词汇的区分能力。另有学者结合该数据集的流式评估模块,提出了基于动态时间规整的实时检测优化算法。这些工作共同推动了端到端语音检测架构的发展,并为少样本语音指令学习提供了新的技术路径。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作