11 个版本

0.4.2 2021 年 4 月 1 日
0.4.1 2021 年 4 月 1 日
0.4.0 2020 年 8 月 4 日
0.3.0 2020 年 5 月 28 日
0.1.4 2020 年 1 月 8 日

#823算法

Download history 134/week @ 2023-12-18 274/week @ 2023-12-25 150/week @ 2024-01-01 87/week @ 2024-01-08 187/week @ 2024-01-15 196/week @ 2024-01-22 218/week @ 2024-01-29 348/week @ 2024-02-05 206/week @ 2024-02-12 196/week @ 2024-02-19 321/week @ 2024-02-26 276/week @ 2024-03-04 238/week @ 2024-03-11 238/week @ 2024-03-18 137/week @ 2024-03-25 340/week @ 2024-04-01

962 每月下载量
用于 textspan

MIT 许可证

27KB
270

适用于 Rust 和 Python 的强大且快速的分词对齐库

creates.io pypi Actions Status

sample

演示: demo
Rust 文档: docs.rs
博客文章: 如何有效地和鲁棒地计算 BERT 和 spaCy 分词之间的对齐

使用 (Python)

  • 安装
$ pip install -U pip # update pip
$ pip install pytokenizations
  • 从源码安装

此库使用 maturin 构建 wheel。

$ git clone https://github.com/tamuhey/tokenizations
$ cd tokenizations/python
$ pip install maturin
$ maturin build

现在 wheel 已创建在 python/target/wheels 目录中,您可以使用 pip install *whl 安装它。

get_alignments

def get_alignments(a: Sequence[str], b: Sequence[str]) -> Tuple[List[List[int]], List[List[int]]]: ...

返回两种不同分词的对应映射

>>> tokens_a = ["å", "BC"]
>>> tokens_b = ["abc"] # the accent is dropped (å -> a) and the letters are lowercased(BC -> bc)
>>> a2b, b2a = tokenizations.get_alignments(tokens_a, tokens_b)
>>> print(a2b)
[[0], [0]]
>>> print(b2a)
[[0, 1]]

a2b[i] 是表示从 tokens_atokens_b 对齐的列表。

使用 (Rust)

查看这里: docs.rs

依赖关系

~1MB
~40K SLoC