如何在 C++ 中实现 ngram?
例如;
文本
二元组:T、TE、EX、XT、T 三元组:TE、TEX、EXT、XT、T__
谢谢你
这个库可能有用:
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 秒。