互聯網上肯定會存在大量的重復內容網頁,這時需要有一個過濾的機制,主要目的是處理文本內容的去重、過濾和聚類,而搜索引擎指紋算法是屬于文章質量度的一種算法。那么搜索引擎指紋算法是什么?常見的搜索引擎指紋算法有哪些?【網站優化】
一、搜索引擎指紋算法是什么?
簡單來說搜索引擎指紋算法就和人的指紋一樣,看起來這個手指是差不多的,但是實際上每一個人的手指都有一個獨一無二的指紋,而我們所看到的網頁也是一樣的。不少網頁內容其實都是差不多的,但是每一個網頁搜索引擎抓取以后都會保存,然后建立一個指紋,可以理解為唯一標識符,而這個算法最大的好處就是可以通過這個唯一標識別符來計算網頁的重復。
搜索引擎網頁指紋技術在百科詞條中的解釋是:提取一個信息的特征,通常是一組詞或者一組詞+權重,然后根據這組詞調用特別的算法,例如MD5,將之轉化為一組代碼,這組代碼就成為標識這個信息的指紋。搜索引擎在抓取內容之后,會首先剔除掉文章中的一些非特征信息關鍵詞,比如:你、我、他等稱謂;而且、但是等連接詞;哦、呢、吧等語氣詞。這些詞對于信息標識是沒有幫助的,然后就是對文字信息的提取與處理,經過一系列復雜的算法流程。
二、常見的搜索引擎指紋算法有哪些?
最簡單的指紋構造方式就是計算文本的md5或者sha哈希值,除非輸入相同的文本,否則會發生“雪崩效應”,極小的文本差異通過md5或者sha計算出來的指紋就會不同(發生沖撞的概率極低),那么對于稍加改動的文本,計算出來的指紋也是不一樣。
因此,一個好的指紋應該具備如下特點:
1、指紋是確定性的,相同的文本的指紋是相同的;
2、指紋越相似,文本相似性就越高;
3、指紋生成和匹配效率高。
業界關于文本指紋去重的算法眾多,如k-shingle算法、google提出的simhash算法、Minhash算法、top k最長句子簽名算法等。搜索引擎指紋算法和一般的算法不一樣的地方在于它是針對網頁集合來進行判斷的,不像網頁去重這種算法是頁面與頁面之間判斷。而指紋是通過大數據進行集合判斷,最后通過唯一標識符號判斷網頁內容是否原創。