英文

SUPERB 数据集卡片

数据集简介

SUPERB 是一个性能基准测试平台,旨在评估共享模型在广泛的语音处理任务中的性能,只需进行最小的架构更改和标记数据。

支持的任务和排行榜

SUPERB 排行榜可以在这里找到 https://superbbenchmark.org/leaderboard ,包括以下任务:

音素识别(PR)将话语转录为最小的内容单元。该任务包括对齐建模,以避免潜在的不准确的强制对齐。SUPERB 使用了 LibriSpeech train-clean-100/dev-clean/test-clean 子集进行训练/验证/测试。音素转录使用来自 LibriSpeech 官方 g2p-model-5 和 Kaldi librispeech s5 配方中的转换脚本。评估指标是音素错误率(PER)。

自动语音识别(ASR)将话语转录为单词。尽管 PR 分析了语音学模型的改进,但 ASR 反映了在真实世界场景中改进的重要性。SUPERB 使用了 LibriSpeech train-clean-100/devclean/testclean 子集进行训练/验证/测试。评估指标是单词错误率(WER)。

关键词检测(KS)通过将话语分类为预定义的一组单词来检测预注册的关键词。该任务通常在设备上执行,以获得快速的响应时间。因此,准确性、模型大小和推断时间都至关重要。SUPERB 使用了广泛使用的 Speech Commands dataset v1.0 来完成该任务。该数据集包含十个关键词类别、一个静音类别和一个未知类别以包括误报。评估指标是准确率(ACC)

查询示例:

使用这些辅助函数:

  • 将音频文件加载到音频数据数组中
  • 从长的的_silence_音频剪辑中进行采样

查看关于处理长的_silence_剪辑的其他示例,请参阅 S3PRL TFDS 的实现。

def map_to_array(example):
    import soundfile as sf

    speech_array, sample_rate = sf.read(example["file"])
    example["speech"] = speech_array
    example["sample_rate"] = sample_rate
    return example


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
qbe

查询示例音频数据库(QbE)通过将给定的查询和文档对二进制区分为匹配或不匹配来检测音频数据库(文档)中的语音项(查询)。SUPERB 採用 QUESST 2014 challenge 中的英文子集,因为我们关注首先探索英语。评估指标是最大术语加权值(MTWV),用于平衡漏报和误报。

ic

意图分类(IC)将话语分类为预定义的类别,以确定说话者的意图。SUPERB 使用 Fluent Speech Commands dataset ,其中每个话语都标有三个意图标签:动作、对象和位置。评估指标是准确率(ACC)。

sf

槽填充(SF)预测话语中一系列语义槽类型,例如用于口语单词 Taipei 的来自位置的语义槽类型。槽类型和槽值对于 SLU 系统的正常运行都是必需的。因此,评估指标包括槽类型 F1 分数和槽值 CER。我们采用 Audio SNIPS ,为 SNIPS 合成了多说话人的话语。根据 SNIPS 的标准划分,我们选择了具有美式口音的说话者进行训练,其他人进行验证/测试。

si

说话人识别(SI)将每个话语进行说话人身份的多类别分类,其中训练和测试之间的预定义集合中的说话人是相同的。SUPERB 采用了广泛使用的 VoxCeleb1 dataset ,评估指标是准确率(ACC)。

asv

自动说话人验证(ASV)通过二元分类验证一对话语的说话人是否匹配,而不一定在训练集中出现在测试集中的说话人。因此,ASV 比 SID 更具挑战性。我们使用 VoxCeleb1 数据集,没有 VoxCeleb2 训练数据和噪声增强。评估指标是等误差率(EER)。

sd

分离说话者(SD)预测每个时间戳的说话者是谁,多个说话者可以同时发言。模型必须对每个帧进行说话者的丰富特征编码,并能够表示信号的混合。我们采用 LibriMix ,其中使用 LibriSpeech train-clean-100/dev-clean/test-clean 生成训练/验证/测试混音。我们首先关注两个说话者的情况。使用 Kaldi LibriSpeech ASR 模型的对齐生成了时间编码的说话者标签。评估指标是分离错误率(DER)。

er

情感识别(ER)为每个话语预测一个情感类别。最广泛使用的 ER 数据集是 IEMOCAP ,我们遵循常规的评估协议:删除不平衡的情感类别,最终按数据点数量大致相等的四个类别进行交叉验证,标准分为五个部分。评估指标是准确率(ACC)。

语言

SUPERB 数据中的语言是英语(BCP-47 en)

数据集结构

数据实例

pr

More Information Needed

asr

每个拆分的示例如下:

{'chapter_id': 1240,
 'file': 'path/to/file.flac',
 'audio': {'path': 'path/to/file.flac',
           'array': array([-0.00048828, -0.00018311, -0.00137329, ...,  0.00079346, 0.00091553,  0.00085449], dtype=float32),
           'sampling_rate': 16000},
 'id': '103-1240-0000',
 'speaker_id': 103,
 'text': 'CHAPTER ONE MISSUS RACHEL LYNDE IS SURPRISED MISSUS RACHEL LYNDE '
         'LIVED JUST WHERE THE AVONLEA MAIN ROAD DIPPED DOWN INTO A LITTLE '
         'HOLLOW FRINGED WITH ALDERS AND LADIES EARDROPS AND TRAVERSED BY A '
         'BROOK'}
ks

每个拆分的示例如下:

{
  'file': '/path/yes/af7a8296_nohash_1.wav', 
  'audio': {'path': '/path/yes/af7a8296_nohash_1.wav',
            'array': array([-0.00048828, -0.00018311, -0.00137329, ...,  0.00079346, 0.00091553,  0.00085449], dtype=float32),
            'sampling_rate': 16000},
  'label': 0  # 'yes'
}
qbe

More Information Needed

ic
{
  'file': "/path/wavs/speakers/2BqVo8kVB2Skwgyb/063aa8f0-4479-11e9-a9a5-5dbec3b8816a.wav",
  'audio': {'path': '/path/wavs/speakers/2BqVo8kVB2Skwgyb/063aa8f0-4479-11e9-a9a5-5dbec3b8816a.wav',
            'array': array([-0.00048828, -0.00018311, -0.00137329, ...,  0.00079346, 0.00091553,  0.00085449], dtype=float32),
            'sampling_rate': 16000},
  'speaker_id': '2BqVo8kVB2Skwgyb',
  'text': 'Turn the bedroom lights off',
  'action': 3,  # 'deactivate'
  'object': 7,  # 'lights'
  'location': 0  # 'bedroom'
}
sf

More Information Needed

si
{
  'file': '/path/wav/id10003/na8-QEFmj44/00003.wav', 
  'audio': {'path': '/path/wav/id10003/na8-QEFmj44/00003.wav',
            'array': array([-0.00048828, -0.00018311, -0.00137329, ...,  0.00079346, 0.00091553,  0.00085449], dtype=float32),
            'sampling_rate': 16000},
  'label': 2  # 'id10003'
}
asv

More Information Needed

sd

任何一个拆分的数据字段如下:

  • record_id ( string ): 记录的ID。
  • file ( string ): WAV 音频文件的路径。
  • audio ( dict ): 包含下载的音频文件的路径、解码后的音频数组和采样率的字典。
  • start ( integer ): 音频的起始帧。
  • end ( integer ): 音频的结束帧。
  • speakers ( list of dict ): 音频中的说话者列表。每个条目包含以下字段:
    • speaker_id ( string ): 说话者的 ID。
    • start ( integer ): 说话者开始说话的帧。
    • end ( integer ): 说话者停止说话的帧。
er
  • file ( string ): WAV 音频文件的路径。
  • audio ( dict ): 包含下载的音频文件的路径、解码后的音频数组和采样率的字典。
  • label ( ClassLabel ): 语音情感的标签。可能的值为:
    • 0: "neu", 1: "hap", 2: "ang", 3: "sad"

数据字段

注意关于音频字段的内容

当访问音频列时: dataset[0]["audio"] 会自动解码和重新采样到 dataset.features["audio"].sampling_rate 。解码和重新采样大量音频文件可能会花费大量时间。因此,在访问 "audio" 列之前,首先查询样本索引非常重要,即 dataset[0]["audio"] 应始终优于 dataset["audio"][0] 。

pr

More Information Needed

asr
  • file ( string ): WAV 音频文件的路径。
  • audio ( dict ): 包含下载的音频文件的路径、解码后的音频数组和采样率的字典。
  • text ( string ): 音频文件的转录。
  • speaker_id ( integer ): 说话者的唯一 ID。同一说话者的 ID 可能出现在多个数据样本中。
  • chapter_id ( integer ): 包含转录的有声读物章节的 ID。
  • id ( string ): 数据样本的唯一 ID。
ks
  • file ( string ): WAV 音频文件的路径。
  • audio ( dict ): 包含下载的音频文件的路径、解码后的音频数组和采样率的字典。
  • label ( ClassLabel ): 发音命令的标签。可能的值为:
    • 0: "yes", 1: "no", 2: "up", 3: "down", 4: "left", 5: "right", 6: "on", 7: "off", 8: "stop", 9: "go", 10: "_silence_", 11: "_unknown_"
qbe

More Information Needed

ic
  • file ( string ): WAV 音频文件的路径。
  • audio ( dict ): 包含下载的音频文件的路径、解码后的音频数组和采样率的字典。
  • speaker_id ( string ): 说话者的 ID。
  • text ( string ): 语音命令的转录。
  • action ( ClassLabel ): 命令的动作标签。可能的值为:
    • 0: "activate", 1: "bring", 2: "change language", 3: "deactivate", 4: "decrease", 5: "increase"
  • object ( ClassLabel ): 命令的对象标签。可能的值为:
    • 0: "Chinese", 1: "English", 2: "German", 3: "Korean", 4: "heat", 5: "juice", 6: "lamp", 7: "lights", 8: "music", 9: "newspaper", 10: "none", 11: "shoes", 12: "socks", 13: "volume"
  • location ( ClassLabel ): 命令的位置标签。可能的值为:
    • 0: "bedroom", 1: "kitchen", 2: "none", 3: "washroom"
sf

More Information Needed

si
  • file ( string ): WAV 音频文件的路径。
  • audio ( dict ): 包含下载的音频文件的路径、解码后的音频数组和采样率的字典。
  • label ( ClassLabel ): 说话者的标签(ID)。可能的值为:
    • 0: "id10001", 1: "id10002", 2: "id10003", ..., 1250: "id11251"
asv

More Information Needed

sd

所有拆分的数据字段如下:

  • record_id ( string ): 记录的 ID。
  • file ( string ): WAV音频文件的路径。
  • audio ( dict ): 包含下载的音频文件的路径、解码后的音频数组和采样率的字典。
  • start ( integer ): 音频的开始帧。
  • end ( integer ): 音频的结束帧。
  • speakers ( list of dict ): 音频中的说话者列表。每个条目包含以下字段:
    • speaker_id ( string ): 说话者的 ID。
    • start ( integer ): 说话者开始说话的帧。
    • end ( integer ): 说话者停止说话的帧。
er
  • file ( string ): WAV 音频文件的路径。
  • audio ( dict ): 包含下载的音频文件的路径、解码后的音频数组和采样率的字典。
  • label ( ClassLabel ): 语音情感的标签。可能的值为:
    • 0: "neu", 1: "hap", 2: "ang", 3: "sad"

数据拆分

pr

More Information Needed

asr
train validation test
asr 28539 2703 2620
ks
train validation test
ks 51094 6798 3081
qbe

More Information Needed

ic
train validation test
ic 23132 3118 3793
sf

More Information Needed

si
train validation test
si 138361 6904 8251
asv

More Information Needed

sd

数据分为“train”、“dev”和“test”三组,每组都包含以下数量的示例:

train dev test
sd 13901 3014 3002
er

数据分为5组,用于5折交叉验证:

session1 session2 session3 session4 session5
er 1085 1023 1151 1031 1241

数据集创建

筛选理由

[需要更多信息]

来源数据

初始数据收集和规范化

[需要更多信息]

谁是源语言制作者?

[需要更多信息]

注释

注释过程

[需要更多信息]

谁是注释员?

[需要更多信息]

个人和敏感信息

该数据集包含在线捐赠自己声音的人的信息。请不要试图确定数据集中说话者的身份。

使用数据的注意事项

数据的社会影响

[需要更多信息]

偏见讨论

[需要更多信息]

其他已知限制

仅用于研究目的提供数据集。请参阅数据集许可证以获取其他信息。

其他信息

数据集策划者

[需要更多信息]

许可信息

pr 和 asr

Librispeech 的许可证是创作共用 署名4.0 国际许可证(CC-BY-4.0)[ https://creativecommons.org/licenses/by/4.0/] ]。

ks

Speech Commands 数据集的许可证是 CC BY 4.0

qbe

QUESST 2014 的许可证未知。

ic

Fluent Speech Commands 数据集的许可证是 Fluent Speech Commands Public License

sf

Audio SNIPS 数据集的许可证未知。

si 和 asv

VoxCeleb1 数据集的许可证是创作共用 署名4.0 国际许可证( CC-BY-4.0 )。

sd

LibriMix 基于 LibriSpeech(见上文)和 Wham!噪声数据集。Wham!噪声数据集根据 署名-非商业性使用4.0 国际许可证( CC BY-NC 4.0 )进行分发。

er

IEMOCAP 许可以 its own license 进行分发。

引用信息

@article{DBLP:journals/corr/abs-2105-01051,
  author    = {Shu{-}Wen Yang and
               Po{-}Han Chi and
               Yung{-}Sung Chuang and
               Cheng{-}I Jeff Lai and
               Kushal Lakhotia and
               Yist Y. Lin and
               Andy T. Liu and
               Jiatong Shi and
               Xuankai Chang and
               Guan{-}Ting Lin and
               Tzu{-}Hsien Huang and
               Wei{-}Cheng Tseng and
               Ko{-}tik Lee and
               Da{-}Rong Liu and
               Zili Huang and
               Shuyan Dong and
               Shang{-}Wen Li and
               Shinji Watanabe and
               Abdelrahman Mohamed and
               Hung{-}yi Lee},
  title     = {{SUPERB:} Speech processing Universal PERformance Benchmark},
  journal   = {CoRR},
  volume    = {abs/2105.01051},
  year      = {2021},
  url       = {https://arxiv.org/abs/2105.01051},
  archivePrefix = {arXiv},
  eprint    = {2105.01051},
  timestamp = {Thu, 01 Jul 2021 13:30:22 +0200},
  biburl    = {https://dblp.org/rec/journals/corr/abs-2105-01051.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

Note that each SUPERB dataset has its own citation. Please see the source to see
the correct citation for each contained dataset.

贡献者

感谢 @lewtun @albertvillanova @anton-l 添加此数据集。