「TF-IDF (Term Frequency-Inverse Document Frequency)」是一種在信息檢索 (IR) 和文本挖掘中廣泛使用的數值統計方法,用於衡量一個詞語對於一個文檔集合(語料庫)中的某個文檔的重要程度。
TF-IDF 的核心思想是:一個詞語在一個文檔中出現的頻率越高,同時在整個語料庫中出現的文檔頻率越低,那麼這個詞語對於這個文檔來說就越重要,越能代表該文檔的主題。TF-IDF 的計算方法結合了兩個部分:
- 詞頻 (Term Frequency, TF): 衡量一個詞語在一個文檔中出現的頻率。詞頻的計算有多種方式,最常見的是:
原始計數 (Raw Count): 詞語在文檔中出現的實際次數。 詞語頻率 (Term Frequency): 詞語在文檔中出現的次數除以文檔的總詞數,以對不同長度的文檔進行歸一化。 對數尺度 (Log Scale): 對原始計數取對數,以減少頻繁詞語的影響。 布爾值 (Boolean): 如果詞語出現了,TF 為 1,否則為 0。 - 逆文檔頻率 (Inverse Document Frequency, IDF): 衡量一個詞語在整個文檔集合中的普遍程度。如果一個詞語在很多文檔中都出現,那麼它的 IDF 值就低;如果一個詞語只在少數文檔中出現,那麼它的 IDF 值就高。這可以幫助我們識別那些在特定文檔中獨特出現的詞語。
TF-IDF 的計算方式:
一個詞語在一個文檔中的 TF-IDF 值就是它的 TF 值乘以它的 IDF 值:
TF-IDF 的作用和優點:
- 識別關鍵詞: TF-IDF 可以幫助我們識別出一個文檔中最重要的詞語,這些詞語往往能夠很好地代表文檔的主題。
- 文本表示: TF-IDF 可以將文本轉換成一個數值向量,這個向量可以用於後續的機器學習模型,例如文本分類、聚類等。
- 信息檢索: 在搜索引擎中,TF-IDF 可以用於計算查詢詞語與文檔之間的相關性,從而返回更相關的搜索結果。
- 降低常見詞語的權重: IDF 部分可以有效地降低那些在許多文檔中都出現的常見詞語(例如停用詞)的權重,使得模型更關注那些更具辨識度的詞語。
TF-IDF 的局限性:
- 仍然是詞袋模型: TF-IDF 本質上仍然是一個詞袋模型,它忽略了詞語的順序和語義關係。
- 對於短文本可能效果不佳: 在短文本中,詞語的頻率可能不夠穩定,導致 TF-IDF 的效果不佳。
- 沒有考慮詞語的語義相似性: TF-IDF 將每個詞語都視為獨立的,無法捕捉到同義詞或近義詞之間的語義聯繫。
總結來說,TF-IDF 是一種簡單但非常實用的文本表示方法,它通過考慮詞語在單個文檔中的頻率以及在整個文檔集合中的普遍程度,來為每個詞語賦予一個權重,從而幫助我們識別重要的詞語並將文本轉換成數值形式,以便用於後續的 NLP 任務。


















