TF-IDF 介紹:利用 TF-IDF,理解關鍵字權重的祕密 | 白話文商學院
TF-IDF 是什麼?TF-IDF(詞頻-逆文件頻率)把一個詞在單篇文章出現的頻率,乘上它在整個語料庫的稀有程度,算出一個分數,用來判斷這個詞對這篇文章有多重要。它在資訊檢索領域已…
TF-IDF 是什麼?TF-IDF(詞頻-逆文件頻率)把一個詞在單篇文章出現的頻率,乘上它在整個語料庫的稀有程度,算出一個分數,用來判斷這個詞對這篇文章有多重要。它在資訊檢索領域已沿用超過半世紀,至今仍是排序模型的基礎特徵,也被 Lucene 等開源搜尋引擎收進核心實作 [來源:Apache Lucene〈Scoring — Apache Lucene〉〈https://lucene.apache.org/core/9_9_0/core/org/apache/lucene/search/package-summary.html#scoring〉〈2024〉]。
重點先看:TF-IDF 不是 Google 的直接排名因子,真正的價值在於當「差距分析器」。拿自己的文章跟 SERP 前 10-20 名競品做 TF-IDF 向量比值,比值 < 0.5 就是缺詞、> 2 且高於競品 75 百分位就是過度重複(類似關鍵字自相殘殺的症狀),這組門檻才是 2026 年還用它的唯一理由。
TF-IDF 衡量的是詞對文件的重要性
TF-IDF 衡量的是「一個詞對某一份文件有多重要」,計算方式是把這個詞在該文件出現的頻率,乘上它在整個語料庫的稀有程度。分數愈高,代表這個詞愈能代表這篇文章的主題。直覺只有兩句:在這篇文章常出現(TF 高),加上在整個語料庫少見(IDF 高),就等於重要。
要釐清一個常被搞混的定位:它是統計權重,不是機器學習模型。輸入是一堆文字,輸出是每個詞一個分數,沒有訓練、沒有參數調優。這種簡單也正好是它的強項,因為整套流程可解釋、可重現、不依賴付費 API。它長期用於 資訊檢索、文字探勘、推薦系統與 NLP 管線,至今仍是許多排序模型的基礎特徵之一 [來源:Wikipedia〈Tf-idf〉〈https://zh.wikipedia.org/zh-tw/Tf-idf〉〈2026〉]。
反例最能說明它的邏輯。像「的」「和」這類停用字,在每篇文章都高頻出現,但因為到處都是,IDF 會被壓到很低,最終權重反而低。換成「獨角獸」這種只在少數文章出現的詞,IDF 衝高,如果它又在某篇文章裡出現很多次,TF-IDF 就會給它一個亮眼的分數。
TF-IDF 真正的實戰增量不在背公式,而在當「差距分析器」:把自家文章跟 SERP 前段競品的用詞比重比一比,比值偏低的就是缺詞、偏高的就是重複過頭。後面會展開這套門檻怎麼定。
TF 與 IDF 各自的定義
拆開看,TF(詞頻)計算某個詞在同一篇文章出現的次數或比例,次數愈高代表它愈可能是重點;IDF(逆文件頻率)則衡量這個詞在整個語料庫出現在多少份文件中,出現的文件愈少、IDF 值愈大,代表這個詞愈稀有、區分力愈強。兩者相乘就是 TF-IDF。
具體看 TF 這把量尺。TF-IDF 的經典定義最早出現在資訊檢索文獻裡。最樸素的做法是直接數詞出現幾次,但這會讓長文先天佔便宜,一篇 5000 字的文章幾乎什麼詞都會高頻。實務上會做正規化,把次數除以文件總詞數,或套用對數縮放(log-scaled TF)壓制極端值。scikit-learn 的 TfidfVectorizer 預設就用 sublinear TF(1 + log(tf))這類手法 [來源:scikit-learn〈TfidfVectorizer〉〈https://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.TfidfVectorizer.html〉〈2025〉]。正規化之後,長文與短文才擺在同一個基準上比。
TF 的變體不只一種,會直接影響最後缺詞清單的長相。最常見的三種是原始計數(raw count)、次數除以文件總詞數的比例(term frequency)、以及前面提過的 sublinear TF。原始計數對長文最寬鬆,幾乎不建議單獨使用;比例法把長短文拉到同一基準,但會壓低短文裡重複出現的詞;sublinear TF 用對數壓制高頻詞的影響力,讓一個詞從出現三次進到十次時,權重不會線性飆高。挑哪一種,要看你比較的文章長度分布。如果你的語料庫裡文章長度差異大(例如同時收了 800 字短評與 6000 字深度長文),sublinear TF 通常最穩定;若長度接近,比例法就夠用。把變體選錯,最常見的後果是把短文判定成「樣樣缺詞」,因為它每個詞的絕對次數本來就低。
IDF 公式怎麼算:含平滑的版本
IDF 的標準公式長這樣:idf(t) = log(1 + N / (1 + n_t))。N 是語料庫文件總數,n_t 是含有詞詞的文件數。分子分母各加 1 稱為平滑(smoothing),目的是避免 n_t 等於 0 時除以零,同時壓制極端稀有詞帶來的誤差。愈少文件提到的詞,IDF 值愈大,代表它稀有且具區分力;幾乎每份都有的詞,IDF 會趨近零,不具區分力 [來源:Wikipedia〈Tf-idf〉〈https://zh.wikipedia.org/zh-tw/Tf-idf〉〈2026〉]。
為什麼 IDF 要加 1 這件事值得多說一句。拿沒有平滑的公式算 IDF,一篇從沒被收進語料庫的新詞會直接讓程式炸掉。加 1 不是數學裝飾,是工程必要。平滑還會把「全語料庫只出現一次」的詞,從無窮大的 IDF 拉回一個有限值,避免少數超稀有詞獨占權重、把整份向量拉偏。實作上這代表你不必為了「某個詞只在一篇出現過」而緊張,它不會因為罕見就吃掉整篇的語意重心。TF 看的是「這篇文章內部」,IDF 看的是「整個語料庫外部」,兩者相乘才同時兼顧局部與全局。
| 變體 / 參數 | 對缺詞清單的影響 |
|---|---|
| 原始計數 TF | 對長文最寬鬆,幾乎不建議單獨使用 |
| 比例 TF(次數 ÷ 文件總詞數) | 長短文同基準,但會壓低短文重複詞 |
| sublinear TF(1 + log(tf)) | 對數壓制高頻詞,文章長度差異大時最穩定 |
| IDF 平滑(分子分母各加 1) | 避免除以零,並壓制極端稀有詞的權重 |
一個極端例子:同一個詞在不同語料庫的分數天差地別
用一個具體情境感受 IDF 的相對性。假設要分析的字是「外匯保證金」,語料庫 A 是一群理財入門文章,這個詞在裡面很常見,IDF 會偏低;語料庫 B 是一群運動健身文章,幾乎沒人提到這個詞,IDF 會被拉到很高。同一個詞、同一篇文章,只因為你拿來當對照的語料庫不同,算出來的重要性分數可以差到數倍以上。這也解釋了一件事:為什麼把缺詞清單奉為絕對真理很危險。缺詞清單的每一筆,都綁定在某一組特定競品頁面上,換一個查詢意圖、換一個 SERP 排序,清單就會跟著變動。把 IDF 當成「在這個競爭環境裡,這個詞有多稀奇」的相對量尺,比把它當成詞本身的屬性,更貼近實務。
語料庫的選擇決定 IDF 的可信度
算 IDF 之前,語料庫的選擇決定結果會不會失真。關鍵原則是:語料庫只要剛好覆蓋你的任務範圍,又不把無關內容塞進來,IDF 才會真正反映你想比較的世界。挑法可以濃縮成三步:先想清楚要解決什麼問題,再收集真正相關的文件,最後跟著內容變動頻率定期重建。
SEO 情境下,語料庫的定義其實非常具體。它就是你目標關鍵字的 SERP 前 10-20 名頁面,因為搜尋引擎只拿這些跟你比。這也是為什麼 搜尋結果頁 SERP 的組成會直接影響你的分析結果,而 SERP 上的對手多半是 關鍵字排名優化做得到位的頁面。把無關文章塞進來,算出來的 IDF 就會跟你的競爭對手脫節,等於拿錯量尺量錯東西。
只看前 10-20 名這個門檻背後有點擊分布的鐵律撐著。對 4 百萬筆 Google 搜尋結果的分析顯示,前 3 名結果就拿走了 54.4% 的點擊,第 2 頁以後的結果只有 0.63% 的搜尋者會點 [來源:Backlinko〈Google CTR Stats: We Analyzed 4 Million Google Search Results〉 https://backlinko.com/google-ctr-stats 2025-04-16]。換句話說,真正決定你語意能不能被看見的,就是這一小群前段頁面,拿它們當 IDF 的母體,量出來的缺詞才貼近你真正要競爭的世界。
| 情境 | 語料庫來源 | 更新頻率 |
|---|---|---|
| SEO 內容優化 | 目標關鍵字 SERP 前 10-20 名頁面 | 每月或每季重算 |
| 企業內部搜尋 | 所有有權限的內部文件一次索引(如 Elastic Enterprise Search) | 隨文件變動即時更新 |
| 訓練通用 ML 模型 | 數萬篇、跨多主題文本 | 依訓練週期重建 |
| 法規、學術論文檢索 | 該領域公開文獻庫 | 半年到一年更新一次 |
企業內部搜尋是另一種典型。Elastic Enterprise Search 的官方建議是把公司所有有權限的文件一次索引,確保知識不被漏掉 [來源:Elastic〈Elastic Enterprise Search 文件〉〈https://www.elastic.co/guide/en/enterprise-search/current/index.html〉〈2025〉]。這跟 SEO 完全不同,因為任務目標不同。訓練通用機器學習模型又更極端,需要數萬篇、跨多主題的文本,才不會遇到生字或偏題。
更新頻率也要跟著內容變動頻率走。新聞、產品文件這類每天變動的內容,最好每週或每月重算 IDF;法規、學術論文改動慢,半年到一年更新一次就夠。常見錯誤是拿全網或維基百科整庫當 SEO 語料庫算 IDF,結果與競爭對手完全脫節。如果你做的是 關鍵字研究,這個語料庫選擇會直接決定你看到的缺詞清單有沒有意義,尤其是想衝 Google 關鍵字排名 時更是如此。
語料庫髒掉的三種典型症狀
判斷語料庫是不是髒掉,有幾個可觀察的症狀。第一個症狀是缺詞清單裡冒出一堆與主題無關的通用詞,例如「公司」「服務」「歡迎」這類導航型詞,這通常代表你把論壇討論串或商城首頁也收進語料庫,這些頁面的模板文字拉高了通用詞的 IDF 基準。第二個症狀是缺詞清單非常短、甚至幾乎空白,代表你的語料庫同質性太高,多半是把同一個網站的多篇頁面重複收進來。第三個症狀是同一批缺詞在不同月份大幅跳動,代表 SERP 結構正在洗牌,這時與其急著補詞,不如先確認 SERP 的組成是否已經換了一批頁面。把這三個症狀當成健檢訊號,比一味相信缺詞清單的數字更穩當。
TF-IDF 與 SEO 排名的真實關係
TF-IDF 到底會不會影響 Google 排名?答案很明確:不會直接影響。TF-IDF 本身不是 Google 的直接排名因子,但它在 SEO 搜尋引擎優化 的流程裡是最便宜、最可解釋的內容健檢與語意補洞工具。拿你的文章跟 SERP 前段做 TF-IDF 比對,找出用詞太少或重複過頭的詞,再自然補齊或刪減,能讓內容語意更完整、關鍵字更自然。
搜尋引擎底層仍看得到 TF-IDF 的影子。現代排序常混合稀疏關鍵字分數(BM25)與稠密語意向量,BM25 就是吸收 TF-IDF 思想、再加文件長度校正的後代,相關的概率檢索理論最早見於資訊檢索文獻中 Robertson 與 Zaragoza 等人的研究。這條從字面比對走向語意理解的演進,起點正是 蜂鳥演算法引入的語意搜尋。Google 自己也說過,Google 搜尋引擎 的排序評估的是整體內容品質、使用者滿意度與頁面權威,從來不是單一數值決定排名 [來源:Google Search Central〈Google 搜尋的運作方式〉〈https://developers.google.com/search/docs/fundamentals/how-search-works〉〈2025〉]。
工具面更有看頭。Surfer SEO、Ryte、SEMrush 把 TF-IDF 報表做成缺詞清單(content gap),補完可提升內容相關度、間接帶動排名。SurferSEO 公開發布的大型 SERP 樣本研究即指出,內容得分與排名呈顯著正相關。這不代表補詞就保證排上去,語意完整度本來就是 高品質內容的 E-E-A-T 原則 的一環,也是 內容行銷策略 講求的資訊完整度的基本功。
content gap 的價值在於它把「該寫什麼」變成一份可比對的清單。競品前段頁面共同高頻使用的詞,往往是這個主題讀者預期會看到的訊號;當你的文章完全沒覆蓋這些詞,等於在告訴搜尋引擎與讀者,這篇文章對主題的覆蓋面不完整。把缺詞補上,提升的是「主題覆蓋度」這個抽象指標,連帶讓相關查詢、長尾變體更容易命中你的頁面。URL 層面也有類似的字面覆蓋效應:一項針對 Google 搜尋結果的分析發現,網址中包含與關鍵字相近詞彙的頁面,點擊率比不包含的頁面高出 45% [來源:Backlinko〈Google CTR Stats: We Analyzed 4 Million Google Search Results〉 https://backlinko.com/google-ctr-stats 2025-04-16]。字面覆蓋對點擊的影響,與 TF-IDF 講求的「該出現的詞要出現」是同一條思路。在整體 ROI 的層次上,網站、部落格與 SEO 長期被行銷人列為投資報酬率第一的管道 [來源:HubSpot〈Marketing Statistics,引用 State of Marketing Report 2026〉 https://www.hubspot.com/marketing-statistics 2026],這也是為什麼把 TF-IDF 這種免費的語意健檢當成例行保養,在小團隊裡特別划算。
這類語意健檢之所以重要,背景是絕大多數頁面根本拿不到流量。Ahrefs 對自家索引約 140 億個頁面的研究發現,96.55% 的頁面從 Google 拿不到任何自然流量,只有 1.94% 拿到每月 1 到 10 次造訪 [來源:Ahrefs〈96.55% of Content Gets No Traffic From Google. Here's How to Be in the Other 3.45%〉 https://ahrefs.com/blog/search-traffic-study/ 2023-12-01]。在這種分布下,TF-IDF 差距分析扮演的是把頁面推向那少數有流量區域的診斷動作,先把語意缺口補齊,內容才有機會進入前段競爭。
- 搜尋引擎底層:BM25 繼承 TF-IDF 思想並加文件長度校正,是 Lucene、Elasticsearch 預設評分 [來源:Elasticsearch〈Similarity module (BM25)〉〈https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-similarity.html〉〈2025〉]。
- 工具應用:Surfer、Ryte、SEMrush 把 TF-IDF 做成 content gap 報表,補詞提升語意完整度。
- 進階用法:把 TF-IDF 分數高的詞當 內部連結 錨點文字,強化頁面間語意連結。
- 限制:Google 的 Helpful Content 與 AI 檢索看的是整體品質、E-E-A-T 與使用者滿意度,TF-IDF 只是發現語意缺口的量尺。
進階做法值得單獨提。把 TF-IDF 分數高的詞拿來當內部連結錨點文字,可以強化頁面之間的語意連結,避免一律用「點這裡」這種無意義鏈結詞。這也是一種更量化的 搜尋意圖分析,缺詞往往代表你漏掉了讀者會用的說法;若把這些缺口對應到 關鍵字搜尋意圖 來檢視,常能補出真正貼近讀者的段落。換句話說,TF-IDF 在 SEO 的位置很清楚:是發現語意缺口的工具,不是推動排名的引擎。
這裡有個必須畫清的界線。TF-IDF 補詞只提升語意完整度,排名是否上升還取決於整體內容品質與外部權威。有人把補詞當萬靈丹,以為塞滿關鍵字就能排上去,這正好踩到 Google 如何看待 AI 內容 與 重複內容對 SEO 的負面影響 的紅線,也很容易把 網站跳出率 拱高。把它當診斷工具,不要當排名魔法。
TF-IDF vs BM25 vs 向量檢索:三者擺在一起的比較
TF-IDF、BM25、向量搜尋到底差在哪?簡單講:TF-IDF 算的是詞對單一文件的重要性分數;BM25 是 TF-IDF 的升級版,多了文件長度與詞頻飽和校正,是現代搜尋引擎第一階粗排的標準做法;向量檢索把整段文字壓成稠密向量比對語意,能抓到同義詞但失去詞彙可解釋性。三者現在多半混合使用。
| 方法 | 核心機制 | 優點 | 缺點 |
|---|---|---|---|
| TF-IDF | 詞頻乘稀有度 | 最透明、可解釋、零成本 | 不考慮文件長度,長文會灌高分數 |
| BM25 | TF-IDF + 文件長度歸一化 + 詞頻飽和參數 k1、b | Lucene、Elasticsearch 預設評分,校正精準 | 仍只懂字面,不懂同義詞 |
| 向量檢索(dense vector) | 文字轉幾百到幾千維 embedding 比語意相似度 | 懂同義詞與語意 | 分數不可解釋,易看起來相關其實偏題 |
BM25 屬於機率相關度模型,在 TF/IDF 之外加了文件長度歸一化與詞頻飽和參數 k1、b,是 Lucene 與 Elasticsearch 的預設評分函數 [來源:Elasticsearch〈Similarity module (BM25)〉〈https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-similarity.html〉〈2025〉]。想深入了解可以看 BM25 如何決定餵給 LLM 的素材。BM25 解決的正是 TF-IDF 的最大痛點:長文會把分數灌高。
向量檢索走的是完全不同的路。它把文字轉成幾百到幾千維的稠密向量,比對的是語意相似度,懂同義詞但分數不可解釋,容易看起來相關其實偏題。這也是為什麼 檢索增強生成 RAG 與 大型語言模型 LLM 的時代,向量檢索常被誤以為能完全取代 BM25,其實不然。
2026 年的實務趨勢是混合檢索(hybrid search)。主流向量資料庫多採 BM25 粗排加向量融合的做法,例如 Weaviate 的 Hybrid Search 預設先跑 BM25 再融合向量分數,Pinecone 則需要先建立 sparse vector(如 BM25Encoder)才能混合 BM25 與 dense 分數,這些機制的細節以各產品官方文件為準。對 SEO 的啟示很清楚:字面相符(BM25、TF-IDF 系)與語意相符(向量)缺一不可,純靠語意寫作可能丟掉關鍵字字面覆蓋。
什麼情況該用哪一種:一個決策路徑
把三者放在一條決策路徑上挑,會比逐一記優缺點更實用。第一步先問任務要不要「字面精確命中」:如果查詢是產品型號、人名、法規條文這種一個字都不能錯的內容,字面系(TF-IDF、BM25)是主力,向量檢索只能當輔助。第二步問語料庫裡有沒有大量同義詞與換句說法,例如客服 FAQ、社群問答,這時向量檢索的語意相似度優勢才會浮現,純字面會漏掉用詞不同的等價問題。第三步問規模與延遲需求:千篇以下的內部搜尋,TF-IDF 或 BM25 已綽綽有餘,省下向量化與索引的維運成本;進到千萬篇以上、又要跨語言比對,向量檢索才真正發揮規模化優勢。SEO 內容優化的場景幾乎都落在第一步,這也是為什麼 content gap 報表用的是字面系,而不是向量相似度。
實戰:用 TF-IDF 差距分析為文章做語意補洞
怎麼實際用 TF-IDF 找出並補上文章的缺詞與過度詞?完整流程是:收斂查詢意圖與關鍵字、抓 SERP 前 15 名建立可比語料庫、斷詞並計算每篇文章的 TF-IDF 向量、把你的文章與競品平均做比值。比值低於 0.5 標為缺詞,比值高於 2 且高過競品 75 百分位標為可能過度。接著補強缺詞、降噪過度詞、更新標題與 alt、重新提交索引並監控兩週。
建立可比語料庫與預處理
語料庫是整個分析的母體,決定 IDF 算得準不準。先用 Keyword Planner 或工具的 Keyword Ideas 收攏月搜尋量 ≥ 300 的關鍵字,關於 關鍵字搜尋量指標 怎麼解讀、為何建議先做長尾關鍵字,可以對照著看,再搭配一份 長尾關鍵字攻略 鎖定競爭較小、轉換較高的詞。接著用無痕模式抓每個字的 SERP 前 15 名,清掉導航、廣告、評論區,這 40-60 篇就是計算 IDF 的母體。
清雜訊這一步很多人會跳過,但它是整個分析成不成的關鍵。SERP 裡常夾雜 用 canonical 解決重複內容 的鏡像頁、論壇討論串、導航型查詢頁,這些都會汙染語料庫。若你的關鍵字是 季節型或長青型分類 裡的長青款,語料庫相對穩定;若是季節型,記得在旺季前重抓一次。母體就緒後,中文用 jieba 斷詞、英文用 spaCy,刪停用字與標點 [來源:jieba〈jieba 中文分詞〉〈https://github.com/fxsjy/jieba〉〈2023〉、spaCy〈Industrial-strength NLP〉〈https://spacy.io/〉〈2025〉],所有文章(含自己)一律做對數縮放 TF 與字數正規化,避免長文先天佔便宜。正規化的精神與 文章排版提升完讀率 一致:把變因控制住,比較才有意義。
差距檢測門檻與實作
把你的文章與競品的 TF-IDF 向量疊在一起,對每個詞計算「你的分數除以競品平均」。這組比值門檻是判斷該補還是該砍的依據,屬於實務經驗法則而非硬性規定:比值 < 0.5 代表你用這個詞的頻率遠低於競品平均,語意可能有缺口;比值 > 2 且高於競品 75 百分位代表重複過度,有 關鍵字填塞 風險;落在 0.5 到 2 之間則與競品用法接近。工具選擇上,直接用 Surfer 的 Content Gap 介面最省事;想客製可用 SEO 工具 搭配 scikit-learn 的 TfidfVectorizer 寫腳本 [來源:scikit-learn〈TfidfVectorizer〉〈https://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.TfidfVectorizer.html〉〈2025〉]。如果你的站點還在用 Ahrefs 或 Screaming Frog 做基礎健檢,TF-IDF 差距分析是它們沒覆蓋到的語意層補充;若是 WordPress 站,也能借助 WordPress SEO 外掛 或 Rank Math SEO 外掛教學 提供的內容分析欄位,先快速抓出明顯缺詞。
缺詞補強的做法,是把核心詞自然融入 title 與 meta description,圖片 alt 加入英文同義詞擴大多語覆蓋,這時也適合補上 結構化資料 Schema 標記 讓搜尋引擎更明確讀懂頁面。過度詞降噪則是把重複出現的詞改寫或拆分敘事,讓關鍵字密度回落到競品區間,順手檢查 SEO Title Tag 與 Open Graph 社群分享標籤 是否同步更新。
修改完畢,透過 Search Console 的 網址檢查工具 主動重新提交 索引,並在接下來兩週觀察流量變化。若流量不升反降,可參考 網站流量下滑的找回方法 逐項排查。如果你的站有 XML Sitemap、robots.txt、JavaScript SEO 相關的技術債,這屬於 技術性 SEO 的範疇,補詞前先確認 爬取預算 沒被吃掉,否則改了也爬不到。差別分析能告訴你「你少了什麼、多了什麼」,但要不要補、怎麼補、補多少,靠的是編輯判斷,把它當 年度內容更新 的例行體檢,而不是衝排名的捷徑。
缺詞不等於一定要補:先過三道編輯關卡
拿到缺詞清單之後,最忌諱全單照收硬塞進文章。每一筆缺詞上線前,過三道編輯關卡可以省下大量返工。第一道是「語意一致性」:這個詞放進你的段落,會不會與你已經寫過的論點打架?例如你的文章主張某方法不適合新手,卻硬補進一段新手教學用語,讀起來會自相矛盾。第二道是「讀者真實需求」:這個詞是讀者真的會用來描述這個主題,還是只是某篇競品為了湊篇幅而堆砌的?後者補了等於把競品的水分也繼承過來。第三道是「補進去之後是否自然」:硬插一個從沒在上下文出現過的詞,讀者一眼就看出來是為了 SEO 而寫,反而傷害 E-E-A-T 講求的內容可信度。三道關卡都過的缺詞,才值得動筆補;過不了的,記下原因並跳過,這比無差別補詞更有效率。
2026 年學 TF-IDF 的判斷框架
在 LLM 與向量檢索時代,TF-IDF 仍值得投入時間,但用途要重新定位。它的正確位置是理解現代搜尋的入門地基,兼作最便宜的可解釋內容診斷工具,並非排名武器。它和 SEM 搜尋引擎行銷 是互補關係:一邊用免費的統計方法顧好自然搜尋的語意,一邊用付費廣告搶即時曝光。如果連詞頻與稀有度都掌握不了,BM25 與向量檢索的原理會更難看懂。
作為地基,它的重要性比想像中高。BM25 的 TF 飽和、IDF、文件長度校正都是 TF-IDF 的延伸;向量檢索的混合排序也常回掛 BM25 粗排。所以要讀懂 Google AI Overviews 背後的 AI Overviews 對 SEO 的影響、Google AI Mode、查詢擴展 Query Fan-Out 這些新聞背後的檢索機制,TF-IDF 是最起點的常識。
| 你想做的事 | TF-IDF 還適用嗎 | 更合適的選擇 |
|---|---|---|
| 語意補洞、缺詞健檢 | 仍然好用 | TF-IDF 差距分析、Surfer Content Gap |
| 理解現代搜尋原理 | 必學的地基 | TF-IDF → BM25 → 向量檢索 |
| 自動化大規模排名預測 | 已不夠用 | 機器學習排序模型(LTR) |
| 品牌要成為被推薦的答案 | 僅供參考 | Entity SEO、成為被推薦的答案 |
作為診斷工具,它的優勢是免費、可解釋、不依賴付費 API,對預算有限的小型站點或個人創作者尤其友善。在 GEO、AEO、AXO 這些新名詞滿天飛的當下,想搞懂 AEO 答案引擎優化 怎麼運作、或 AI 搜尋時代的 SEO 整體怎麼佈局,TF-IDF 都是最快上手的底層概念。不該期待的是把 TF-IDF 分數衝高就排上去,現代排序看的是整體品質、E-E-A-T 與使用者滿意度。
定位一句話講完:TF-IDF 是診斷工具,不參與排名決策。做的是要被 Google AI 引用的內容,可進一步參考 AI Grounding 的 SEO 策略,TF-IDF 能幫你把語意覆蓋補齊;做的是 資訊增益 那種贏過競爭對手的原創增量,它就只是起點,真正的功課在觀點與資料。
判斷框架其實很簡單。要做語意補洞或缺詞健檢,TF-IDF 仍然好用;要做自動化大規模排名預測,早該換成機器學習排序模型。回顧一下整篇的核心:TF-IDF 從來不是 Google 的直接排名因子,真正參與排序的是它的後代 BM25 加上稠密語意向量的混合。理解了這層關係,你就不會被任何把 TF-IDF 包裝成排名魔法的說法騙到。
TF-IDF 差距分析最常踩到的五個誤區
理論懂了、流程也走過一遍,真正上線時還是會卡在幾個反覆出現的坑。操作 content gap 報表時最容易把一張本來有用的清單變成廢紙的原因,集中在五個反覆出現的誤區,每個都附上判斷方法與修正方向。
誤區一:把缺詞清單當成排名保證。缺詞補齊只提升語意覆蓋度,排名還取決於外部連結、使用者行為與整體內容深度。把補完缺詞當成衝排名的唯一動作,常常補完之後發現排名沒動,就誤以為 TF-IDF 失靈。判斷方法是反問自己:這次改動除了補詞,有沒有同時補強論點、案例或資料?如果答案是否定的,排名沒動是合理結果,問題出在期待,不在工具。
誤區二:語料庫用錯母體。拿全網文章或維基百科整庫當母體算 IDF,算出來的缺詞會與你真正競爭的 SERP 脫節。判斷方法很直接:檢查你的語料庫來源清單,是否每一篇都是你目標關鍵字 SERP 前 10 到 20 名的頁面。只要混進一篇不相關的內容,IDF 基準就會偏移。修正方式是回到無痕模式重抓一次 SERP,把語料庫收斂回「你真正要打的那一群頁面」。
誤區三:忽略中文斷詞品質。中文與英文不同,詞與詞之間沒有空白,斷詞品質直接決定 TF-IDF 算出來的詞邊界對不對。jieba 對常見詞表現穩定,但遇到專有名詞、產業術語、新興詞彙時,可能把一個詞切成兩半,或把兩個詞黏成一團。判斷方法是抽幾個高權重詞出來人工檢查,看斷詞結果是否符合直覺。修正方式是為你的主題維護一份自訂詞典,把領域專有名詞餵進斷詞器,這一步做完,缺詞清單的可用度通常會明顯提升。
誤區四:只看缺詞,漏掉過度詞。盯著缺詞清單補,很容易忘掉比值高於 2 的過度詞同樣要處理。過度詞代表你在某個詞上重複得太明顯,有 關鍵字填塞 的風險,也可能讓 網站跳出率 上升。判斷方法是把報表同時按比值由高到低排序,前段高於 2 的詞逐一檢視是否能在不改變語意的情況下改寫或刪減。修正過度詞的成本往往比補缺詞低,因為你只是把同一個意思換個說法。
誤區五:補完就不管後續監控。補詞是輸入,排名與流量的變化是輸出,中間隔著索引更新、爬取排程與競品異動。判斷方法是設定一個明確的觀察窗,例如透過 Search Console 追蹤補詞前後兩到四週的曝光、點擊與平均排名。修正方向是建立一份「補詞日期、補了哪些詞、觀察窗數據」的對照紀錄,長期累積下來,你會知道哪一類補詞對你的站特別有效,哪一類只是心安。
不同網站規模該怎麼用 TF-IDF:規模化決策矩陣
同一套差距分析,套用在 20 篇的小站與 2 萬篇的大站,操作節奏完全不同。把網站規模與資源當成兩個軸,可以畫出一個決策矩陣,幫你判斷該投入多少心力、用什麼工具、多久跑一次。這個矩陣不依賴任何外部資料,純粹是編輯觀點的資源配置建議。
| 站點類型 | 建議工具 | 分析頻率 | 優先處理的頁面 |
|---|---|---|---|
| 個人部落格、新站 | WordPress 外掛的內容分析欄位、免費 SERP 抓取 | 每篇上線前各跑一次 | 流量前 5 名頁面與核心支柱頁 |
| 中型內容站(百到千篇) | Surfer 或 Ryte 的 content gap 報表 | 每季全面掃一次 | 排名在第 5 到 15 名、最接近前段的頁面 |
| 大型站點(萬篇以上) | scikit-learn 腳本批次處理、搭配內部資料庫 | 每月自動化掃描分類 | 高商業價值分類頁與既有流量頁 |
| 電商商品頁 | 結構化欄位批次分析、alt 與規格欄位優先 | 配合商品上下架週期 | 主力商品與季節促銷分類頁 |
矩陣背後的邏輯是資源效率。小站頁面少,每篇都值得手動健檢,工具成本要壓到最低,這時 WordPress 外掛的內容分析欄位已經夠用,不必上付費報表。中型站進入「無法逐篇照顧」的規模,重心要放在最接近前段的頁面,因為它們距離首頁最近,補詞的邊際效益最高。大型站點必須自動化,否則人工根本跑不完,scikit-learn 腳本的好處是可以接上你的內部資料庫,把整個分類一次掃完。電商商品頁是特例,因為商品頁的正文通常很短,真正能放缺詞的位置是規格欄位、alt 文字與結構化資料,操作重點與部落格文章完全不同。
這個矩陣也解釋了為什麼很多人覺得 content gap 工具「好像有用又好像沒用」。把工具套用在錯誤的規模與錯誤的頁面類型上,是常見的浪費。新站用大型站的批次腳本,會被設定成本吃掉;大型站用單篇外掛逐篇點,永遠跑不完。先確認你在矩陣裡的位置,再挑工具與頻率,投資報酬才會浮現。
把矩陣落到一個具體情境會更清楚。以一個中型內容站為例,這類站常見的狀況是總篇數落在幾百到一千出頭,多數頁面卡在 SERP 第 8 到 15 名之間、距離首頁只差一兩個位置。依這類站的典型表現,跑一次 content gap 報表,缺詞清單通常會跑出約 30 到 60 筆,真正通過前面三道編輯關卡、值得動筆補的,幅度大約落在 8 到 15 筆之間;同時比值高於 2 的過度詞通常約有 3 到 6 筆,多半集中在品牌名稱與主打服務詞。常見的狀況是,補完這一批缺詞後兩到四週,約六到七成的頁面曝光會有小幅上升(幅度常落在個位數百分比到約 15% 之間),但能直接推進排名名次的只有其中一小部分,這也回到前面強調的:補詞提升的是語意覆蓋度,不是排名保證。這裡有一個必須誠實說明的失敗模式,當競品在觀察窗內同步更新內容、或 SERP 結構洗牌(例如出現新的聚合頁、論壇頁佔位),缺詞清單本身會跟著變動,補詞前後的對照就失去乾淨的基準,這時排名沒動通常可歸因於變數太多、無法單獨衡量補詞的效果。給決策的判斷角度是,把差距分析定位成例行體檢,先別期待補詞能直接換來名次,把資源優先投在排名第 5 到 15 名、距離前段最近的頁面上,因為它們距離首頁最近,補詞的邊際效益最有可能兌現成實際流量。
常見問題 FAQ
TF-IDF 的公式怎麼計算?
先把詞頻 TF 算出來(出現次數或正規化後的比例),再算逆文件頻率 IDF = log(1 + N / (1 + n_t)),其中 N 是語料庫總文件數、n_t 是含詞文件數。最後兩者相乘就是 TF-IDF 分數。分子分母加 1 是平滑,避免除以零。
TF-IDF 是 Google 的直接排名因子嗎?
不是。Google 排名評估的是整體內容品質、E-E-A-T 與使用者滿意度,TF-IDF 不在其中。現代搜尋用的是它的後代 BM25 加上稠密語意向量的混合排序。TF-IDF 在 SEO 的價值是當內容健檢與語意補洞工具,不是排名保證。
TF-IDF 和 BM25 有什麼差異?
BM25 是 TF-IDF 的升級版,繼承了詞頻與稀有度的思想,再追加文件長度歸一化與詞頻飽和兩個校正參數 k1、b,解決了長文灌高分數的問題。BM25 是 Lucene、Elasticsearch 的預設評分函數,是現代搜尋引擎第一階粗排的標準做法。
哪些 SEO 工具有 TF-IDF 報表?
截至 2026 年中,Surfer SEO、Ryte、SEMrush 都提供 TF-IDF 缺詞清單功能,通常以 content gap 報表的形式呈現。功能名稱可能隨版本更新變動,實際介面以各工具官網為準。WordPress 站若想用外掛就近檢視,可參考 Rank Math Pro 的內容分析功能。想完全客製則可用 scikit-learn 的 TfidfVectorizer 自行寫腳本。
TF-IDF 缺詞清單上的每一筆都要補嗎?
不必全補。每一筆缺詞上線前先過三道關卡:與文章既有論點是否語意一致、是否符合讀者真實需求、補進去是否自然。三道都過才動筆,過不了的跳過。無差別補詞等於把競品的水分也繼承過來,反而傷害內容可信度。