TF-IDF算法 笔记
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算法 笔记的更多相关文章
- tf–idf算法解释及其python代码实现(下)
tf–idf算法python代码实现 这是我写的一个tf-idf的简单实现的代码,我们知道tfidf=tf*idf,所以可以分别计算tf和idf值在相乘,首先我们创建一个简单的语料库,作为例子,只有四 ...
- tf–idf算法解释及其python代码实现(上)
tf–idf算法解释 tf–idf, 是term frequency–inverse document frequency的缩写,它通常用来衡量一个词对在一个语料库中对它所在的文档有多重要,常用在信息 ...
- 55.TF/IDF算法
主要知识点: TF/IDF算法介绍 查看es计算_source的过程及各词条的分数 查看一个document是如何被匹配到的 一.算法介绍 relevance score算法,简单来说 ...
- Elasticsearch由浅入深(十)搜索引擎:相关度评分 TF&IDF算法、doc value正排索引、解密query、fetch phrase原理、Bouncing Results问题、基于scoll技术滚动搜索大量数据
相关度评分 TF&IDF算法 Elasticsearch的相关度评分(relevance score)算法采用的是term frequency/inverse document frequen ...
- tf–idf算法解释及其python代码
tf–idf算法python代码实现 这是我写的一个tf-idf的简单实现的代码,我们知道tfidf=tf*idf,所以可以分别计算tf和idf值在相乘,首先我们创建一个简单的语料库,作为例子,只有四 ...
- 25.TF&IDF算法以及向量空间模型算法
主要知识点: boolean model IF/IDF vector space model 一.boolean model 在es做各种搜索进行打分排序时,会先用boolean mo ...
- Elasticsearch学习之相关度评分TF&IDF
relevance score算法,简单来说,就是计算出,一个索引中的文本,与搜索文本,他们之间的关联匹配程度 Elasticsearch使用的是 term frequency/inverse doc ...
- 基于TF/IDF的聚类算法原理
一.TF/IDF描述单个term与特定document的相关性TF(Term Frequency): 表示一个term与某个document的相关性. 公式为这个term在document中出 ...
- 信息检索中的TF/IDF概念与算法的解释
https://blog.csdn.net/class_brick/article/details/79135909 概念 TF-IDF(term frequency–inverse document ...
- 文本分类学习(三) 特征权重(TF/IDF)和特征提取
上一篇中,主要说的就是词袋模型.回顾一下,在进行文本分类之前,我们需要把待分类文本先用词袋模型进行文本表示.首先是将训练集中的所有单词经过去停用词之后组合成一个词袋,或者叫做字典,实际上一个维度很大的 ...
随机推荐
- ignite学习笔记
1.一个Ignite节点可以从命令行启动,可以用默认的配置也可以传递一个配置文件.可以启动很多很多的节点然后他们会自动地发现对方. 2.Ignite只需要一个ignite-core强依赖,通常你还需要 ...
- SQL模擬死結產生
引用自:http://jengting.blogspot.tw/2012/06/sql.html 根據 MSDN 將死結數量降至最低 裡的圖型模擬死結產生 ~~ 在 SSMS 內開啟兩個 T-SQL ...
- CentOS 修改DNS,固定IP等操作(网络)
1.修改DNS 修改对应网卡的DNS的配置文件 vi /etc/resolv.conf 内容格式(西工大) nameserver 114.114.114.114 nameserver 202.117. ...
- DataSet和List<T> 泛型之间互相转换 (转载, 作者写的很好)
/DataSet与泛型集合间的互相转换 //利用反射机制将DataTable的字段与自定义类型的公开属性互相赋值. //注意:从DataSet到IList<T>的转换,自定义类型的公开属性 ...
- Activity与Service之间交互并播放歌曲的实现代码
Activity与Service之间交互并播放歌曲,为了方便,我把要播放的歌曲定死了,大家可以灵活改进 MService: 复制代码代码如下: package com.tiantian.test;im ...
- photo中的图文混排
photoshop中无法象word中自动图文混排,但可以通过手工绘制路径完成图文混排. 如下图,先摆放图像,然后绘制路径,然后在路径中输入或粘贴文字即可.
- jdk8 eclipse luna market crashed
THAT WORKS! Eclipse Luna starts normally when I first do the suggested: export SWT_GTK3=0 https://bu ...
- form2js的使用(续BootstrapTable)
通过收集表单数据,并且转换为json格式,实现表格的查询. 引入插件:不要忘记引入jquery. <script src="${ctx}/assets/plugins/form2js/ ...
- PHP处理多表查询时的SQL语句拆分与重新组装
在自己写框架时候会发现,多表查询组装SQL语句<?php $pre = "pre_"; $aid = "44"; $data = array(" ...
- iOS常用宏定义
转发:https://www.douban.com/note/486674206/ #ifndef MacroDefinition_h#define MacroDefinition_h //----- ...