網頁消重

網頁消重

網頁消重是指刪除重複的網頁,在消重後網頁集上建立索引再提供服務,可以保證用戶查詢時不會出現大量重複的內容,同時也減少了存儲空間。

基本介紹

  • 中文名:網頁消重
  • 外文名:Web page de duplication
原因,運用,

原因

搜尋過程中產生重複的原因主要有兩個,一個是由於URL本身的構造原因產生搜尋結果重複。例如,虛擬主機技術可能會使得多個不同域名映射到同一個IP,當搜尋系統用這些域名進行搜尋時,實際上搜尋到的是同一個站點,導致搜尋結果重複。這一類由於URL本身導致網頁重複的問題相對來說比較容易解決,例如,可以通過建立IP與域名的對應表、比較網站前幾頁網頁代碼等方式解決。
網頁重複的另一個重要原因是不同網站之間對相同的內容重複引用或同一站點在不同物理位置的鏡像等而導致的,這對於一些熱點內容和重要站點尤其如此。對於這類情況,由於大量重複網頁不是直接對原有網頁進行複製,而是將轉載引用的內容放到自己網頁的某個特定位置再提供給用戶,或者在鏡像時定製了網頁的內容。這樣,新的網頁就可能在風格、布局、代碼方面與原有網頁有很大的差別,因而不能使用網頁的形式特徵來對網頁消重,消重的依據只能是根據網頁的內容特徵。

運用

一般而言,基於內容的消重技術的基本思想是:為每一個網頁計算出一組指紋(Fingerprint),所謂指紋信息是指網頁文本的一種信息特徵,通常由一組詞或者一組詞加權重構成。從理論上說,不同網頁的指紋是不同的,若兩個網頁指紋相同或相近,則可以認為這兩個文檔的內容重疊性較高,進而考慮進行消重操作。
常用的基於內容的網頁消重有兩個關鍵的方面,一是如何生成網頁的指紋,二是如何通過比較指紋來判斷網頁是否重複。
生成網頁的指紋有多種算法,使用比較廣泛的算法有MD5散列值算法。MD5的全稱是Message-Digest Algorithm5(信息—摘要算法),由美國麻省理工學院於20世紀90年代初開發,經MD2、MD3和MD4發展而來。Message-Digest泛指位元組串的Hash變換,就是把一個任意長度的位元組串變換成一定長的大整數。可以用MD5算法對網頁的文本產生指紋,通過比較不同文本的指紋,可以判斷兩個頁面是否是相同的頁面。MD5算法及其C語言實現原始碼在RFC 1321(http://www.faqs.org/rfes/rfcl321.html)中有詳細的描述。
第二個要解決的問題是用什麼樣的標準去判定兩個網頁是相同的。以MD5算法為例,由於MD5算法是一種嚴格的信息加密和防篡改算法,只要摘要內容有一個位元組不同,其散列值就會不同,這樣,如果用兩個網頁的全部正文的位元組串作為生成指紋的內容,就很難保證能夠儘量區分出的近似網頁,因為,只要文本位元組串稍有不同,其散列值就會不同。對其他計算指紋的算法也同樣存在類似的問題。這樣,就需要精心地選擇用什麼樣的文本摘要去生成文本指紋,怎樣用指紋進行比較。這方面,研究人員做了大量的工作。
美國史丹福大學的Shivakumar等人提出了一種全文分段簽名方法,其基本思想是把一個網頁按一定的原則分成N段(例如每n行作為一段),然後對每一段進行簽名(即計算指紋),於是每篇文檔可以用N個指紋來表示。在進行網頁的比較時,若網頁N個簽名中有M個相同(M是系統定義的閾值),則認為這些網頁是重複的。為了減少比較過程的空間複雜度和時間複雜度,全文分段簽名方法還使用由文檔標識、段標識和指紋構成的三元組對網頁進行排序,避免了對所有網頁做兩兩比較,使算法複雜度有所降低。
北大天網提出了另一種方法,即用向量空間來表示網頁的文本內容,用MD5算法計算前N個特徵向量的散列值(指紋),當兩個網頁的這類指紋相同時,就認為兩者互為近似網頁。

相關詞條

熱門詞條

聯絡我們