首页 > 解决方案 > 如何获得两种不同标记化的对齐方式?(例如 BERT 与 spaCy)

问题描述

对于文本“我会去那里”,我有两个标记化,如下所示:

a == ["I", "'ll", "go", "there"]
b == ["I'll", "go", "there"]

我怎样才能有效地获得以下对齐?

a2b == [[0], [0], [1], [2]]
b2a == [[0, 1], [2], [3]]

此外,如果两个标记化的归一化方式不同,是否有有效的方法来获得对齐?“两个标记化的标准化方式不同”意味着,例如:

a == ["à", "la", "gorge"]
b == ["a", "la", "gorge"] # dropped accent

我想要以下对齐结果:

a2b == [[0], [1], [2]]
b2a == [[0], [1], [2]]

标签: algorithmnlp

解决方案


我为这个问题想出了一个基于最短编辑脚本的算法,并创建了一个用 Rust 编写的 python 库“标记化”。(存储库:https ://github.com/tamuhey/tokenizations )


推荐阅读