# 什麼是 TF-IDF?

tf-idf_ex1
開始之前有幾個關鍵字可以稍微記住,之後會很常提到,加權、逆頻率加權、逆向檔案頻率、詞頻、文本向量

TF-IDF(Term Frequency-Inverse Document Frequency)是一種文本特徵提取演算法,用於評估一個字詞在文檔集合中的重要性。

  • 「字詞頻率(Term Frequency,TF)」是指一個字詞在一篇文檔中的出現頻率。
  • 「逆文檔頻率(Inverse Document Frequency,IDF)」則是指一個字詞在文檔集合中的罕見程度。

根據這兩個指標,TF-IDF 演算法將字詞在文檔中的重要性定義為:TF×IDFTF \times IDF 。這樣,一個字詞在一篇文檔中頻繁出現,但在整個文檔集合中罕見的字詞,其 TF-IDF 值將會較高。

TF-IDF 演算法常用於文本分類、關鍵字提取、搜尋引擎優化等領域,因為它能夠有效的捕捉文本的主題和結構信息。
簡而言之,TF-IDF 就是個能快速找出文章大意的公式

# 📄 文本特徵提取方法比較:從 Bag of Words 到 TF-IDF

文本特徵提取是自然語言處理 (NLP) 的關鍵步驟,目的是將非結構化的文本數據轉換為機器可理解的數值向量

# 一、常見方法概述與比較 🛠️

方法 基本原理 關注點 缺點/限制
Bag of Words (BoW) 統計每個單詞在文檔中的出現頻率 單詞出現頻率 忽略單詞的語義和上下文。
N-Grams 提取連續 nn 個單詞(n-grams)的序列,並統計其頻率。 局部上下文信息 維度爆炸(詞彙量隨 nn 增大而急劇增加)。
TF-IDF 結合單詞頻率 (TF) 與逆文檔頻率 (IDF)。 關鍵詞識別 容易受高頻但無意義的停用詞影響。

# 二、TF-IDF 的核心原理與公式 📐

TF-IDF (Term Frequency-Inverse Document Frequency) 是一種統計方法,用來評估一個詞語對於一個文件集中的其中一份文件的重要性。

1. TF-IDF 總體計算公式:

TF-IDF(t,d,D)=TF(t,d)×IDF(t,D)\text{TF-IDF}(t, d, D) = \text{TF}(t, d) \times \text{IDF}(t, D)

  • tt 是詞語 (Term),dd 是特定文檔 (Document),DD 是文檔集合 (Corpus)。

2. 詞頻 (Term Frequency, TF):
衡量一個詞 tt 在文檔 dd 中出現的頻率。我們使用您提供的標準化公式:

TF(t,d)=nt,dknk,d\text{TF}(t, d) = \frac{n_{t,d}}{\sum_{k}n_{k,d}}

  • nt,dn_{t,d}: 詞語 tt 在文檔 dd 中出現的次數。
  • knk,d\sum_{k}n_{k,d}: 文檔 dd 中所有詞語的總數。

3. 逆文檔頻率 (Inverse Document Frequency, IDF):
衡量一個詞 tt 在整個語料庫 DD 中的稀有程度

IDF(t,D)=log(NDF(t)+1)\text{IDF}(t, D) = \log\left(\frac{N}{\text{DF}(t) + 1}\right)

  • NN: 文檔集合 DD 中的文檔總數
  • DF(t)\text{DF}(t): 包含詞語 tt 的文檔數量(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 算法具有更優秀的準確性。

請我喝[茶]~( ̄▽ ̄)~*

Young 微信支付

微信支付

Young 支付寶

支付寶