前一篇博客已经讲了向量化,那么向量化之后一般都伴随着TF-IDF的处理,这篇博客就TF-IDF做一个解释。
1 向量化特征的不足
还是上一篇博客中的例子,如果我们直接将统计词频后的 9 {9} 9维向量作为文本分类的输入,会发现一些问题。比如第一个文本 ′ T h i s i s t h e f i r s t d o c u m e n t . ′ {'This\ is\ the\ first\ document.'} ′This is the first document.′,每个词在该文本中都只出现了一次,似乎看起来很平等,但是,像 i s {is} is, t h e {the} the这种特征非常普遍,几乎每个样本都会出现,经常出现的词说明它是烂大街的了,并不那么重要,不能和 f i r s t {first} first、 d o c u m e n t {document} document等这种实义词混为一谈。我们的向量化特征仅仅用词频表示不了这种语义特征(语义信息),因此我们需要进一步的预处理来反映文本(词)的重要性,这就引出了 T F − I D F {TF-IDF} TF−IDF。
2 TF-IDF
TF-IDF,全名:Term Frequency - Inverse Document Frequency,即“词频-逆文本频率”,由两部分组成: T F {TF} TF和 I D F {IDF} IDF。
T F {TF} TF就是我们说的词频,之前做的向量化已经做了文本中各个词的出现频率统计,并作为文本特征。词频 t f {tf} tf等于词 w {w} w在文档(或者一段文本) d {d} d中出现的次数 c o u n t ( w , d ) {count(w,d)} count(w,d)和文档 d {d} d中总词数 s i z e ( d ) {size(d)} size(d)的比值。
t f ( w , d ) = c o u n t ( w , d ) s i z e ( d ) {tf(w,d)=\frac{count(w,d)}{size(d)}} tf(w,d)=size(d)count(w,d)。
关键是 I D F {IDF} IDF怎么计算,即“逆文档频率”怎么理解。其实 I D F {IDF} IDF是帮助我们来反应一个词的重要程度的,这也是它修正仅仅用词频表示的特征值的原因和目的。如果一个词在所有文本中都出现了,那么它的 I D F {IDF}