VSM模型

向量空间模型(VSM,Vector Space Model)由Gerard Salton和McGill等在1969年提出。该模型将文本内容转换为易于数学处理的向量形式,并表示为多维空间中的一个点,把对文本内容的处理简化为向量空间中向量运算,使问题的复杂度大为降低使得各种相似计算和排序成为可能。

在向量空间模型中,文本空间被看作是由一组正交词条矢量所组成的矢量空问,每篇文本 d  表示为其中的一个范化矢量 V(d)=(t1  ,  w1(d)  ,…, tn  ,  wn(d)),其中ti  为词条项,wi(d) 表示词条ti  在文本d  中的权值,用于显示向量 ti  在文本 d  中的重要程度。可以将文本 d  中出现的所有词条作为 ti,也可以要求 ti  是 d  中出现的所有短语,从而提高内容特征表示的准确性。wi(d)  一般被定义为词条ti   在文本d   中的出现频率 tfi(d)   的函数,wi=f(tfi(d)),常用的 f  函数有布尔函数、平方根函数、对数函数、TF-IDF函数等。

文本经过分词程序后,首先去除停用词,合并数字和人名等词汇,然后统计词频,最终表示为一个向量。

TF-IDF函数

TF-IDF函数用来表示特征项的重要程度,与特征项的重要性相关的两个重要因素是词频 TF(文本内频率)和逆文本频数 IDF(inverse documentfrequency)。

(1)词频(TF):即一个特征项在某一文档中出现的次数,反映了某一个特征项对该文本的重要性,其定义如下所示:

TFij =freqij= 特征词 ti  在文档dj  中的频率

可利用对数降低词频对TF取值的影响,从而减少了少数高频词对特征权重计算的影响,如下所示:

TFij= log( freqij ) + 1

(2)倒文档频度(IDF):这一分量反映了某一特征项区别于其他文档的程度,是一个关键词在整个数据全局中重要性的全局性统计特征,称为倒文档频度。如果一个词在整个数据全集中出现的频度很小,则它应该是反映包含该类词的文档内容的重要词汇。因此,一个关键词的权重应该与该词所在的文档的总数成反比或近似反比的关系。

IDFi=log( n/n) =log(全集中文档的总数/含关键词i的文档总数)

其中:为全部训练样本数,ni  为出现特征词 ti  的训练样本数。它反映了某一特征项在分类过程中对某一类的区分度。

TF-IDF  公式认为对区别文档最有意义的特征项应该是那些在一类文档中出现频率足够高,而在文档集合的其他文档中出现频率足够小的词语,所以引入了逆文本频度 IDF 的概念,并以 TF 和 IDF 的乘积作为特征空间坐标系的取值测度。设TFij  为特征词 ti  在文档 dj  中的频度;n  为全部训练样本数,ni  为出现特征词 ti  的训练样本数,TF-IDF 公式如下所示:

                         weight(Tij) =TFij  xIDFi=freqij  xlog(n/ni)

TF-IDF主要基于以下两个理论依据:

(1)在一个文本中出现次数很多的单词,在另一个同类文本中出现的也会很多,反之亦然,所以将 TF(词频)作为测度;

(2)一个词条出现的文本频数越小,它区别不同类别的能力就越大,故引入了 IDF(逆文本频数)的概念。

下图为各单词的TF权重:

下图为各单词的TF-IDF权重:

参考资料:

TF-IDF及其算法

TF-IDF与向量空间模型

VSM模型与TF-IDF权重相关推荐

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

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

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

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

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

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

  4. 使用lingpipe自然语言处理包进行文本分类/** * 使用 lingpipe的tf/idf分类器训练语料 * * @author laigood */ public class trai

    /**  * 使用 lingpipe的tf/idf分类器训练语料  *   * @author laigood  */ public class traintclassifier { //训练语料文件 ...

  5. tf-idf词向量和bow_使用词袋Bow和TF IDF进行多标签分类

    tf-idf词向量和bow 1.加载数据 (1. Load the data) For this study, we are using Kaggle data for Toxic Comment C ...

  6. Python使用sklearn构建lasso回归模型并指定样本权重:即构建带样本权重(sample_weight)的回归模型

    Python使用sklearn构建lasso回归模型并指定样本权重:即构建带样本权重(sample_weight)的回归模型 目录

  7. Python使用sklearn构建ElasticNet回归模型并指定样本权重:即构建带样本权重(sample_weight)的回归模型

    Python使用sklearn构建ElasticNet回归模型并指定样本权重:即构建带样本权重(sample_weight)的回归模型 目录

  8. tf/idf_Neo4j:带密码的TF / IDF(和变体)

    tf/idf 几周前,我写了一篇博客文章,介绍了如何使用scikit-learn在HIMYM成绩单上运行TF / IDF,以按情节找到最重要的短语,然后我很好奇在Neo4j中很难做到. 我首先将Wik ...

  9. Neo4j:带密码的TF / IDF(和变体)

    几周前,我写了一篇博客文章,介绍了如何使用scikit-learn在HIMYM成绩单上运行TF / IDF,以按情节找到最重要的短语,然后我很好奇在Neo4j中很难做到. 我首先将Wikipedia的 ...

最新文章

  1. java实现局域网内单对单和多对多通信的设计思路
  2. 2019牛客多校2 H Second Large Rectangle(悬线法)
  3. NYOJ-523 亡命逃窜(三维立体的BFS)
  4. docusign文档打不开_怎样查看 docusign pdf 电子签名
  5. 第二百二十三节,jQuery EasyUI,ComboBox(下拉列表框)组件
  6. mySQL 数据库错误
  7. JS中用构造函数创建对象
  8. 利用python随机生成姓名的实例教程
  9. Latex 常用代码
  10. 13.地区设置(Locale Settings)
  11. 容斥原理-51nod1284
  12. 【单目标优化求解 】基于matlab烟花算法求解单目标问题【含Matlab源码 1599期】
  13. java基础-软件简述
  14. 恒河aq7275测试软件,横河-AQ7275OTDR测试培训技巧.ppt
  15. vs2017工具箱问题(不见工具箱选项卡此组中没有可用控件控件灰化)
  16. 什么是数据结构?是举一个例子,叙述逻辑结构、存储结构和运算三个方面的内容。
  17. 【运筹学】整数规划 ( 相关概念 | 整数规划 | 整数线性规划 | 整数线性规划分类 )
  18. php pdf文档内容修改,php2pdf-如何使用php修改pdf中的内容,并且保证格式不乱
  19. [linux][network]虚拟网卡技术分析
  20. 文档从手机传到计算机,怎么把手机文件传到电脑,才最简单又快速?

热门文章

  1. 目标检测之测试时间增强(TTA)
  2. Kaggle小技巧:TTA(test time augmentation)测试时增强
  3. 2021-4-16《拖延心理学》(one fifth)
  4. 2013-09-24《英语听力关键词部分总…
  5. 离职原因可以说,但要注意三个原则
  6. 三十七. geotrellis使用 COG 基础介绍
  7. 使用python GDAL生成COG(Cloud Optimized GeoTIFF)
  8. 【电子学会】2022年06月图形化四级 -- 判断闰年
  9. 一个便捷的免费图像标注工具AutoSeg
  10. GRS认证跟TC证有何区别