导航:首页 > 编程语言 > 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模块相关的资料

热点内容
单片机串口发射怎么回事 浏览:472
程序员假装自己很忙 浏览:798
程序员能力关键词 浏览:615
plc编程高级视频教程 浏览:610
java递归求n 浏览:84
python绝对路径导入 浏览:126
nex5g加密 浏览:975
18的空岛服务器地址 浏览:86
程序员要学什么硬件 浏览:666
股票涨跌源码怎么看 浏览:576
加密软件做法 浏览:57
美国程序员有多少中国人 浏览:741
人民日报app里怎么看新闻早班车 浏览:587
忘了app怎么办 浏览:531
如何用云服务器做云平台 浏览:301
非箍筋加密区剪力 浏览:119
利联科技服务器卡怎么办 浏览:386
js和python哪个好 浏览:463
c盘的哪些文件夹没用 浏览:83
文件为什么会超出在线解压限制 浏览:591