-4

如何在 C++ 中实现 ngram?

例如;

文本

二元组:T、TE、EX、XT、T 三元组:TE、TEX、EXT、XT、T__

谢谢你

4

1 回答 1

1

这个可能有用:

ngram

用于字符或单词 ngram 分析的 C++ 包。它使用三元搜索树而不是散列表来更快地计算 ngram 频率。单词被转换为唯一的 ID 并编码为更紧凑的 256 基整数。它是 Vlado Keselj 博士的 Text-Ngrams 1.6 的部分实现,它是 perl 中非常灵活的 Ngram 包。

例子:

$猫测试
测试

$ ./ngrams --type=character --n=3 --in=tst
ngrams已经生成,开始输出。
开始输出
12 个 ngram 中共有 11 个唯一的 ngram。
12 个 ngram 中共有 11 个唯一的 ngram。
1-GRAMS(5 克中共有 4 个独特的 ngram)
1-GRAMS(5 克中共有 4 个独特的 ngram)
----------------------
2
1
S 1
_ 1

2-GRAMS(4 克中共有 4 个独特的 ngram)
2-GRAMS(4 克中共有 4 个独特的 ngram)
----------------------
ES 1
ST 1
TE 1
T_ 1

3-GRAMS(3 克中共有 3 个独特的 ngram)
3-GRAMS(3 克中共有 3 个独特的 ngram)
----------------------
美国东部标准时间 1
ST_1
测试 1

小计:0 秒用于生成 ngram。
小计:0 秒用于输出 ngram。
总共 0 秒。
于 2012-07-02T19:21:58.710 回答