搜尋引擎頁面去重演算法分析之I-Match演算法

來源:互聯網
上載者:User

仲介交易 HTTP://www.aliyun.com/zixun/aggregation/6858.html">SEO診斷 淘寶客 雲主機 技術大廳

互聯網中存在了大量的重複頁面,據統計表明近似重複頁面的數量佔據網站總數量的29%,而完全重複頁面佔據了22%。 這些重複的頁面對搜尋引擎來說佔據了很多的資源,因此搜尋引擎對頁面的去重也是搜尋引擎中很重要的一個演算法。 因此今天就跟大家分析下搜尋引擎頁面去重演算法-I-Match演算法。

對於I-Match演算法來說主要是根據大規模的文本集合進行統計,對於文本中出現的所有單詞,按照單詞的IDF(逆文本詞頻因數)來進行由高到低的排序,除去得分最高和得分最低的單詞,保留剩下的單詞最為特徵詞典。 這一步驟主要是刪除文本中無關的關鍵字,保留重要關鍵字。 下面是I-Match流程示意圖:

  

I-Match流程示意圖

獲得全域特徵詞典之後,對需要去重的頁面,掃描下就能獲得該頁面上出現的所有單詞,對於這些單詞根據特徵詞典過濾:保留在特徵詞典上出現的單詞,用來表達文檔的主要內容,刪除沒有在特徵詞典中出現的內容。 提取出對應的特徵詞之後在利用雜湊函數對特徵詞彙進行雜湊計算,獲得的數值就是該文檔的文本指紋。

所有文檔都統計完之後如果想查看兩篇文檔是否重複只需要查看文檔的文本指紋是否近似,如果近似則表示兩篇文檔重複。 這樣的比對方式很直觀而且效率也很高,去重效果比較明顯。

我們seo在做文章偽原創的時候經常會把文章的詞語和段落調換位置,以此想欺騙搜尋引擎認為這是一篇原創的文章,但是I-Match對文檔之間的單詞順序並不敏感。 如果兩篇文章中包含的單詞一樣僅僅是調換了單詞的位置,那麼I-Match演算法還是將兩篇文章認為是重複文章。

但是這個演算法還是有很多問題存在。 1,容易出現誤判。 尤其是面對短文本的時候,短文本本身單詞比較少,經過特徵詞典過濾之後只保留很少的特證詞,這樣容易把兩篇原本不重複的文檔誤認為重複,這個對短文檔來說情況比較嚴重。 2.穩定性不好,對文檔修改敏感。 假如對文檔A做出一點小修改後生成文檔B,那麼這個演算法很可能判斷出兩篇文檔為不重複文檔。 例如:我們在文檔A中加入一個單詞H,生成文檔B。 I-Match演算法在進行計算的時候,兩篇文章僅僅相差一個單詞H,如果單詞H不再特徵詞典中那麼兩篇文章的特證詞相同即判定為重複文檔,但是會出現這種情況,單詞H出現在特徵詞典中,那麼文本B比文檔A多出一個特徵, 該演算法很可能就會判定兩篇文檔不重複。 這就是I-Match最大的一個問題。

基於I-Match出現的這種問題,有人對該演算法進行了改進。 原演算法對文檔的改變非常敏感,主要是因為對單一特徵詞典的過度依賴,改進後的I-Match就是減少對特徵詞典的依賴性。 可以採用多個特徵詞典,只要每個特徵詞典大體相近就可以忽略細小的差別。

改變後的I-Match演算法主要是:類似I-Match原始演算法,形成一個特徵詞典,為了和其他詞典相區別可以成為主特徵詞典;然後根據主特徵詞典衍生出若干小的輔助特徵詞典。 為了保證特徵詞典的主體相同,可以從主特徵詞典中隨機刪除若干詞典項然後生成一個新的特徵詞典,這個特徵詞典就叫做輔助特徵詞典,重複若干次數後就可以獲得若干輔助特徵詞典。 當兩篇文檔進行對比的時候可以對主特徵詞典和輔助特徵詞典一起比對,只要保證每個特徵詞典的大體內容相同,忽略細小差異就能判定文檔是否重複。 下圖是I-Match改進後的示意圖:

  

I-Match演算法改進

上圖演示中有兩個輔助特徵詞典,主特徵詞典拋棄了特徵5和特徵6形成輔助特徵詞典1,主特徵詞典拋棄了特徵2和特徵3形成了輔助特徵詞典2。 並且根據三個特徵詞典分別形成了文本指紋。 如果兩篇文檔有兩個指紋資訊相同那麼即可判定兩篇文檔重複。

改進後的I-Match演算法大大提高了文檔去重的成功率,增加了演算法的穩定性。

對SEO啟發:傳統的偽原創文章,對一篇文章進行簡單的修改,首尾做一些小的變動,然後把中間段落調整順序,這個對搜尋引擎來說都是沒有意義的,還是可以判斷出兩篇文章是否重複。 因為我們對於文章的建設還是要原創,或者對原文章進行比較大的改動,使兩篇文章的特徵詞典發生改變。

詞語解釋:

IDF 逆文檔詞頻因數:衡量一個詞普遍重要度的衡量因數,某一特定詞語的IDF,可用總檔數目除以含有該詞語文檔數目,將得到的商取對數得到。

  

表示文檔總數 n表示含有詞條k的文檔數量。

本文由 HTTP://www.youzu.com 供稿,轉載請保留連結謝謝!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.