数据集:
renumics/speech_commands_enriched
许可:
cc-by-4.0预印本库:
arxiv:1804.03209源数据集:
extended|speech_commands批注创建人:
other语言创建人:
crowdsourced计算机处理:
monolingual语言:
en子任务:
keyword-spotting任务:
音频分类? Data-centric AI 原则在实际应用中变得越来越重要。在 Renumics ,我们认为经典的基准数据集和竞赛应该扩展以反映这一发展。
? 这就是为什么我们发布带有特定应用丰富功能的基准数据集(例如嵌入、基准结果、不确定性、标签错误分数)。我们希望这能以以下方式帮助ML社区:
?这个数据集是 SpeechCommands Dataset 的一个增强版。
增强功能可以让您快速了解数据集。开源的数据整理工具 Renumics Spotlight 使您在几行代码内就能实现:
通过安装数据集和Spotlight进行安装: pip :
!pip install renumics-spotlight datasets[audio]
注意:在Linux上,非Python依赖项libsndfile软件包必须手动安装。有关更多信息,请参见 Datasets - Installation 。
在笔记本中从huggingface加载数据集:
import datasets dataset = datasets.load_dataset("renumics/speech_commands_enriched", "v0.01")
从一个简单的视图开始探索:
from renumics import spotlight df = dataset.to_pandas() df_show = df.drop(columns=['audio']) spotlight.show(df_show, port=8000, dtype={"file": spotlight.Audio})
您可以使用UI来交互地配置数据的视图。根据具体的任务(例如模型比较、调试、异常检测),您可能希望利用不同的增强和元数据。
这是一组一秒钟的.wav音频文件,每个文件包含一个英语口语单词或背景噪音。这些单词来自一小组命令,并由不同的说话人说出。这个数据集旨在帮助训练简单的机器学习模型。更详细的内容请查看 https://arxiv.org/abs/1804.03209 。
数据集的0.01版本(配置"v0.01")于2017年8月3日发布,包含64,727个音频文件。
数据集的0.02版本(配置"v0.02")于2018年4月11日发布,包含105,829个音频文件。
SpeechCommands中的语言数据为英语(BCP-47 en)。
核心单词的示例("label"是一个单词,"is_unknown"是False):
{ "file": "no/7846fd85_nohash_0.wav", "audio": { "path": "no/7846fd85_nohash_0.wav", "array": array([ -0.00021362, -0.00027466, -0.00036621, ..., 0.00079346, 0.00091553, 0.00079346]), "sampling_rate": 16000 }, "label": 1, # "no" "is_unknown": False, "speaker_id": "7846fd85", "utterance_id": 0 }
辅助单词的示例("label"是一个单词,"is_unknown"是True)
{ "file": "tree/8b775397_nohash_0.wav", "audio": { "path": "tree/8b775397_nohash_0.wav", "array": array([ -0.00854492, -0.01339722, -0.02026367, ..., 0.00274658, 0.00335693, 0.0005188]), "sampling_rate": 16000 }, "label": 28, # "tree" "is_unknown": True, "speaker_id": "1b88bf70", "utterance_id": 0 }
背景噪音的示例(_silence_类):
{ "file": "_silence_/doing_the_dishes.wav", "audio": { "path": "_silence_/doing_the_dishes.wav", "array": array([ 0. , 0. , 0. , ..., -0.00592041, -0.00405884, -0.00253296]), "sampling_rate": 16000 }, "label": 30, # "_silence_" "is_unknown": False, "speaker_id": "None", "utterance_id": 0 # doesn't make sense here }
数据集有两个版本(=配置):"v0.01"和"v0.02"。"v0.02"包含更多的单词(有关更多详细信息,请参见 Source Data 部分)。
train | validation | test | |
---|---|---|---|
v0.01 | 51093 | 6799 | 3081 |
v0.02 | 84848 | 9982 | 4890 |
请注意,在训练集和验证集中,_silence_类的示例长于1秒。您可以使用以下代码从较长的示例中采样1秒的示例:
def sample_noise(example): # Use this function to extract random 1 sec slices of each _silence_ utterance, # e.g. inside `torch.utils.data.Dataset.__getitem__()` from random import randint if example["label"] == "_silence_": random_offset = randint(0, len(example["speech"]) - example["sample_rate"] - 1) example["speech"] = example["speech"][random_offset : random_offset + example["sample_rate"]] return example
该数据集的主要目标是提供一种方法来构建和测试能够检测一组目标词中的单个词并将其与背景噪音或无关语音区分开的小型模型,尽可能少出现误报的情况。
音频文件的收集是使用众包的方式进行的,详见 aiyprojects.withgoogle.com/open_speech_recording ,其中列出了一些使用的开源音频收集代码。目标是收集人们说出单个单词命令的示例,而不是对话句子,因此他们在五分钟的会话中针对个别单词进行提示。
在0.01版本中,录制了30个不同的单词:"是", "否", "上", "下", "左", "右", "开", "关", "停", "走", "零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "床", "鸟", "猫", "狗", "开心", "房子", "马文", "希拉", "树", "哇"。
在0.02版本中添加了更多单词:"向后"、"向前"、"跟随"、"学习"、"视觉"。
在这两个版本中,按惯例,有十个单词被用作命令:"是", "否", "上", "下", "左", "右", "开", "关", "停", "走"。其他单词被视为辅助词(在当前版本的实现中,由 "is_unknown" 特征的 True 值标记)。它们的作用是教会模型将核心单词与未识别的单词区分开。
_silence_标签包含一组较长的音频剪辑,这些剪辑是录音或噪音的数学模拟。
谁是源语言生成者?音频文件是通过众包方式收集的。
标签是事先准备好的一组单词。在五分钟的对话中,要求发言者依次说出单个单词。
标注人员是谁?[需要更多信息]
该数据集包含通过在线捐赠他们的声音的人。您同意不试图确定数据集中的说话者的身份。
[需要更多信息]
[需要更多信息]
[需要更多信息]
[需要更多信息]
知识共享署名4.0许可证(CC-BY-4.0)。
@article{speechcommandsv2, author = { {Warden}, P.}, title = "{Speech Commands: A Dataset for Limited-Vocabulary Speech Recognition}", journal = {ArXiv e-prints}, archivePrefix = "arXiv", eprint = {1804.03209}, primaryClass = "cs.CL", keywords = {Computer Science - Computation and Language, Computer Science - Human-Computer Interaction}, year = 2018, month = apr, url = {https://arxiv.org/abs/1804.03209}, }
[需要更多信息]