精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

海量數據相似度計算之simhash和海明距離

開發 前端
通過 采集系統 我們采 集了大量文本數據,但是文本中有很多重復數據影響我們對于結果的分析。分析前我們需要對這些數據去除重復,如何選擇和設計文本的去重算法?常見的有余弦夾 角算法、歐式距離、Jaccard相似度、最長公共子串、編輯距離等。這些算法對于待比較的文本數據不多時還比較好用,如果我們的爬蟲每天采集的數據以千萬計算,我們如何對于這些海量千萬級的數據進行高效的合并去重。最簡單的做法是拿著待比較的文本和數據庫中所有的文本比較一遍如果是重復的數據就標示為重復。

通過 采集系統 我們采 集了大量文本數據,但是文本中有很多重復數據影響我們對于結果的分析。分析前我們需要對這些數據去除重復,如何選擇和設計文本的去重算法?常見的有余弦夾 角算法、歐式距離、Jaccard相似度、最長公共子串、編輯距離等。這些算法對于待比較的文本數據不多時還比較好用,如果我們的爬蟲每天采集的數據以千萬計算,我們如何對于這些海量***的數據進行高效的合并去重。最簡單的做法是拿著待比較的文本和數據庫中所有的文本比較一遍如果是重復的數據就標示為重復。看起來很簡單,我們來做個測試,就拿最簡單的兩個數據使用Apache提供的 Levenshtein for 循環100w次計算這兩個數據的相似度。代碼結果如下:

  1. String s1 = "你媽媽喊你回家吃飯哦,回家羅回家羅" ; 
  2.             String s2 = "你媽媽叫你回家吃飯啦,回家羅回家羅" ; 
  3.   
  4.             long t1 = System.currentTimeMillis(); 
  5.   
  6.             for (int i = 0; i < 1000000; i++) { 
  7.                    int dis = StringUtils .getLevenshteinDistance(s1, s2); 
  8.             } 
  9.   
  10.             long t2 = System.currentTimeMillis(); 
  11.   
  12.             System. out .println(" 耗費時間: " + (t2 - t1) + "  ms "); 

耗費時間: 4266 ms

大跌眼鏡,居然計算耗費4秒。假設我們一天需要比較100w次,光是比較100w次的數據是否重復就需要4s,就算4s一個文檔,單線程一分鐘才處 理15個文檔,一個小時才900個,一天也才21600個文檔,這個數字和一天100w相差甚遠,需要多少機器和資源才能解決。

為此我們需要一種應對于海量數據場景的去重方案,經過研究發現有種叫 local sensitive hash 局部敏感哈希 的東西,據說這玩意可以把文檔降維到hash數字,數字兩兩計算運算量要小很多。查找很多文檔后看到google對于網頁去重使用的是simhash,他 們每天需要處理的文檔在億級別,大大超過了我們現在文檔的水平。既然老大哥也有類似的應用,我們也趕緊嘗試下。simhash是由 Charikar 在2002年提出來的,參考 《Similarity estimation techniques from rounding algorithms》 。 介紹下這個算法主要原理,為了便于理解盡量不使用數學公式,分為這幾步:

  • 1、分詞,把需要判斷文本分詞形成這個文章的特征單詞。***形成去掉噪音詞的單詞序列并為每個詞加上權重,我 們假設權重分為5個級別(1~5)。比如:“ 美國“51區”雇員稱內部有9架飛碟,曾看見灰色外星人 ” ==> 分詞后為 “ 美國(4) 51區(5) 雇員(3) 稱(1) 內部(2) 有(1) 9架(3) 飛碟(5) 曾(1) 看見(3) 灰色(4) 外星人(5)”,括號里是代表單詞在整個句子里重要程度,數字越大越重要。
  • 2、hash,通過hash算法把每個詞變成hash值,比如“美國”通過hash算法計算為 100101,“51區”通過hash算法計算為 101011。這樣我們的字符串就變成了一串串數字,還記得文章開頭說過的嗎,要把文章變為數字計算才能提高相似度計算性能,現在是降維過程進行時。
  • 3、加權,通過 2步驟的hash生成結果,需要按照單詞的權重形成加權數字串,比如“美國”的hash值為“100101”,通過加權計算為“4 -4 -4 4 -4 4”;“51區”的hash值為“101011”,通過加權計算為 “ 5 -5 5 -5 5 5”。
  • 4、合并,把上面各個單詞算出來的序列值累加,變成只有一個序列串。比如 “美國”的 “4 -4 -4 4 -4 4”,“51區”的 “ 5 -5 5 -5 5 5”, 把每一位進行累加, “4+5 -4+-5 -4+5 4+-5 -4+5 4+5” ==》 “9 -9 1 -1 1 9”。這里作為示例只算了兩個單詞的,真實計算需要把所有單詞的序列串累加。
  • 5、降維,把4步算出來的 “9 -9 1 -1 1 9” 變成 0 1 串,形成我們最終的simhash簽名。 如果每一位大于0 記為 1,小于0 記為 0。***算出結果為:“1 0 1 0 1 1”。

整個過程圖為:

simhash

大家可能會有疑問,經過這么多步驟搞這么麻煩,不就是為了得到個 0 1 字符串嗎?我直接把這個文本作為字符串輸入,用hash函數生成 0 1 值更簡單。其實不是這樣的,傳統hash函數解決的是生成唯一值,比如 md5、hashmap等。md5是用于生成唯一簽名串,只要稍微多加一個字符md5的兩個數字看起來相差甚遠;hashmap也是用于鍵值對查找,便于 快速插入和查找的數據結構。不過我們主要解決的是文本相似度計算,要比較的是兩個文章是否相識,當然我們降維生成了hashcode也是用于這個目的。看 到這里估計大家就明白了,我們使用的simhash就算把文章中的字符串變成 01 串也還是可以用于計算相似度的,而傳統的hashcode卻不行。我們可以來做個測試,兩個相差只有一個字符的文本串,“你媽媽喊你回家吃飯哦,回家羅回 家羅” 和 “你媽媽叫你回家吃飯啦,回家羅回家羅”。

通過simhash計算結果為:

1000010010101101111111100000101011010001001111100001001011001011

1000010010101101011111100000101011010001001111100001101010001011

通過 hashcode計算為:

1111111111111111111111111111111110001000001100110100111011011110

1010010001111111110010110011101

大家可以看得出來,相似的文本只有部分 01 串變化了,而普通的hashcode卻不能做到,這個就是局部敏感哈希的魅力。目前Broder提出的shingling算法和Charikar的 simhash算法應該算是業界公認比較好的算法。在simhash的發明人Charikar的論文中并沒有給出具體的simhash算法和證明,“量子圖靈”得出的證明simhash是由隨機超平面hash算法演變而來的。

現在通過這樣的轉換,我們把庫里的文本都轉換為simhash 代碼,并轉換為long類型存儲,空間大大減少。現在我們雖然解決了空間,但是如何計算兩個simhash的相似度呢?難道是比較兩個simhash的 01有多少個不同嗎?對的,其實也就是這樣,我們通過海明距離(Hamming distance)就可以計算出兩個simhash到底相似不相似。兩個simhash對應二進制(01串)取值不同的數量稱為這兩個simhash的海 明距離。舉例如下: 10101 和 00110 從***位開始依次有***位、第四、第五位不同,則海明距離為3。對于二進制字符串的a和b,海明距離為等于在a XOR b運算結果中1的個數(普遍算法)。

為了高效比較,我們預先加載了庫里存在文本并轉換為simhash code 存儲在內存空間。來一條文本先轉換為 simhash code,然后和內存里的simhash code 進行比較,測試100w次計算在100ms。速度大大提升。

未完待續:

1、目前速度提升了但是數據是不斷增量的,如果未來數據發展到一個小時100w,按現在一次100ms,一個線程處理一秒鐘 10次,一分鐘 60 * 10 次,一個小時 60*10 *60 次 = 36000次,一天 60*10*60*24 = 864000次。 我們目標是一天100w次,通過增加兩個線程就可以完成。但是如果要一個小時100w次呢?則需要增加30個線程和相應的硬件資源保證速度能夠達到,這樣 成本也上去了。能否有更好的辦法,提高我們比較的效率?

2、通過大量測試,simhash用于比較大文本,比如500字以上效果都還蠻好,距離小于3的基本都是相似,誤判率也比較低。但是如果我們處理的 是微博信息,最多也就140個字,使用simhash的效果并不那么理想。看如下圖,在距離為3時是一個比較折中的點,在距離為10時效果已經很差了,不 過我們測試短文本很多看起來相似的距離確實為10。如果使用距離為3,短文本大量重復信息不會被過濾,如果使用距離為10,長文本的錯誤率也非常高,如何 解決?

simhash2

原文鏈接:

責任編輯:陳四芳 來源: jobbole.com
相關推薦

2013-08-29 14:28:58

海量數據simhash

2015-10-15 10:27:12

文本相似度判定

2011-12-22 16:34:09

2011年度IT博客大IT博客大賽博客

2016-08-26 11:12:03

2024-02-29 09:57:08

Simhash內容應用

2024-01-25 08:59:52

大數據vivo架構

2016-06-12 11:33:18

數據中心

2011-04-28 09:36:22

海量數據存儲

2012-06-26 10:03:06

海量數據處理

2025-01-14 13:51:44

2011-01-21 10:14:14

十大IT博客IT博客大賽IT博客

2011-03-08 09:58:21

海量數據

2011-08-18 09:43:45

Bloom Filte海量數據

2011-08-19 13:28:25

海量數據索引優化

2012-08-28 09:15:33

Hadoop海量數據挖掘算法

2011-12-20 15:04:19

2011年度IT博客大IT博客大賽博客

2011-12-07 09:21:41

云計算海量數據

2011-06-01 10:41:09

海量數據庫IO難題

2014-11-17 15:16:34

2019-12-11 10:50:06

JS圖片前端
點贊
收藏

51CTO技術棧公眾號

欧美一区二区精品在线| 日韩理论片中文av| 国产精品欧美一区二区| 青青草免费av| 神马电影久久| 日韩丝袜美女视频| 激情五月亚洲色图| www欧美xxxx| 中文在线免费一区三区高中清不卡| 亚洲综合色av| 中日精品一色哟哟| 日韩视频久久| 久久精品国产精品| 波多野结衣 在线| silk一区二区三区精品视频| 欧美色图12p| 成人午夜免费在线| 一本一道波多野毛片中文在线 | 欧美自拍视频在线| 顶臀精品视频www| 欧洲乱码伦视频免费| 日韩av在线一区| 在线免费观看av网| 欧美日韩在线精品一区二区三区激情综合 | 亚洲一级二级片| 天天躁日日躁狠狠躁欧美巨大小说| 538在线一区二区精品国产| 日韩av播放器| 美女露胸视频在线观看| 一二三区精品视频| 色呦呦网站入口| 国产精品免费播放| 久久婷婷久久一区二区三区| 999国产在线| 国产精品久久久久久久免费| 男女男精品网站| 日韩美女中文字幕| 国产嫩bbwbbw高潮| 免费中文字幕日韩欧美| 久久久久久久91| 国内偷拍精品视频| 婷婷亚洲综合| 自拍视频国产精品| 五月天婷婷丁香网| 久久在线电影| 日韩中文字幕亚洲| 黄大色黄女片18免费| 少妇一区二区视频| 亚洲亚裔videos黑人hd| 无码少妇一区二区| 成人影院在线| 最新日韩中文字幕| 午夜国产小视频| 亚洲欧美综合久久久| 日韩亚洲第一页| 夫妇露脸对白88av| 久久精品高清| 日韩在线视频国产| 一区二区成人免费视频| 欧美一区在线看| 九九精品在线视频| 国产精彩视频在线| 国产一级一区二区| 热re91久久精品国99热蜜臀| 免费看一级视频| 强制捆绑调教一区二区| 国产日韩精品在线| www.国产麻豆| 91小视频在线免费看| 欧美日韩日本网| a√在线中文网新版址在线| 国产精品久久久99| 黄色一级片国产| 678在线观看视频| 色激情天天射综合网| 日本人69视频| 亚洲超碰在线观看| 亚洲免费电影在线观看| 青娱乐国产视频| 欧美精品三级| 国产91精品久久久久久久| 国产美女www爽爽爽| 国产在线视视频有精品| 国产精品一区二区你懂得| 欧美美女色图| 自拍偷拍欧美精品| 欧美又粗又长又爽做受| av一区在线| 欧美一二三四区在线| 91精品人妻一区二区三区蜜桃欧美| 日本不卡免费一区| 午夜精品99久久免费| 国内av在线播放| 国产99久久精品| 日本免费高清一区二区| 伊人在我在线看导航| 精品人伦一区二区三区蜜桃网站 | 精品亚洲一区二区三区| www.99re6| 夜夜爽av福利精品导航| 国产精品亚洲欧美导航| 欧美熟妇交换久久久久久分类| 国产日韩欧美精品综合| 青草视频在线观看视频| 欧美日韩精品一区二区三区视频| 欧美mv日韩mv| 99热这里只有精品4| 男女精品网站| 国产66精品久久久久999小说| 爱久久·www| 天天综合天天做天天综合| www.国产福利| 国产一区二区观看| 97在线视频免费看| 国产欧美熟妇另类久久久| 国产日本一区二区| 青青草精品视频在线| 成人国产精品一区二区网站| 亚洲性生活视频| 在线观看日韩中文字幕| 成人一二三区视频| 只有这里有精品| jvid一区二区三区| 亚洲精选一区二区| 亚洲黄色三级视频| 成人一区二区三区中文字幕| 日本xxx免费| 91视频亚洲| 日韩网站免费观看| 中文字幕自拍偷拍| 久久精品日产第一区二区三区高清版| 精品国产一区三区| а√中文在线天堂精品| 九色成人免费视频| 精品人妻一区二区三区含羞草 | 亚洲欧美在线一区二区| 日韩美女视频网站| 成人免费毛片a| www.国产在线视频| 精品三级久久久| 不卡av电影院| 国产成人久久精品77777综合| 中文字幕亚洲不卡| www.色就是色.com| 国产精品成久久久久| 国产主播欧美精品| 国产黄a三级三级三级av在线看| 欧美日韩在线精品一区二区三区激情| 中文字幕av网址| 三级成人在线视频| 日韩中文字幕一区| 欧美成a人片免费观看久久五月天| 国产香蕉一区二区三区在线视频| 乱子伦一区二区三区| 国产网站一区二区| 超碰成人在线播放| 亚洲精品午夜av福利久久蜜桃| 91啪国产在线| 四虎影院观看视频在线观看 | av资源种子在线观看| 欧美三片在线视频观看| 成人三级视频在线观看| 国产乱码精品一区二区三区忘忧草| 日韩国产小视频| 精品精品国产三级a∨在线| 91精品国产九九九久久久亚洲| 三区在线视频| 欧美午夜精品久久久久久孕妇 | 国产欧美 在线欧美| 午夜毛片在线| 精品三级av在线| 男人天堂av在线播放| 国产精品丝袜一区| 日本一区二区三区在线免费观看| 日韩av片在线免费观看| 亚洲黄页网站| 国产精品日韩在线播放| 五月天激情在线| 亚洲免费伊人电影在线观看av| 影音先锋国产资源| 亚洲自拍偷拍网站| 精品欧美一区二区久久久| 久久精品国产精品亚洲综合| 欧美 亚洲 视频| 亚洲自拍电影| 91最新在线免费观看| 精精国产xxx在线视频app| 一区二区三欧美| 国产深喉视频一区二区| 精品女同一区二区三区在线播放| a级黄色免费视频| 成人福利视频在线| 三上悠亚在线一区二区| 在线精品一区| 日韩在线三级| 青青久久av| 国产主播欧美精品| 亚洲天堂手机| 美女福利精品视频| 国产香蕉视频在线看| 欧美成人午夜电影| 波多野结衣爱爱| 亚洲第一主播视频| 国产三级精品三级观看| 91看片淫黄大片一级在线观看| 黄色a级三级三级三级| 久久久久综合| 欧洲精品在线播放| 天天插综合网| 日本一区二区三区四区在线观看| 国产精品男女| 亚洲淫片在线视频| 青青在线精品| 国产激情视频一区| 女厕盗摄一区二区三区| 欧美另类第一页| 日本在线观看免费| 一道本无吗dⅴd在线播放一区| 日本激情视频网站| 欧美成人a在线| 一级aaaa毛片| 欧美在线一二三四区| 天天插天天操天天干| 亚洲午夜在线观看视频在线| 青青操在线视频观看| 欧美高清在线一区| 无码一区二区三区在线| 91在线码无精品| 中文字幕永久免费| 国产激情一区二区三区| 久热在线视频观看| 另类小说欧美激情| 日本美女高潮视频| 日韩福利电影在线观看| 欧美成人黑人猛交| 久久久噜噜噜| 黄色片久久久久| 免费精品视频| 凹凸国产熟女精品视频| 国产农村妇女精品一二区| 久久国产精品网| 激情综合自拍| 18禁免费观看网站| 国产亚洲一区在线| 欧美精品第三页| 日一区二区三区| 精品亚洲一区二区三区四区| 久久99精品国产麻豆婷婷 | 另类小说欧美激情| 九九久久久久久| 国产精品123| 制服丝袜在线第一页| thepron国产精品| 右手影院亚洲欧美| 国产日韩精品一区| 国产成人精品视频免费| 亚洲欧美色一区| 国产一级淫片免费| 欧美性猛交xxxx| 中文字幕人妻一区二区在线视频 | 欧美三级美国一级| 亚洲高清在线观看一区| 亚洲a一区二区三区| 欧美成人精品免费| 久久国产精品亚洲77777| 鲁一鲁一鲁一鲁一av| 国产一区二区三区日韩| 艳妇乳肉豪妇荡乳xxx| 久久亚洲精品国产精品紫薇| 成年人在线免费看片| 亚洲丝袜制服诱惑| 伊人365影院| 欧洲精品一区二区三区在线观看| 91丨porny丨在线中文 | 欧美~级网站不卡| 2018日日夜夜| 日本中文字幕一区二区视频 | 久久久精品区| 久久久久久久久久久久久久久久av | 免费无码毛片一区二区app| 午夜精品福利久久久| 欧美日韩a v| 欧美一区二区观看视频| 亚洲 欧美 激情 小说 另类| 这里只有精品视频| 成人免费高清观看| 国产精品自产拍在线观看中文| 精品视频成人| 日韩欧美在线一区二区| 韩国精品一区二区三区| 日韩爱爱小视频| 成人午夜av电影| 天堂网中文在线观看| 亚洲国产毛片aaaaa无费看 | 日本不卡在线播放| 午夜精品国产| 性刺激的欧美三级视频| 99在线精品观看| 国产女人被狂躁到高潮小说| 精品女厕一区二区三区| av资源免费看| 这里只有视频精品| 黄色激情在线播放| 97人人澡人人爽| 国产国产精品| 欧美日韩在线免费播放| 成人av在线网站| 久久久久亚洲av无码专区体验| 欧美午夜精品电影| 水中色av综合| 欧美精品久久久久久久久久| 99久久久成人国产精品| 日韩成人在线资源| 国产亚洲一区在线| 成年女人免费视频| 亚洲人精品午夜| 91资源在线视频| 亚洲偷熟乱区亚洲香蕉av| 欧美gv在线观看| 翡翠波斯猫1977年美国| 综合久久综合| 中文国产在线观看| 国产精品乱码一区二区三区软件 | 日本美女xxx| 欧美性猛交xxxxx免费看| 色噜噜在线播放| 欧美激情视频在线观看| 欧美中文高清| 91社在线播放| 精品一区二区三区在线视频| 国产又粗又长免费视频| 欧美日韩在线播放三区四区| 国产资源在线观看| 日本中文字幕不卡免费| 最新国产一区| 99色精品视频| 久久久久久久精| 国产午夜麻豆影院在线观看| 国产丝袜高跟一区| a日韩av网址| 日韩免费一区二区三区| 日本视频中文字幕一区二区三区| b站大片免费直播| 欧美中文字幕一区二区三区亚洲| 激情视频在线观看免费| 国产精品国模在线| 成人羞羞动漫| 日韩视频在线观看一区二区三区| 国产精品国产三级国产普通话99| 伊人网综合在线| 久久久精品一区二区三区| crdy在线观看欧美| 日韩一二区视频| 成人午夜av电影| 国产无遮挡呻吟娇喘视频| 亚洲精品资源美女情侣酒店| 欧美三区四区| 中国一区二区三区| 国产精品性做久久久久久| 国产在线视频二区| 亚洲久久久久久久久久| www.26天天久久天堂| 精品嫩模一区二区三区| 岛国一区二区在线观看| 五月天婷婷久久| 一区二区三区国产视频| 精品国产亚洲一区二区三区| av在线观看地址| 国产视频一区二区在线| 一二三四区在线| 久久久视频在线| 凹凸成人精品亚洲精品密奴| 性欧美在线视频| 婷婷久久综合九色综合绿巨人| 你懂的在线看| 91欧美精品午夜性色福利在线 | 亚洲欧美日韩国产综合在线| 欧美 日韩 综合| 国产欧美一区二区三区四区| 欧美视频四区| 成人黄色免费网址| 日韩欧美一区中文| 625成人欧美午夜电影| 在线播放 亚洲| gogogo免费视频观看亚洲一| 在线黄色av网站| 国自在线精品视频| 91亚洲国产高清| 无码人妻aⅴ一区二区三区| 69久久99精品久久久久婷婷| 美女91在线看| 香蕉视频在线网址| 国产亚洲一区二区在线观看| 国产一区二区在线播放视频| 91爱视频在线| 一区二区在线影院| 一级肉体全黄裸片| 亚洲国产精品女人久久久| 综合久久av| www.xxx亚洲|