游乐游手机版
首页/AI热点日报/热点详情

Meta经典Nougat论文详解:PDF格式文档转文本语料库技术

类型:热点整理2026-06-18
导读 专业领域的知识往往被封锁在书籍与学术期刊中,而这些文档最常见的载体便是PDF。然而,PDF格式会导致语义信息严重流失——尤其是数学表达式。要从这类文件中提取并转换为其他格式,困难重重,科研论文等高专业性文档更是如此。因此,我们需要一座桥梁,连接人类可读的文档与机器可读的文本,从而让科学知识更易

导读

专业领域的知识往往被封锁在书籍与学术期刊中,而这些文档最常见的载体便是PDF。然而,PDF格式会导致语义信息严重流失——尤其是数学表达式。要从这类文件中提取并转换为其他格式,困难重重,科研论文等高专业性文档更是如此。因此,我们需要一座桥梁,连接人类可读的文档与机器可读的文本,从而让科学知识更易于获取、搜索与再利用。

在上篇《突破大语言模型语料瓶颈:如何从专业PDF文件中挖掘高质量数据》中,我们介绍了Meta的经典工作Nougat。今天,我们来深入回顾这篇论文。其核心洞察在于:现有的PDF信息提取方法——例如基于Tesseract的OCR引擎——在处理科学文档中的数学表达式时,往往力不从心。这些方法通常采用逐行处理策略,导致数学表达式的语义信息丢失。为此,Nougat应运而生,它的主要贡献包括两点:

  1. 提出了一套数据集构建方法,用于将PDF与对应的LaTeX源代码配对,并利用该数据集训练Nougat模型。

  2. 该方法仅依赖页面图像即可将PDF转换为轻量级标记语言,完全无需OCR参与。

  • 论文名称:Nougat: Neural Optical Understanding for Academic Documents

  • 论文地址:https://arxiv.org/pdf/2308.13418

  • 论文代码:https://github.com/facebookresearch/nougat

Introduction

在互联网数据格式中,PDF的普及率仅次于HTML,约占普通抓取量的2.4%。然而,这些文件中存储的信息极难转换为其他格式,尤其是高度专业化的文档。目前,开源领域已有一些相关方案:GROBID能够将数字生成的科学文档解析为XML,重点处理书目数据;pdf2htmlEX则可以将数字生成的PDF转为HTML,同时保留布局与外观。但问题是,这两种方法都无法恢复数学表达式的语义信息。因此,Nougat基于Donut架构构建——这又是一项开创性的经典工作。该模型不需要任何OCR相关的输入或模块,其整体结构如下:

我们将文档图像渲染为96 DPI的分辨率。受Swin Transformer输入尺寸限制,我们选择了(H, W) = (896, 672)作为输入尺寸。这个纵横比介于美国信纸(22:17)与A4纸(4:3)之间。文档图像会先被重新调整大小,再填充到目标输入尺寸。该规格允许我们使用Swin基础模型架构,并用预训练权重进行初始化。Transformer解码器的最大序列长度设为S = 4096。这么长的序列是因为学术论文的文本通常非常密集,尤其是表格的语法在标记上尤为占用空间。

本文的核心贡献其实在于数据构建流程,模型结构部分便不再赘述。接下来,我们重点关注数据构建方法。

Datasets

我们从arXiv上的开放获取文章中创建了专属数据集。为增加布局多样性,还纳入了PubMed Central(PMC)公开获取非商业数据集的一个子集。在预训练阶段,还加入了一部分工业文档库(IDL)。

arXiv:我们从arXiv上收集了1,748,201篇已发布文章的源代码及其编译后的PDF。为确保格式一致,首先用LaTeXML处理源文件,将其转换为HTML文件。这一步至关重要,因为它能标准化LaTeX源代码,消除数学表达式中的歧义。转换过程包括:替换用户自定义宏、标准化空白、添加可选括号、规范化表格,以及用正确的数字替换引用和引文。随后,解析HTML文件,并将其转换成支持多种元素(标题、粗体斜体文本、算法、LaTeX行内和行间数学公式、LaTeX表格)的轻量级标记语言。这样一来,源代码被正确格式化,为后续处理做好准备。整个流程如图3所示。由于数据全部通过TeX编译器渲染生成,质量较高,但在实际处理PDF文档时,分布未必如此理想,因此还需引入多种数据增强来拟合真实场景。下图展示了各种数据增强的效果:

PMC:我们还处理了PMC上的文章。除PDF外,这些文章还附带带有语义信息的XML文件。我们将这些XML解析成与arXiv文章相同的标记语言格式。仅使用了较少数量的PMC文章,因为XML文件并非总能如预期那样富含语义信息——很多时候方程式和表格被存储为图像,这些情况不易检测,因此我们决定将PMC文章限制在预训练阶段使用。

IDL:IDL由加州大学旧金山分校图书馆维护,收录了对公共卫生有影响的各行业生成的文档集合。Biten等人[37]为IDL数据集中的PDF提供了高质量的OCR文本。这些文本不包含格式信息,仅用于预训练,目的是教会模型扫描文档的基本OCR能力。

分割页面

在编译过程中,LaTeX编译器会自动确定PDF的分页。由于我们没有为每篇论文重新编译LaTeX源码,因此必须用启发式方法将markdown源文本分割成对应不同页面的部分(即每一页PDF图像对应一个markdown文本)。这一步涉及大量规则处理。例如,PDF中的图形和表格在源代码中的位置可能不对应,所以在预处理步骤中用pdffigures2删除了这些元素。然后,将识别出的标题与XML文件中的标题对比,基于Levenshtein距离进行匹配。一旦源文档被分割成单独的页面,被删除的图形和表格会重新插入到每个页面的末尾。

众所周知,一旦涉及大量规则,就很难保证单页PDF图像与对应文本完全匹配,再加上数据处理过程中的字符规范化问题……每个问题都会降低整体数据质量。但作者认为,大量训练样本可以弥补这些小错误。

值得思考的是:这里的数据构建方式其实存在一些不合理之处。例如,将图形和表格全部插入到每页末尾,会导致与图片中的阅读顺序不一致。因此存在优化空间:可以基于版式提取模型得到PDF每页图像的block,对每页PDF靠近底部的text block进行OCR识别,再与markdown源文本的内容对比,这样将markdown文件拆分成单页PDF对应的markdown文件会更准确。

Experiments

在一篇科研文章中,存在三种不同类型的文本:1) 纯文本,占文档的大部分;2) 数学表达式;3) 表格。在评估时,检查这三部分都很重要。原因在于,LaTeX中表达同一个数学表达式有多种方式。虽然LaTeXML预处理步骤消除了一部分可变性,但仍然存在大量歧义:如下标和上标的顺序、具有不同符号的等效命令(stackrelatopsubstackfracover)、不同情境下可互换的命令(bmmathbfboldsymbolbfleft(big(等等)、空白命令、额外的括号层……因此,即使渲染出来的公式看起来一样,预测结果与实际结果之间也可能存在差异。此外,在书写数字和标点符号时,并不总能确定内联数学环境在哪里结束、文本在哪里开始(比如:$mathrm{H}_{0}$1 vs. H$_{0}1,$ → H₀1 vs. H₀1,)。为更直观,将例子转成了图像:

这种歧义会降低数学和纯文本的得分。数学表达式的预期得分自然会低于纯文本。

我们在表1中展示了结果。正如预期,数学表达式与实际结果的一致性最差。对于纯文本,大多数差异来自上述格式歧义以及因内联数学而缺失的文本。

Analysis

我们观察到模型会出现退化现象,一遍又一遍地重复相同的句子,且无法自行从中恢复。最简单的情形是,最后一个句子或段落被不断重复。在测试集中,大约1.5%的页面出现了这种行为,但领域外文档的频率会更高。陷入重复循环是使用贪婪解码采样时Transformer模型的一个已知问题。模型也可能在两个句子之间交替,有时会改变一些单词,因此严格的重复检测不够用。作者提出在训练过程中引入随机扰动,以增强模型对错误预测标记的处理能力,同时在推理时检测并处理重复——但这仍然无法从根本上解决问题,也使得模型的实用性受到限制。

如何缓解重复与幻觉?有两条路径值得关注:

  1. 在输出中增加位置信息预测。例如,TextMonkey和mPlug-DocOwl1.5都将文本定位任务作为下游任务进行微调,消融实验表明,增加文本位置预测能显著降低幻觉。
  2. 降低图像中文本的数量。当图片中文本数量较少时,一般不容易出现重复和幻觉。因此,可以按上篇提到的方法,先把图片划分成多个有物理意义的block,再对单个block训练对应的端到端识别模型,这样也能有效解决输出重复的问题。
来源:https://www.53ai.com/news/LargeLanguageModel/2024072345017.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。