TF-IDF是Term Frequency-Inverse Document Frequency的簡稱。她是一種非常常見的用於將文本轉化爲有意義的數字表示的算法。這個技術被廣泛的應用與NLP的各個方面。本文將會介紹怎樣計算和應用TF-IDF。
文本的向量表示
爲了將機器學習算法或統計技術應用到任何形式的文本上,應當將文本轉化爲數字或向量形式。這種數字表示應當能夠描繪出本文的顯著特徵。有很多技術都可以做到這一點,比如,出現次數(occurrence),詞頻(term-frequency),TF-IDF,詞共現矩陣(word co-occurrence matrix),word2vec和Glove。
基於出現次數的向量表達
由於TF-IDF是一個基於occurence的文本數字化表達,讓我們先來看看之前的基於occurence的方法以及TF-IDF怎樣優於他們。一種最簡單的方法就是用一個詞在整個語料中出現的次數來表達它。
詞頻
我們假設,一個詞的值更高意味着這個詞在給定文本中的重要性越高。這是很正確的想法,但是如果語料中的文本有不同的大小呢?這樣一來,大文本中的詞自然會比小文本中的詞出現次數更多。因此,一個更好的表示就是基於文本的大小對詞的出現次數進行標準化,這個表示被稱作詞頻(term-frequency)。
數學上,一個詞的詞頻的定義如下: