[ML] TF-IDF

tf-idf是一个统计学指标,可以用来评估在一个语料库中一个单词对于一个文档的重要性。这个重要性随着单词在文档中的出现次数增加成比例的增加,随着单词在语料库里面出现次数增加而抵消。

Terminology

Word

单词

Document

文档,每一篇文章对应一个文档,包括很多个单词

Corpus

语料库,一个语料库由若干篇文档组成。

Empty Document

空文档也就是不包含任何单词的文档,在计算tfidf的过程中,空文档不在考虑范围内。

TF-IDF

tfidf由两项组成,第一项是normalized Term Frequency (TF),也就是标准化的文档频率,也就是一个单词在一个文档出现的总次数/文档里面单词总数;第二项是Inverse Document Frequency(IDF),也就是反向文档评率,也就是loge(语料库里包括的文档总数/单词在多少个文档里面出现过)。tfidf是这两项的乘积。
tfidf = tf * idf

TF

tf用来测量单词在文档里出现频率。因为每个文档的长度是不一样的,一个单词在长文档里面出现频次非常可能比短文档出现频次高,所以在计算tf的时候通常使用文档长度做标准化,除以文档长度。
TF(t) = (Number of times term t appears in a document) / (Total number of terms in the document)

IDF

idf用来测量一个单词的重要性(importance)。在计算tf的时候,我们假设每个单词同等重要,但是我们知道有些单词虽然出现了很多次,但是并没有那么重要,比如is, of, that等等。所以对于经常出现的单词,我们需要缩小重要性,对于很少出现的单词,我们需要放大重要性,通过下面的公式实现。
IDF(t) = log_e(Total number of documents / Number of documents with term t in it)

Example

假设有个文档里面包括了100个单词,cat这个单词出现了3次,所以tf=(3/100)=0.03;假设语料库里面包括1000, 000各文档,其中1000个文档里面出现了cat这个单词,所以idf=log_e(1000, 000 / 1000) = 6.9;所以tfidf= 0.03 * 6.9 = 0.207。

Reference

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值