多模态文档溯源:让每个结论回到页码、区域和原图

多模态文档溯源:让每个结论回到页码、区域和原图原创封面

纯文本会丢掉决定含义的版面关系

财务报告经过普通 OCR 后可能得到所有数字,却失去数字属于哪一列、脚注修饰哪一行以及括号是否表示负数。模型看到相邻文本便把上年度值当成本期值,不是因为缺少字符,而是证据结构已经被破坏。可追溯管道必须把原文件、页图、布局块、识别文本和语义结论分别保存,任何派生结果都能沿链路回到未经改写的原始像素。

原文件在入口计算内容摘要并分配不可变版本,不能用文件名代表身份。页图记录渲染器版本、分辨率、色彩和旋转信息,布局块记录标题、段落、表格、脚注、图片等类型。语义层只引用这些块,不复制成失去坐标的新文本。文档后来更新时生成新版本,旧结论继续指向旧证据,避免链接悄悄漂移。

这一分层还让问题定位更具体:识别字符错误属于 OCR,行列错配属于布局或表格解析,模型引用错块属于生成。若只有最终答案和一份拼接文本,团队只能猜测故障环节。每层输出处理器版本和输入摘要,同一输入在同一版本下应得到可重放结果。

页图规范化保留坐标变换

扫描件先检测页面顺序、旋转、倾斜、裁边和有效分辨率。所有修正都记录从原图到规范页的变换矩阵,不能只覆盖图片,否则后续坐标无法映射回原文件。裁边要保留页眉、页脚和边缘单位,自动算法置信度不足时不应激进剪切。多页文档还要核对声明页数、物理顺序和重复页。

坐标采用与页面尺寸无关的归一化表示,例如左上与右下位置除以页宽页高,同时保存原始像素尺寸。展示器据此在不同缩放下绘制证据框;若 OCR 引擎返回另一坐标系,适配器统一方向和原点。旋转九十度或处理双页扫描时用测试点验证映射,避免框选到相邻区域。

低清、阴影、透视和压缩伪影会降低识别可靠性,质量评估应成为正式字段。关键金额所在页面低于阈值时触发重扫或人工复核,而不是由模型根据上下文猜数字。预处理可提高对比度与纠偏,但原图始终保留,审阅者可以判断增强是否误删小数点或负号。

文本 Span 与版面块共同编号

每个识别片段记录文档版本、页码、布局块、字符范围、归一化区域、阅读顺序和置信度。片段之间的包含与相邻关系显式保存,例如段落属于某标题、脚注标记链接脚注正文。模型引用时使用稳定证据块编号,前端可定位整块,也可突出支持结论的具体字符范围。

多栏页面不能简单按横坐标排序,否则左栏末尾会与右栏开头交错。布局分析先形成栏和区域,再在区域内确定阅读顺序;标题跨栏、侧边说明和浮动图注需要独立规则。顺序置信度低时保留多个候选或要求复核,不能把单一猜测写成确定文本。

识别后的规范化要谨慎。统一空白和连字符可以便于搜索,但原始字符与规范字符之间需有映射。金额的小数点、千位分隔、全角符号和括号负数不能随通用清洗丢失。搜索索引可使用规范文本,证据展示与数值解析仍能回到原始 Span。

表格以单元格关系而非句子保存

表格解析结果应包含表区域、标题、行列数量、合并单元格、行头、列头、单位和脚注关联。每个单元格保留行列坐标与原图区域,跨页表格还要标识续表关系。把每行串成一句话会让空单元格造成列偏移,也无法表达多级表头;模型随后即使引用了正确页码,也可能引用错年度。

数值标准化同时保留显示值与解析值。显示值用于审计原文,解析值带数据类型、币种、单位和倍率,括号负数或百分比按表头规则解释。若单位写在表题而非单元格,解析器建立继承关系。无法确定单位时标记未知,不从邻近表格推断。

表格质量检查包括列边界一致性、合计关系、单位覆盖和空值比例。合计不相等可能源于四舍五入,也可能是列错位,因此只作为异常信号,不自动改数。人工修正要保存原识别值、修正值、操作者和依据区域,使后续模型升级能够区分引擎输出与人工金标。

结论携带完整证据集合

语义处理把回答拆成可核验结论,每条结论列出支持它的全部证据块、文档版本和处理版本。涉及同比变化时至少需要本期值、对比期值、单位及计算规则,不能只引用出现结果数字的一格。若脚注改变统计口径,脚注同样进入证据集合。结论文本中的实体、时间和单位要与证据结构化字段一致。

证据编号由当前处理结果分配,生成模型只能选择提供的编号。应用验证编号存在、主体匹配且没有跨文档版本混用,再计算展示链接。模型自称“见第十页”只是文本,不能替代坐标引用。对于计算得出的数字,还要保存公式与输入单元格,使审阅者能够重算。

证据不足时返回缺失位置或低置信字段,不以邻年数值补齐。多个来源冲突则并列呈现版本和日期,交由业务规则选择权威来源。溯源的价值不在于给每句话加一个角标,而在于让关键结论能够被独立的人沿同一证据路径重复验证。

处理器升级采用固定页面回归

OCR、布局和多模态模型升级都可能改变块边界与识别结果。选择包含双栏、跨页表格、脚注、低清扫描和旋转页的固定集合,保存人工标注区域与字段。候选处理器在隔离版本运行,比较字符、阅读顺序、表格结构、坐标偏差和关键字段准确率,不能只凭总体 OCR 分数切换。

新版本通过后为文档生成新的处理版本,不覆盖历史块。线上结论继续绑定创建时版本;需要升级时重新生成并比较证据差异。若同一文件摘要在同一处理器版本下产生不同结果,应调查非确定性依赖、模型配置或渲染环境,而不是给结果悄悄分配同一标识。

处理任务使用幂等键和状态记录,避免重复上传产生多个互不关联版本。失败页面不会让整份文档以半完成状态公开,索引只切换到通过完整性校验的处理结果。重跑原因、模型参数和人工修正集都进入元数据,但原文件权限不因进入评测环境而扩大。

权限与隐私贯穿每层派生物

页图、OCR 文本、裁剪区域和向量都可能包含相同敏感信息,不能只保护原 PDF。派生对象继承文档租户与访问策略,缓存键包含权限作用域;分享一个证据框时只生成短期受控链接,不暴露整页或底层存储地址。处理服务取得最小读取能力,完成后不保留长期下载副本。

日志记录文件摘要、处理版本、页号、错误类和区域数量,不写入识别全文。人工复核界面只展示被分配文档与必要上下文,截图导出进入审计。若用户删除源文档,在线页图、文本索引、向量和结论按派生关系清理,不能留下仍可搜索的 OCR 副本。

外部文档本身也可能包含提示注入。布局或视觉模型提取的文字始终按不可信数据处理,无法请求系统访问其他文件或改变工具权限。溯源确保我们知道文字来自哪里,但来源清楚不等于内容可信;事实判断和能力授权仍是独立步骤。

从像素跳转到结论的验收矩阵

抽样结论在界面点击后必须跳到正确文档版本、页码和精确区域,旋转、裁边和缩放下框仍对齐。表格测试核对行头、列头、单位、合并单元格和跨页关系,特别检查空格与负数。故意降低分辨率、遮挡脚注和打乱页面顺序,应稳定触发质量告警或复核,而不是输出确定结论。

版本测试上传同名不同内容文件,旧结论仍指向旧摘要;相同文件重复上传不会产生冲突处理身份。固定页面在处理器升级前后对比,退化项阻止切换。删除测试确认页图、OCR、索引和派生结论均退出在线访问,审计日志不复制正文。

最终指标同时观察关键字段准确率、区域定位偏差、表格结构完整率、低置信复核召回和证据可达率。随机人工重算派生公式,确认结论引用覆盖所有输入。能够从一句回答返回具体页、具体区域、原始图像和处理版本,才算建立了真正可验证的多模态文档溯源。

实现片段

type Evidence = { fileHash: string; page: number; box: number[] }

一手参考资料

评论 · 0

还没有评论留下第一句经过思考的话。

游客评论需审核。注册后可直接公开,无需审核。

SHARE / 分享

分享这篇文章

WECHAT / 微信

用微信扫一扫

在手机微信中打开文章后,再从微信右上角分享给朋友或朋友圈。