把 8300 万个报纸版面单元变成可查询对象

简介: 该管线首创“crop-first”范式,将历史报纸页图切分为结构化单元,每个crop附带OCR文本、类型、语言、实体、主题、阅读顺序及向量,支持精准过滤、重建与审计,大幅提升数字人文研究可用性。(239字)

氛围图

💡 一句话总结:这条管线把历史报纸从“页图加 OCR 噪声”改成 crop 级结构化数据;每个 crop 挂着文本、类型、语言、实体、主题、顺序和向量,研究者可以过滤、重建和审计。

导语:历史报纸 OCR 的灾难,从栏目串读开始

历史报纸大概是文档处理里最难啃的版面之一:新闻、广告、标题、图像、漫画和 masthead 混在一页;栏目不规则,纸张破损,字号小,语言多样。

如果直接做页级 OCR,常见结果不是“读错几个字”,而是栏目串读。广告接进新闻,标题接进评论,长文章的阅读顺序被打散。文本量看起来很大,语义结构却坏掉了。

这篇报告的路线是 crop-first:先把页面切成 type-agnostic 版面单元,再对每个单元做 OCR 和语义标注。crop 成为基本数据对象,而不是临时中间产物。

想自己动手试?

这篇论文到底想解决什么问题?

论文要解决的是:如何把 dense、不规则且噪声严重的历史报纸扫描,转换成可检索、可比较、可复用的结构化文本数据。

数据来自 Boston Public Library 的 1,473,635 张 1795-1930 年公版历史报纸扫描。管线最终得到 83,147,041 个 crops,平均每张扫描 56.4 个。这个数字本身就说明了报纸版面的复杂度。

只输出页级文本不够,因为下游研究需要知道:

  • 🧩 这段文本是正文、广告、标题、照片说明、漫画还是 masthead?
  • 🗣️ 它是什么语言?
  • 🧠 里面有哪些命名实体和主题?
  • 📖 页面内和跨栏目的阅读顺序是什么?
  • 🔎 能否用 embedding 做容错检索和聚类?

这些问题的共同载体不是页,而是 crop。只要 crop 边界、坐标和 provenance 保住了,后续过滤和重建才有基础。

它的思路是什么?

整条管线从 YOLO26x 版面分割开始。模型输出 type-agnostic crop 边界,即先判断“这是一个版面单元”,再由后续模块决定它是文本、图像还是标题。

每个 crop 后续走多条并行标注:

  • 📝 OCR:逐 crop 识别文本,并保留 dots.mocr 与 Tesseract 两种输出。
  • 🏷️ 类型分类:文本分类器读 OCR,图像分类器读视觉特征,输出 Content、Advertisement、Section heading、Photograph/illustration、Cartoon、Masthead、Empty 等类型。
  • 🌍 语言检测:处理多语混杂和低置信短文本,并有规则回退。
  • 🧠 NER 与主题:抽取命名实体并输出主题标签。
  • 📐 阅读顺序:根据栏目结构、位置和类型推断宏观与微观顺序。
  • 🧷 embedding:为文本和图像生成向量,支持检索、聚类和比较。

为什么并行释放两个 OCR 版本?因为历史 OCR 没有单一最优引擎。dots.mocr 对某些视觉噪声更稳,Tesseract 成熟、透明且可本地复现。把两者都留给用户,比替用户做一次不可逆选择更负责。

这也让管线更像数据基础设施而不是黑箱产品:模块可替换,输出可比较,用户能按年代、语言、类型或质量重新过滤。

效果到底怎么样?

先看基础分割指标:precision 0.927、recall 0.910、F1 0.918,mAP@50 为 0.955,mAP@50-95 为 0.901。mAP 是不同置信度阈值下的平均检测精度;@50 表示 IoU 至少 0.5,@50-95 表示更严格的边界质量平均,越高越好。

项目 数值
输入扫描 1,473,635
输出 crops 83,147,041
平均 crops / scan 56.4
dots.mocr tokens 16.3B
Tesseract tokens 14.7B
阅读顺序 macro accuracy 72.1%
阅读顺序 micro accuracy 80.8%
租用计算成本 约 $25,000

mAP@50 与 mAP@50-95 差距小,说明显著框不只是粗略命中,边界质量也较高。这对重建栏目和阅读顺序很重要。

阅读顺序的 macro 与 micro 差异值得注意:micro 80.8% 高于 macro 72.1%,意味着局部相邻顺序比跨栏目全局顺序更稳。对长文章重建,应把顺序输出视为概率线索,而不是权威编辑稿。

dots.mocr 与 Tesseract 的 token 数差约 1.6B,但不能简单理解为质量差异。OCR hallucination、重复和空 crop 都会影响 token 计数;下游使用前仍需按 crop 抽样评估。

为什么你要关心?

如果你做历史 NLP、数字人文、档案检索或大规模文档语料,这条管线有几个设计点很值得抄。

  • 🧱 以 crop 为一等对象:坐标、OCR、类型、语言、实体、主题、顺序和 embedding 挂在同一单元上,方便过滤和重建。
  • 🔀 保留多个 OCR 输出:不同任务对噪声的容忍度不同,双输出让后续研究者能做对比和替换。
  • 🧭 阅读顺序单独评估:版面分割好不等于顺序恢复好。macro/micro 分开报告,能暴露全局栏目顺序的弱点。
  • 🔎 预计算 embedding:历史 OCR 噪声大,纯文本关键词检索容易漏;向量检索可以做容错补充。

从机构视角看,约 $25,000 的租用计算成本,换来 83M crops 和数十亿 token 的结构化数据。这不是一个实验室炫技项目,而是一套可复用的馆藏级生产流程。

理性看待

主要限制是 collection overfitting。模型和流程主要在 BPL 子集上开发测试,其他地区报纸、非英语排版、20 世纪后期版式或更差扫描可能显著不匹配。

报告没有给出全库 OCR 的代表性人工 CER/WER。16.3B tokens 证明规模,不证明可读性。按年代、语言、字号和扫描质量分层抽样,是使用前必须补的审计。

主题分类和 NER 也会继承历史语料与标注体系偏见;公版判断还存在司法辖区差异。我的建议是:用数据前先定义自己的过滤策略,并保留 crop 坐标和原始扫描 provenance,方便回查误判。

作者:lusca
版本:lusca-paper-blog v1.5.0
出处:https://github.com/yjmm10/lusca-skill/tree/main/skills/lusca-paper-blog

相关文章
iOS开发 MacOS Windows
296 1
C语言
24 1
人工智能 文字识别 前端开发
32 0
人工智能 安全 测试技术
34 0
人工智能 文字识别 自然语言处理
40 2
55 0
缓存 文字识别 前端开发
48 0
|
21天前
|
机器学习/深度学习 人工智能 API
Qwen3.8-Max 开源了:该不该从 Claude 切过去?
阿里正式发布2.4万亿参数旗舰Qwen3.8-Max,支持100万上下文与原生多模态,激活95B参数,推理成本仅6美元/百万token。下周将开源Max系列权重——史上首次,兼具强编码、长程智能体与办公自动化能力,但标准编程基准仍略逊Fable 5。(239字)
人工智能 缓存 API
311 0
|
18天前
|
人工智能 API Apache
Qwen3.6-Fable-Fusion-711:209万下载是真的,「首个开源破700」得另说
HuggingFace 和本地 LLM 圈被一个名字长得像密码的模型刷屏——Qwen3.6-27B-Fable-Fusion-711-…-GGUF,12 天下载量从 55 万飙到 209 万。它是社区开发者 DavidAU 在阿里 Qwen3.6-27B 上做「多阶段微调 + 模型融合 + 去审查」后以 GGUF 量化打包发布,能在本地显卡直接跑。最抓眼的「首个开源突破 700 ARC-C」目前只有作者一方说法:媒体都转自同一导流站、评测框架都没交代,唯一相对独立的行业媒体标了 unverified。当热门的去审查开源模型看成立,当「开源追上闭源」看还早。