TF-IDF
TF-IDF关键词重要性打分
亦作、亦称:词频-逆文档频率 · Term Frequency-Inverse Document Frequency
TF-IDF(词频-逆文档频率)是信息检索领域最经典的词项权重计算方法,通过综合衡量一个词在单篇文档中出现的频繁程度以及在整个语料库中的稀缺程度,量化该词对文档主题的区分贡献。它简单高效、无需训练,至今仍广泛用于搜索召回、关键词提取与混合检索等场景。
概述
TF-IDF(词频-逆文档频率)是信息检索领域最经典的词项权重计算方法,通过综合衡量一个词在单篇文档中出现的频繁程度以及在整个语料库中的稀缺程度,量化该词对文档主题的区分贡献。它简单高效、无需训练,至今仍广泛用于搜索召回、关键词提取与混合检索等场景。
核心公式
TF-IDF 分值由两个因子相乘得到,各有直观含义。
- TF(词频):词 t 在文档 d 中出现的次数(或归一化后的比例),反映词在当前文档中的活跃程度。
- IDF(逆文档频率):log(语料文档总数 / 含词 t 的文档数),文档覆盖越广的词 IDF 越低,对区分意义的贡献越小。
- 最终得分:TF × IDF——在当前文档高频且在全库稀少的词(如专业术语)得分最高。
- 停用词天然抑制:「的」「是」等通用词出现于几乎所有文档,IDF ≈ 0,得分自动趋零,无需手工维护停用词表。
- 工程常见平滑:实践中常采用 log(N / (df + 1)) + 1 或加一平滑,避免 IDF 分母为零的异常。
发展脉络
TF-IDF 并非一人一时的发明,而是多代研究者接力完善的结果。
- 1957:Hans Peter Luhn 在 IBM 首次提出用词频衡量文档中词的重要性,奠定 TF 基础。
- 1972:Karen Spärck Jones 在《Journal of Documentation》发表论文,首次将 IDF 形式化为统计权重方案,论证稀有词应获更高权重。
- 1970s:Gerard Salton 在康奈尔大学将 TF 与 IDF 结合,纳入向量空间模型(VSM),TF-IDF 框架成型。
- 1994:Robertson 等人提出 BM25(Okapi BM25),引入词频饱和与文档长度归一化,成为稀疏检索工程标准。
- 2017 至今:Transformer 与大语言模型兴起,TF-IDF 转型为「稀疏检索」基线,在混合检索和 RAG 管道中与稠密向量检索互补。
优势与适用场景
TF-IDF 因其轻量与可解释性,在许多实际场景中仍是首选基线。
- 无需训练:直接从语料统计计算,无模型参数,部署门槛极低,适合冷启动场景。
- 完全可解释:每个词的得分有明确数学含义,易于调试与向业务方解释。
- 关键词提取:对文档内所有词计算 TF-IDF 后 Top-K 排序,即可得到高质量关键词列表。
- 稀疏检索效率:文档表示为高维稀疏向量,可与倒排索引结合实现毫秒级大规模检索。
- 混合检索基线:与语义向量(Dense Retrieval)并用,弥补后者对精确字面匹配的不足。
局限性
TF-IDF 的词袋统计本质决定了它无法感知词语的深层语义。
- 无语义理解:「汽车」与「轿车」被视为完全不同的词,同义词、近义词无法互通匹配。
- 忽略词序与上下文:基于词袋假设,丢失短语结构和句法信息,无法区分「不好」和「好」。
- 一词多义盲区:「苹果」在水果语境和科技语境中权重完全相同,无法消歧。
- 中文分词依赖:中文必须先分词,分词错误会直接污染权重,对新词和专业术语尤为敏感。
- 领域敏感:IDF 依赖语料分布,跨领域迁移时权重可能严重失准,需重新统计。
TF-IDF 与 BM25 的关系
BM25 可理解为在 TF-IDF 基础上做了两项关键工程修正,是当前稀疏检索的事实标准。
- TF 饱和:BM25 对词频引入饱和函数(参数 k₁),词频极高时得分增速趋零,避免高频词垄断排名。
- 文档长度归一化:BM25 引入参数 b 控制长度惩罚,使长短文档在同一基准上比较,TF-IDF 原始形式对此处理较弱。
- 概率基础更严格:BM25 源自二元独立概率模型,理论推导更完整;TF-IDF 更多来自启发式直觉。
- 工程替代:Elasticsearch、OpenSearch 等主流搜索引擎已将 BM25 设为默认排名函数,替代早期的纯 TF-IDF。
在现代 AI 中的位置
大模型时代,TF-IDF 并未消失,而是在 RAG 等架构中担任稳定的「稀疏端」角色。
- 混合检索(Hybrid Search):将 TF-IDF/BM25 稀疏分数与语义向量稠密分数加权融合,在精确匹配与语义理解之间取得平衡。
- RAG 召回阶段:用 TF-IDF 快速召回候选文档,再由交叉编码器(Cross-Encoder)或 LLM 精排,兼顾效率与效果。
- 特征工程基线:scikit-learn TfidfVectorizer 仍是文本分类等任务中数据量少、不引入大模型时的首选特征方案。
- 轻量边缘场景:在算力受限或低延迟要求的环境中,TF-IDF 是可落地、零推理成本的可靠选择。
常见误解
日常交流中容易听到的简化说法,未必准确,但能帮助理解误解从何而来。
- 「关键词重要性打分」
- 「传统搜索的老办法」
- 「词越稀有越重要」
相关术语
和本术语关联紧密的其他词条,便于串联理解。
🎯 考点练习
含该术语的高频面试题,含标准答案与追问。
- 初级概念查看详解 →
TF-IDF 如何衡量一个词的重要性?
TF-IDF = 词频 × 逆文档频率,凸显文档内高频而全局罕见的词,压低常见词。
- 初级概念查看详解 →
文本相似度计算有哪些方法?如何选型?
从字面(Jaccard/编辑距离/BM25)到向量(句向量 cosine)再到交叉编码器,按精度、速度、是否需语义逐层选型。
- 中级概念查看详解 →
搜索中的 Query 理解包含哪些任务?
Query 理解=纠错/分词/意图识别/类目预测/term weighting/紧急度/改写,把原始查询转成可检索的结构化意图。
- 高级系统设计高频查看详解 →
如何设计一个搜索排序(Learning to Rank)系统?
搜索排序 = 倒排/向量召回候选→L2R 模型精排,特征以 query-doc 相关性 + 点击行为为主,损失分 pointwise/pairwise/listwise。
延伸阅读
从知识库精选 3 篇文章,帮助深入理解该术语。
外部参考
维基百科:查看「TF-IDF」词条本页内容为本站原创撰写;维基百科链接仅作延伸参考。
