国产精品亚洲AV三区_国产精品日本一区二区在线播放_国产成人无码久久久精品一_性感美女视频在线观看免费精品

更多精彩內容,歡迎關注:

視頻號
視頻號

抖音
抖音

快手
快手

微博
微博

java simhash

文檔

java simhash

java simhash是java程序中的一種算法。Simhash和一般的hash算法不同,它具有兩個關鍵的特點:1、一個文檔的指紋是所有屬性的某種hash;2、相似文檔的hash應該是相似的。
推薦度:
導讀java simhash是java程序中的一種算法。Simhash和一般的hash算法不同,它具有兩個關鍵的特點:1、一個文檔的指紋是所有屬性的某種hash;2、相似文檔的hash應該是相似的。

java simhash是什么?讓我們一起來了解一下吧!

java simhash是java程序中的一種算法。Simhash算法產生與2002年,設計非常美妙,它輸入是一個向量,得出的結果是一個F位的簽名值。

Simhash和一般的hash算法不同,它具有兩個關鍵的特點:

1.一個文檔的指紋是所有屬性的某種hash;

2.相似文檔的hash應該是相似的;

?simhash 算法如下:1,將一個 f 維的向量 V 初始化為 0 ; f 位的二進制數 S 初始化為 0 ;2,對每一個特征:用傳統的 hash 算法對該特征產生一個 f 位的簽名 b 。對 i=1 到 f :如果b 的第 i 位為 1 ,則 V 的第 i 個元素加上該特征的權重;否則,V 的第 i 個元素減去該特征的權重。?3,如果 V 的第 i 個元素大于 0 ,則 S 的第 i 位為 1 ,否則為 0 ;4,輸出 S 作為簽名。

simhash 算法代碼:

package?com.xxxx.checkandbigdataquery.utils;
?
import?it.unimi.dsi.fastutil.longs.LongOpenHashSet;
import?it.unimi.dsi.fastutil.longs.LongSet;
import?java.io.File;
import?java.io.FileInputStream;
import?java.io.IOException;
import?java.nio.CharBuffer;
import?java.util.Set;
?
?
/**
?*?a?basic?SimHash?implementation
?*
?*
?*/
public?class?SimHash?{
??public?static?final?int??HASH_SIZE??????????=?64;
??public?static?final?long?HASH_RANGE?????????=?2?^?HASH_SIZE;
??public?static?MurmurHash?hasher?????????????=?new?MurmurHash();
?
??/**
???*?use?short?cuts?to?obtains?a?speed?optimized?simhash?calculation
???*
???*?@param?s
???*??????????input?string
???*?@return?64?bit?simhash?of?input?string
???*/
?
??private?static?final?int?FIXED_CGRAM_LENGTH?=?4;
?
??public?static?long?computeOptimizedSimHashForString(String?s)?{
????return?computeOptimizedSimHashForString(CharBuffer.wrap(s));
??}
?
??public?static?long?computeOptimizedSimHashForString(CharBuffer?s)?{
?
????LongSet?shingles?=?new?LongOpenHashSet(Math.min(s.length(),?100000));
?
????int?length?=?s.length();
?
????long?timeStart?=?System.currentTimeMillis();
????for?(int?i?=?0;?i??56);
??????longAsBytes[1]?=?(byte)?(shingle?>>?48);
??????longAsBytes[2]?=?(byte)?(shingle?>>?40);
??????longAsBytes[3]?=?(byte)?(shingle?>>?32);
??????longAsBytes[4]?=?(byte)?(shingle?>>?24);
??????longAsBytes[5]?=?(byte)?(shingle?>>?16);
??????longAsBytes[6]?=?(byte)?(shingle?>>?8);
??????longAsBytes[7]?=?(byte)?(shingle);
?
??????long?longHash?=?FPGenerator.std64.fp(longAsBytes,?0,?8);
??????for?(int?i?=?0;?i?>?i)?&?1L)?==?1L;
????????v[i]?+=?(bitSet)???1?:?-1;
??????}
????}
?
????long?simhash?=?0;
????for?(int?i?=?0;?i??0)?{
????????simhash?|=?(1L?<>?i)?&?1L)?==?1L;
????????v[i]?+=?(bitSet)???1?:?-1;
??????}
????}
????long?simhash?=?0;
????for?(int?i?=?0;?i??0)?{
????????simhash?|=?(1L?<>>?-1);
??}
?
??public?static?void?main(String[]?args)?{
????try?{
??????//?File?file1?=?new?File("/Users/rana/academia.edu_01.html");
??????//?File?file2?=?new?File("/Users/rana/academia.edu_02.html");
?
??????File?file1?=?new?File(args[0]);
??????File?file2?=?new?File(args[1]);
?
??????byte?data1[]?=?new?byte[(int)?file1.length()];
??????byte?data2[]?=?new?byte[(int)?file2.length()];
??????FileInputStream?stream1?=?new?FileInputStream(file1);
??????FileInputStream?stream2?=?new?FileInputStream(file2);
??????stream1.read(data1);
??????stream2.read(data2);
??????String?string1?=?new?String(data1);
??????String?string2?=?new?String(data2);
?
??????long?timeStart?=?System.currentTimeMillis();
??????long?simhash1?=?computeSimHashFromString(Shingle.shingles(string1));
??????long?timeEnd?=?System.currentTimeMillis();
??????System.out.println("Old?Calc?for?Document?A?Took:"
??????????+?(timeEnd?-?timeStart));
??????timeStart?=?System.currentTimeMillis();
??????long?simhash2?=?computeSimHashFromString(Shingle.shingles(string2));
??????timeEnd?=?System.currentTimeMillis();
??????System.out.println("Old?Calc?for?Document?B?Took:"
??????????+?(timeEnd?-?timeStart));
??????timeStart?=?System.currentTimeMillis();
??????long?simhash3?=?computeOptimizedSimHashForString(string1);
??????timeEnd?=?System.currentTimeMillis();
??????System.out.println("New?Calc?for?Document?A?Took:"
??????????+?(timeEnd?-?timeStart));
??????timeStart?=?System.currentTimeMillis();
??????long?simhash4?=?computeOptimizedSimHashForString(string2);
??????timeEnd?=?System.currentTimeMillis();
??????System.out.println("New?Calc?for?Document?B?Took:"
??????????+?(timeEnd?-?timeStart));
?
??????int?hammingDistance?=?hammingDistance(simhash1,?simhash2);
??????int?hammingDistance2?=?hammingDistance(simhash3,?simhash4);
?
??????System.out.println("hammingdistance?Doc?(A)?to?Doc(B)?OldWay:"
??????????+?hammingDistance);
??????System.out.println("hammingdistance?Doc?(A)?to?Doc(B)?NewWay:"
??????????+?hammingDistance2);
????}?catch?(IOException?e)?{
??????e.printStackTrace();
????}
??}
}

以上就是小編今天的分享了,希望可以幫助到大家。

文檔

java simhash

java simhash是java程序中的一種算法。Simhash和一般的hash算法不同,它具有兩個關鍵的特點:1、一個文檔的指紋是所有屬性的某種hash;2、相似文檔的hash應該是相似的。
推薦度:
為你推薦
資訊專欄
熱門視頻
相關推薦
java simpledateformat java sizeof java sm3加密 文章千古事得失寸心知是誰的名句 誠信的名言名句 關于讀書的名言名句 生日的經典名句 感恩老師的名言名句 關于時間的名言名句 活著的經典名句 java snappy 杜甫的名句 java snapshot 孟浩然的名句 關于誠信的名言名句 杜甫的名言名句 杜甫的名句有哪些 杜甫的千古名句 范仲淹的名句 范仲淹的十大經典名句 java shuffle java sha256加密 java portal java pojo java plugin java sftp java plug-in java settimeout java platform java setlayout java serialversionuid java serializable接口 java serializable java sequence java separator java semaphore java selenium java selector java script java sandbox
Top 国产精品亚洲AV三区_国产精品日本一区二区在线播放_国产成人无码久久久精品一_性感美女视频在线观看免费精品
<strike id="cakm0"></strike>
  • <button id="cakm0"><dl id="cakm0"></dl></button>
  • <samp id="cakm0"><tbody id="cakm0"></tbody></samp>
    <samp id="cakm0"><pre id="cakm0"></pre></samp><ul id="cakm0"></ul>
    <strike id="cakm0"></strike>
    <li id="cakm0"></li>
  • <ul id="cakm0"></ul>
  • 亚洲欧美文学| 国产欧美一二三区| 亚洲午夜成aⅴ人片| 国产精品爽黄69| 久久人人97超碰国产公开结果| 悠悠资源网久久精品| 欧美日韩免费观看一区二区三区| av不卡免费看| 黄色小说综合网站| 欧美私人啪啪vps| 欧美电影免费观看高清| 亚洲欧美国产日韩天堂区| 亚洲国产精品ⅴa在线观看| 国产精品久久久久久久久借妻 | 国产一区清纯| 欧美不卡在线视频| 日韩午夜免费视频| 国内精品久久久久影院薰衣草| 久久精品99国产精品酒店日本| 亚洲欧洲视频在线| 尤物精品国产第一福利三区 | 久久久久久九九九九| 亚洲午夜久久久| 亚洲二区视频| 国内精品视频一区| 国产精品一国产精品k频道56| 欧美成人国产va精品日本一级| 午夜精品一区二区三区在线视| 一区二区不卡在线视频 午夜欧美不卡在| 国产亚洲精品aa| 国产精品久久久久久久一区探花| 欧美激情亚洲视频| 免费毛片一区二区三区久久久| 久久精品五月婷婷| 久久久国产精品一区| 亚洲欧美日韩国产精品| 在线亚洲一区| 亚洲视频一区二区| 亚洲国产精品尤物yw在线观看| 国产资源精品在线观看| 国产精品美女久久久浪潮软件| 蜜桃av一区| 能在线观看的日韩av| 免费不卡在线视频| 欧美激情在线有限公司| 欧美日韩国产一区二区| 欧美日韩国产综合在线| 国产精品av久久久久久麻豆网| 国产精品成人观看视频免费| 欧美少妇一区二区| 国产精品视频久久| 狠狠色狠色综合曰曰| 伊人婷婷欧美激情| 亚洲国产精品一区二区久| 亚洲第一精品夜夜躁人人躁| 亚洲精品国产品国语在线app| 亚洲激情在线激情| 亚洲天堂成人在线观看| 欧美一区二区三区另类| 狂野欧美一区| 欧美日韩精品在线观看| 国产精品视频一区二区高潮| 国模私拍一区二区三区| 亚洲人成网站精品片在线观看| 亚洲欧洲一区二区三区久久| 亚洲高清资源| 一区二区三区你懂的| 欧美一激情一区二区三区| 久久综合伊人77777尤物| 欧美精品二区三区四区免费看视频| 欧美日韩国产综合久久| 国产一区二区丝袜高跟鞋图片| 一色屋精品视频在线观看网站| 99riav国产精品| 篠田优中文在线播放第一区| 免费日韩成人| 国产一区二区电影在线观看| 亚洲欧洲精品一区二区| 亚洲欧美日韩天堂| 欧美电影专区| 好看的亚洲午夜视频在线| 亚洲美女一区| 欧美中文字幕在线观看| 欧美乱人伦中文字幕在线| 国产亚洲激情在线| 亚洲一区二区三区激情| 欧美国产欧美亚洲国产日韩mv天天看完整 | 伊人男人综合视频网| 亚洲午夜久久久久久久久电影院| 久久久噜噜噜久久人人看| 欧美人与禽性xxxxx杂性| 海角社区69精品视频| 亚洲桃花岛网站| 欧美精品色网| 亚洲高清在线视频| 久久久久国产精品一区三寸| 欧美日韩国产亚洲一区 | 国产人久久人人人人爽| 一二三区精品| 欧美大色视频| 亚洲国内高清视频| 久久青草久久| 黄色av成人| 久久精品国产成人| 国产日韩欧美视频| 欧美一区二区三区四区在线观看地址 | 免费不卡在线观看av| 国产一区二区黄色| 亚洲免费在线视频| 国产精品成人一区| 亚洲综合三区| 国产精品日韩久久久久| 午夜精品久久久久影视 | 久久久999精品| 国产亚洲欧美日韩在线一区| 欧美亚洲免费| 韩日视频一区| 美国三级日本三级久久99| 精品成人免费| 久久欧美中文字幕| 精品不卡一区| 欧美成人黑人xx视频免费观看| 在线成人www免费观看视频| 毛片一区二区三区| 91久久精品国产91久久性色tv| 欧美大尺度在线| 一本久道综合久久精品| 国产精品久久久久影院色老大| 亚洲欧美久久| 依依成人综合视频| 欧美区二区三区| 亚洲免费电影在线观看| 欧美三区免费完整视频在线观看| 亚洲图片欧洲图片av| 国产午夜精品一区二区三区欧美 | 免费观看在线综合色| 亚洲狼人综合| 国产精品免费区二区三区观看| 久久精品99| 日韩午夜电影av| 国产午夜精品久久久久久久| 蜜臀va亚洲va欧美va天堂| 这里只有精品视频| 国产亚洲一区在线| 欧美激情一区二区久久久| 午夜精品一区二区三区电影天堂| 国产午夜精品一区二区三区视频 | 免费在线观看成人av| 亚洲一区二区三区免费在线观看 | 欧美亚洲一区二区在线| 亚洲激情一区| 国产亚洲精品久久久久动| 欧美大片免费久久精品三p| 亚洲欧美国产77777| 亚洲国产精品一区二区三区| 国产精品人人做人人爽| 欧美va亚洲va香蕉在线| 亚洲天堂激情| 一本久道久久久| 一本久久知道综合久久| 亚洲啪啪91| 亚洲国内精品| 亚洲国产精品悠悠久久琪琪 | 韩国成人福利片在线播放| 国产精品日韩在线播放| 国产精品欧美日韩一区| 国产精品毛片大码女人| 国产精品久久久对白| 国产精品久久久久秋霞鲁丝| 国产精品久久久一本精品| 国产精品高潮呻吟久久av黑人| 欧美日韩视频专区在线播放 | 这里只有精品视频| 一本色道久久加勒比精品| 在线视频欧美日韩精品| 亚洲一本视频| 欧美亚洲在线观看| 久久精品一区二区三区四区| 久久久av毛片精品| 欧美韩国一区| 欧美激情免费观看| 欧美色123| 国产伦精品一区二区三区在线观看 | 欧美一区二区性| 久久九九久精品国产免费直播| 久久久中精品2020中文| 欧美精品91| 国产精品三区www17con| 狠狠入ady亚洲精品| 亚洲精品国精品久久99热| 在线视频你懂得一区二区三区| 午夜性色一区二区三区免费视频| 欧美中文在线观看国产| 久热综合在线亚洲精品| 国产精品成人一区二区| 国内精品久久国产| 日韩亚洲视频在线| 欧美中文字幕在线播放| 欧美国产亚洲精品久久久8v| 国产乱理伦片在线观看夜一区|