公司的文本搜索引擎一直用的是Lucene,自己也一直有学习Lucene,但对文本相似度算法没有过多的深入学习。最近在做基于Deep Learning的图像搜索引擎,需要对图像进行相似度排序,刚好借着跑数据要几个小时的时间来学习下TF-IDF。


TF-IDF(term frequency–inverse document frequency)是一种用于资讯检索与文本挖掘的常用加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。

原理

TF-IDF实际上是:TF * IDF。主要思想是:如果某个词或短语在一篇文章中出现的频率高(即TF高),并且在其他文章中很少出现(即IDF高),则认为此词或者短语具有很好的类别区分能力,适合用来分类。

TF(Term Frequency,词频)表示一个给定词语t在一篇给定文档d中出现的频率。TF越高,则词语t对文档d来说越重要,TF越低,则词语t对文档d来说越不重要。那是否可以以TF作为文本相似度评价标准呢?答案是不行的,举个例子,常用的中文词语如“我”,“了”,“是”等,在给定的一篇中文文档中出现的频率是很高的,但这些中文词几乎在每篇文档中都具有非常高的词频,如果以TF作为文本相似度评价标准,那么几乎每篇文档都能被命中。

IDF(Inverse Document Frequency,逆向文件频率)的主要思想是:如果包含词语t的文档越少,则IDF越大,说明词语t在整个文档集层面上具有很好的类别区分能力。IDF说明了什么问题呢?还是举个例子,常用的中文词语如“我”,“了”,“是”等在每篇文档中几乎具有非常高的词频,那么对于整个文档集而言,这些词都是不重要的。对于整个文档集而言,评价词语重要性的标准就是IDF。

通俗理解TF-IDF就是:TF刻画了词语t对某篇文档的重要性,IDF刻画了词语t对整个文档集的重要性。

TF表达式

对于在某一文档 dj 里的词语 ti 来说,ti 的词频可表示为:

其中 ni,j 是词语 ti 在文档 dj 中的出现次数,分母则是在文件 dj 中所有词语的出现次数之和。

IDF表达式

IDF是一个词语普遍重要性的度量,即一个词语对于整个语料库的重要性的度量。某一特定词语的IDF,可以由总文件数除以包含该词语的文件数,再将得到的商取对数得到:

其中 |D| 是语料库中所有文档总数,分母是包含词语 ti 的所有文档数。

在向量空间模型里的应用

TF-IDF权重计算方法经常会和余弦相似性(cosine similarity)一同使用于向量空间模型中,用以判断两份文件之间的相似性。

TF-IDF的理论依据及不足

TFIDF算法是建立在这样一个假设之上的:对区别文档最有意义的词语应该是那些在文档中出现频率高,而在整个文档集合的其他文档中出现频率少的词语,所以如果特征空间坐标系取TF词频作为测度,就可以体现同类文本的特点。另外考虑到单词区别不同类别的能力,TF-IDF法认为一个单词出现的文本频数越小,它区别不同类别文本的能力就越大。因此引入了逆文本频度IDF的概念,以TF和IDF的乘积作为特征空间坐标系的取值测度,并用它完成对权值TF的调整,调整权值的目的在于突出重要单词,抑制次要单词。但是在本质上IDF是一种试图抑制噪声的加权,并且单纯地认为文本频率小的单词就越重要,文本频率大的单词就越无用,显然这并不是完全正确的。IDF的简单结构并不能有效地反映单词的重要程度和特征词的分布情况,使其无法很好地完成对权值调整的功能,所以TF-IDF法的精度并不是很高。

此外,在TFIDF算法中并没有体现出单词的位置信息,对于Web文档而言,权重的计算方法应该体现出HTML的结构特征。特征词在不同的标记符中对文章内容的反映程度不同,其权重的计算方法也应不同。因此应该对于处于网页不同位置的特征词分别赋予不同的系数,然后乘以特征词的词频,以提高文本表示的效果。

参考资料

https://zh.wikipedia.org/wiki/TF-IDF
http://www.cnblogs.com/haippy/archive/2011/10/04/2199144.html

关键词权重计算算法 - TF-IDF相关推荐

  1. 关键词提取算法—TF/IDF算法

    关键词提取算法一般可分为有监督学习和无监督学习两类. 有监督的关键词提取方法可以通过分类的方式进行,通过构建一个较为完善的词表,然后判断每个文档与词表中的每个词的匹配程度,以类似打标签的方式,达到关键 ...

  2. 搜索引擎:文本分类——TF/IDF算法

    原理 TFIDF的主要思想是:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类.TFIDF实际上是:TF * IDF,TF ...

  3. 随笔_从《芳华》影评到TF/IDF算法

     前两天看好多<芳华>的影评说:为什么好人没好报?于是感叹一堆世态炎凉,人性丑陋什么的.我觉得这问题是:为什么中央空调(对谁都温暖)往往不被看好.  先说说TF/IDF算法,这是一种信息处 ...

  4. 计算两组标签/关键词 相似度算法

    原文连接 http://www.zhaochao.net/index.php/2016/02/05/14/ 写作背景 标签在互联网行业有大量的应用,给博客打标签,给商品打标签,给新闻打标签.通常每篇文 ...

  5. java中奖率算法_JS简单实现:根据奖品权重计算中奖概率实现抽奖的方法

    本文主要介绍:使用 JS 根据奖品权重计算中奖概率实现抽奖的方法. 一.示例场景 1.1.设置抽奖活动的奖项名称 奖项名称:["一等奖", "二等奖", &qu ...

  6. 使用分布式图计算系统实现研报关键词权重分数计算性能提升百倍以上

    使用图计算系统实现研报关键词权重分数计算性能提升百倍以上 使用图计算系统实现研报关键词权重分数计算性能提升百倍以上 一.数据模型 二.TF-IDF算法 三.计算过程 3.1 指定研报和关键词计算TF- ...

  7. 文本相似性检测---词语权重计算

    本文讨论如何计算词(有时候称特征向量)权重和向量空间模型及其应用.本文的"文档"是指查询对象,它们可以使一条条单独的记录或者是一本书的各章,还可以是一个网页,或者xml文件等. 1 ...

  8. 文本特征抽取的向量空间模型(VSM)和TF/IDF方法

    文本特征抽取 两组小说,一组是爱情的,另一组是科幻的.我们能否用支持向量机训练一个模型,用来识别小说类型呢? 这个并不容易.因为支持向量机这类机器学习算法只能接受数学里面的向量作为输入.如果用它来做文 ...

  9. spss可以关键词词频分析吗_综合词位置因素和词频因素的文本关键词权重计算方法与流程...

    本发明涉及一种综合词位置因素和词频因素的文本关键词权重计算方法,具体是涉及采用调和级数综合词位置因素和词频因素对词的权重进行计算,提高标题及首尾两段的词的权重,并且使得每个词随着词频增加,该词出现位置 ...

最新文章

  1. 2019南昌网络赛-I(单调栈+线段树)
  2. mysql cluster 设置单向复制_mysql5.6做单向主从复制Replication
  3. 通过命令管理Windows7桌面防火墙
  4. 通过VS2010性能分析来查找代码中那些地方最损耗资源
  5. newifimini出厂固件_新路由newifi固件
  6. [1034]安装Xposed框架+JustTrustMe
  7. 版署通过《魔兽世界.燃烧远征》
  8. LeetCode Word Abbreviation
  9. python爬虫可以爬哪些网站-网络爬虫都能干什么?有哪些网站的数据可以爬取?...
  10. 那一年,我们二十七八岁
  11. android 忘记密码代码,Android-忘记签名文件的密码怎么办
  12. VBA-合并多个工作簿
  13. js版ffmpeg压缩视频以及去除背景音乐
  14. IT商界著名公司来历和简介
  15. Javascript读书笔记(六)函数作用域,声明提前,作用域链,闭包
  16. 女人本性的47个心理阴暗面 承受力差的谨慎阅读
  17. 分享国外电商网站的七大时尚设计元素
  18. 网络身份安全中的数据策略问题
  19. 揭密百度工程师文化:用数字说话 竞速创意落实
  20. proxyee-down批量下载

热门文章

  1. A股交易“铁律”总结
  2. 服务器出现不定时死机的原因
  3. 经验分享丨40天通过PMP考试心得
  4. 惠普HP Officejet 8018 打印机驱动
  5. 学习使用js实现下载图片到本地电脑的教程
  6. PTA 3+2 转段考试 数据库mysql(2篇)
  7. 软件测试需要学习什么 一文告诉你,软测内容需要学这些
  8. 中美印日四国程序员比较------wuzhimin
  9. 周周过,周周结(十七)
  10. 适用于ipad2021电容笔有哪些?高性价比的ipad电容笔推荐