当查询为“对比去年财报净利润”时,如何自动定位表格并抽取对应单元格?
解读
这是一道典型的**“大模型+文档理解”落地题**,面试官想验证三件事:
- 能否把自然语言查询转成可执行的结构化检索意图;
- 在无标注、版式多变的财报 PDF/扫描件里,如何先找到目标表格再精准抽单元格;
- 能否把抽取结果与大模型推理无缝衔接,给出可信、可追溯的答案。
国内财报往往以PDF 扫描件为主,表格线残缺、跨页、合并单元格普遍,且“净利润”可能叫“归属于母公司股东的净利润”“净利润(含少数股东损益)”等,同义词和年份口径都需要处理。整个链路必须在LLMOps 框架内跑通,兼顾准确率、延迟、可解释性与合规留痕。
知识点
- LLM-based Semantic Parser:用百亿参数模型做 Query 理解,输出〈指标, 年份, 对比操作〉三元组,解决中文指代消解与同义词映射。
- 版式分析(Layout Detection):国产模型如PP-StructureV2、LayoutLMv3-chinese检测Table Region,区分财务附注表、审计意见表、董事会报告等噪声区域。
- 表格结构还原(Table Structure Recognition):对无线表采用Cycle-CenterNet或SLAN恢复行列关系,拿到HTML 序列或Markdown 网格。
- 单元格语义对齐(Cell Grounding):用对比学习把“净利润”向量与表头、表尾、附注文本做双向最大相似匹配,解决跨行列合并导致的Cell 漂移。
- 年份对齐与口径归一:构建财务指标知识图谱,把“去年”“2022 年度”“上期发生额”统一映射到2022-12-31这一会计期间节点,并标记合并报表口径与母公司口径。
- 数值抽取与一致性校验:用正则+规则+大模型二次校验三重保障,识别括号代表负数、千分位逗号、单位“万元/元”,并做勾稽平衡(净利润=利润总额-所得税)。
- LLMOps 服务化:把上述流程封装成可调用的抽取算子,通过提示工程模板让大模型只改不写,杜绝幻觉,输出JSON with Provenance(包含页码、表格 ID、单元格坐标、截图切片),满足审计留痕要求。
- 推理加速:表格检测与结构识别用TensorRT FP16落地,LLM 用KV-Cache 分页+连续批处理,在A800 80G上单卡 QPS ≥ 20,P99 延迟 < 1.2 s。
- 安全合规:对上市公司文件做脱敏网关,图章区域用Redaction 模型打码,避免内幕信息泄露;抽取结果写入区块链存证,满足证监会科技监管局《证券期货业数据分类分级指引》。
答案
给出一套可直接落地的LLMOps 级方案,分五步:
第一步 Query 理解:用百亿级中文大模型做语义解析,Prompt 模板如下:
“你是中国注册会计师,请把用户问题解析成 JSON:{指标名称, 年份, 对比操作, 币种, 口径}。”
对“对比去年财报净利润”输出:
{"indicator": "归属于母公司股东的净利润", "year": "2022", "op": "compare", "currency": "CNY", "caliber": "合并报表"}
第二步 表格定位:把财报 PDF 转300 dpi 图像,用PP-StructureV2检测所有表格区域,输出bounding box与置信度,过滤置信度 < 0.9 区域;再用LayoutLMv3-chinese做文档标题-表格关联,优先保留**“合并利润表”“利润表”标题下的表格。
第三步 结构还原与单元格匹配:对目标表格跑SLAN拿到HTML 序列**,将表头扁平化后做语义向量编码(SimCSE-chinese-fin),与指标名做余弦相似 Top-K,K=3;再用规则后处理确保年份列与2022、2021对齐,合并单元格用rowspan/colspan还原。
第四步 数值抽取与校验:提取对应单元格文本,用正则捕获带括号负数、千分位、单位,统一转成万元;跑勾稽规则“净利润=营业利润-所得税”,偏差>1% 触发大模型二次确认,防止OCR 误识。
第五步 结果封装:输出标准化 JSON
{"indicator": "归属于母公司股东的净利润", "unit": "万元", "2022": 123456, "2021": 98765, "yoy": "+24.9%", "source": {"page": 58, "table_id": 3, "cell_rect": [x1,y1,x2,y2], "image_snip": base64}}
并通过FastAPI服务化,接口idempotent_key用公司代码+报告期+MD5(query),支持审计回溯。
拓展思考
- 零样本 vs 微调:若客户只有20 份年报,可用Prompt Learning把表格 HTML 直接塞给大模型做阅读理解,省去训练;但当文件**>1 万份**,微调LayoutLMv3+指针网络可让F1 提升 6.8%,成本下降 35%。
- 多模态幻觉治理:大模型可能把“归属于上市公司股东的净利润”误当成“净利润”,需在Prompt里显式加入指标词典做约束解码(Constrainted Beam Search),并给前端返回热力图让用户二次确认。
- 实时财报场景:在8 月底高峰期,一天发布**>500 份年报,可用消息队列+K8s HPA自动扩容,表格检测模型用INT8 量化落地T4 卡**,单卡吞吐提升 2.3 倍,电费节省 42%。
- 合规升级:2024 年起北交所要求关键财务指标必须可解释、可溯源,下一步可把抽取结果写入智能合约,一旦二次更正公告发布,链上指标自动比对,差异>5%触发监管邮件,实现LLM+区块链联合风控。