4月10日(RAG面试题1)

张开发
2026/4/10 9:53:49 15 分钟阅读

分享文章

4月10日(RAG面试题1)
考点1word与Pdf解析的差异结构化 vs 非结构化Word.docx属于有标记文档其内部使用 Open XML 格式直接存储了文本的组织结构信息如段落、表格、样式。PDF 通常是非结构化的它更侧重于展示效果字体、位置而非逻辑结构。解析难度Word 可以直接通过 API如python-docx获取段落、表格对象。PDF 往往需要依赖 OCR 或复杂的布局分析算法才能还原表格和文字顺序。考点2你们系统中需要同时支持wordpdf甚至未来的excel文件是如何设计一个可扩展的文档解析架构如果现在需要增加一个MD格式你的代码改动最小路径是怎样的统一接口所有解析器继承BaseExtractor强制实现extract()方法。返回标准化对象无论输入是什么格式解析器最终返回统一的Document对象包含文本、元数据、图片路径等。工厂/处理器模式extract_processor.py根据文件扩展名如.docx,.pdf自动路由到对应的解析器。扩展性新增 Markdown 只需三步新建md_extractor.py继承BaseExtractor实现extract()方法在extract_processor.py的路由表中注册.md后缀即可无需修改现有业务逻辑。考点3你们处理了“文件里嵌入的表格、数据公式以及图片”。在多模态RAG中对于 Word 文档里的图片你是如何处理的为什么要将图片保存为 HTML 标签映射image_map而不是直接丢弃或只存路径处理逻辑使用python-docx遍历文档元素。遇到图片时将其二进制流保存到指定目录image_folder。生成一个唯一的引用 ID并建立image_mapKey: 图片ID, Value: HTML标签/路径。设计原因保持上下文连贯性直接在文本流中插入占位符如img srcxxx确保后续文本分割Chunking时图片与其描述的段落不分离。多模态输入保留的 HTML 标签可以被后续的 LLM 或多模态模型识别实现“看图说话”。解耦解析阶段只负责定位和映射渲染阶段才负责展示。考点4在 RAG 系统中将 Word 和 PDF 解析后的结果统一封装成Document对象有什么好处标准化处理将不同格式的文档转化为统一内部表达形式便于后续处理内容提取从各种文档格式中准确提取文本内容和结构化信息扩展性通过模块化设计支持新文档格式的快速接入预处理为后续的文本分析、索引构建等操作提供干净的输入数据为下一步提取文本、文本分割向量化服务考点5PDF解析的挑战与优化PDF 侧重于视觉展示而非逻辑结构解析难点在于表格识别和文字乱序。基础解析首先使用pypdfium2或PyMuPDF按页提取文本块Text Blocks。布局分析对于复杂的表格单纯按行读取会丢失结构。我会引入 OCR 工具如 Tesseract 或 PaddleOCR对特定区域进行局部识别或者使用专门的表格检测模型Table Transformer来识别表格区域。结构化还原将识别出的表格转换为 Markdown 或 HTML 表格格式再嵌入到最终的文本中从而实现对 PDF 表格的有效解析。考点6跨页表格自动对齐的核心挑战表头重复每一页可能都包含相同的表头行列错位页面分割导致行或列不完整格式不一致不同页中的表格样式排版存在差异OCR识别误差尤其在扫描件中文字识别错误影响结构恢复考点7处理PDF中图片和表格的完整流程包含哪五个步骤步骤1布局预测步骤2文档格式检测步骤3文档格式识别步骤4OCR处理步骤5表格预测考点8文档提到跨页表格合并的第一步是“表头一致性检测”。除了文档中提到的“文本匹配”还提到了哪种更高级的方法为什么在跨页场景下这种方法可能比单纯文本匹配更有效高级方法除了“文本匹配”文档中还提到了语义向量Semantic Vector匹配。为何更有效抗干扰性强在跨页场景中单纯文本匹配对微小的视觉差异非常敏感例如页码“表 1-1” vs “表 1-1 (续)”、页眉页脚干扰或极细微的OCR识别错别字都可能导致文本完全匹配失败。语义鲁棒性语义向量方法通过将表头文本编码为高维向量计算向量间的相似度。只要表头的核心语义不变例如“客户编号”和“客户ID”即使字面表述略有差异模型也能判定它们属于同一张表从而显著提升跨页合并的成功率。考点9在“表格位置分析”环节文档提到了Bounding Box边界框。请解释如何利用Bounding Box来判断两个页面上的表格是否属于同一张表的逻辑连续性原理解析Bounding Box边界框是指表格在PDF页面中的坐标位置通常包含左上角和右下角的坐标。判断逻辑垂直连续性检查系统会比较前一页表格的底部Y坐标与后一页表格的顶部Y坐标。如果这两个值在物理位置上是紧密相连的即前一页表格结束的地方紧接着就是后一页表格开始的地方则视为空间连续。水平对齐检查同时会校验两页表格的左右边界X坐标是否大致对齐。综合判定若满足“垂直连续”且“水平对齐”结合文档布局分析Layout Analysis即可推断这两个物理上分离的表格实际上是同一张逻辑表格的延续。考点10在处理跨页表格时为什么要先进行“去重”再进行“拼接”如果顺序反了会有什么问题正确逻辑必须先去重移除重复表头再进行拼接。原因分析去重在前确保进入拼接阶段的数据流中只包含干净的数据行不包含冗余的表头信息这样拼接出来的长表格才是整洁的。顺序反了的后果如果先拼接再去重会导致最终生成的表格中出现大量的重复表头行因为每一页的原始数据都包含了表头。这不仅破坏了表格的结构化还会导致下游模型LLM在处理数据时产生困惑误以为这些是数据行或新的分类标题。

更多文章