4月12日(RAG2)

张开发
2026/6/4 15:27:15 15 分钟阅读
4月12日(RAG2)
考点11假设你在使用该方案处理一份扫描版PDF年报时发现跨页合并后的表格数据出现了严重的“行列错位”Row/Column Misalignment。结合文档提到的“OCR识别误差”和“格式不一致”挑战请分析可能导致该问题的原因并提出至少两种解决方案。问题现象跨页合并后出现 Row/Column Misalignment行列错位。结合文档的原因分析OCR识别误差主要原因扫描版PDF通常分辨率不高或存在噪点。OCR引擎在识别时可能因为字符粘连或断裂导致无法准确识别单元格的边界从而将本应属于同一行的文字识别到了不同行或者列分隔符丢失。格式不一致次要原因年报文档可能在不同的页面使用了微调过的表格模板如列宽微调导致TSR表格结构识别算法在跨页对齐列时找不到完美的对应关系。解决方案预处理增强Preprocessing在送入OCR之前对PDF图像进行二值化和纠偏处理。去除背景噪点拉直表格线条能显著提高OCR引擎对单元格边界的识别准确率。动态列锚点校准在算法层面不依赖固定的像素坐标而是采用基于内容的列锚点检测例如优先找到“金额”、“日期”等关键列的表头位置以此为基准重新对齐各列而不是强行对齐物理边框。考点12布局OCR方式识别请简述这种结合方式的优势并说明为什么这种方式能“提高RAG溯源的能力”结合方式的优势传统的纯OCR是将整个页面当作一段无结构的文本流处理会丢失表格的二维结构。布局OCR首先通过布局分析Layout Analysis定位出“这里是表格区域”然后仅对该区域应用OCR。这种分治策略不仅提高了OCR的专注度减少干扰还能保留表格的行列逻辑结构。如何提高RAG溯源能力结构化输出该方案能将表格转换为JSON或Markdown这些格式天然带有索引信息。精准定位当RAG系统在回答问题时引用了表格中的数据它可以精确到“第X页第Y行Z列”甚至能高亮显示PDF原文中的对应区域。这种基于坐标的引用远比纯文本片段更能让用户信服实现了真正的“溯源”。考点13在RAG系统中“术语混淆”是如何产生的请列举至少三个主要原因。术语混淆主要源于以下几个方面术语多语义一词多义同一个缩写或词语在不同语境下含义完全不同。例如文档中的例子“CPU”既可以指计算机硬件中的“中央处理器”也可以指业务分析中的“每单位成本”。同义词与近义词泛滥同一概念有多种表达方式如“机器学习”又被称为“ML”或“AI算法”。如果系统只认其中一种就会导致检索不到相关内容。领域差异与企业黑话不同行业、甚至同一组织内的不同部门对同一词汇的定义可能不同。通用模型难以区分这些细微差别从而导致检索和生成结果偏离预期。考点14构建结构化的术语词库通常包含哪些关键字段“上下文标签”为什么重要标准术语Term统一的规范用词如“卷积神经网络”别名Synonyms同义词、缩写、俗称如[CNN, ConvNet]定义Definition术语的准确解释上下文标签Context Tags术语常见的使用场景如[图像识别, 深度学习]所属领域Domain示例用法Usage Example禁用词/误导词Stop Words上下文标签的重要性它是消歧的核心依据。当系统遇到“CPU”这种多义词时会检查上下文是否包含“硬件”“电脑”或“成本”“财务”等标签从而判断应映射到哪个标准术语避免语义错位。考点15简述术语词库与RAG系统集成的主要流程预处理阶段对原始文档和用户查询进行术语抽取、标准化如“ML” → “机器学习”和上下文分块。术语词库构建设计词库结构建立术语、别名、定义、上下文标签之间的映射关系并进行版本管理。嵌入与向量化将标准术语和别名转换为向量如使用 SentenceTransformer构建 FAISS 等向量索引并可进行领域适配微调。检索增强在检索环节进行查询扩展、混合检索BM25 向量检索、重排序和元数据过滤提高召回率和准确率。生成控制与评估通过提示工程、结构化输出等手段控制生成内容中的术语使用并利用 LLM-as-a-Judge 或用户反馈持续优化词库和系统。考点16请分别解释“查询扩展”和“混合检索”在解决术语一致性问题上的作用查询扩展Query Expansion利用 LLM如 MultiQueryRetriever或词库将用户输入的查询扩展为多个语义等价或相关的变体。例如将“ML 模型”扩展为[机器学习模型, AI算法, ML模型]目的是提升召回率确保即使文档中使用的是同义词也能被检索到。混合检索Hybrid Retrieval结合BM25关键词检索与FAISS向量检索BM25 负责精确匹配专有名词如“CNN”向量检索负责语义匹配近义词或上下位词如“图像识别” ≈ “视觉识别”二者互补兼顾字面准确性和语义泛化能力。考点17文档中的 Python 代码如何处理像“CPU”这样具有多重含义的术语TerminologyProcessor类通过以下逻辑处理歧义一对多映射在 _build_mappings()阶段一个别名如 cpu会映射到多个术语条目硬件 CPU 与业务 CPU。上下文窗口判断在 standardize_text()中当检测到别名对应多个条目时截取匹配词前后 context_window大小的文本片段检查该片段中是否包含某一条目的 上下文标签或标准术语默认回退若上下文仍无法判断则默认使用第一个匹配的术语条目保证系统不崩溃。考点18什么是 HyDE假设性文档嵌入它如何帮助解决查询中术语模糊的问题HyDEHypothetical Document Embedding是一种先生成、再检索的方法生成假设答案利用 LLM 针对用户的模糊查询例如“那个处理图片的 NN”生成一个理想化的、术语规范的假设文档。向量检索使用该假设文档的嵌入向量去向量库中检索真实文档。这样可以拉齐查询与文档之间的语义差距即便用户用词不规范也能通过假设文档“翻译”为标准术语空间从而提高检索相关性。考点19在构建 FAISS 索引时代码不仅索引了标准术语还索引了什么为什么除了标准术语外代码还索引了同义词 / 别名Synonyms。原因实现双向对齐。用户搜索 “CNN” 时能命中包含 “卷积神经网络” 的文档用户搜索 “卷积神经网络” 时也能命中包含 “CNN” 的文档这样可以最大程度避免因表述差异导致的漏召回。考点20使用 Pydantic 模型进行“结构化输出”对术语一致性有什么好处相比传统字符串输出结构化输出具有以下优势强制约束格式与内容LLM 必须按照预定义的 Schema 返回字段如standard_terms_used减少随意发挥和幻觉。便于自动化验证可直接通过程序校验生成结果是否符合术语规范方便接入后续的评估与监控系统。结构化数据流转输出不再是纯文本而是可被下游系统消费的 JSON / 对象利于二次处理和展示。

更多文章