speechbrain.utils.bleu 模块

用于计算BLEU分数的库

Authors
  • Mirco Ravanelli 2021

摘要

类:

BLEUStats

一个用于跟踪BLEU的类 (https://www.aclweb.org/anthology/P02-1040.pdf)。

函数:

merge_words

将连续的单词合并成短语,每个单词之间用空格分隔

参考

speechbrain.utils.bleu.merge_words(sequences)[source]

将连续的单词合并成短语,每个单词之间用空格隔开

Parameters:

sequences (list) – 每个项目包含一个列表,这个列表包含一个单词序列。

Return type:

列表包含短语序列。

class speechbrain.utils.bleu.BLEUStats(merge_words=True, max_ngram_order=4)[source]

基础:MetricStats

一个用于跟踪BLEU(https://www.aclweb.org/anthology/P02-1040.pdf)的类。

Parameters:
  • merge_words (bool) – 是否合并连续的单词以创建句子。

  • max_ngram_order (int) – 用于评分的ngrams的最大长度。

Example

>>> bleu = BLEUStats()
>>> i2l = {0: 'a', 1: 'b'}
>>> bleu.append(
...     ids=['utterance1'],
...     predict=[[0, 1, 1]],
...     targets=[[[0, 1, 0]], [[0, 1, 1]], [[1, 1, 0]]],
...     ind2lab=lambda batch: [[i2l[int(x)] for x in seq] for seq in batch],
... )
>>> stats = bleu.summarize()
>>> stats['BLEU']
0.0
append(ids, predict, targets, ind2lab=None)[source]

将统计信息添加到相关容器中。 * 参见 MetricStats.append() :param ids: 与话语对应的ID列表。 :type ids: list :param predict: 预测输出,用于与目标输出进行比较 :type predict: torch.tensor :param targets:

list of references (when measuring BLEU, one sentence could have more

多于一个目标翻译。

Parameters:

ind2lab (可调用) – 可调用对象,用于从索引映射到标签,操作于批次上,用于写入对齐。

summarize(field=None)[source]

总结BLEU并返回相关统计信息。 * 参见 MetricStats.summarize()

write_stats(filestream)[source]

将所有相关信息(例如,错误率对齐)写入文件。 * 参见 MetricStats.write_stats()