首先我们了解几个概念名词

1.词频

2.逆文档频率

3.TF-IDF算法

4.语料库(corpus)

5.余弦相似性

大家参考下面文章查阅这三个名词的意义

http://www.ruanyifeng.com/blog/2013/03/tf-idf.html

https://blog.csdn.net/wangxingfan316/article/details/79427260

下面,步入正题,先看代码

import jieba
from gensim import corpora,models,similarities
doc1 = '/Users/23263/Desktop/doc1.txt'
doc2 = '/Users/23263/Desktop/doc2.txt'
doc3 = '/Users/23263/Desktop/doc3.txt'
list1 = jieba.lcut(open(doc1).read())
list2 = jieba.lcut(open(doc2).read())
list3=jieba.lcut(open(doc3).read())
list1_2 = [list1,list2]
#创建词典
dictionary = corpora.Dictionary(list1_2)
#获取语料库
corpus = [dictionary.doc2bow(i) for i in list1_2]
tfidf = models.TfidfModel(corpus)
#特征数
featureNUM = len(dictionary.token2id.keys())
#通过TfIdf对整个语料库进行转换并将其编入索引,以准备相似性查询
index = similarities.SparseMatrixSimilarity(tfidf[corpus],num_features=featureNUM)
#稀疏向量.dictionary.doc2bow(doc)是把文档doc变成一个稀疏向量,[(0, 1), (1, 1)],表明id为0,1的词汇出现了1次,至于其他词汇,没有出现。
new_vec = dictionary.doc2bow(list3)
#计算向量相似度
sim = index[tfidf[new_vec]]
print(sim)

导入jieba和下面三个库

打开三个文件并分别分词,doc1和doc2写入list1_2,doc3写入list3(没有严格要求,这里的示例是三个文档的)

以list1_2创建词典dictionary

获取语料库corpus

创建一个tidif算法框架为tfdif,即初始化一个转换

计算特征数featureNUM(特征数为语料库所有id的个数)

通过TfIdf对整个语料库进行转换并将其编入索引,以准备相似性查询

待比较的稀疏向量new_vec为list3在list1_2中的体现,即在语料库中的体现,可以理解为是一种自然连接或者映射

计算相似度,得到两个值为,list3与list1和list2的相似度

最后大家可以看一下官网文档https://radimrehurek.com/gensim/tutorial.html

python文本相似度分析tf-idf相关推荐

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

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

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

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

  3. [转载] 用Python进行简单的文本相似度分析

    参考链接: Python 3中的文本分析 学习目标: 利用gensim包分析文档相似度使用jieba进行中文分词了解TF-IDF模型 环境: Python 3.6.0 |Anaconda 4.3.1 ...

  4. python进行简单的文本相似度分析

    python进行简单的文本相似度分析 本文利用gensim包.jieba包和TF-IDF模型进行简单的文本相似度分析.从而能够让我们确定,哪句话和哪句话相似程度是多少.文本相似度分析是自然语言处理中常 ...

  5. python 拼音相似度_Python实现简单的文本相似度分析操作详解

    本文实例讲述了Python实现简单的文本相似度分析操作.分享给大家供大家参考,具体如下: 学习目标: 1.利用gensim包分析文档相似度 2.使用jieba进行中文分词 3.了解TF-IDF模型 环 ...

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

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

  7. gensim基本使用+文本相似度分析

    gensim基本使用 gensim 是一个通过衡量词组(或更高级结构,如整句或文档)模式来挖掘文档语义结构的工具 三大核心概念:文集(语料)–>向量–>模型 文集: 将原始的文档处理后生成 ...

  8. 【跨语言剽窃检测】文本相似度分析之一

    对比文件1: 2010年的跨语言剽窃检测新方法 作者RaFael Corezola Pereira instituion : UFRGS 摘要: 作者提出一个跨语言剽窃检测新方法,分为5个主要阶段: ...

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

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

最新文章

  1. 什么是embedding?
  2. java迭代器应用 源码探究
  3. 面试让你手撕红黑树?30张图带你彻底理解红黑树~
  4. 浅谈MaxCompute资源规划管理及评估
  5. 给大家介绍一个好用的数据分析框架
  6. oracle关联视图查询满_对于复杂的SQL, Oracle是怎么做的?
  7. SD2.0-课程等待时候的摘抄
  8. Vue实现点击按钮上下滑动隐藏或展示查询条件
  9. zb怎么做渲染图_如何在ZBrush中渲染漫画风格的插画
  10. 运算放大器基本公式_跨阻放大器稳定性
  11. matplotlib 可视化 —— 定制 matplotlib
  12. matlab中的小函数
  13. 计算机实习工作计划与实施步骤,实习工作计划与实施步骤范文
  14. 火车头采集伪原创插件
  15. 42表盘直径是从哪测量_手表尺寸怎么测量的?手表尺寸测量方法
  16. ESP-01S烧录MQTT固件连接阿里云
  17. JavaScript - 匿名函数具名化
  18. FFMPEG的像素格式
  19. Symbian知识汇集
  20. Java 驼峰命名转下划线命名(能正确处理连续HTTP等大写)

热门文章

  1. Android APK 安装包
  2. UE4 VR 手柄 不动问题
  3. 计算机中确实MSVCO120.DLL,Win10开机提示丢失msvcr120.dll文件
  4. 清华教授极力推荐的三本入门学习Python书籍
  5. 【完整版】七千字长文揭秘万达电商
  6. Stream流之简介
  7. linux 查看寄存器信息,linux获取系统信息的常用命令
  8. 项目众包 开源项目_改善8个开源项目的可访问性
  9. 地下管廊可视化管理系统搭建
  10. 各种效应001---乒乓效应在软件中的体现_孤岛效应