AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


Meta经典论文 | Nougat如何将PDF文档转化为文本语料
发布日期:2024-05-28 07:03:15 浏览次数: 1803


导读

专业知识主要存储在书籍和科学期刊中,这些文档通常以 PDF 格式存在,但 PDF 格式会导致语义信息丢失,尤其是数学表达式。这使得存储在这些文件中的信息难以提取为其他格式,对于科学研究论文等专业性很强的文件来说尤其如此。需要一种方法来弥合人类可读文档与机器可读文本之间的鸿沟,提高科学知识的可访问性和搜索能力。

上篇突破大语言模型语料瓶颈:如何从专业PDF文件中挖掘高质量数据里提到了Meta的经典工作Nougat,今天就来回顾下这篇论文,该论文认为当前PDF信息提取方法基于OCR引擎,如Tesseract, 无法有效处理科学文档中的数学表达式,因为它们通常采用逐行方法,导致数学表达式的语义信息会丢失。所以提出了Nougat,本文主要贡献如下:

  1. 引入了一个创建数据集的方法,用于将 PDF 与源代码配对,该数据集用于训练 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,同时保留文档的布局和外观。然而,这两种解决方案都无法恢复数学表达式的语义信息。我们基于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 complier渲染生成的,质量会比较高,实际处理的pdf文档不一定会有这么理想的质量,所以还需要加入各种数据增强以拟合真实场景分布,下图展示了各种数据增强的效果。

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

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文件也会更准确。

Experimetns

    在一篇科研文章中,存在三种不同类型的文本:1) 纯文本,占文档的大部分;2) 数学表达式;3) 表格。在评估过程中,检查这三个部分中的每一个都很重要。这是因为在LaTeX中,表达同一个数学表达式有多种方式。尽管在LaTeXML预处理步骤中消除了一些可变性,但仍然存在大量歧义,例如下标和上标的顺序、具有不同符号的等效命令(stackrel、atop、substack或frac、over)、在不同情境下可互换的命令(bm、mathbf、boldsymbol、bf或\left(、\big(、etc.)、空白命令、额外的括号层等。因此,即使渲染的公式看起来相同,预测结果和实际结果之间可能存在差异。此外,在书写数字和标点符号时,并不总是能确定内联数学环境在哪里结束,文本在哪里开始(例如: $\mathrm{H}_{0}$1, vs. H$_{0}1,$ → H 0 1, vs. H 0 1,))。为了便于读者理解这段,我将例子转为了图像:

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

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

Analysis

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

    点评:个人认为有两种方法可以降低重复和幻觉:

    1.输出添加位置信息的预测,比如TextMonkey和mPlug-DocOwl1.5都把text grounding任务做为下游任务进行微调,在消融实验里也提到了增加文本位置预测可以显著降低模型输出的幻觉;

    2. 降低图像里文本的数量,在图片中文本数量较少时,一般不容易出现重复和幻觉,所以可以按上篇文章提到的办法,将图片划分为多个有物理意思的block,再对单个block训练对应的端到端识别模型,这样也可以解决模型输出的重复问题


往期相关文章列表:

突破大语言模型语料瓶颈:如何从专业PDF文件中挖掘高质量数据

华科白翔团队提出OCR-Free多模态大模型TextMonkey

阿里通义实验室提出 OCR-free文档理解多模态大模型



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询