paddlespeech.t2s.utils.error_rate 模块

该模块提供计算不同级别的错误率的函数。 例如,wer用于单词级别,cer用于字符级别。

paddlespeech.t2s.utils.error_rate.cer(reference, hypothesis, ignore_case=False, remove_space=False)[来源]

计算字符错误率(CER)。CER 在字符层面比较参考文本和假设文本。CER 定义为:

CER = (Sc + Dc + Ic) / Nc

其中 .. code-block:: text

Sc是替换的字符数, Dc是删除的字符数, Ic是插入的字符数 Nc是参考中的字符数

我们可以使用莱文斯坦距离来计算CER。中文输入应编码为unicode。请注意,开头和结尾的空格字符将被截断,句子中多个连续的空格字符将被替换为一个空格字符。

Args:

reference (str): 参考句子。
hypothesis (str): 假设句子。
ignore_case (bool): 是否区分大小写。
remove_space (bool): 是否去除内部空格字符。

Returns:

浮动: 字符错误率。

Raises:

值错误:如果参考长度为零。

paddlespeech.t2s.utils.error_rate.char_errors(reference, hypothesis, ignore_case=False, remove_space=False)[来源]

计算参考序列和假设序列之间的勒文斯坦距离(字符级)。

Args:

reference (str): 参考句子。
hypothesis (str): 假设句子。
ignore_case (bool): 是否区分大小写。
remove_space (bool): 是否移除内部空格字符。

Returns:

列表:Levenshtein 距离和参考句子的长度。

paddlespeech.t2s.utils.error_rate.wer(reference, hypothesis, ignore_case=False, delimiter=' ')[来源]

计算词错误率 (WER)。WER 在词级别比较参考文本和假设文本。WER 定义为:

WER = (Sw + Dw + Iw) / Nw

在这里

Sw 是替换的词数,
Dw 是删除的词数,
Iw 是插入的词数,
Nw 是参考中的词数

我们可以使用莱文斯坦距离来计算词错误率(WER)。请注意,当通过分隔符拆分句子时,空项将被移除。

Args:

reference (str): 参考句子。
hypothesis (str): 假设句子。
ignore_case (bool): 是否区分大小写。
delimiter (char): 输入句子的分隔符。

Returns:

浮动:词错误率。

Raises:

值错误:如果参考的单词数量为零。

paddlespeech.t2s.utils.error_rate.word_errors(reference, hypothesis, ignore_case=False, delimiter=' ')[来源]

计算参考序列与假设序列之间的莱文斯坦距离(Levenshtein distance),以词为单位。

Args:
reference (str):

参考句子。

hypothesis (str):

假设句。

ignore_case (bool):

是否区分大小写。

delimiter (char(str)):

输入句子的分隔符。

Returns:

列表:参考句子的莱文斯坦距离和词数。