隨著資料量的增大,降重的困難肯定是越來越困難的。就像百度搜索一個內容,但是結果往往呈現出來的都是有相同、類似的觀點和內容。但是我們可以採用 降重的方法來降低資料的重複率,從而推薦出優秀的內容。
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的相似度最高,當然實際執行過程中,除了分詞還得考慮詞頻,用這種方法對長文字進行相似度檢測,準確率非常高(文字越長越準)
隨著資料量的增大,降重的困難肯定是越來越困難的。就像百度搜索一個內容,但是結果往往呈現出來的都是有相同、類似的觀點和內容。但是我們可以採用 降重的方法來降低資料的重複率,從而推薦出優秀的內容。
為什麼去重越來越困難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的相似度最高,當然實際執行過程中,除了分詞還得考慮詞頻,用這種方法對長文字進行相似度檢測,準確率非常高(文字越長越準)