4 个版本 (破坏性)
0.4.0 | 2023 年 11 月 6 日 |
---|---|
0.3.0 | 2020 年 10 月 8 日 |
0.2.0 | 2020 年 4 月 9 日 |
0.1.0 | 2019 年 10 月 11 日 |
#944 in 文本处理
48KB
428 行
alpino-tokenizer
这个 Rust 包提供了一种基于有限状态转换器的分词器。它主要用于使用 Alpino 分词器进行荷兰语处理,但从原则上讲,你可以加载任何语言的分词器。
Alpino 分词器的转换器可以 下载。我们将定期同步转换器,因为 Alpino 中的分词器更新。
你可以使用 alpino-tokenizer 包将分词器集成到你的 Rust 程序中。
为了方便,提供了一个 alpino-tokenize 命令行工具,用于在 shell 或 shell 脚本中对文本进行分词。
安装 alpino-tokenize
命令行工具
cargo
alpino-tokenize
工具可以使用 cargo 安装
$ cargo install alpino-tokenize
Nix
此存储库也是一个 Nix flake。如果你使用的 Nix 版本支持 flakes,你可以使用以下方式启动带有 alpino-tokenize
的 shell
$ nix shell github:danieldk/alpino-tokenizer
许可证
版权所有 2019-2020 Daniël de Kok
根据 Apache 许可证版本 2.0(“许可证”);除非遵守许可证规定,否则不得使用此文件。您可以在以下位置获得许可证副本:
https://apache.ac.cn/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则根据许可证分发的软件按“原样”基础分发,不提供任何明示或暗示的保证或条件。有关许可证中具体规定许可和限制的条款,请参阅许可证。
lib.rs
:
荷兰 Alpino 分词器包装器。
此包提供对荷兰 Alpino 分词器的包装。由于分词器本身通过 alpino-tokenizer-sys
包包含,因此可以无任何外部依赖使用此包。
这个crate公开了一个单函数tokenize
,该函数接受一个字符串形式的段落,并返回一个包含句子和标记的Vec<Vec<String>>
。例如
use std::fs::File;
use std::io::BufReader;
use alpino_tokenizer::{AlpinoTokenizer, Tokenizer};
let read = BufReader::new(File::open("testdata/toy.proto").unwrap());
let tokenizer = AlpinoTokenizer::from_buf_read(read).unwrap();
assert_eq!(
tokenizer.tokenize("Groningen is een Hanzestad. Groningen heeft veel bezienswaardigheden.").unwrap(),
vec![vec!["Groningen", "is", "een", "Hanzestad", "."],
vec!["Groningen", "heeft", "veel", "bezienswaardigheden", "."]]);
依赖项
~3–5MB
~87K SLoC