说话人识别的数据需求

概述

  • 机器学习领域名言“Garbage In, Garbage Out!”不论神经网络多么先进,如果输入是垃圾,那么输出也一定是垃圾
  • 在说话人识别领域,所需的最小数据单元,包括:
    • 一段只包含单一说话人语音的音频,被称为Utterance(话语)
    • 该段音频的说话人标签,能够唯一地在整个数据集中标识该说话人
  • 怎么样的数据不是Garbage呢?或者说,如何评价一个数据集的质量呢?有以下这些指标:
    • 说话人的数量
    • 每个说话人的话语个数
    • 文本的多样性
    • 口音和语调的多样性
    • 录音设备和声学环境的多样性
    • 数据的正确性

说话人的数量、每个说话人的话语个数

  • 几乎可以肯定:运行时要识别的说话人,不会出现在数据集中。因此说话人的数量,对系统的泛化性能非常重要
  • 用于学术研究的数据集通常包含数千个说话人,例如:VoxCeleb,而实际落地的系统至少需要数万个说话人
  • 在训练和测试时,需要正样本和负样本
    • 说话人的数量决定了负样本的数量,说话人的数量越多越好
    • 每个说话人的话语个数决定了正样本的数量,通常每个人有10~100个话语即可

文本多样性

  • 文本多样性指:
    • 发音多样性
    • 词汇多样性
    • 话题多样性
  • 对于文本相关的说话人识别,文本多样性是不重要的
  • 而对于文本无关的说话人识别,如果运行时的文本,是数据集中未出现过的,那么系统性能会很差。比如:古诗文本的数据集,不能用于经济新闻的说话人识别

口音和语调的多样性

  • 使用普通话数据集训练的系统,在遇到粤语、闽南语、四川话等语言时,识别效果会差
  • 使用新闻播音数据集训练的系统,在遇到电竞、体育直播这种语速快、情绪波动大,行业黑话多的场景时,识别效果会差

录音设备和声学环境的多样性

  • 不同的录音设备录制的音频,频谱分布和音频质量会有比较大的差别,数据集应尽可能覆盖不同的录音设备,包括:
    • 手机麦克风
    • 电脑麦克风
    • 录音棚麦克风
  • 不同的声学环境,会形成不同的噪声和混响,数据集应尽可能覆盖不同的声学环境,包括:
    • 街头
    • 商店、餐厅
    • 车内、家中
    • 歌剧院

数据的正确性

  • 数据的正确性包括:
    • 音频的正确性
      • 音频文件是否破损
      • 音频内容是语音还是纯噪声
      • 音频是否只包含单一说话人
    • 说话人标签的正确性
      • 标签是否发生反转,即属于说话人A的话语被标注成了说话人B的话语
  • 数据的正确性是难以达到100%的,越是大的数据集就越是会出现数据错误,著名的ImageNet ILSVRC 2012就存在至少十万个数据错误
  • 音频错误可视为一种离群点噪声,标签错误可视为一种标签反转噪声,不同的损失函数对不同的噪声鲁棒性不一样,下图是Deep Face Recognition: A Survey中,对数据错误的讨论:
    说话人识别的数据需求_第1张图片
  • 总而言之,数据错误越少越好,保证数据正确性很要必要,在错误的数据上做数据增强,只会创造更多Garbage

数据采集

  • 不同于ImageNet、人脸等数据集,说话人识别的数据集是无法人工标注的,因为人类难以根据人的语音,辨认人的身份
  • 要采集说话人识别的数据集,有两种途径:
    1. 在录音阶段就进行标注
    2. 利用视频数据里的人脸识别信息,对视频里的说话人进行标注

你可能感兴趣的:(说话人识别,人工智能,python,语音识别,音频)