speechbrain.utils.DER 模块

计算说话人切分错误率 (DER),它是漏检说话人率 (MS)、误检率 (FA) 和说话人错误率 (SER) 的总和,使用 NIST RT Evaluation 的 md-eval-22.pl 工具进行计算。

作者
  • Neville Ryant 2018

  • Nauman Dawalatabad 2020

致谢

此代码改编自 https://github.com/nryant/dscore

摘要

函数

DER

计算漏检说话人百分比 (MS)、误检率 (FA)、说话人错误率 (SER) 和说话人切分错误率 (DER)。

rectify

修正边缘情况并将分数转换为百分比。

参考

speechbrain.utils.DER.rectify(arr)[source]

修正边缘情况并将分数转换为百分比。

speechbrain.utils.DER.DER(ref_rttm, sys_rttm, ignore_overlap=False, collar=0.25, individual_file_scores=False)[source]

计算漏检说话人百分比 (MS)、误检率 (FA)、说话人错误率 (SER) 和说话人切分错误率 (DER)。

参数:
  • ref_rttm (str) – 参考/地面真相 RTTM 文件的路径。

  • sys_rttm (str) – 系统生成的 RTTM 文件的路径。

  • ignore_overlap (bool) – 如果为 True,则在评估期间忽略重叠语音。

  • collar (float) – 容错范围 (collar)。

  • individual_file_scores (bool) – 如果为 True,则按顺序返回每个文件的分数。

返回:

  • MS (float array) – 漏检语音 (Missed Speech)。

  • FA (float array) – 误检 (False Alarms)。

  • SER (float array) – 说话人错误率 (Speaker Error Rates)。

  • DER (float array) – 说话人切分错误率 (Diarization Error Rates)。

示例

>>> import pytest
>>> pytest.skip('Skipping because of Perl dependency')
>>> ref_rttm = "../../tests/samples/rttm/ref_rttm/ES2014c.rttm"
>>> sys_rttm = "../../tests/samples/rttm/sys_rttm/ES2014c.rttm"
>>> ignore_overlap = True
>>> collar = 0.25
>>> individual_file_scores = True
>>> Scores = DER(ref_rttm, sys_rttm, ignore_overlap, collar, individual_file_scores)
>>> print (Scores)
(array([0., 0.]), array([0., 0.]), array([7.16923618, 7.16923618]), array([7.16923618, 7.16923618]))