文本表示与特征
问题
文本如何转换为数值表示?TF-IDF 和 Word2Vec 的区别是什么?
答案
一、文本表示演进
二、稀疏表示
TF-IDF
- TF:词在文档中的出现频率
- IDF:逆文档频率,惩罚高频词(如 "的"、"是")
BM25
TF-IDF 的改进版,是搜索引擎的默认排序算法:
- 引入文档长度归一化
- TF 增长有上限(饱和函数)
三、稠密表示
| 方法 | 维度 | 上下文感知 | 特点 |
|---|---|---|---|
| Word2Vec | 100~300 | ❌ 静态 | 经典词向量 |
| GloVe | 100~300 | ❌ 静态 | 全局统计 |
| ELMo | 1024 | ✅ | 双向 LSTM |
| BERT | 768 | ✅ | Transformer 双向 |
| 现代模型 | 768~4096 | ✅ | 更大更强 |
四、对比
| 对比维度 | TF-IDF | Word2Vec | BERT Embedding |
|---|---|---|---|
| 表示维度 | 词汇表大小(稀疏) | 100~300(稠密) | 768+(稠密) |
| 语义信息 | ❌ | ✅ 词级 | ✅ 句子级 |
| 上下文 | ❌ | ❌ | ✅ |
| 训练成本 | 低 | 中 | 高 |
| 适用场景 | 关键词匹配、检索 | 语义相似度 | 高质量语义任务 |
常见面试问题
Q1: Word2Vec 的两种训练方式?
答案:
- CBOW:用上下文预测中心词(适合小数据集,高频词效果好)
- Skip-gram:用中心词预测上下文(适合大数据集,低频词效果好)
Q2: 搜索场景中 TF-IDF/BM25 和向量检索如何选择?
答案:
- 关键词精确匹配:BM25 更好(专有名词、型号等)
- 语义搜索:向量检索更好(同义词、意图理解)
- 最佳实践:混合搜索(BM25 + 向量检索,加权融合),这也是 RAG 系统的标准做法