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:
值错误:如果参考的单词数量为零。