文本TF-IDF特征获取方法及文本向量化方法

一 获取文本的TF-IDF特征

1. 文本向量化特征的不足

    在将文本分词并向量化后,我们可以得到词汇表中每个词在各个文本中形成的词向量,比如在文本挖掘预处理之向量化与Hash Trick这篇文章中,我们将下面4个短文本做了词频统计:

corpus=["I come to China to travel", 
    "This is a car polupar in China",          
    "I love tea and Apple ",   
    "The work is to write some papers in science"] 

    不考虑停用词,处理后得到的词向量如下:

[[0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 2 1 0 0]
 [0 0 1 1 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0]
 [1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0]
 [0 0 0 0 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1]]

    如果我们直接将统计词频后的19维特征做为文本分类的输入,会发现有一些问题。比如第一个文本,我们发现"come","China"和“Travel”各出现1次,而“to“出现了两次。似乎看起来这个文本与”to“这个特征更关系紧密。但是实际上”to“是一个非常普遍的词,几乎所有的文本都会用到,因此虽然它的词频为2,但是重要性却比词频为1的"China"和“Travel”要低的多。如果我们的向量化特征仅仅用词频表示就无法反应这一点。因此我们需要进一步的预处理来反应文本的这个特征,而这个预处理就是TF-IDF。

2. TF-IDF概述

  TF-IDF是Term Frequency -  Inverse Document Frequency的缩写,即“词频-逆文本频率”。它由两部分组成,TF和IDF。

  前面的TF也就是我们前面说到的词频,我们之前做的向量化也就是做了文本中各个词的出现频率统计,并作为文本特征,这个很好理解。关键是后面的这个IDF,即“逆文本频率”如何理解。在上一节中,我们讲到几乎所有文本都会出现的"to"其词频虽然高,但是重要性却应该比词频低的"China"和“Travel”要低。我们的IDF就是来帮助我们来反应这个词的重要性的,进而修正仅仅用词频表示的词特征值。

  概括来讲, IDF反应了一个词在所有文本中出现的频率,如果一个词在很多的文本中出现,那么它的IDF值应该低,比如上文中的“to”。而反过来如果一个词在比较少的文本中出现,那么它的IDF值应该高。比如一些专业的名词如“Machine Learning”。这样的词IDF值应该高。一个极端的情况,如果一个词在所有的文本中都出现,那么它的IDF值应该为0。

上面是从定性上说明的IDF的作用,那么如何对一个词的IDF进行定量分析呢?这里直接给出一个词x 的IDF的基本公式如下

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
tf-idf是一种用于文本量化的技术,它可以将文本转换成一个向量,以便进行机器学习和文本挖掘等任务。 tf-idf是“词频-逆文档频率”(term frequency-inverse document frequency)的缩写。它是一种用于评估一个词在文档中的重要性的方法tf-idf值越高,说明该词在文档中越重要。 tf指的是词频(term frequency),即该词在文档中出现的次数。而idf指的是逆文档频率(inverse document frequency),它是用来衡量该词在整个文档集合中的重要性的。idf值越高,说明该词在整个文档集合中越不常见,因此在文档中出现的次数越少,但是对于文档的区分能力越强。 通过将每个文档中的词汇按照tf-idf值进行加权,并将每个文档表示成一个向量,就可以将文本转换成数值型的特征向量,以便进行机器学习和文本挖掘等任务。 具体来说,tf-idf的计算公式为: tf-idf = tf * idf 其中,tf表示词频,计算公式为: tf = (词汇在文档中出现的次数) / (文档中词汇总数) idf表示逆文档频率,计算公式为: idf = log(文档总数 / 包含该词汇的文档数) 将所有文档中的词汇按照tf-idf值进行加权,就可以得到一个向量表示每个文档。这个向量的维度是所有词汇的数量,每个维度对应一个词汇的tf-idf值。由于大多数文档中只包含某些词汇,因此这个向量是非常稀疏的。 tf-idf文本量化可以用于文本分类、文本聚类、信息检索等任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值