Term Frequency–Inverse Document Frequency (TF-IDF)

Table of Contents

1. TF-IDF 简介

词频-逆文档频率(TF-IDF)是一种统计方法, 它能评估出语料库中某篇文档中某个词的重要程度。 它是基本思想是:字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。

1.1. Term Frequency

词频(Term Frequency,TF)指的是某一个给定的词语在该文件中出现的频率。这个数字是对词数(Term Count)的归一化,以防止它偏向长的文件。

假定 \(t\) 表示一个词, \(d\) 表示一篇文档, \(D\) 表示语料库,则 词频 \(TF(t, d)\) 是某个词 \(t\) 在文档 \(d\) 中的出现次数,而文档频率 \(DF(t, D)\) 是包含词 \(t\) 的文档 \(d\) 的数目。

1.2. Inverse Document Frequency

如果我们仅使用词频来衡量重要性,则很容易过分强调那些出现非常频繁但携带很少与文档相关信息量的词,比如英语中的“a”、“the”和“of”。如果一个词在在语料库中出现非常频繁,意味着它更不能携带特定文档的特定信息。逆文档频率(Inverse Document Frequency, IDF)就是一个用于度量一个词能提供多少信息量的数值:

\[IDF(t, D) = \log\frac{|D|}{DF(t, D)}\]

上面公式中, \(|D|\) 是语料库中文档总数。根据上面公式, 如果一个词在所有文档中都出现,则其 \(IDF\) 的值变为最小值 0。

如果一个词不在语料库中出现,会导致上面公式出现“零除”问题,为了避免该问题,往往添加一个平滑值到公式中,即采用下面公式:
\[IDF(t, D) = \log\frac{|D| + 1}{DF(t, D) + 1}\]

词频-逆文档频率(TF-IDF)的计算就是 TF 和 IDF 的乘积,即:
\[TFIDF(t, d, D) = TF(t,d) \times IDF(t, D)\]

可以看到,一个词的 TF-IDF 值与该词在文档中的出现次数成正比,与该词在整个语料库中的出现次数成反比。

Author: cig01

Created: <2020-03-11 Wed>

Last updated: <2020-04-20 Mon>

Creator: Emacs 27.1 (Org mode 9.4)