新手语音入门(二): 声音检测VAD与话者分离技术简述 |检测错误率 | 准确率 | 召回率 | 分离错误率DER

黄辣鸡 发表于 2021/12/27 05:08:15 2021/12/27
【摘要】 语音技术里面声音检测VAD和话者分离模块非常基础,因此本文将整理这两个模块相关的概念和衡量指标。

1. 声音检测 Voice Activity Detection

声音检测常用的指标是识别错率(Detection Error Rate),公式为

D e t e c t i o n   E r r o r   R a t e = F a l s e A l a r m   + M i s s e d   D e t e c t i o n T o t a l   D u r a t i o n   o f   t h e   T i m e Detection \ Error \ Rate = \frac {False Alarm \ + Missed \ Detection}{Total \ Duration \ of \ the \ Time}

其中

  • False Alarm, 将非语音片段识别成为语音片段的时间,简称“狼来了”;
  • Missed Speech, 将语音片段识别成为非语音片段的时间,简称“脱靶”;
  • Total Duration of the Time, 参考语音标注片段的总时长。

同时,声音检测也可以使用正确率(Accurancy, 预测值将输入标签识别正确的比例),召回率(Recall,预测值中的语音片段占整体语音片段的比例)和准确率(Precision, 检测出来的语音标签中真正的语音标签的比例)。

2. 话者分离 Speaker Diarization

2.1. 定义

说话人分离(Speaker Diarization),指将语音按照说话人ID分类,解决“Who spoke when”的问题。

语音会被划分为说话人组,语音非语音的片段或说话人转变等事件会被检测出来。在实际分离过程中,不需要知道说话人是谁

image.png

图1 话者分离常见Pipeline

2.2 用途

  • 会议。
  • 庭审。
  • 广播。
  • 质检。
  • 语音助手。

2.3. 评价标准

话者分离常用的指标是分离错误率(Diarization Error Rate, DER), 指三种错误类型的总和:

D E R = F a l s e   A l a r m + M i s s e d + S p e a k e r   C o n f u s i o n T o t a l   D u r a t i o n   o f   t h e   T i m e DER = \frac{False \ Alarm + Missed + Speaker \ Confusion}{Total \ Duration \ of \ the \ Time}

其中

  • False Alarm, 将非语音片段识别成为语音片段的时间;
  • Missed Speech, 将语音片段识别成为非语音片段的时间;
  • Speaker Confusion, 预测语音与参考语音的时间;
  • Total Duration of the Time, 参考语音标注片段的总时长。

Speaker Confusion的部分一般由匈牙利算法(Hungarian Algorithm)计算得来。并且常使用Score Collar加到音频片段的边际,以减少不连续标注引起的错误。

2.4. 话者分离难点

  1. 事先不知道有多少个说话人;
  2. 不清楚说话人的ID;
  3. 多人同时说话;
  4. 不同语音的音频条件都不同。

参考

  1. pyannote metrics 参考文档
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。