项目大致简介

计算文本相似度,目前计算文本相似度的算法非常多,比较好的就是马尔可夫链,但是本题采用的是比较简单的ti-if方法,若你有更高的要求直接修改核心算法那一块即可!针对tf-if等算法可以网上搜索非常简单!

功能

  1. 计算一篇文件与一个文件夹下每一个文件的相似度
  2. 计算一个文件下任意两个文件的相似度

结果展示

更多效果请根据下载链接下载整个项目

核心代码展示(下载整个项目 密码:cwj5)

后面有相关结果展示,若要运行,请点击上面链接下载整个项目!下面提供代码只提供自己计算tf-if的代码!

class Quantification:"""@todo:计算TFIDF@return:result[[文章1的tfidf],[文章2的tfidf]···]@params:term_list{词1:num1,词2:num2···}doc_list:文章分词后组成的list[[文章1分词结果,文章2分词结果],···]"""def __init__(self):self.tf = pd.DataFrame()self.idf = pd.Series()self.idIdf = []def quantification(self,termList, docList):numDocs = len(docList)numTerms = len(termList)# 先计算tfself.tf = pd.DataFrame(data=np.zeros(shape=(numDocs, numTerms)), columns=termList)for idxDoc, doc in enumerate(docList):lenDoc = len(doc)if lenDoc>0:for term in termList:for termDoc in doc:if termDoc == term:self.tf.loc[idxDoc, term] += 1self.tf.loc[idxDoc, :] /= lenDocelse:continue# 再计算idfself.idf = pd.Series(data=np.zeros(shape=(numTerms,)), index=termList)for term in termList:for doc in docList:if term in doc:self.idf.loc[term] += 1self.idf += 1self.idf /= numDocsself.idf = - np.log(self.idf)idfValue = []# 计算tf*idffor index in self.idf.index:idfValue.append(self.idf.loc[index])for index in self.tf.index:eachIdIdf = []j = 0eachTf = self.tf.loc[index].values[0:]for i in range(eachTf.size):if j < len(idfValue):eachIdIdf.append(eachTf[i] * idfValue[j])  # TF—TDF=tf*tdfj = j + 1else:breakself.idIdf.append(eachIdIdf)return self.tf, self.idf, self.idIdf

注意包的问题

如果你使用的是pycharm,如果有的包无法使用pip下载,就在pycharm中下载即可!

如果你有任何问题请随时联系我的邮箱:d_zhao_work@163.com
或者直接在下面评论

Python文本相似度识别(附图形化界面)相关推荐

  1. python 文本相似度现状_python文本相似度分析

    如何用python计算文本的相似度 同学欢迎来到CSS布局HTML~文本的相似度计算是NLP(自然语言处理)方向的范畴,感兴趣可以找相关的书籍详细学习研究.同学问的这个问题,可以搜索:python文本 ...

  2. 零基础学Python【二十三、图形化界面设计 】(基础一篇全,欢迎认领)

    1.图形化界面设计的基本理解 当前流行的计算机桌面应用程序大多数为图形化用户界面(Graphic User Interface,GUI). 即通过鼠标对菜单.按钮等图形化元素触发指令,并从标签.对话框 ...

  3. python文本相似度分析_文本相似度分析(基于jieba和gensim)

    ##基础概念 本文在进行文本相似度分析过程分为以下几个部分进行, 文本分词 语料库制作 算法训练 结果预测 分析过程主要用两个包来实现jieba,gensim jieba:主要实现分词过程 gensi ...

  4. python 文本相似度_【机器学习】使用gensim 的 doc2vec 实现文本相似度检测

    环境 Python3, gensim,jieba,numpy ,pandas 原理:文章转成向量,然后在计算两个向量的余弦值. Gensim gensim是一个python的自然语言处理库,能够将文档 ...

  5. python文本相似度计算

    当计算出文本的Count Vector后,通过如下几种方法计算文本相似度. Count Vector相关计算:(8条消息) 利用python文章关键信息提取_菜鸟1号--的博客-CSDN博客https ...

  6. python文本相似度检测框架_机器学习入门之使用gensim 的 doc2vec 实现文本相似度检测...

    本文主要向大家介绍了机器学习入门之使用gensim 的 doc2vec 实现文本相似度检测,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助.环境 Python3, gensim,jieb ...

  7. python 文本相似度_python实现的文本相似度算法(余弦定理)

    只对汉字进行相似度分析,以单个字为向量,然后每个字在章节中出现的次数,便是以此字向量的值.现在我们假设: 章节1中出现的字为:Z1c1,Z1c2,Z1c3,Z1c4--Z1cn:它们在章节中的个数为: ...

  8. python 文本相似度计算函数_一文讲述常见的文本相似度计算方法

    作者 | LU_ZHAO 责编 | 徐威龙 前言 在自然语言处理中,我们经常需要判定两个东西是否相似. 比如,在微博的热点话题推荐那里,我们需要比较微博之间的相似度,让相似度高的微博聚集在一起形成一个 ...

  9. python 文本相似度计算函数_四种计算文本相似度的方法对比

    作者:Yves Peirsman 编译:Bing 编者按:本文作者为Yves Peirsman,是NLP领域的专家.在这篇博文中,作者比较了各种计算句子相似度的方法,并了解它们是如何操作的.词嵌入(w ...

  10. python 文本相似度_python实现余弦相似度文本比较

    向量空间模型VSM: VSM的介绍: 一个文档可以由文档中的一系列关键词组成,而VSM则是用这些关键词的向量组成一篇文档,其中的每个分量代表词项在文档中的相对重要性. VSM的例子: 比如说,一个文档 ...

最新文章

  1. tf.contrib 的命运走向
  2. 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之登录窗口调试...
  3. 301重定向怎么进行URL标准化设置?
  4. 1043 Is It a Binary Search Tree (25 分)【难度: 中 / 知识点: 构造二叉搜索树(BST) 】
  5. linux命令重定向、、 1、 2、 1、 2、
  6. Https的握手协议
  7. 设计模式------代理模式
  8. liferay 如何添加css或者js
  9. 认识Skeleton Screen【屏幕加载骨架】
  10. php mysql 持久化_PHP: mysqli 扩展和持久化连接 - Manual
  11. 一文了解机器学习以及其相关领域(上)
  12. 浪潮服务器一键还原系统,一键恢复 怎样做备份
  13. NoteExpress样式制作手册
  14. 之前的账号不见了,@21cn.com的。哪里可以找的回来?
  15. snmp v3 参数_SNMP V3的配置指南
  16. [Memcache] 初探Memcache
  17. Python 1-10 字符串操作
  18. u盘固定盘符_浅析固定U盘盘符的原理
  19. linux stopped 进程,Linux运维知识之Linux查杀stopped进程
  20. java lea 是谁,LEA指令的目的是什么?

热门文章

  1. 北京地区主要旅行社目录
  2. 没有事业的女人会很惨
  3. windows注册表操作——备份,还原注册表,清除注册表卸载残留信息
  4. Unity(三)EasyTouch5的使用
  5. java 时间英文格式_Java英文日期格式解析
  6. python解析地址
  7. 把filedia设置为0可以不弹出对话框保存文件
  8. 最小和最大优先循环队列(C++)
  9. 调频连续波雷达(FMCW)测距/测速原理
  10. 点击链接时触发php文件,php点击链接直接下载文件写法