通义听悟升级,超长音视频自由问
多位专家签署《北京AI安全国际共识》
百川智能、北大成立“通用AI联合实验室”
实在Agent智能体公测招募
Stability AI推出3D视频生成模型
英伟达:发布AI旗舰芯片Blackwell GPU
OpenAI CEO:GPT-5能力提升将超乎想象
今天主要针对Langchain的文档切分中4个难点进行展开
如果分片长度设置得太小,会导致一级标题下的段落二、三失去了与一级标题相关的重要信息。文档问答过程中,“系统主要的内容构成是什么?”
,可能RAG只会检索到组件1,因为组件2和3由于分片长度的限制未能归入同一文本块内。然而,增加文本分片的长度又会增加LLM带来的冗余噪声信息,从而影响模型的回答准确性,尤其是对于一些开源LLM,其对上下文长度的支持和语义理解相对较弱。
使用RAG+LLM
进行知识问答时,当知识内容较多时检索成本高,需要遍历所有文本块。
使用关键字提问
时,RAG可能检索不到相关文本,需要补全问题描述。
如何将多模态知识(如包含图表
的pdf、ppt等)加入知识库并进行知识问答?
答案:语义切分
。语义切分方法主要包括以下两种:
篇章分析:利用自然语言处理的篇章分析工具(discourse parsing),提取段落间的主从关系,并将所有相关段落合并成一段,确保每个文本分块都在表达相同的事情。
BERT判断段落相似度:除了 discourse parsing 的工具外,BERT-base-Chinese模型在预训练中采用了NSP(next sentence prediction)任务,因此可以完全判断两个句子(段落)是否具有语义上的衔接关系。可以设置相似度阈值,依次判断相邻两个段落的相似度分数是否大于阈值,若大于则合并,否则断开,本质上就是段落分割。推荐:阿里的SeqModel模型,可直接用modelscope调用。
利用层次检索
或树形检索
的方式,对应方式如下图所示:
篇章分析获取的文本块具有层次依存关系,检索时可以按照上至下的顺序进行,并配合剪枝策略。对于BERT段落相似判断,由于没有依存关系,需要使用LLM进行总结和摘要。2024年斯坦福大学提出的RAPTOR方法,是对固定长度分割后的文本块进行语义聚类,然后使用LLM总结摘要,生成摘要embedding作为树的节点。
在这三种层次结构中,由于语义切分后的文本块可能很长,所以采用固定长度分割可以避免引入冗余文本。如果检索成本不是问题(例如并行检索),那么可以将层次结构压平后进行检索。
对此公开资料有一些解决方案:
引入追问机制
:在Prompt中加入"如果无法从背景知识回答用户的问题,则根据背景知识内容,对用户进行追问,问题限制在3个以内
"。这个机制主要依靠大模型的能力。不过可以改善了问答体验,用户在多轮引导中逐步明确了自己的问题,一般都能得到合适的答案。如果多轮引导后还是回答不出来,兜底:结合猜你所想给出已知的高频QA推荐。
关键词抽取
:利用NLP技术(句法分析、NER、依存分析、语义角色标注、关键词提取等)抽取关键信息,将其加入到层次检索的顶部。先检索关键信息,再检索相应内容
。缺点是如果用户提问的信息未被提前抽取,就无法检索到。
RAG-Fusion
:使用LLM优化用户查询,改写输入查询,并丰富召回结果。将召回内容通过倒排融合(Reciprocal rank fusion, RRF)
得到统一得分,然后重排取 TOP k
检索结果。RAG-Fusion的缺点是耗时
,因为需要多次提问。
混合搜索
:这是一种值得尝试的低成本高收益方案,将字面相似
的传统搜索算法(Best Matching 25, BM25)与向量相似性
检索相结合,实现混合搜索。可以采用加权融合
分数、取各自top k
检索后并集 或 RRF+Rerank
等方法。答案:多模态模型
,通过prompt技术
提取文档中图片的关键信息
,形成摘要描述
作为图片索引
。缺点是多模态模型对图片描述的细致程度可能影响索引的质量。实际上可以将图片、表格、ppt都视为图片,使用多模态模型
和OCR模型
分别抽取摘要描述和源数据中的数据和文本要素,整理后作为源数据的知识分片。
今天我们主要针对RAG中文本切片的难点进行了一一解答,后面我会从文本版式解析展开说一下相关关键技术。
欢迎关注,一起进步一起成长