日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

介绍一个基于simhash作海量文章排重的库:simhashpy

發布時間:2024/4/13 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 介绍一个基于simhash作海量文章排重的库:simhashpy 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

基于simhash的海量文章排重的實踐

簡單介紹

simhash是一種能計算文檔相似度的hash算法。通過simhash能將一篇文章映射成64bit,再比較兩篇文章的64bit的海明距離,就能知道文章的相似程序。若兩篇文章的海明距離<=3,可認為這兩篇文章很相近,可認為它們是重復的文章。

這篇博客有詳細的介紹

simhash-py

要更準確的對文章進行排重,需要找到好的simhash算法。目前我知道的有python-hashes,simhash-py。兩個庫通過簡單的修改,再加上中文分詞庫,可以比較好的對中文文章計算hash。simhash-py可使用我fork的版本以支持中文文章的simhash (通過里面的hash_token或hash_tokenpy兩個函數實現對切詞之后的中文文章進行simhash計算)。

simhash算法

simhash算法最簡單實現的庫應該是python-hashes庫了。使用過程當中發現,對于排重的使用目的來說,這個庫的simhash算法有缺點是:只考慮到文章存在哪些詞,沒有考慮到詞的順序。不過相應的優點是,可以實現海量文章相似度計算。文章相似度計算忽略詞的順序之后效果更好。

simhash-py內部實現了simhash算法。它里面的simhash使用了cyclic hash算法,這個算法考慮到N(可以在3~5)個詞之間的順序。考慮到詞的順序的hash算法在排重過程當中會更準確,不過這個我也沒有特別好的測試:)

simhash加快搜索

若看過本文推薦的simhash的原理講解那篇文章,發現可以通過“shard”方式加快simhash值的搜索,從而能快速的知道是否存在重復的文章。而simhash-py庫通過C++的Judy庫實現了這一點。

simhash集群處理

既然可以通過“shard”方式,那么很容易把這個思路拓展到集群上。所以相應的,simhashpy的作者實現了simhash-cluster。

轉載于:https://my.oschina.net/mickelfeng/blog/968260

總結

以上是生活随笔為你收集整理的介绍一个基于simhash作海量文章排重的库:simhashpy的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。