跳至主要內容
×

TF-IDF 是什麼,如何計算與解讀?

TF-IDF 是衡量詞語對特定文件重要性的統計方法,算法是將詞頻(TF)乘以逆文件頻率(IDF)。它不只看一個詞在文章裡出現多少次,也看這個詞在整個文件集合中有多普遍:在單篇文件中經常出現、卻較少見於其他文件的詞,通常會得到較高權重。不過,高分只代表這套計算下的相對重要性,不表示 TF-IDF 真正理解了文章內容。

為什麼不能只數詞語出現幾次?

只看出現次數,無法判斷某個詞是這篇文件的特色,還是在許多文件中都很常見。TF-IDF 結合兩種資訊,協助辨認較能代表文件的詞語:

  • TF 看單篇文件:某詞出現次數占文件總詞數的比例。
  • IDF 看文件集合:包含某詞的文件越少,依此公式算出的 IDF 越高;越普遍的詞,IDF 越低。

因此,詞語在單篇文件中出現得多,不保證最後分數就高,還要考慮它在集合中的普遍程度。這也是 TF-IDF 能區分常見詞與罕見詞的原因。

TF-IDF 怎麼算?拆成三步

以下採用來源中的相對詞頻定義,並使用以 10 為底的對數,讓計算結果與來源範例一致。

  1. 計算 TF:詞語出現次數 ÷ 文件總詞數。若一篇文件有 10,000 個詞,某詞出現 25 次,TF=25 ÷ 10,000=0.0025。
  2. 計算 IDF:log₁₀(文件總數 ÷ 包含該詞的文件數)。若集合有 10,000 篇文件,其中 500 篇包含該詞,IDF=log₁₀(20)≈1.30。
  3. 兩者相乘:TF-IDF≈0.0025 × 1.30=0.00325。

注意兩個分母不同:TF 除以的是單篇文件的總詞數;IDF 比較的是文件數,不是把該詞在所有文件中的出現次數加總。

高分怎麼解讀,又有哪些盲點?

依這套方法,分數越高,表示詞語與該文件的相關性越高;分數越低,相關性也越低。不過,解讀分數時,必須考慮所選的文件集合與計算方式,不能只憑一個數字判定詞語是否重要。

來源也提醒,極罕見的詞可能因 IDF 很高而被高估。TF-IDF 不理解詞義或上下文,也不考慮詞序,因此不能僅靠分數讀懂片語或文章意思。它容易計算,適合作為辨識重要詞語與進一步分析的起點,但不能取代對內容的理解。

TF-IDF 常見問答:網路觀點整理

一個詞出現在所有文件中,TF-IDF 會是多少?

依本文採用的公式,TF-IDF 為 0。因為每篇文件都包含這個詞,文件總數除以包含該詞的文件數等於 1,所以 IDF=log₁₀(1)=0。即使它在某篇文件中出現多次,TF 乘以 0 後,TF-IDF 仍為 0。這只表示在這套算法下,該詞無法用來區分集合中的文件,不代表它在語意上不重要。

罕見詞的 TF-IDF 高,就一定是文章關鍵詞嗎?

不一定。TF-IDF 能協助辨認重要詞語,但在整個文件集合中極少出現的詞,可能因 IDF 很高而顯得比實際更重要。解讀時應留意這個詞在文件中如何使用,而非只按分數排序。

TF-IDF 能判斷同義詞或片語的意思嗎?

不能只靠 TF-IDF 完成這件事。它根據詞語在文件及文件集合中的出現情況計算權重,不理解詞義或上下文,也不考慮詞序,因此處理同義詞、相似詞及片語時有困難。它可以作為找出重要詞語和進一步分析的起點,但不能取代語意判讀。

參考資料

  1. An Introduction to TF-IDF: What It Is & How to Use Itwww.semrush.com · 2024-02-28T12:28:00Z — 討論:一個詞出現在所有文件中,TF-IDF 會是多少?;罕見詞的 TF-IDF 高,就一定是文章關鍵詞嗎?
把問題繼續聊下去

一起討論 0 則留言

你遇到什麼狀況?留下問題或實作經驗,一起找到下一步。

目前還沒有留言,歡迎開始第一個討論。

留下你的想法

← 繼續找答案
聊聊你的需求

從你的品牌開始聊。

告訴我你的網站,以及你希望達成的目標。

用 LINE 聊聊 tony@procrustes.info