3

私は16進形式のバイナリアイテムから4グラムを抽出しています。これは、アイテムごとに最大65535グラムを使用できることを意味します。

すべてのアイテムをグラムとその頻度に関連付けたいのですが、すべてを保存する方法に戸惑っています。これは私の最初のデータマイニングの経験であり、ベストプラクティスや一般的なツールについての手がかりがありません。

のようなスキーマを使用してリレーショナルデータベースに大きなテーブルを作成し、(ITEM-NAME, GRAM1, GRAM2... GRAM65535)その中に頻度を格納することを簡単に考えていましたが、列の数が多いため、このアプローチは非常に非現実的であることがわかります。

もっと良い解決策があるはずですが、どこを見ればいいのかわかりません。

提案?

4

1 に答える 1

1

ngram を保存する最良の方法は、prefixTree IMHOです。非常に効率的なライブラリ lingpipe で使用されます。

ツリーの例:

 1. gr1
   1. gr2 (item1)
   2. gr3 (item2,item3,item4)
 2. gr3 (item1, tem2)
 3. gr2
  1. g3 (item5,item6)
  2. g4 (item1)

他のオプションは、逆インデックスの形式で保存することです: ngramm -> item

gr1 (item1, item2)
gr2 (item1, item3)
gr3 (item2, item3)
gr4 (item1, item2)

注:2番目のオプションは、ngramにとって重要な注文情報を保存しません...

于 2011-10-13T09:28:50.560 に答える