降重是否會越來越困難?
隨著數據量的增大,降重的困難肯定是越來越困難的。就像百度搜索一個內容,但是結果往往呈現出來的都是有相同、類似的觀點和內容。但是我們可以采用 降重的方法來降低數據的重復率,從而推薦出優秀的內容。
為什么去重越來越困難1、信息增量太多
每天都會有大量的數據入到數據庫里面進行保存,在海量的數據下,你想數據不重復肯定是很困難的。
就例如:在學校里面同名字的學生肯定是有的,那如果放眼到全國呢? 數據多了本身就具備重復的結果
數據庫數據庫提取方式是基于關鍵詞的匹配和篩選在來推推薦的,也就是產生數據時有很多人都會采用相同的觀點,那么基于關鍵詞匹配出來的文章肯定是具有重復的內容推薦。
2、互聯網抄襲成風。
很多原創內容在網上被抄來抄去,改來改去。有很多同學都時借鑒別人之手,直接套來使用。那么這樣的同質化的內容肯定是越來越重的。為什么有的時候很多搜索結果文章感覺都是差不多的存在
降重的方法有那些1、基于簽名算法與文本內容對比判斷
最簡單的方式莫過于直接對比一個字一個字的都對2個文件的或者網頁的數據內容,如果發現是一致就不在進行結果展示,當時這樣的效率會很低,你直接用文章內容對比,就像有A、B兩組各1000人來進行一對一的比較,那如果有10w、100w呢?是不是特別費勁
所以可以基于MD5、SHA1簽名散列算法,可以產生出一個128位(16字節)、160位的散列值(hash value),如果你文章內容相同那么散列值一定是相同的,這樣就比較省事了
2、基于分詞技術來進行內容重復檢測
雖然直接對比可以檢測是否重復,但本身如果加密的算法進行處理就比較費時,如果文章內容很相似時候可能也會被推薦上去。因為MD5哪怕只有1個字節值不同,其MD5簽名值也會差別很大,所以適用于“完整性”,不適用與“相似性”
如果我們能將每一個長文本用一個集合來表示,就能將長文本的相似度用minHash來解決了。基于內容結果中來進行分詞的篩選。這樣就可以針對相似文章的快速篩選
舉例:待判定的數據為A{我是PHP智慧與能力,我來自中國}
需要判斷數據庫集合為:
B{我是一只大象}
C{PHP是世界上最好的語言}
D{這事和我沒關系,我是湊數的}
使用分詞將上述文本集合化:
A{我,PHP,智慧,能力,來自,中國}
B{我,大象}
C{PHP,世界,語言}
D{事,我,湊數,關系}
判斷結論:biu biu biu biu,轉化為分詞集合后,可以快速判斷A與B的相似度最高,當然實際執行過程中,除了分詞還得考慮詞頻,用這種方法對長文本進行相似度檢測,準確率非常高(文本越長越準)
如有感悟,歡迎關注(* ̄︶ ̄)