C++ で ngram を実装するにはどうすればよいですか?
例えば;
文章
バイグラム: T、TE、EX、XT、T トライグラム: TE、TEX、EXT、XT、T__
ありがとうございました
このライブラリは役に立つかもしれません:
ngram
文字または単語の ngram 分析用の C++ のパッケージ。ngram 頻度カウントを高速化するために、ハッシュ テーブルの代わりに三分探索木を使用します。単語は一意の ID に変換され、よりコンパクトな base 256 整数にエンコードされます。これは Vlado Keselj 博士の Text-Ngrams 1.6 の部分的な実装であり、perl の非常に柔軟な Ngram パッケージです。
例:
$ 猫 tst テスト $ ./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) ------------------------ T2 E1 S1 _ 1 2-GRAMS (4 グラムで合計 4 つの固有の ngram) 2-GRAMS (4 グラムで合計 4 つの固有の ngram) ------------------------ ES1 ST1 TE1 T_1 3-GRAMS (3 グラムで合計 3 つの一意の ngrams ) 3-GRAMS (3 グラムで合計 3 つの一意の ngrams ) ------------------------ エスト 1 ST_1 テス1 小計: ngram の生成に 0 秒。 小計: ngram の出力に 0 秒。 合計 0 秒。