什麼是 TF-IDF?

開始之前有幾個關鍵字可以稍微記住,之後會很常提到,_加權、逆頻率加權、逆向檔案頻率、詞頻、文本向量_。
TF-IDF(Term Frequency-Inverse Document Frequency)是一種文本特徵提取演算法,用於評估一個字詞在文檔集合中的重要性。
- 「字詞頻率(Term Frequency,TF)」是指一個字詞在一篇文檔中的出現頻率。
- 「逆文檔頻率(Inverse Document Frequency,IDF)」則是指一個字詞在文檔集合中的罕見程度。
根據這兩個指標,TF-IDF 演算法將字詞在文檔中的重要性定義為:$TF \times IDF$ 。這樣,一個字詞在一篇文檔中頻繁出現,但在整個文檔集合中罕見的字詞,其 TF-IDF 值將會較高。
TF-IDF 演算法常用於文本分類、關鍵字提取、搜尋引擎優化等領域,因為它能夠有效的捕捉文本的主題和結構信息。
簡而言之,TF-IDF 就是個能快速找出文章大意的公式
📄 文本特徵提取方法比較:從 Bag of Words 到 TF-IDF
文本特徵提取是自然語言處理 (NLP) 的關鍵步驟,目的是將非結構化的文本數據轉換為機器可理解的數值向量。
一、常見方法概述與比較 🛠️
| 方法 | 基本原理 | 關注點 | 缺點/限制 |
|---|---|---|---|
| Bag of Words (BoW) | 統計每個單詞在文檔中的出現頻率。 | 單詞出現頻率 | 忽略單詞的語義和上下文。 |
| N-Grams | 提取連續 $n$ 個單詞(n-grams)的序列,並統計其頻率。 | 局部上下文信息 | 維度爆炸(詞彙量隨 $n$ 增大而急劇增加)。 |
| TF-IDF | 結合單詞頻率 (TF) 與逆文檔頻率 (IDF)。 | 關鍵詞識別 | 容易受高頻但無意義的停用詞影響。 |
二、TF-IDF 的核心原理與公式 📐
TF-IDF (Term Frequency-Inverse Document Frequency) 是一種統計方法,用來評估一個詞語對於一個文件集中的其中一份文件的重要性。
1. TF-IDF 總體計算公式:
- $t$ 是詞語 (Term),$d$ 是特定文檔 (Document),$D$ 是文檔集合 (Corpus)。
2. 詞頻 (Term Frequency, TF):
衡量一個詞 $t$ 在文檔 $d$ 中出現的頻率。我們使用您提供的標準化公式:
- $n_{t,d}$: 詞語 $t$ 在文檔 $d$ 中出現的次數。
- $\sum_{k}n_{k,d}$: 文檔 $d$ 中所有詞語的總數。
3. 逆文檔頻率 (Inverse Document Frequency, IDF):
衡量一個詞 $t$ 在整個語料庫 $D$ 中的稀有程度。
- $N$: 文檔集合 $D$ 中的文檔總數。
- $\text{DF}(t)$: 包含詞語 $t$ 的文檔數量(Document Frequency)。
+1: 避免分母為零,確保計算穩定性。
三、TF-IDF 的優勢與應用 🚀
- 🔑 準確識別關鍵詞: 透過 IDF 權重,有效降低 “的”、”是” 等高頻詞的重要性,突出只在少數文檔中出現的特色詞彙。
- 📈 高效率與實用性: 算法簡單、計算效率高,在大規模文本數據處理中應用廣泛。
| 主要應用領域 | 應用說明 |
|---|---|
| 文本分類 | 作為輸入特徵,輔助模型判斷文本類別。 |
| 關鍵詞提取 | 直接選取 TF-IDF 值高的詞作為文檔的關鍵詞。 |
| 信息檢索 | 根據詞語的重要性計算文檔與查詢之間的相關性。 |
四、TF-IDF 的限制與進階方法 ⚙️
1. 限制:停用詞問題
高頻但無實際意義的詞(Stop Words)由於在每篇文檔中出現頻率都很高,可能會影響 TF-IDF 值的準確性。
- 解決方法:
- 預處理: 在計算前使用停用詞列表將其過濾。
- 採用進階算法: 例如 BM25。
2. 進階改進:BM25 算法
BM25 (Best Match 25) 是一種改進型的信息檢索排名算法,在 TF-IDF 框架上進行了優化。
主要優勢:
- 考慮文檔長度: 對文檔長度進行正規化,避免長文檔天生具有更高的相關性得分。
- 詞頻飽和 (Saturation): 對詞頻採用非線性函式處理,使詞頻的影響達到一定程度後趨於飽和,避免單個詞在文檔中過度重複導致權重過高。
性能: 在搜索引擎和文本檢索領域,BM25 通常比標準的 TF-IDF 算法具有更優秀的準確性。
若您覺得這篇文章對您有幫助,歡迎分享出去讓更多人看到⊂◉‿◉つ~
留言版