Skip to main content

基于字符的 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.txtref.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]:

wherehypsrefs是单个句子str或句子列表List[str]。此函数具有与可用的命令行脚本相同的功能和参数(如上所述)。此命令行脚本现在可作为已安装的入口点使用,而不是单独的 Python 脚本。您可以从命令行使用calculate-charcut.

执照

GPLv3

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

charcut-1.0.0.tar.gz (26.0 kB 查看哈希

已上传 source

内置分布

charcut-1.0.0-py3-none-any.whl (24.6 kB 查看哈希

已上传 py3