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

热点内容
pdftoemf 浏览:886
java接口可以实现接口吗 浏览:58
vb编程10个随机函数 浏览:21
程序员个人简介100 浏览:772
土木工程师算法工程师 浏览:92
javaexcel导入oracle 浏览:880
如何设置异地服务器 浏览:882
为什么安卓手机蓝牙耳机不会弹窗 浏览:546
linuxf77编译器安装教程 浏览:949
android本地录音权限 浏览:446
加密u盘内容怎么拷贝 浏览:283
安卓手机为什么看不到iso文件 浏览:582
用图片做文件夹图标 浏览:693
java正则表达式语法 浏览:865
美图秀在线压缩图片 浏览:184
苹果自带控制app是什么 浏览:907
孩子学编程怎么样 浏览:589
网络编程经典书籍 浏览:612
曲靖创建网站java程序员 浏览:690
256位加密中是什么意思 浏览:97