4 个版本 (2 个稳定版)

使用旧的 Rust 2015

1.0.1 2016 年 8 月 30 日
1.0.0 2016 年 8 月 28 日
0.1.1 2015 年 11 月 18 日
0.1.0 2015 年 11 月 18 日

文本处理 中排名第 1445

Download history 5592/week @ 2024-03-13 4036/week @ 2024-03-20 3444/week @ 2024-03-27 7693/week @ 2024-04-03 7749/week @ 2024-04-10 10954/week @ 2024-04-17 9576/week @ 2024-04-24 15788/week @ 2024-05-01 13097/week @ 2024-05-08 2379/week @ 2024-05-15 690/week @ 2024-05-22 599/week @ 2024-05-29 751/week @ 2024-06-05 694/week @ 2024-06-12 564/week @ 2024-06-19 524/week @ 2024-06-26

每月下载 2,740

MIT/Apache

13KB
233 行(不含注释)

N-gram

Build Status Coverage Status

文档

这个 crate 接收一个标记序列,并为其生成一个 n-gram。有关 n-gram 的更多信息,请查看维基百科:https://en.wikipedia.org/wiki/N-gram

注意:该 crate 的规范版本托管在 Gitlab

用法

最简单的方法可能是使用迭代器适配器。如果您的标记是字符串(&str、String、char 或 Vec),您只需生成标记流即可

use ngrams::Ngram;
let grams: Vec<_> = "one two three".split(' ').ngrams(2).collect();
// => vec![
//        vec!["\u{2060}", "one"],
//        vec!["one", "two"],
//        vec!["two", "three"],
//        vec!["three", "\u{2060}"],
//    ]

(关于 "\u{2060}":我们在标记流的开始和结束处使用 unicode WORD JOINER 符号作为填充。)

如果您的标记类型不是列出的类型之一,您仍然可以通过为您的类型实现 ngram::Pad trait 来使用迭代器适配器。

依赖项

~120KB