基于字符的 MT 评估和差异突出显示
项目描述
炭切
基于字符的 MT 评估和差异突出显示
CharCut 将 MT 系统的输出与参考翻译进行比较。它可以同时比较多个文件对并生成 HTML 输出,显示基于字符的差异以及直接从这些差异的长度推断出的分数,从而使评估和可视化之间的联系变得简单。
匹配算法基于对最长公共子串的迭代搜索,结合基于长度的阈值来限制短和嘈杂的字符匹配。作为一种相似性度量,这并不新鲜,但据我们所知,它从未应用于 MT 输出的突出显示和评分。它具有保持人类可读的基于字符的差异的简洁效果。
意外的是,从这些差异中推断出的分数与人类判断非常相关,类似于其他伟大的基于字符的指标,如chrF(++)或CharacTER。在这里进行了评估:
Adrien Lardilleux 和 Yves Lepage:“CharCut:具有松散差异的以人为目标的基于字符的 MT 评估”。在IWSLT 2017 会议记录中。
它的目的是轻量级且易于使用,因此 HTML 输出是并且将被故意保持光滑。
注意(Bram Vanroy):本 README 的其余部分已更改,以反映我为使包从 Python 包的角度更有用所做的更改,例如,通过直接使用假设/引用而不使用文件。
安装
pip install charcut
这将安装命令calculate-charcut。
基本用法:
calculate-charcut cand.txt,ref.txt
其中cand.txt并ref.txt包含相应的候选(MT)和参考(人类)段,每行1个。可以在命令行上指定多个文件对:候选人与参考,候选人与其他候选人等。默认情况下,标准输出上仅显示文档级别的分数。要生成 HTML 输出文件,请使用以下-o选项:
calculate-charcut cand.txt,ref.txt -o mydiff.html
还有更多选择;称呼
calculate-charcut -h
列出它们。
考虑降低-m非字母书写系统(如中文或日文)的选项值(最小匹配大小)。大多数欧洲语言应该可以接受默认值(3 个字符),但根据语言和数据,较大的值可能会产生更好看的结果。
Bram Vanroy 的修改
Bram Vanroy 对此包进行了一些更改,这些更改不会影响度量的结果,但应该会提高可用性。他还为 pip 打包了库,并添加了一些测试以确保与原始库相同的结果。代码已被重写,使其更易于在 Python 中使用,而无需文件作为输入。在 Python 中,现在存在以下入口点:
def calculate_charcut(
hyps: Union[str, List[str]],
refs: Union[str, List[str]],
html_output_file: str = None,
plain_output_file: str = None,
src_file: str = None,
match_size: int = 3,
alt_norm: bool = False,
) -> Tuple[float, int]:
wherehyps和refs是单个句子str或句子列表List[str]。此函数具有与可用的命令行脚本相同的功能和参数(如上所述)。此命令行脚本现在可作为已安装的入口点使用,而不是单独的 Python 脚本。您可以从命令行使用calculate-charcut.
执照
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。