python使用simhash实现文本相似性对比(全代码展示)

本文详细介绍了如何使用Python的Simhash算法来计算文本的相似性,并提供了完整的代码示例。通过Simhash和汉明距离,可以有效地对大量文本进行相似性对比和分类。
摘要由CSDN通过智能技术生成
	导入2篇文章,用结巴分词选出权重Top10的词语,转化成哈希编码,对比2篇文章的汉明距离,阈值设置为18,汉明距离小于等于18的为文本相似,反之不相似。另外,有没有大神帮忙回复下怎么写一个导入2篇文章的接口,谢谢。
import re
import codecs
import jieba
import jieba.analyse
import numpy as np

fr1 = 'C:/Users/Administrator/Desktop/2.txt'
fr2 = 'C:/Users/Administrator/Desktop/4.txt'

class simhash:
    def __init__(self,content):
        self.simhash=self.simhash(content)

    def __str__(self):
        return str(self.simhash)

    def simhash(self,content):
        #seg = jieba.cut(content)
        #jieba.analyse.set_stop_words('stopword.txt')
        keyWord = jieba.analyse.extract_tags(
            '|'.join(content), topK=10, withWeight=True, allowPOS=())#在这里对jieba的tfidf.py进行了修改
        #将tags = sorted(freq.items(), key=itemgetter(1), reverse=True)修改成tags = sorted(freq.items(), key=itemgetter(1,0), reverse=True)
        #即先按照权重排序,再按照词排序
        keyList = []
        for feature, weight 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值