前言
做 Agent 的都知道,让大模型读文档,第一步是"把纸变成字"。这一步看起来很简单——OCR 发展了二十年,字符识别率早就过了 95%。
但是当你拿到一张真实的财务底稿:合并单元格里藏着父子隶属关系,跨页长表的续接信号弱得像页脚的水印,嵌套表格里套着另一张子表——OCR 把每个字都认对了,但输出的字符串像被洗牌机搅过,列对不上、行挂错、表头飘到了正文里。Agent 拿到这堆"无主数字",引用时错得理直气壮,你还挑不出它哪一步算错了。今天我们来讲一讲如何判断一份解析结果到底能不能用——先看清"认字"和"懂表"之间差了什么,再立起一把三层标准去量它,最后把三款主流工具拉到同一张真实样表上跑一遍。
这里写目录标题
- 前言
- 一、从"认字"到"懂表":OCR 迈不过的那道坎
- 二、测评设计:三个维度, 一张表说清楚
- 三、实测结果与结论
- 3.1 结构对不对: 一眼能看到的"变形"
- 3.2 关系对不对: 需要对比原文的"归属检查"
- 3.3 内容对不对: 必要时的精度抽查
- 四、xParse 详解:从使用到原理
- 4.1 使用方法
- 4.2 工作原理:xParse 的 5 步流水线
- 4.3 能力边界:xParse 能解决什么
- 五、结论
一、从"认字"到"懂表":OCR 迈不过的那道坎
做 Agent 的都知道,让大模型读文档,第一步是"把纸变成字"。这一步看起来很简单——OCR 发展了二十年,字符识别率早就过了 95%。
但是当你拿到一张真实的财务底稿:合并单元格里藏着父子隶属关系,跨页长表的续接信号弱得像页脚的水印,嵌套表格里套着另一张子表——OCR 把每个字都认对了,但输出的字符串像被洗牌机搅过,列对不上、行挂错、表头飘到了正文里。Agent 拿到这堆"无主数字",引用时错得理直气壮,你还挑不出它哪一步算错了。今天我们来讲一讲如何判断一份解析结果到底能不能用——先看清"认字"和"懂表"之间差了什么,再立起一把三层标准去量它,最后把三款主流工具拉到同一张真实样表上跑一遍。
这里写目录标题
- 前言
- 一、从"认字"到"懂表":OCR 迈不过的那道坎
- 二、测评设计:三个维度, 一张表说清楚
- 三、实测结果与结论
- 3.1 结构对不对: 一眼能看到的"变形"
- 3.2 关系对不对: 需要对比原文的"归属检查"
- 3.3 内容对不对: 必要时的精度抽查
- 四、xParse 详解:从使用到原理
- 4.1 使用方法
- 4.2 工作原理:xParse 的 5 步流水线
- 4.3 能力边界:xParse 能解决什么
- 五、结论
- 3.1 结构对不对: 一眼能看到的"变形"
- 3.2 关系对不对: 需要对比原文的"归属检查"
- 3.3 内容对不对: 必要时的精度抽查
- 4.1 使用方法
- 4.2 工作原理:xParse 的 5 步流水线
- 4.3 能力边界:xParse 能解决什么
一、从"认字"到"懂表":OCR 迈不过的那道坎
OCR 这门技术,拿它扫个标准三线表,准确率能到 99%。但你要是拿它去扫一张财务底稿——合并单元格、跨页长表、嵌套子表、密集小字——翻车率能到 30% 以上。
问题不在字符识别,而在"字段级归属"。OCR 输出的是字符串,Agent 真正需要的是带 schema 的结构化数据。从"字符"到"结构"之间,有一道几乎所有通用 OCR 都跨不过去的鸿沟——OCR 认字 ≠ 表格可用 。 跨过去,Agent 才能正确引用;跨不过去,Agent 拿到的就是一堆无主数字——按出现顺序引用,错得理直气壮。 正好,最近体验了合合信息TextIn xParse复杂表格解析能力,我用了一段时间发现,它跟传统 OCR 根本不在一个赛道。OCR 做"文档→字符串",xParse 做"文档→结构化数据"。这个区别,决定了它能不能接住真实业务里那些"结构复杂到让人头疼"的表格。 下面我们按 3 步走:先把尺子立起来(3 层检查标准),让 3 款主流工具(xParse / PaddleOCR / MinerU)各跑一遍真实样表;再把表现对症的 xParse 拆开看——内部怎么走、配置怎么拧、能力边界在哪。 对开发工程师来说, 在没有 ground truth、也没有专用评测工具的前提下, 最省事的做法就是扫一遍输出: 看起来是表格结构、文字没缺漏, 就暂且认为解析完成。 但问题在于,"扫一眼"查的是“有没有缺东西”,而复杂表格真正要命的错不在"缺",在"错位" ——内容一个不少、关系却全挂错了。这种错不会自己跳出来告警,扫一眼根本拦不住。所以光靠肉眼判断"能不能用"靠不住,得换一套能逐项核对的检查方法。 那有没有一套可操作的检查清单, 能在拿到结果的 5 分钟内判断它"能不能用"? 下面,本章节将把判定标准拆成 3 个层次——结构对不对、关系对不对、内容对不对——并用 3 款主流工具 (xParse / PaddleOCR / MinerU) 各跑一遍真实业务样表, 看它们在这 3 层下的真实表现,每层用"✅完整还原 /⚠️部分还原 /❌严重丢失"三档打分。 结构是表格解析的第一关。这一层的问题几乎都能在原表和解析结果并排对比时一眼看出, 不需要逐格核对。围绕 4 个问题展开: 如果有一项没通过, 解析结果就不可用, 后面的关系和内容检查可以先放一放。结构是表格解析的第一道门槛。 打头阵的案例是是一份企业污染物排放监测表。 这是一张上下拼接、总计约 13 行 × 10 列的工业环保数据表——列字段横跨企业名称、污染物大类、污染物名称、处理方式、排放口数量、排放口位置、排放浓度、执行标准、年排放量、是否达标。10 列 + 大面积合并单元格 + 单元格内多行文本 + 标准名称与编号混排,结构复杂度极高。表格区域识别是传统解析的基本功,但合并单元格一旦拆散,同一污染物的业务归属就彻底丢失;而跨企业拼接时若未正确继承表头,上下两张子表的关系也会断裂。 三个产品的测评结果如下: 这一层更隐蔽, 但直接影响数据的业务含义。关系自查不需要逐格做, 抽检关键字段即可——如果抽检发现归属错误, 就可以判断解析结果不可靠。围绕 3 个问题展开: 第二道关是一份订单明细表。 这是一页客户信息主表 + 嵌套订单明细子表的复合文档,左侧纵向排列客户编号、客户名称、客户等级、联系人及联系电话,中部嵌入一张 3 行 × 8 列 的订单明细追踪表,给文档解析带来很大的困难。 内容层是最基础也最耗时的检查。对于大多数场景, 如果结构和关系已经通过, 内容错误属于低概率事件。不需要全表逐格核对, 重点抽查以下高风险区域: 如果抽查未发现内容问题, 这张表在内容层基本可用。如果发现多处问题, 说明解析精度不达标, 需要更换方案或引入人工复核。 第二道关是美的 2024 年报第七节里的「前 10 名股东持股情况」表。 这是一张 10 行 × 13 列的密集表——列字段横跨证券品种、证券代码、证券简称、最初投资成本、会计计量模式、期初账面价值、本期增加、期末账面价值、减值准备、持股比例、质押或冻结、会计核算科目、资金来源。多行 + 多值并存,密度较高到极致。字符识别是传统 OCR 的基本功,但密集场景下 LLM 的幻觉式补全风险高。 三个产品的测评结果如下: 最终完整的测评结果如下: 3 张样表、3 层标准跑下来,xParse 是这一轮里唯一一款在"结构对 + 关系对"两关都拿到完整还原的工具。下面把它拆开看。 Xparse的使用方法很简单,首先登录xParse:****https://www.textin.com/register/code/ZCNN7V 注册登录,进入控制台后可以看到这个界面。 左边是文件栏,中间是上传区,右边是结果展示区。其中文件支持的格式很全,PDF、Word、Excel、PPT、图片、HTML、OFD、RTF、CSV、TXT 都能吃。传完的文件会留在左边栏,随时点随时重新解析,不用反复上传。 解析完看右边。Markdown 标签是给 LLM 看的,带格式带层级;JSON 标签是给程序用的,元素类型、坐标、父子关系、续接关系全在里面;表格标签把文档里的表单独抽出来,方便你快速核对。上面还有公式、图片、手写、页眉页脚几个过滤按钮,只想看某类元素的时候点一下就行。 整个流程就是:扔文件进去,看结果,切引擎对比。复杂表格的解析效果,肉眼并排比一比,比听任何宣传都实在。 右上角有个配置项需要注意,这里分为了这几类: xParse 内部不是黑箱,文档从进去到出来要走 5 步,每一步都有明确的活儿: 五步流水线跑完,输出的东西能用在哪?先看输入面:PDF、Word、Excel、PPT、图片、HTML、OFD、RTF、CSV、TXT 等 10 余种格式通吃,单文件上限 500MB,传文件或甩 URL 都行。 再看输出面,xParse同时给两种格式:输出给两种产物: 典型场景集中在财务、审计、法务、供应链这几条线——财报、底稿、流水、合同、发票、对账单、采购清单、SKU 流水都在射程内。 用法、原理、能力边界都过了一遍,我们回到那张尺子上重新量一量。 从父列与三子列的层级关系,到密集小字的边界识别,再到跨页长表中断行文本的续接归属——三张样表、三类场景、三层标准测下来,差距不是纸面上的参数对比,而是Agent拿到数据后能不能"理直气壮"地正确引用。 总结来看,有三个观察值得落笔 : 第一,选型要分层看 。 OCR把字认对早已不稀奇,结构对、关系对、内容对三层缺一不可。这次摸完3款工具,xParse在"结构对+关系对"上目前看起来最为对症——它把"层级结构"当头等大事,不只是把字符认全就交差;PaddleOCR在"工程化和生态"上仍是国内开源标杆——生态集成和硬件适配是它的看家本领;MinerU在"端到端VLM"上有独特价值——但精度和成本不可控。选型的本质,是把业务复杂度映射到工具能力边界上。 第二是没有万能工具。嵌套场景 xParse 理论上大胜,跨页场景 PaddleOCR 跟 xParse 理论上持平甚至偶尔更优,密集小字三家都勉勉强强。用真实业务样表去验,比看官方宣传强 。 第三是能复用就别手写。xParse 把解析能力做成 API + 多引擎切换,调用方一行命令切引擎做横评——重复造轮子的事,少干 。 带一张你最棘手的复杂表格,去 xParse跑一次——同一张表、不同的解析方案并排对比,差异比听任何承诺都有说服力 。 试用链接(注册送1000页免费体验额度):https://www.textin.com/register/code/ZCNN7V二、测评设计:三个维度, 一张表说清楚
检查维度 核心问题 对应错误类型 结构对不对 拿到的是一张完整的表吗? 合并范围丢失、跨页断裂、嵌套被拍平、行列多拆 关系对不对 字段都挂对位置了吗? 数值归属错位、父表头丢失、注释脱钩 内容对不对 字字都对得上吗? 漏字、错字、幻觉补全、串行串列 三、实测结果与结论
3.1 结构对不对: 一眼能看到的"变形"
3.2 关系对不对: 需要对比原文的"归属检查"
3.3 内容对不对: 必要时的精度抽查
样表 xParse PaddleOCR MinerU 结构对不对 ✅** 完整还原** ⚠️** 部分还原** ✅** 完整还原** 关系对不对 ✅** 完整还原** ❌** 严重丢失** ❌** 严重丢失** 内容对不对 ✅** 完整还原** ✅** 完整还原** ⚠️** 部分还原** 四、xParse 详解:从使用到原理
4.1 使用方法
4.2 工作原理:xParse 的 5 步流水线
4.3 能力边界:xParse 能解决什么
五、结论