TF-IDF与n-gram还有用吗?Maths, CS & AI Compendium经典NLP技术解析
【免费下载链接】maths-cs-ai-compendiumBecome a cracked AI/ML researcher/engineer with this unconventional textbook covering maths, computing, and ML with intuition.项目地址: https://gitcode.com/GitHub_Trending/mat/maths-cs-ai-compendium
在深度学习和大语言模型时代,很多人问:TF-IDF、n-gram 语言模型这些经典 NLP 技术真的被淘汰了吗?开源教材Maths, CS & AI Compendium(数学、计算机与 AI 手册)用直觉优先的方式给出了答案:它们不仅没死,反而是现代搜索、检索增强生成(RAG)和无数生产系统的"隐形骨架"。本文将带你快速吃透词袋模型、TF-IDF 加权、n-gram 预测与困惑度,看懂这些经典技术背后的数学直觉,以及它们今天仍然有用的真实场景。
一、TF-IDF 为什么能分清"重要词"和"口水词"?
在大词向量出现之前,NLP 用**词袋模型(Bag-of-Words, BoW)**把文档变成"单词计数"向量:词汇表有多少词,向量就有多少维,每个位置记录该词出现的次数。
词袋模型有个致命弱点:它对所有词一视同仁。"the" 和 "revolutionary"(革命性的)权重相同——这显然不合理。
TF-IDF(词频-逆文档频率)就是为了解决这个问题而生的:
TF-IDF(t, d) = TF(t, d) × IDF(t)
- TF(词频):词t在文档d里出现得越多,贡献越大;
- IDF(逆文档频率):$\text{IDF}(t) = \log \frac{N}{|{d: t \in d}|}$。一个词出现在几乎所有文档里(比如 "the"),IDF 趋近于 0,权重被压到最低;只出现在少数文档里的词,IDF 高,说明它对那篇文档很有"区分度"。
一句话记忆:在本文高频、在全局低频 = 重要。用 TF-IDF 向量配上余弦相似度,就构成了经典信息检索与搜索引擎的数学基础。
📄 完整推导与从零实现的 TF-IDF 余弦相似度检索见:chapter 07 - computational linguistics/02. text processing and classic NLP.md
二、n-gram 语言模型:用"数数"预测下一个词
n-gram 模型回答一个问题:一个词序列出现的可能性有多大?
完整公式需要记住所有历史,不现实。马尔可夫假设把历史截断到前 $n-1$ 个词:
- 二元模型(bigram, n=2):只根据上一个词预测下一个词,$P(w_i \mid w_{i-1}) \approx \frac{\text{count}(w_{i-1}, w_i)}{\text{count}(w_{i-1})}$
- 三元模型(trigram, n=3):根据前两个词预测,精度更高、代价也更大
两个绕不开的概念
1. 困惑度(Perplexity):衡量语言模型"被测试集惊到的程度"。困惑度越低,模型预测能力越强——均匀分布 10,000 词表时困惑度是 10,000,好的 bigram 约 200,现代神经网络语言模型已跌破 20。
2. 平滑(Smoothing):训练时没见过的 n-gram 概率为 0,会让整句概率归零。Kneser-Ney 平滑是经典解法:它引入"续接概率"——统计一个词能跟在多少个不同词后面。比如 "Francisco" 几乎总跟在 "San" 后面,即使 "San Francisco" 很常见,也不会被模型在别的语境下胡乱预测。
n-gram 快、可解释、无需训练(只需统计),曾是统治几十年的技术;短板是无法捕捉长距离依赖——"The keys that I left on the tablearemissing" 需要知道远处的主语 "keys" 是复数。
三、对比视角:从 TF-IDF 到词向量,变了什么?
| 维度 | TF-IDF | n-gram | Word2Vec / 大模型 |
|---|---|---|---|
| 词表示 | 稀疏向量(每词一维) | 概率表 | 稠密低维向量 |
| 语义 | 无(纯计数) | 弱(局部共现) | 强(类比、语义关系) |
| 训练 | 不需要 | 不需要(统计) | 需要 |
| 速度 | ⚡极快 | ⚡极快 | 🐢较慢 |
| 可解释性 | 高 | 高 | 低 |
关键洞察:Word2Vec 的 Skip-gram 在收敛时,向量点积恰好近似平移点互信息矩阵——它做的本质上是 TF-IDF/共现矩阵那套思路的可扩展在线版本。经典统计方法并不是被"打败"了,而是被"吸收"了。
四、实战判断:什么时候该用经典 NLP 技术?
✅优先用 TF-IDF / n-gram 的场景
- 搜索引擎、关键词检索、日志/文本聚类(快、省、稳定)
- RAG 检索的第一层:向量召回前用 TF-IDF/BM25 做粗筛,是主流工程标配
- 拼写纠错、模糊匹配(编辑距离 + 词典统计)
- 小数据、低资源、无 GPU 的边缘环境
- 需要可解释结果的业务审计与面试讲解
❌该交给神经网络的场景
- 语义理解、情感、翻译、长文生成
- 需要上下文消歧的下游任务
💡一句话总结:n-gram 教会了模型"数概率",TF-IDF 教会了模型"分权重"——这两课,大语言模型至今还在上。
五、学习路线与资料索引
推荐按以下顺序学习(只需初等数学和基础 Python):
- 📘 chapter 07 - computational linguistics/02. text processing and classic NLP.md —— 分词(BPE/WordPiece)、TF-IDF、n-gram、平滑、POS 标注与 NER
- 📘 chapter 07 - computational linguistics/03. embeddings and sequence models.md —— Word2Vec/GloVe 如何继承并超越词袋思想
- 📘 chapter 07 - computational linguistics/04. transformers and language models.md —— 现代 Transformer 语言模型
- 📗 全书总览与章节导航:README.md
- 📄 快速摘要版内容索引:llms.txt
项目还内置了一个MCP 服务器(mcp/),可让 AI 助手把整个 Compendium 当作知识库直接查阅概念,学习时非常顺手。
🔗 相关配图:images/bag_of_words.svg、images/markov_chain.svg
经典不等于过时。理解 TF-IDF 的"区分度"直觉和 n-gram 的"马尔可夫近似",你才能真正读懂现代 LLM 站在哪些肩膀上。
【免费下载链接】maths-cs-ai-compendiumBecome a cracked AI/ML researcher/engineer with this unconventional textbook covering maths, computing, and ML with intuition.项目地址: https://gitcode.com/GitHub_Trending/mat/maths-cs-ai-compendium
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考