Surya 2:把多栏页面拆成带阅读顺序的内容块

新工具猫目发布于 来源:Surya OCR 官方产品资料与使用说明
文字、版面和阅读顺序一起保留下来,方便回到原页核对。
Surya 2:把多栏页面拆成带阅读顺序的内容块

为什么值得关注

按块保留正文、图片位置和阅读顺序,解释文档进入知识库前哪些结构需要留下。

适合谁:整理多栏文档、报刊资料和知识库输入的开发者

这次有哪些亮点

  • Surya 2 的 blocks 同时带内容、标签、顺序与位置
  • 整页识别和先布局后逐块识别共用页面结果结构
  • 代码 Apache 2.0;模型权重采用附带商业条件的独立许可

使用前需要知道

需要 vLLM 或 llama.cpp 推理后端;代码Apache2.0,权重有商业门槛、竞品及输出归属/同许可条件;官方多语言数据不等于中文材料已获实测保证。

整理一页多栏报纸,光把每个字识别出来还不够。报头、主标题、照片说明和几篇分栏文章混在同一页,若按从左到右的扫描顺序拼成一段,检索系统可能把两篇新闻当成同一段正文。Surya 当前的 Surya 2 值得关注之处,是把这些内容按块交付:文字之外,还留下它在页面上的位置和阅读次序。

先看一页为何需要几种结果

官方 README 把同一份材料分别展示为文字检测、OCR、版面分类和阅读顺序图。报纸示例里,报头、通栏标题、照片、图注及下面的小栏各有自己的框;阅读顺序图又给框编号。框回答“内容在哪里”,编号回答“接下来读哪一块”,两个问题不能互相替代。

这也解释了它与单纯复制整页文字的差别。假设要整理一组中文行业内刊,这是教学情境:先识别哪块是标题、哪块是正文,再按次序组装段落;图片本身可以不转成文字,但图片占据的位置仍有用,能避免把上下两块正文直接接错。官方报纸样例为英文,不能据此认定中文内刊已有相同效果。

页面结果里有可继续使用的结构

Surya 2 的 OCR 结果采用 blocks 列表。每块有 label、从零开始的 reading_order、内容 html,以及多边形和外接矩形位置。标题、正文、表格、公式与图片因此可以分开处理。图片等视觉块被跳过时,skipped 会标记这一状态;识别调用失败还有 error,空内容不必一律当成“原页没有文字”。这些字段在当前结果结构源码中也有明确对应。

下游可以据此只把正文送进检索,保留标题供分组,把页眉另存;用户点回某段时,再用坐标定位原页。这是由输出结构推导的使用方式,需要接入方实现,并非软件自带一套知识库界面。

默认整页识别是一页一次视觉语言模型调用;也可以先做布局,再逐块识别,最后仍得到页面内容块。表格还有另一层选择:简单模式返回行列及单元格位置,完整模式才提供适合跨行跨列表头的 HTML。拿到几个矩形框,不能直接视为已恢复整张表。

采用时要对齐当前版本

从旧版迁移尤其要留意:text_lines 已改成 blocks,不能拿旧字段示例直接消费当前结果。布局、OCR 和表格识别需要 vLLM 或 llama.cpp 推理后端;单独的文字检测模型则是另一条执行路径。它不是下载一个桌面程序便能自动整理文件夹的工具。

许可同样分两层。代码采用 Apache 2.0,权重使用修改后的 AI Pubs Open Rail-M 条款,README 列出研究、个人用途和融资/收入低于 500 万美元的初创企业免费使用范围。当前权重许可还列有竞品限制,以及延及输出的归属与同许可要求;更广商业使用需另行确认。官方多语言表包含中文,但这里真正可判断的是交付结构:当你需要知道“这段话属于哪块、排在何处、如何返回原页”时,Surya 2 提供了比纯文本更完整的中间结果。

原始资料:Surya OCR 官方产品资料与使用说明

以上为编辑整理,功能、许可与使用条件以官方说明为准。

返回每日分享