TF-IDF

TF-IDF 是文字探勘中很重要的觀念,可以從某個領域的文本中挑出重要的字。

TF 就是前面提到的詞頻 Term Frequency,在文本分析中,我們會關心哪些詞彙在這些文本是重要的,例如我們爬了某段時期的新聞,我們可能會想知道這些新聞都在關心什麼字,很直覺的想法就是把所有文章斷詞,然後統計詞頻。

但是如果只以詞頻作為判斷依據,會發現有些不重要的字,像是我、的、一、要、…跑到很前面,這些字之所以出現頻率很高,是因為這些是所謂的「日常生活」的用字,我們不希望這些字輩我們 count 成重要的字,所以出現了 IDF 的概念。

IDF 是 Inverse Document Frequency 的縮寫,概念就是某一個字出現在越多文本中,它的 IDF 值就會越低。例如現在有 10 篇新聞,每篇都有出現「我」這個字,所以他的 IDF 值就會很低;相對的,如果只有其中兩篇出現「資料分析」這個詞,它的 IDF 值就會很高,可以參考這個公式:

|D|是所有文本數量
|{j : t_i ∈d_j}|表示這個字出現在幾篇文本中

而 TFIDF 值就是 TF 乘上 IDF,每個詞在每篇文本都有各自的 TFIDF 值,可以看出那個詞在那篇文本中是不是一個重要的詞。

TF-IDF

TF-IDF in R / Python

補充資料