詞典壓縮:減小詞典的內存占用
好的壓縮算法:壓縮率,壓縮速度,解壓速度(最重要)
一元編碼
Elias Gamma:
x=2^e+d
e+1:一元編碼
d:二元編碼
Elias Delta:
x=2^e+d
e+1:再使用Elias Gamma編碼一次
d:二元編碼
Golomb & Rice
因子1=(X-1)/b,因子1+1,一元編碼
因子2=(X-1) mod b,使用二元編碼,編碼寬度在log(b)
Golomb: b=0.69*Avg(序列平均值)
Rice:2的整數次冪,所有小于Avg中最接近Avg的數值
變長壓縮算法SimpleX
Simple9: 32位比特位,4個比特為管理數據存儲區,28個比特壓縮數據存儲區
Simple9的28位有9種表示形式
Simple16: 28位有16種表示形式,并且通過非當項完全固定長度,解決數據區有浪費位的情況
PForDelta:目前解壓速度最快的一種倒排文件壓縮算法
1,對待編碼的連續K個數值(一般為128),確定10%的大數數值,根據70%小數確定奪取的比特寬度,確定整個序列
2,對原始數據遍歷,將大數放置到尾端,并轉換成鏈表結構的序列
3、將所有數字壓縮到隊列中
文檔編號重排序
網頁的文檔ID+單詞詞頻信息,文檔ID使用D-Gap進行編碼
將內容越相似的網頁,在編排文檔號時越相鄰
海量數據文本聚類速度較慢,將URL相似的網頁聚合在一起,假設同一個網站的很多頁面表達的主題內容是近似的
靜態索引裁剪:主動拋棄一部分不重要的信息(索引項)來達到數據壓縮的效果
以單詞為中心的索引裁剪:
判斷單詞與文檔的相似性,每個詞典中的單詞,其對應的倒排排列中至少保留K個索引項,還要保留若干富余項目
實驗證明,如果首先對所有索引項的原始得分減去得分最低索引項的得分,再采取(對K個項進行折扣,乘一個折扣因子,得出閾值a,剩下的大于a保留)方法進行裁剪,效果會大大提升
因為
索引項得分分差相關不大,比較集中在某個區間,所以減掉得分最低項
以文檔為中心的索引裁剪:更為常用
在建立索引之前進行數據預處理,把與文檔主題表達不相關的單詞拋棄,如停用詞
posted on 2013-11-04 12:56
胡滿超 閱讀(864)
評論(0) 編輯 收藏 引用 所屬分類:
搜索引擎