導航:首頁 > 編程語言 > pythonsimhash模塊

pythonsimhash模塊

發布時間:2022-08-21 05:58:35

A. 新手python 使用pycharm run了下simhash 但是 怎麼都出不來結果

在界面上方點: file--open(打開你要運行的程序) 然後再點擊Run(Ctrl+Shift+F10)運行該程序即可.

B. python有simhash模塊嗎

在界面上方點: file--open(打開你要運行的程序) 然後再點擊Run(Ctrl+Shift+F10)運行該程序即可.

C. python中simhash包怎麼用

#!/usr/bin/python
#coding=utf-8
classsimhash:

#構造函數
def__init__(self,tokens='',hashbits=128):
self.hashbits=hashbits
self.hash=self.simhash(tokens);

#toString函數
def__str__(self):
returnstr(self.hash)

#生成simhash值
defsimhash(self,tokens):
v=[0]*self.hashbits
fortin[self._string_hash(x)forxintokens]:#t為token的普通hash值
foriinrange(self.hashbits):
bitmask=1<<i
ift&bitmask:
v[i]+=1#查看當前bit位是否為1,是的話將該位+1
else:
v[i]-=1#否則的話,該位-1
fingerprint=0
foriinrange(self.hashbits):
ifv[i]>=0:
fingerprint+=1<<i
returnfingerprint#整個文檔的fingerprint為最終各個位>=0的和

#求海明距離
defhamming_distance(self,other):
x=(self.hash^other.hash)&((1<<self.hashbits)-1)
tot=0;
whilex:
tot+=1
x&=x-1
returntot

#求相似度
defsimilarity(self,other):
a=float(self.hash)
b=float(other.hash)
ifa>b:returnb/a
else:returna/b

#針對source生成hash值(一個可變長度版本的Python的內置散列)
def_string_hash(self,source):
ifsource=="":
return0
else:
x=ord(source[0])<<7
m=1000003
mask=2**self.hashbits-1
forcinsource:
x=((x*m)^ord(c))&mask
x^=len(source)
ifx==-1:
x=-2
returnx
if__name__=='__main__':
s='Thisisateststringfortesting'
hash1=simhash(s.split())

s=''
hash2=simhash(s.split())

s='nainaigexiongcao'
hash3=simhash(s.split())

print(hash1.hamming_distance(hash2),"",hash1.similarity(hash2))
print(hash1.hamming_distance(hash3),"",hash1.similarity(hash3))

閱讀全文

與pythonsimhash模塊相關的資料

熱點內容
做程序員這一行儲備人才怎麼看 瀏覽:458
參加密逃文 瀏覽:327
蘋果編程語言ios 瀏覽:763
求解病態系統常用的演算法 瀏覽:993
駕校用的app叫什麼 瀏覽:219
數控編程線的纏繞方法 瀏覽:972
安卓線性布局怎麼設計計算器布局 瀏覽:24
拓本pdf 瀏覽:79
2017法碩指南pdf 瀏覽:295
linuxphp命令參數 瀏覽:425
可靠性預測和推薦演算法 瀏覽:855
程序員送女友的相冊 瀏覽:254
壓縮文件怎麼設置打開加密 瀏覽:768
tracert命令結果詳解 瀏覽:360
唯賽思通用什麼APP 瀏覽:376
古玩哪個app好賣 瀏覽:149
u盤內容全部顯示為壓縮包 瀏覽:519
編譯固件時使用00優化 瀏覽:361
速借白條app怎麼樣 瀏覽:760
用紙張做的解壓東西教程 瀏覽:18