TF-IDF:Term Frequency-Inverse Document Frequency(词频-逆文档频度):主要用来估计一个词在一个文档中的重要程度。

符号说明:

文档集:D={d1,d2,d3,..,dn}

nw,d:词w在文档d中出现的次数

{wd}:文档d中的所有词的集合

nw:包含词w的文档数目

1、词频 TF的计算公式如下:

2、逆文档频率IDF计算公式:

3、综合1和2,得到TF-IDF:

//w关于d的词频越大,包含w的文档数越少,则词w与文档d的TF-IDF值就越大。TF-IDF值越大,说明词w与文档d的相关性越高。

可以将IDF看做是词频TF的权值,当一个词在越多的文档中出现时,词的权重就越小。比如像“的,是,等”等词基本在每个文档都有出现(这时n=nw,)则其值IDF为0。故而达到了减小其权值的目的。

一些扩展:

1、获取一个文档的关键字的方法:

  1)首先提取出文档中所有的词;

  2)然后将每个词都计算与当前文档的TF-IDF值

  3)再将该值从大到小排序;

  4)最后取出前k个TF-IDF值最大的词即为关键字。

2、从一组文档中获取与关键字w最相关的文档

  计算关键字w与每个文档的TF-IDF值,其值最大的即为最相关的文档。

  

  假如有k个词w1,w2,..,wk个词,计算与这K个词最相关的文档

  

3、计算两个文档之间的相似度

首先将两个文档d1,d2中的词求并集,得到一个新的词集合W,然后将文档d1,d2与词集合W中的每一个词就算相似度,最后将两个文档的相似度计算余弦距离,即得到两个文档的相似度。

具体过程如下:

1)计算文档d1,d2两个文档的词的并集,

  

  2)分别计算W中每个词与d1,d2之间的相似度。得到V1,V2。

  3)使用余弦公式,计算V1,V2之间的余弦距离:

  

  余弦距离越大,则两个文档的相似度越高,反之越低。

参考文献:

[1] http://blog.csdn.net/itplus/article/details/20958185

[2] http://www.cnblogs.com/biyeymyhjob/archive/2012/07/17/2595249.html

TF-IDF算法 笔记的更多相关文章

  1. tf–idf算法解释及其python代码实现(下)

    tf–idf算法python代码实现 这是我写的一个tf-idf的简单实现的代码,我们知道tfidf=tf*idf,所以可以分别计算tf和idf值在相乘,首先我们创建一个简单的语料库,作为例子,只有四 ...

  2. tf–idf算法解释及其python代码实现(上)

    tf–idf算法解释 tf–idf, 是term frequency–inverse document frequency的缩写,它通常用来衡量一个词对在一个语料库中对它所在的文档有多重要,常用在信息 ...

  3. 55.TF/IDF算法

    主要知识点: TF/IDF算法介绍 查看es计算_source的过程及各词条的分数 查看一个document是如何被匹配到的         一.算法介绍 relevance score算法,简单来说 ...

  4. Elasticsearch由浅入深(十)搜索引擎:相关度评分 TF&IDF算法、doc value正排索引、解密query、fetch phrase原理、Bouncing Results问题、基于scoll技术滚动搜索大量数据

    相关度评分 TF&IDF算法 Elasticsearch的相关度评分(relevance score)算法采用的是term frequency/inverse document frequen ...

  5. tf–idf算法解释及其python代码

    tf–idf算法python代码实现 这是我写的一个tf-idf的简单实现的代码,我们知道tfidf=tf*idf,所以可以分别计算tf和idf值在相乘,首先我们创建一个简单的语料库,作为例子,只有四 ...

  6. 25.TF&IDF算法以及向量空间模型算法

    主要知识点: boolean model IF/IDF vector space model     一.boolean model     在es做各种搜索进行打分排序时,会先用boolean mo ...

  7. Elasticsearch学习之相关度评分TF&IDF

    relevance score算法,简单来说,就是计算出,一个索引中的文本,与搜索文本,他们之间的关联匹配程度 Elasticsearch使用的是 term frequency/inverse doc ...

  8. 基于TF/IDF的聚类算法原理

        一.TF/IDF描述单个term与特定document的相关性TF(Term Frequency): 表示一个term与某个document的相关性. 公式为这个term在document中出 ...

  9. 信息检索中的TF/IDF概念与算法的解释

    https://blog.csdn.net/class_brick/article/details/79135909 概念 TF-IDF(term frequency–inverse document ...

  10. 文本分类学习(三) 特征权重(TF/IDF)和特征提取

    上一篇中,主要说的就是词袋模型.回顾一下,在进行文本分类之前,我们需要把待分类文本先用词袋模型进行文本表示.首先是将训练集中的所有单词经过去停用词之后组合成一个词袋,或者叫做字典,实际上一个维度很大的 ...

随机推荐

  1. linux shell: 取得某个目录下的文件名列表

    取得某个目录下文件名的列表(没有子目录) ls -l dir/ | awk '{print "dir\\" $9}' #其中$9是ls -l 的第9个字段-文件名

  2. MusiCode 批量下载指定歌手的所有专辑(已解除验证码限制)

    一直想把喜欢的歌手的专辑全都归类并下载下来,由于那专辑数量实在太多了,再加上最近开始学习python,就想着何不用python写个脚本把下载过程自动化呢?所以就花了点时间写了这么个东西,分享给有需要的 ...

  3. C#入门经典(第三章-1)

    #region--------#endregion 此关键字 将设置代码是否可以折叠和展开.但是他们不是C#关键字.注意:带#的是预处理指令,严格说不是C#关键字. 变量:

  4. javascript之定义函数时 this 和prototype区别

    注:原文 http://www.2cto.com/kf/201406/307790.html 这里作为学习,写在这里 在面向对象的方式编写js脚本时,定义实例的方法主要有两种:this.XXX = f ...

  5. Android -----ArrayAdapter的重写 .

    引自:http://blog.csdn.net/jason0539/article/details/9918465 最近需要用ArrayAdapter,保存一下,以后方便查找 ArrayAdapter ...

  6. 为图片存储而作——记一次UEditor源码的修改

    本文版权归博客园和作者吴双本人共同所有.  写在前面 这是一个数据爆发的网络时代,大家习惯于浏览图文直观带给我们的快速信息.大图片的存储和浏览经常会成为Web服务器的瓶颈.试想如果你的Web服务器依然 ...

  7. HDU1251-统计难题(字典树)

    统计难题 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Others)Total Submi ...

  8. springmvc配置首页的方式

    <mvc:view-controller path="/" view-name="redirect:/user/loginUI" />

  9. Bundle versions string, short与Bundle version

    在提交更新的app至appstore中时,需要在**.plist中设置app的version信息.Bundle versions string, short --- CFBundleShortVers ...

  10. PAT (Advanced Level) 1004. Counting Leaves (30)

    简单DFS. #include<iostream> #include<cstring> #include<cmath> #include<algorithm& ...