精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

精品视频在线看| 国产亚洲欧美一区在线观看| 久久99亚洲精品| 日本少妇xxxx| 国产成人精品一区二三区在线观看| 国产色综合一区| 91成人理论电影| 久久亚洲精品石原莉奈| 亚洲第一天堂| 日韩精品有码在线观看| 日韩av片专区| 爱情电影社保片一区| 国产精品乱码一区二区三区软件 | 亚洲天堂男人天堂女人天堂| 中文字幕在线观看日| 国内激情视频在线观看| 国产精品毛片无遮挡高清| 国产一区二区不卡视频| 国产手机视频在线| 日韩精品成人一区二区在线| 色综合天天狠天天透天天伊人| 91成人破解版| 国内精品国产成人国产三级粉色| 欧美性大战久久久久久久蜜臀| 少妇大叫太大太粗太爽了a片小说| 蝌蚪视频在线播放| 成人黄色a**站在线观看| 国产精品久久久av| 男人午夜免费视频| 黄色一区二区三区四区| 日韩亚洲国产中文字幕| 中国女人特级毛片| 婷婷精品在线观看| 精品国产91洋老外米糕| 欧美性受xxxxxx黑人xyx性爽| 视频二区不卡| 日韩欧美精品在线观看| 欧美一级片免费播放| 91一区二区三区在线| 国产精品色在线观看| 日本高清不卡三区| 日本大臀精品| 91偷拍与自偷拍精品| 成人做爰66片免费看网站| 国产孕妇孕交大片孕| 久久激五月天综合精品| 国产精品无av码在线观看| 在线观看国产区| 老司机精品导航| 国产成人精品久久二区二区91| 亚洲欧美精品一区二区三区| 亚洲精品激情| 97视频在线免费观看| 激情综合五月网| 欧美影视一区| 欧美国产日韩在线| 青青草原在线免费观看视频| 欧美日韩国产一区精品一区| 欧美成人在线网站| 国产一级在线免费观看| 黄色亚洲大片免费在线观看| 午夜精品一区二区三区av| 国产在线观看免费av| 精品69视频一区二区三区Q| 欧美极品少妇与黑人| 国产精品.www| 销魂美女一区二区三区视频在线| 欧美一区视频在线| 依依成人综合网| 日韩电影在线观看电影| 国产精品亚发布| 国产精品自偷自拍| 国产suv精品一区二区883| 国产99在线免费| 三级在线视频| 国产精品美女一区二区在线观看| 伊人狠狠色丁香综合尤物| 97caopron在线视频| 亚洲第一主播视频| 国产精品欧美激情在线观看| www成人在线视频| 欧美一区二区三区视频免费播放 | 亚洲国产aⅴ精品一区二区| 精品免费日韩av| 亚洲熟妇无码av| 忘忧草精品久久久久久久高清| 欧美精品午夜视频| 国产精品100| 美女在线视频一区| 成人18视频| 青春有你2免费观看完整版在线播放高清| 国产亚洲一本大道中文在线| 在线观看成人av电影| xxx.xxx欧美| 在线亚洲一区观看| 欧美国产在线一区| 蜜臀av免费一区二区三区| 久久九九热免费视频| 国产 日韩 欧美 在线| 青青草精品视频| 国产chinese精品一区二区| 东热在线免费视频| 亚洲成av人影院| 五月天av在线播放| 日本久久成人网| 久热精品视频在线免费观看| 精品久久久久久久久久久久久久久久 | 中文字幕视频精品一区二区三区| 国产视频丨精品|在线观看| 97成人资源站| 日韩成人午夜电影| 国内成+人亚洲| 超碰caoporn久久| 日本久久精品电影| 日本一区二区在线免费观看| 天天做天天爱天天爽综合网| 日本精品在线视频| 国精品人妻无码一区二区三区喝尿| 国产女同性恋一区二区| 久激情内射婷内射蜜桃| 视频精品一区二区三区| 色噜噜国产精品视频一区二区| 日韩无码精品一区二区三区| 国产成人免费在线| 老汉色影院首页| 91在线亚洲| 亚洲欧美精品在线| 日韩精品――中文字幕| 国产麻豆视频一区| 宅男噜噜99国产精品观看免费| 中文字幕资源网在线观看免费| 亚洲精品一区二区三区福利 | 2018日韩中文字幕| 性做久久久久久久久久| 亚洲人精品一区| 欧美一级xxxx| 久久亚洲影视| 国产精品久久一| 美丽的姑娘在线观看免费动漫| 激情久久av一区av二区av三区| 亚洲精品一二三四| 欧美日韩精品| 成人午夜电影在线播放| 亚洲丝袜一区| 日韩视频免费观看高清完整版在线观看 | 久久亚洲在线| 成人久久精品视频| 国产福利在线播放麻豆| 欧美一区二区三区小说| 特级片在线观看| 国产经典欧美精品| 亚洲色图都市激情| 超碰成人在线观看| 91高清视频免费观看| 四虎影视在线观看2413| 日韩欧美在线视频观看| 四虎永久免费影院| 日韩中文字幕一区二区三区| 日韩久久不卡| 91精品亚洲一区在线观看| 久久精品免费播放| 不卡的日韩av| 亚洲h在线观看| 国产又爽又黄无码无遮挡在线观看| 亚洲综合好骚| 日韩欧美亚洲区| 日韩欧国产精品一区综合无码| 久久精品夜夜夜夜夜久久| 精品人妻午夜一区二区三区四区| 夜夜嗨av一区二区三区中文字幕| 日批免费观看视频| 亚洲影视综合| 亚洲 日韩 国产第一区| 2020国产精品小视频| 久久久久九九九九| 日韩av地址| 欧美系列一区二区| 国产探花在线播放| 不卡视频一二三| 欧美精品一区二区三区免费播放| 日韩一区电影| 国产精华一区二区三区| 中文字幕在线视频网站| 日韩中文字幕国产精品| 黄色av免费观看| 欧美四级电影网| 精品97人妻无码中文永久在线| 99re热视频精品| 一区二区在线免费看| 欧美亚洲不卡| 四虎一区二区| 成人精品动漫一区二区三区| 日本精品久久久久久久| 91免费在线| 亚洲国产成人av在线| 中文字幕一区二区三区四区视频 | 高清一区二区三区av| 午夜精品久久久久久久99热浪潮 | 一区二区三区日韩欧美精品| 在线不卡av电影| 国产精品一品二品| 玩弄japan白嫩少妇hd| 欧美日韩91| 亚洲高清资源综合久久精品| 嗯用力啊快一点好舒服小柔久久| 国产精品一区二区三区成人| 俺来也官网欧美久久精品| 最近2019中文字幕mv免费看| 色窝窝无码一区二区三区成人网站| 欧美三级欧美一级| 91精品国产乱码久久久张津瑜| 亚洲欧洲精品一区二区三区不卡| 欧美精品黑人猛交高潮| 国产精品18久久久久久久久久久久 | 亚洲精品成人无码熟妇在线| 国产电影精品久久禁18| 欧美裸体在线版观看完整版| 日韩av在线免费| 国产日韩在线观看一区| 在线免费不卡视频| 久久久久久久久久免费视频| 亚洲啪啪综合av一区二区三区| 成人片黄网站色大片免费毛片| 国产99精品在线观看| 激情图片中文字幕| 日韩在线a电影| 黄色片一级视频| 亚洲精品在线二区| 成人短视频在线观看免费| 日本一区二区三区视频| 欧美一区免费视频| 图片婷婷一区| 久久综合中文色婷婷| 99久久香蕉| 北条麻妃高清一区| 国产色99精品9i| 91精品在线一区| 日本免费一区二区三区等视频| 国产精品久久久久久久久久99| 中文字幕人成乱码在线观看| 欧美一级bbbbb性bbbb喷潮片| av手机免费在线观看| 欧美高跟鞋交xxxxhd| av网址在线看| 久久亚洲精品成人| caopen在线视频| 欧美成人三级视频网站| 1769免费视频在线观看| 欧美成人精品在线视频| 97超碰资源站在线观看| 欧美成人免费小视频| 色综合999| 欧美激情2020午夜免费观看| 青草青在线视频| 久久久久久久97| 17videosex性欧美| 欧美在线视频导航| 精品3atv在线视频| 国产精品视频色| 亚洲精品伦理| 亚洲一区二区三| 国产一区二区在线视频你懂的| 韩国成人动漫在线观看| 天堂网av成人| 天堂资源在线亚洲资源| 日韩综合在线| 中文字幕日韩精品无码内射| 在线精品一区| 黄色片视频在线播放| 另类小说综合欧美亚洲| 亚洲妇熟xx妇色黄蜜桃| 国产不卡在线视频| 久久久久国产精品区片区无码| 国产清纯白嫩初高生在线观看91| 色撸撸在线视频| 亚洲精品国产精品乱码不99 | 精品国产精品自拍| 永久免费无码av网站在线观看| 欧美色视频一区| 国产成人免费看一级大黄| 亚洲成人av中文字幕| 好男人免费精品视频| 久久亚洲精品毛片| 原纱央莉成人av片| 成人精品视频在线| 免费看久久久| 亚洲午夜精品一区二区| 欧美特黄一级| 538在线视频观看| 国产成人在线观看免费网站| 亚洲AV无码国产精品| 国产精品第四页| 久久高清免费视频| 欧美日韩亚洲综合一区| 丰满人妻av一区二区三区| 亚洲人成欧美中文字幕| 在线观看三级视频| 日本久久中文字幕| 视频精品二区| 亚洲精品国产精品国自产| 精品动漫3d一区二区三区免费版| www.超碰com| 成人在线综合网站| 国产一二三av| 欧美午夜久久久| 成人激情四射网| 亚洲网站在线观看| 波多野结衣乳巨码无在线观看| 国产免费久久av| 日本福利一区| av日韩在线看| 捆绑紧缚一区二区三区视频| 7788色淫网站小说| 亚洲欧美日韩人成在线播放| 欧美人一级淫片a免费播放| 亚洲成人av在线| 97超碰在线公开在线看免费| 国产精品久久视频| 一本色道久久综合亚洲精品酒店| 国产专区在线视频| 久久精品国内一区二区三区| 一区二区不卡免费视频| 亚洲国产成人tv| 99在线精品视频免费观看软件| 伊人久久久久久久久久| 校园春色亚洲| 国产精品一区视频网站| 女人色偷偷aa久久天堂| 国产一级片自拍| 欧美激情一区在线| 成人免费毛片视频| 日韩激情av在线免费观看| 草莓视频丝瓜在线观看丝瓜18| 91亚洲精品一区| 天天天综合网| 色综合五月婷婷| 亚洲私人黄色宅男| 国产又粗又猛又黄| 在线成人中文字幕| 精品欧美日韩精品| 日韩精品久久一区二区三区| 久久亚洲精选| 少妇无套高潮一二三区| 日本福利一区二区| 国产在线观看黄| 国产极品精品在线观看| 丝袜连裤袜欧美激情日韩| 日韩av片在线看| 久久综合网色—综合色88| 4438国产精品一区二区| 亚洲免费电影一区| 国产精欧美一区二区三区蓝颜男同| 久久av一区二区三区漫画| 国产视频久久| 能免费看av的网站| 日本高清成人免费播放| 国产高清免费av在线| 国产精品亚洲аv天堂网| 99免费精品| www.桃色.com| 一二三区精品福利视频| 免费观看国产视频| 青青在线视频一区二区三区| 精品久久成人| 久久久精品高清| 亚洲综合另类小说| 少妇喷水在线观看| 日韩美女免费视频| 日韩在线视屏| 日本人妻一区二区三区| 偷拍与自拍一区| 国产香蕉视频在线看| 成人有码视频在线播放| 亚洲午夜精品久久久久久app| 国产精品无码一区二区三| 色婷婷综合在线| 国产二区三区在线| 国内精品**久久毛片app| 久久亚洲美女| 午夜69成人做爰视频| 日韩av在线免费播放| 黑人一区二区三区| 亚洲激情免费视频| 99久久精品99国产精品| 中文字幕男人天堂| 欧美黄网免费在线观看| 精品视频97| 少妇性l交大片7724com| 狠狠色噜噜狠狠狠狠97| 天堂地址在线www| 国内一区二区在线视频观看| 日日骚欧美日韩| 动漫性做爰视频| 亚洲欧美制服丝袜| 欧美视频精品全部免费观看| 亚洲熟妇av一区二区三区漫画| 国产精品乱码一区二区三区软件| 丰满少妇一级片| 成人精品一区二区三区电影黑人| 99热免费精品|