RAG-day6
一、文本预处理
- 作用:清洗原始文档,去除无效干扰内容,提升后续分块、检索准确率。
- 常见操作:去空格、去换行、去乱码、去广告冗余、统一格式、过滤特殊符号。
二、分词与语义预处理
- 中文不能单纯按英文空格切割,需要做中文分词。
- 目的:让模型读懂语义边界,避免把完整词语拆碎。
三、向量化细节考点
- 只有有语义价值的文本才做嵌入向量化。
- 无意义短句、乱码、重复冗余内容,可直接过滤不入库,节省向量库空间和 Token。
四、相似度检索原理
- 文本转向量后,在向量库计算余弦相似度。
- 相似度越高,语义越相近,越优先召回。
五、RAG 常见召回问题
- 语义相似但事实无关:靠重排序 Rerank过滤。
- 提问太简短、语义模糊:靠查询改写优化。
- 分块不合理导致信息不全:靠重叠分块、递归分块优化。
六、RAG 评估指标(面试常考)
- 召回率:相关片段有没有被找出来。
- 精准率:找出来的片段是不是都相关。
- 答案可用性:最终大模型回答是否准确、完整、无幻觉。
1. RAG 和 NLP 本来就是包含关系
RAG 属于 NLP 大模型应用分支你说的jieba 分词就是最基础的传统 NLP 技术。
2. 为什么感觉很像?共同点
- 都要处理中文文本
- 都要做分词、清洗、去符号、去冗余
- 都要理解语义、上下文
- jieba 分词、文本清洗、分句,都是 RAG 文本预处理里要用的东西
3. 区别一句话分清
- 传统 NLP:靠规则、分词、语法、关键词匹配
- 大模型 RAG:底层依然用 NLP 预处理,上层靠嵌入向量 + 大模型语义理解
4. 实际工作里真实关系
做 RAG 前置预处理,经常用到:
- jieba 分词
- 去停用词(的、了、啊这种无意义词)
- 分句、合并短句、清理乱码、正则清洗
就是你熟悉的前端正则 + NLP 分词,全部用在 RAG 文档预处理里。
5. 给你一句必背
RAG 底层依赖 NLP 基础技术,文本清洗、分词、分句都属于传统 NLP,是 RAG 预处理的必备步骤。
RAG 里什么时候用 Jieba 分词、什么时候不用
一、什么时候要用 Jieba 分词
做关键词检索的时候向量检索靠语义,关键词检索要靠分词拆词,比如用户问:“前端怎么学 RAG”Jieba 分出:前端、怎么、学、RAG,再去库里面匹配关键词。
文本预处理、去停用词先分词 → 删掉 “的、了、吗、啊” 这类无意义停用词,减少噪音,提升检索精度。
短问句、口语化问句拆分用户提问很短、很口语,用 Jieba 分词拆出核心实词,方便查询改写、关键词匹配。
传统倒排索引、ES 检索ES 做全文检索必须分词,RAG 多路检索里ES 关键词检索必用 Jieba。
二、什么时候不用Jieba 分词
给嵌入模型做向量化的时候嵌入模型(Embedding)自带中文语义理解,不用你手动分词,直接整句丢进去就行,手动拆词反而破坏语义。
大模型 Prompt 拼接上下文的时候直接原文片段喂给大模型,不能随便分词切割,会破坏语句通顺和语义。
长文档整块分块时递归分块、重叠分块、父子分块,按段落 / 标点切,不需要 Jieba 参与。
三、一句话背面试版
RAG关键词检索、文本去停用词、ES 倒排索引要用 Jieba 分词;Embedding 向量化、给大模型喂上下文不用 Jieba 分词。
四、顺带帮你串起来
RAG 工业级多路检索:向量检索(不用分词) + ES 关键词检索(要用 Jieba 分词)刚好把两种场景都用上了。
ES 倒排索引
1. 先懂:正向索引(我们正常思维)
正向索引:文档 → 里面有哪些词例子:文档 1:我想学 RAG文档 2:前端转行 AI
就是按「文章」找「里面的词」。
2. 倒排索引(反过来)
倒排索引:词 → 出现在哪些文档里例子:RAG → 文档 1前端 → 文档 2AI → 文档 2
把顺序倒过来了,所以叫倒排索引。
3. 生活类比
正向索引:看每个人的书包里有什么书。
倒排索引:每一本书,分别在谁的书包里。
4. ES 为什么要用倒排索引?
ES(Elasticsearch)做全文检索,你搜一个关键词,它一秒找到所有包含这个词的文档,全靠倒排索引。
5. 和 RAG 的关系
RAG 里多路检索常用:
- 向量检索:靠语义相似度
- ES 关键词检索:靠倒排索引 + jieba 分词
先用 jieba 把问句分词,再去 ES 倒排索引里匹配含这些词的文档。
6. 一句话背面试
倒排索引就是把「文档包含哪些词」反转成「词对应哪些文档」,ES 靠它实现快速全文关键词检索。
ES 全称 & 释义
ES = Elasticsearch拆分记:
- Elastic:有弹性的、灵活的
- Search:搜索
直接记住:ES 就是 Elasticsearch,一款分布式全文搜索引擎
放到 RAG 里一句话理解
RAG 里用 ES 做关键词检索,靠倒排索引 + Jieba 分词,和向量检索搭配做多路检索。
我顺便给你记个面试常考短句:RAG 多路检索 = 向量语义检索 + ES 关键词倒排检索
