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

热点内容
java窗体按钮 浏览:672
一份程序员情书 浏览:629
69算法怎么测男女 浏览:857
腾讯云企业云服务器多少钱 浏览:5
程序员摆地摊弹唱 浏览:373
本田App怎么连接爱车 浏览:777
男士买衣服在哪个app实惠 浏览:692
安卓车机怎么颜色反转 浏览:903
手机uc下载的文件夹 浏览:966
程序员评论南京 浏览:90
冠道怎么连接安卓车载 浏览:320
手机怎么把两张图片做成文件夹 浏览:724
抖音导出表格发货加密 浏览:135
自己电脑怎么模拟成服务器 浏览:555
单片机的Vpp是 浏览:353
iua编译器下载官方 浏览:87
压缩机高低压快速平衡 浏览:876
phpai 浏览:711
怎么不被命令 浏览:88
大话缘定三生服务器什么便宜 浏览:968