3

我從十六進制形式的二進制文件中提取4克,這意味着每個項目最多可以有65535個不同的克數。如何高效地存儲大量的ngram?

我想將每個項目與它的克數和頻率關聯起來,但我對如何存儲所有內容感到困惑 - 這是我的第一個數據挖掘體驗,我對最佳實踐和常用工具沒有任何線索。

我很平凡的想在關係數據庫中構建一個大表,並且在其中存儲頻率爲(ITEM-NAME, GRAM1, GRAM2... GRAM65535)的模式,並在其中存儲頻率,但是由於列的數量,我可以看到這種方法非常實用。

我知道那裏一定有更好的解決方案,但我不知道該在哪裏看。

對此提出建議?

+0

是由此產生的「矩陣」稀疏?即你能期望平均來說,給定項目的至少一半GRAMn ... GRAM65535值可以是0嗎? –

回答

1

存儲ngram的最佳方式是prefixTree恕我直言。 是用於非常高效的圖書館管道。樹

例子:

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

另一種選擇是在倒排索引的格式存儲: ngramm - >項目

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

注:第二個選項不存儲訂單信息是關鍵對於ngram ...

相關問題