Nougat来了,能否成为pdf格式转换的新神器?
论文链接:https://arxiv.org/pdf/2308.13418v1.pdf
项目地址:https://github.com/facebookresearch/nougat
What happened?🤨
科学知识主要存储在书籍和科学期刊中,通常是 PDF 格式。然而,PDF 格式会导致语义信息丢失,尤其是数学表达式。为此,MetaAI最新提出了Nougat (Neural Optical Understanding for Academic Documents),这是一个Visual Transformer,可执行光学字符识别(OCR)任务,将科学文档处理成标记语言。MetaAI在一个新的科学文档数据集上演示了Nougat的有效性。通过弥合人类可读文档与机器可读文本之间的鸿沟,所提出的方法为在数字时代提高科学知识的可访问性提供了一个前景广阔的解决方案。同时,MetaAI也发布了模型和代码,以加速未来的科学文本识别工作,Nougat在github上相应repo的star数在这几天也是一路疯涨:
下面,我们一起来瞅一瞅Nougat的一些情况吧~
为什么要做?😳
在数字化信息高速发展的今天,学术界对于高效、准确的数据转换工具的需求日益增加。作为科研打工仔(bushi),我们平时在阅读论文或者科学文献时见到的文件格式基本上是 PDF(Portable Document Format)。据论文介绍,PDF 也已经成为互联网上第二重要的数据格式,占总访问量的 2.4%。
然而,存储在 PDF 等文件中的信息很难转成其他格式,尤其对数学公式更是显得无能为力,因为转换过程中很大程度上会丢失信息。就像下图所展示的深度学习经典论文《Attention is All you Need》这类带有数学公式的 PDF,转换起来就比较麻烦。
为此,MetaAI便推出了这款OCR工具————Nougat。Nougat 基于 Transformer 模型构建而成,可以轻松的将 PDF 文档转换为 MultiMarkdown,扫描版的 PDF 也能转换,上面这些让人头疼的数学公式也不在话下。
甚至,可以往更大的方向吹一吹“Nougat将科学文档处理成标记语言,在人类可读文档和机器可读文本之间架起了一座桥梁。”
真的有用?——效果展示🗒️
读到这里,详细应该有很多读者已经迫不及待的想看看这玩意儿的实际效果了,MetaAI也在项目主页上放出了一些Nougat的[Example Paper Conversions]示例,下面让我们一起来看看:
首先让我们看看Nougat対最近火热的《LLaMA: Open and Efficient Foundation Language Models》这篇论文的转换效果:
首先是最平常的文本内容,没有任何的难度
-
原pdf
-
转换后
再看看对表格和公式的处理,也是十分完美
-
原pdf
-
转换后
同时,不仅是正常的pdf文档,扫描件也一样可以处理:
怎么样,总的看下来Nougat的效果还是十分惊艳的。同时,MetaAI也在Huggingface上开放了Community Demo: https://huggingface.co/spaces/ysharma/nougat,大家有想亲自体验的也可以直接上手去玩一玩~😉 笔者这里也是上手以Nougat自己这篇论文本身作为输入上手体验了一下(禁止套娃😂),结果还真是不错:
怎么做到的?——模型概览💻
限于篇幅原因,我们这里只大概瞄一眼Nougat的整体结构,如果有对这个领域或者是模型细节感兴趣同学,可以去GitHub上查看代码和论文,进一步学习和使用Nougat。
整体结构
如下图所示,Nougat是一个编码器 - 解码器 的Transformer 架构,允许端到端的训练,并以 Donut 架构为基础。该模型不需要任何 OCR 相关输入或模块,文本由网络隐式识别。
Encoder:视觉编码器接收文档图像 x ∈ R3×H0 ×W0 ,裁剪边距并调整图像大小以适应大小为 (H, W) 的固定矩形。如果图像小于矩形,则添加额外的填充以确保每个图像具有相同的维度。我们使用 Swin Transformer,这是一种分层视觉转换器 ,它将图像分割为固定大小的非重叠窗口,并应用一系列自注意力层来聚合这些窗口的信息。该模型输出一个嵌入补丁序列 z ∈ Rd×N,其中 d 是潜在维度,N 是补丁的数量。
Decoder:使用具有交叉注意的变压器解码器架构将编码后的图像 z 解码为一系列标记。令牌以自回归方式生成,使用自注意力和交叉注意力分别关注输入序列和编码器输出的不同部分。最后,输出被投影到词汇表 v 的大小,产生 logits ℓ ∈ Rv。
独特的数据增强
在图像识别任务中,使用数据增强技术来提高泛化能力往往是有益的。由于本文只研究数字化的学术研究论文,因此需要使用一些变换来模拟扫描文件的不完美和多变性。这些变换包括侵蚀、扩张、高斯噪声、高斯模糊、位图转换、图像压缩、网格变形和弹性变换 。每种变换都有固定的概率应用于给定的图像。这些变换在 Albumentations 库中实现。在训练过程中,这里也会通过随机替换 token 的方式,对实际文本添加扰动。
总结
总的来说,Nougat为我们提供了一种新的解决方案,可以将科学文献转化为机器可读的格式,从而提高了科学知识的可访问性和可搜索性。这款工具特别适用于学术界,尤其是那些需要频繁互动和转换学术文章和研究论文的研究人员和学者(科研打工仔)。通过Nougat,他们可以轻松地将包含复杂数学公式的PDF文件转换为其他格式,而不会丢失关键信息。这在很大程度上提高了研究效率和数据准确性。
关于Nougat能否成为pdf格式转换的新神器,纳入更多科研工作者的日常研究工作流程,从而彻底改变我们处理学术数据的方式,还需要更多的时间来沉淀与观察。
据准确性。
关于Nougat能否成为pdf格式转换的新神器,纳入更多科研工作者的日常研究工作流程,从而彻底改变我们处理学术数据的方式,还需要更多的时间来沉淀与观察。
同时,作为业界领先的基于 PyTorch 和 mmdetection 的开源工具箱,MMOCR(open-mmlab/mmocr: OpenMMLab Text Detection, Recognition and Understanding Toolbox (github.com))一直以来都专注于文本检测,文本识别以及相应的下游任务,我们也期待着MMOCR对Nougat相关工作的进一步跟进~