speechbrain.utils.DER 模块

计算说话人分离错误率(DER),这是使用NIST RT评估中的md-eval-22.pl计算的未检测到的说话人(MS)、误报(FA)和说话人错误率(SER)的总和。

Authors
  • 内维尔·瑞安特 2018

  • 纳曼·达瓦拉塔巴德 2020

Credits

此代码改编自 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)。

Parameters:
  • ref_rttm (str) – 参考/真实RTTM文件的路径。

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

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

  • collar (float) – 宽容范围。

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

Returns:

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

  • FA (float array) – 误报。

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

  • DER (float array) – 说话人分割错误率。

Example

>>> 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]))