3. 金融文档解析与预处理面试题

在金融RAG岗位面试中,文档解析与预处理几乎是必问环节。面试官真正想确认的不是“你会不会调PyPDF”,而是你是否理解金融文档的非结构化陷阱:一份年报里既有跨页合并报表,又有脚注、附注、管理层讨论;一份合同里既有条款编号,又有手写签章和扫描件;一份研报里既有图表,又有分析师评级和免责声明。能否把这些内容稳定地转成可检索、可引用、可追溯的chunk,直接决定RAG系统的上限。

本章回答主线:先讲金融文档的异构性,再讲解析链路(版面分析→OCR→表格重建→语义切分→元数据标注),最后落到公司侧重点与追问应对。面试官最想听到的是“你如何定义解析成功的标准”,而不是“你用过哪些库”。

金融文档解析回答框架 文档类型识别 财报/研报/合同 版面与OCR 区域检测+识别 表格重建 跨页/合并单元格 语义切分 标题+表格+段落 元数据与溯源标注 页码/章节/表格ID/置信度 追问路径:解析失败如何降级?表格如何保结构?OCR置信度低怎么办? 加分点:可量化指标 + 业务影响 + 人工兜底机制

一、核心原理:金融文档为什么难解析

金融文档的难点不在“文字多”,而在结构语义与视觉语义分离。PDF本质是排版指令流,不是语义树。一份年报的合并资产负债表可能跨两页,表头只在第一页出现;研报的图表标题和正文混排;合同的条款编号可能用自动编号,提取后丢失层级。OCR场景更复杂:扫描件存在倾斜、印章遮挡、手写批注、低分辨率传真件。

面试中要区分三类解析目标:文本可读、结构可还原、语义可检索。很多候选人只做到第一层,但金融RAG要求第三层。例如“2023年归母净利润”这个query,如果表格被拆成散乱文本,检索会命中一堆无关数字。正确做法是保留表格的row/column header,把单元格值与其行列语义绑定。

二、方法流程:从PDF到可检索Chunk

一个可落地的金融文档解析链路通常包含以下步骤:

  1. 文档分类与路由:先判断是原生PDF、扫描PDF还是混合PDF。原生PDF走文本层提取,扫描件走OCR,混合件按页路由。
  2. 版面分析:用LayoutLM、YOLO或规则引擎检测标题、段落、表格、图片、页眉页脚、脚注区域。
  3. OCR与后处理:对扫描区域做方向校正、去噪、二值化,再识别。输出带置信度的文本块。
  4. 表格重建:检测表格线或无线表格,还原行列结构,处理合并单元格和跨页续表。
  5. 语义切分:按标题层级切分,表格独立成chunk并附带表名和表头,段落按语义边界切分。
  6. 元数据标注:记录来源文件、页码、章节路径、表格ID、OCR置信度、解析版本。
# 示例:表格chunk的元数据结构
{
  "chunk_id": "annual_report_2023_p45_table_2",
  "type": "table",
  "title": "合并资产负债表",
  "headers": ["项目", "2023年12月31日", "2022年12月31日"],
  "rows": [
    ["货币资金", "12,345,678", "11,234,567"],
    ["应收账款", "8,765,432", "7,654,321"]
  ],
  "page": 45,
  "section": "第三节 管理层讨论与分析",
  "ocr_confidence": 0.97,
  "parse_version": "v2.3"
}

三、案例/场景:财报、研报、合同与OCR的差异化处理

文档类型核心难点解析策略公司侧重点
财报跨页表格、附注、数字单位表格重建+单位归一+章节切分数字准确性、可溯源
研报图表混排、评级观点、免责声明版面分析+图表标题绑定+观点抽取时效性、观点可引用
合同条款层级、手写签章、扫描件OCR+条款编号还原+关键字段抽取合规、审计追溯
扫描件倾斜、印章遮挡、低分辨率预处理+OCR+置信度过滤+人工兜底召回率与准确率平衡

以财报为例,面试官可能追问:“如果合并报表跨了三页,你怎么保证表头不丢?”回答要点是:先检测表格区域,再判断是否为续表,通过表头相似度或表格ID关联,把跨页表格合并为一个逻辑表。如果无法自动合并,则在chunk中保留“续表”标记,并在检索时通过元数据关联。

加分回答:“我们会为每个表格chunk保留原始页码和坐标,检索命中后可以高亮回原文位置。金融场景下,用户不信任没有出处的数字。”

四、误区/复盘:面试中常见的失分点

  • 只谈工具不谈指标:说“用了PaddleOCR”不够,要说“表格结构还原准确率从72%提升到91%,人工复核量下降60%”。
  • 忽略降级策略:OCR置信度低于阈值时,应进入人工复核队列,而不是直接丢弃或强行入库。
  • 切分过粗或过细:把整份年报切成一个chunk会稀释检索精度;按固定字数切分又会切断表格和条款。
  • 不做单位归一:“万元”和“元”混用会导致数值问答错误,必须在预处理阶段统一。
  • 忽视页眉页脚:页眉页脚重复出现会污染检索结果,应在版面分析阶段剔除。

复盘提醒:面试官问“你们解析准确率多少”时,不要只给一个笼统数字。要分类型回答:文本提取准确率、表格结构还原准确率、OCR字符准确率、端到端问答命中率。不同指标对应不同优化手段。

最后,公司侧重点差异明显:券商/基金更关注研报和财报的表格与数字精度;银行/保险更关注合同、保单、扫描件的合规与审计追溯;金融科技公司更关注解析链路的工程化、吞吐量和成本。面试时如果能主动区分这些侧重点,并给出对应的技术选型,会显著提升专业可信度。