美文网首页
「文本分析」08TF-IDF算法及文本相似度分析

「文本分析」08TF-IDF算法及文本相似度分析

作者: 林拂晓 | 来源:发表于2020-01-29 22:24 被阅读0次

1.TF-IDF算法

(1)TF-IDF(term frequency–inverse document frequency,逆文本频数指数)算法

    用于信息检索和数据挖掘的常用加权算法。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF加权的各种形式常被搜索引擎应用,作为文件与用户查询之间相关程度的度量或评级。除了TF-IDF以外,因特网上的搜索引擎还会使用基于链接分析的评级方法,以确定文件在搜寻结果中出现的顺序。

(2)TF-IDF模型的主要思想是:

    如果词w在一篇文档d中出现的频率高,并且在其他文档中很少出现,则认为词w具有很好的区分能力,适合用来把文章d和其他文章区分开来。

2.文本相似度分析

使用前提:

from gensim import corpora,models,similarities

import jieba

from collections import defaultdict

(1)读取文本

读取文本

(2)对多篇文本分词

精准模式分词

(3)整理文本成指定格式

整理文本

(4)计算词频

计算词频

(5)【选】对词频低的词语进行过滤

词频过滤

(6)通过语料库建立词典

建立词典

(7)加载要对比的文档

加载对比文档

(8)通过doc2bow转化为稀疏向量

vector=dictionary.doc2bow(new_doc.split())

(9)依据稀疏向量得到新的语料库

corpus=[dictionary.doc2bow(text) for text in ntexts]

corpora.MmCorpus.serialize("G:/DA/file/corpus1.mm",corpus)

(10)对新语料库通过tf-idf模型进行处理,得到tfidf

tfidf=models.TfidfModel(corpus)

(11)通过token2id得到特征数

featureNum=len(dictionary.token2id.keys())

(12)计算稀疏矩阵相似度,建立索引

index=similarities.SparseMatrixSimilarity(tfidf[corpus],num_features=featureNum)

(13)依据索引得到最终相似度结果

sim=index[tfidf[vector]]

(14)运行,查看结果

文本相似度分析结果

(15)分析结果:《至此终年》与《徐徐诱之》的相似度为0.75%,与《他站在时光深处》的相似度为4.15%。

【注】

①密集向量: 密集向量的值是一个普通的Double数组,如:向量(1.0,0.0,1.0,3.0)用密集格式表示为[1.0,0.0,1.0,3.0]。

②稀疏向量:稀疏向量由两个并列的 数组indices和values组成,如:向量(1.0,0.0,1.0,3.0)用稀疏格式表示为(4,[0,2,3],[1.0,1.0,3.0]),第一个4表示向量的长度(元素个数),[0,2,3]就是indices数组(即顺序向量),[1.0,1.0,3.0]是values数组(即值向量),表示向量0的位置的值是1.0,2的位置的值是1.0,而3的位置的值是3.0,其他的位置都是0.0。

③稀疏矩阵:在矩阵中,若数值为0的元素数目远远多于非0元素的数目,并且非0元素分布没有规律时,则称该矩阵为稀疏矩阵;与之相反,若非0元素数目占大多数时,则称该矩阵为稠密矩阵。定义非零元素的总数比上矩阵所有元素的总数为矩阵的稠密度。通常认为矩阵中非零元素的总数比上矩阵所有元素总数的值(即矩阵的稠密度)小于等于0.05时,则称该矩阵为稀疏矩阵(sparse matrix)。

相关文章

  • 「文本分析」08TF-IDF算法及文本相似度分析

    1.TF-IDF算法 (1)TF-IDF(term frequency–inverse document freq...

  • 2018-06-23NLP知识体系

    NLP 自然语言处理的大致知识领域如下 语法分析 句法分析 情感分析 句子生成 句子相似度 文本分类/聚类 文本表...

  • 文本相似算法

    公司有很多场景需求,都需要用到了文本相似比对的算法。文本相似度算法比较常用的有余弦相似度,simHash算法,对文...

  • 文本情感分析方法研究小结

    1. 文本情感分析简介 何谓文本情感分析,其实很简单,利用算法来分析提取文本中表达的情感。例如分析一个句子表达的好...

  • tfidf

    NLP的应用范围:情感分析,文本相似度计算,文本分类。 问题的关键在于,如何把文本表示成计算机能懂的数据形式? 1...

  • 文本、语音相似度算法

    背景与原理 前段时间公司项目用到了语音识别,图像识别,视频识别等,其实不能说是识别,应该说是相似度对比吧,毕竟相似...

  • 文本相似度算法

    TF−IDF算法 TF是指归一化后的词频,IDF是指逆文档频率。给定一个文档集合D,有d1,d2,d3,........

  • 用Python进行简单的文本相似度分析

    用Python进行简单的文本相似度分析https://blog.csdn.net/xiexf189/article...

  • 2018-03-07

    Python文本数据与图像数据分析的常见技术文本分析:清洗与常见算法a) 正则表达式b) 分词与关键字提取图像分析...

  • 简单的文本情感分析项目总结

    简介 文本情感分析项目主要是针对语言用户提供的评论,通过算法自动来判断此评论十正面还是负面评论。 情感分析是文本处...

网友评论

      本文标题:「文本分析」08TF-IDF算法及文本相似度分析

      本文链接:https://www.haomeiwen.com/subject/qembthtx.html