在這個科技高度發達的時代,百度已經成為人們能獲取消息的主要途徑。但如今的百度,到處充斥著一些重復的內容,對用戶的訪問造成很大的困擾。因此,百度需要對網頁重復進行判斷,對重復的網頁,只選取一些高質量的我那工業,共用戶浏覽。然而,現有技術中一般是通過比較兩個頁面的內容和借點,來確認兩個頁面的相似度。
這種方法能夠計算的比較准確,可時間復雜度太高,計算很費時間。通過對一個頁面中的某些重要信息進行簽名,然後比較兩個頁面的簽名,來計算相似度,這種方式比較簡單高效,計算速度比較快,比較適合百度這種海量信息的應用場景。
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文件名簽名中有三個簽名相同。
附加信息整站判斷重復標准:
通過兩兩頁面比較,可以得到真重復url的集合。一般來說,如果這個真重復url集合中的網頁的數量/整個網頁集中網頁的數量大於30%,則認為整個網頁集都是真重復,否則就是假重復。