在這個科技高度發達的時代,百度已經成為人們能獲取信息的主要途徑。但如今的百度,到處充斥着一些重複的內容,對多用户的訪問造成很大的困擾。因此,百度需要對網頁重複進行判斷,對重複的網頁,只選取一些高質量的我那工業,共多用户瀏覽。然而,現有技術中一般是通過比較兩個頁面的內容和借點,來確認兩個頁面的相似度。
  這種方法能夠計算的比較準確,可時間複雜度太高,計算很費時間。通過對一個頁面中的某些重要資訊進行簽名,然後比較兩個頁面的簽名,來計算相似度,這種方式比較簡單高效,計算速度比較快,比較適合百度這種海量資訊的應用場景。
  1,網站重複內容的判斷
  A,獲取多個網頁;
  B,分別提取網頁的網頁正文;
  C,從網頁正文中提取一個或多個句子,並根據一個或多個句子計算網頁正文句子簽名;
  D,根據網頁正文句子簽名對多個網頁進行聚類;
  E,針對每一類下的網頁,計算網頁的附加簽名;
  F,根據附加簽名判斷每一類下的網頁是否重複。

網站頁面基本架構
  提取正文
  A,對網頁進行分塊;
  B,對分塊後的網頁進行塊過濾,以獲取包含網頁正文的內容快;
  C,從內容塊中提取網頁正文。
  正文分句
  A,對網頁正文進行分句;
  在本步驟中,可利用分號,句號,感嘆號等表示句子完結的標誌符號來對網頁正文進行分句。此外,還可以通過網頁正文的視覺資訊來對網頁正文進行分句。
  B,對分句後的網頁正文進行過濾及轉換;
  在步驟中,先過濾掉句子中的數字資訊; 版權資訊以及其他對網頁重複判斷不起決定性作用的資訊。隨後,對句子進行轉換,例如,進行全形/半形轉換或者繁體/簡體轉換,以使得轉換後的句子的格式統一。
  C,從過濾及轉換後的網頁正文中提取長的一個或多個句子;
  在本步驟中,過濾及轉換後的網頁正文提取出長的一個句子或者做場的預定數量連續句子的組合。例如,某個網頁例項中,經過過濾及轉換後的某段長,遠超其他句子,因此可選擇該段為網頁正文句子,或者選擇長的連續句子組合作為網頁正文句子。
  D,對一個或多個句子進行 hash 簽名運算,以獲取網頁正文句子簽名。
  simhash 演算法就是比較各網頁的附加簽名是否相同或相似來判斷網頁是否重複。具體來説,在比較利用 simhash 簽名運算獲得的網頁正文簽名時,比較網頁正文簽名的不同位數,不同位越少,表示網頁重複的可能性越高,在比較其他的附加簽名時,若附加簽名相等,表示網頁在該緯度上重複。
  總結:
  1 、兩個網頁的真實標題簽名相同。
  2 、兩個我那工業的網頁內容簽名相同。
  3 、兩個網頁的網頁正文簽名的不同位數小於 6. 。
  4 、兩個網頁的網頁位置簽名相同,並且 url 檔名簽名相同。
  5 、評論塊簽名、資源簽名、標籤標題簽名、摘要簽名、 url 檔名簽名中有三個簽名相同。
  附加資訊整站判斷重複標準: