|
發表於 2016-2-19 15:12:24
|
顯示全部樓層
|
引擎斷定複製網頁一般都基於這麼一個思惟:
爲每個網頁計算出一組信息指紋(Fingerprint),若兩個網頁有必定命量雷同的信息指紋,則認爲這兩個網頁的內容重疊性很高,也就是說兩個網頁是內容複製的。
很多引擎斷定內容複製的辦法都不太一樣,主如果以下兩點的不合:
1、枷⒚鶓息指紋(Fingerprint)的算法;
4、MD5(Con(Ti))=MD5(Con(Tj))並且Wi-Wj的平方除以Wi和Wj的平方之和小於某個闕值a,則認爲兩者是複製網頁。
2、斷定信息指紋的類似程度的參數。
在描述具體的算法前,先說清跋扈兩點:
1、什麼是信息指紋?
以上肯定無法覆蓋一個大年夜型引擎複製網頁的所有方面,他們必定還有一些幫助的信息指紋斷定,本文作爲一個思路,給做引擎優化的一個思路。
信息指紋就是把網頁琅綾擎正文信息,提取必定的信息,可所以關鍵字、詞、句子或者段落及其在網頁琅綾擎的權重等,對它進行加密,如MD5加密,大年夜而形成的一個字符串。信息指紋如同人的指紋,只要內容不雷同,信息指紋就不一樣。
2、算法提取的信息不是針半數張網頁
3、MD5(Sort(Ti))=MD5(Sort(Tj)),兩個網頁前n個關鍵詞一樣,權重可以不一樣,也認爲是複製網頁。
而是把網站琅綾擎合營的部分如導航條、logo、版權等信息(這些稱之爲網頁的“噪音”)過濾掉落後剩下的文本。
分段簽名算法
這種算法是按照必定的規矩把網頁切成N段,對每一段進行簽名,形成每一段的信息指紋。如不雅這N個信息指紋琅綾擎有M個雷同時(m是體系定義的闕值),則認爲兩者是複製網頁。
這種算法對於小範圍的斷定複製網頁是很好的一種算法,然則對於像google如許海量的引擎來說,算法的複雜度相當高。
基於關鍵詞典複製網頁算法
像google這類引擎,他在抓取網頁的時刻都邑記下以下網頁信息:
1、網頁中出現的關鍵詞(中文分詞技巧)以及每個關鍵詞典權重(關鍵詞密度)。
2、提取meta descrīption或者每個網頁的512個字節的有效文字。
關於第2點,baidu和google有所不合,google是提取你的meta descrīption,如不雅沒有萌芽關鍵字相幹的512個字節,而百度是直接提取後者。這一點大年夜家應用過的都有所領會。
在以下算法描述中,我們商定幾個信息指紋變量:
Pi表示第i個網頁;
該網頁權重最高的N個關鍵詞構成集合Ti={t1,t2,...tn},其對應的權重爲Wi={w1,w2,...wi}
摘要信息用Des(Pi)表示,前n個關鍵詞拼成的字符串用Con(Ti)表示,對這n個關鍵詞排序後形成的字符串用Sort(Ti)表示。
以上信息指紋都用MD5函數進行加密。
基於關鍵詞典複製網頁算法有以下5種:
1、MD5(Des(Pi))=MD5(Des(Pj)),就是嗣魅摘要信息完全一樣,i和j兩個網頁就認爲是複製網頁。
2、MD5(Con(Ti))=MD5(Con(Tj)),兩個網頁前n個關鍵詞及其權重的排序一樣,就認爲是複製網頁。
5、MD5(Sort(Ti))=MD5(Sort(Tj))並且Wi-Wj的平方除以Wi和Wj的平方之和小於某個闕值a,則認爲兩者是複製網頁。
關於第4和第5的那個闕值a,主如果因爲前一個斷定前提下,照樣話苄很多網頁被誤傷,引擎開闢根據權重的分佈比例進行調節,防止誤傷。
這個是北大年夜天網引擎的去重算法(可以參考:《引擎--道理、技巧與體系》一書),以上5種算法運行的時刻,算法的效不雅取決於N,就是關鍵詞數量標拔取。當然啦,選的數量越多,斷定就會越精確,然則誰知而來的計算速度也會減慢下來。所以必須推敲一個計算速度和去重精確率的均衡。據天網實驗結不雅,10個閣下關鍵詞最恰當。
跋文
請作者接洽本站,及時附註您的姓名。接洽郵箱:edu#chinaz.com(把#改爲@)。 |
|