论文阅读《Nougat:Neural Optical Understanding for Academic Documents》

摘要

科学知识主要存储在书籍和科学期刊中,通常以PDF的形式。然而PDF格式会导致语义信息的损失,特别是对于数学表达式。我们提出了Nougat,这是一种视觉transformer模型,它执行OCR任务,用于将科学文档处理成标记语言,并证明了我们的模型在新的科学文档数据集上的有效性。

引言

存储在pdf中的知识,信息提取有难度,其中数学表达式的语义信息会丢失。现有的OCR方法没有办法识别公式。为此,我们引入了Nougat,这是一种基于transformer的模型,能将文档页面的图像转换为格式化的标记文本。这篇论文的主要贡献如下:

1) 发布能够将PDF转换为轻量级标记语言的预训练模型;

2) 我们引入了一个将pdf转为标记语言的pipeline;

3) 我们的方法仅依赖于页面的图像,支持扫描的论文和书籍;

模型

以前的VDU(视觉文档理解)方法要么依赖于第三方OCR工具,要么专注于文档类型,例如:收据、发票或类似表单的文档。最近的研究表明,不需要外部OCR,在VDU中也能实现有竞争力的结果。

如图1所示,我们的模型基于donut构建,是一个encoder-decoder模型,允许端到端的训练。

编码器

视觉encoder首先接受一张文档图像,裁剪边距并调整图像大小成固定的尺寸(H,W);如果图像小于矩形,那么增加额外的填充以确保每个图像具有相同的维度。我们使用了Swin Transformer,将图像分为不重叠的固定大小的窗口,然后应用一系列的自注意力层来聚集跨窗口的信息。该模型输出一个embedding patch Z \in R^{d \times N},其中d是隐层维度,N是patch的数目。

解码器

使用带有cross-attention的mBART解码器解码Z \in R^{d \times N},然后生成一系列tokens,最后tokens被投影到vocabulary的大小,产生logits。我们使用作为decoder;

SetUP

我们用96 DPI的分辨率渲染文档图像。由于swin transformer的限制性,我们将input size设置为(896,672);文档图像先resize,然后pad到所需的大小,这种输入大小允许我们使用Swin基础模型架构。我们用预训练的权重初始化了模型,Transformer解码器的最大序列长度是4096。这种相对较大的规模是因为学术研究论文的文本可能是密集的,尤其表格的语法是token密集的。BART解码器是一个10层的decoder-only transformer。整个架构共有350M参数;在推理的时候,文本使用greedy decoding生成的。

训练:使用AdamW优化器训练3个epoch,batch_size是192;初始化学习率是5 \times 10 ^{-5};

数据增强

在图像识别任务中,使用数据增强来提高泛化性是有效的。由于我们的训练集只有学术论文,所以我们需要应用一系列的transformation来模拟扫描文档的缺陷和可变性。这些变换包括:腐蚀,膨胀,高斯噪声,高斯模糊,位图转换,图像压缩,网格失真和弹性变换。每个都有一个固定的概率来应用给给定图像。每个转换的效果如图所示:

在训练过程中,我们会用随机替换token的方式给groud truth增加扰动。

数据

目前没有pdf页面和其对应的source code的成对数据集。因为我们根据arxiv上的开源文章,建立了自己的数据集。对于layout多样性,我们引入了PMC开源非商业数据集的子集。在预训练过程中,也引入了一部分行业文档库数据。

ARXIV

我们从arxiv上收集了174w+的pape,收集其源代码并编译pdf。为了保证格式的一致性,我们首先用latex2html处理源文件,并将他们转为html文件。这一步很重要,因为他们是标准化的并且去掉了歧义,尤其是在数学表达式中。转换过程包括:替换用户定义的宏,添加可选括号,规范化表以及用正确的数字替换引用。然后我们解析html文件,并将他们转换为轻量级标记语言,支持标题,粗体和斜体文本、公式,表等各种元素。这样,我们能保证源代码格式是正确的,方便后续处理。整个过程如图所示:

PMC

我们还处理了来自PMC的文章,其中除了PDF文件之外,还可以获得具有语义信息的XML文件。我们将这些文件解析为与arxiv文章相同的标记语言格式,我们选择使用PMC少得多的文章,因为XML文件并不总是具有丰富的语义信息。通常,方程和表格存储为图像,这些情况检测起来并非易事,这导致我们决定将PMC文字的使用限制在预训练阶段。

IDL

IDL是行业产生的文档集合。这个仅用在预训练阶段,用于教模型基本的OCR;

分页

我们根据pdf的页中断来分割markdown标记,然后将每个pdf页面转为图像,来获得图像-标记pair。在编译过程中,Latex会自动确定pdf的页面中断。由于我们没有重新编译每篇论文的Latex源,我们必须启发式地将源文件拆分为对应不同页面的部分。为了实现这一点,我们使用PDF页面上的嵌入文本和源文本进行匹配。

然而,PDF中的图像和表格可能不对应他们在源代码中的位置。为了解决这个问题,我们在预处理阶段去掉了这些元素。然后将识别的标题和XML文件中的标题进行比较,并根据他们的Levenshtein距离进行匹配。一旦源文档被分成单个页面,删除的图形和表格就会在每个页面的末尾重新插入。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/119953.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode-面试经典150题-day21】

目录 120.三角形最小路径和 64.最小路径和 63.不同路径Ⅱ 5.最长回文子串 120.三角形最小路径和 题意: 给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标…

什么是malloxx勒索病毒,服务器中malloxx勒索病毒了怎么办?

Malloxx勒索病毒是一种新型的电脑病毒,它通过加密用户电脑中的重要文件数据来威胁用户,并以此勒索钱财。这种病毒并不是让用户的电脑瘫痪,而是以非常独特的方式进行攻击。在感染了Malloxx勒索病毒后,它会加密用户服务器中的数据&a…

nginx-反向代理缓存

反向代理缓存相当于自动化动静分离。 将上游服务器的资源缓存到nginx本地,当下次再有相同的资源请求时,直接讲nginx缓存的资源返回给客户端。 本地缓存资源有一个过期时间,当超过过期时间,则重新向上游服务器重新请求获取资源。…

客户端读写HBase数据库的运行原理

1.HBase的特点 HBase是一个数据库,与RDMS相比,有以下特点: ① 它不支持SQL ② 不支持事务 ③ 没有表关系,不支持JOIN ④ 有列族,列族下可以有上百个列 ⑤ 单元格,即列值,可以存储多个版本的值&…

06-限流策略有哪些,滑动窗口算法和令牌桶区别,使用场景?【Java面试题总结】

限流策略有哪些,滑动窗口算法和令牌桶区别,使用场景? 常见的限流算法有固定窗口、滑动窗口、漏桶、令牌桶等。 6.1 固定窗口 概念:固定窗口(又称计算器限流),对一段固定时间窗口内的请求进行…

UG\NX CAM二次开发 遍历组中的工序 UF_NCGROUP_ask_member_list

文章作者:代工 来源网站:NX CAM二次开发专栏 简介: UG\NX CAM二次开发 遍历组中的工序 UF_NCGROUP_ask_member_list 效果: 代码: void GetAllOperTag(tag_t groupTag, vector<tag_t> &vOperTags) {int count=0;tag_t * list;UF_NCGROUP_ask_member_li…

K8s的Pod出现Init:ImagePullBackOff问题的解决(以calico为例)

对于这类问题的解决思路应该都差不多&#xff0c;本文以calico插件安装为例&#xff0c;发现有个Pod的镜像没有pull成功 第一步&#xff1a;查看这个pod的描述信息 kubectl describe pod calico-node-wmhrw -n kube-system 从上图发现是docker拉取"calico/cni:v3.15.1&q…

(数字图像处理MATLAB+Python)第十一章图像描述与分析-第七、八节:纹理描述和其他描述

文章目录 一&#xff1a;纹理描述&#xff08;1&#xff09;联合概率矩阵法A&#xff1a;定义B&#xff1a;基于联合概率矩阵的特征C&#xff1a;程序 &#xff08;2&#xff09;灰度差分统计法A&#xff1a;定义B&#xff1a;描述图像特征的参数 &#xff08;3&#xff09;行程…

Mac安装brew、mysql、redis

mac安装brew mac安装brewmac安装mysql并配置开机启动mac安装redis并配置开机启动 mac安装brew 第一步&#xff1a;执行. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"第二步&#xff1a;输入开机密码 第三…

vr智慧党建主题展厅赋予企业数字化内涵

现如今&#xff0c;VR全景技术的发展让我们动动手指就能在线上参观博物馆、纪念馆&#xff0c;不仅不用受时间和空间的限制&#xff0c;还能拥有身临其境般的体验&#xff0c;使得我们足不出户就能随时随地学习、传承红色文化。 很多党建展厅都是比较传统的&#xff0c;没有运用…

AutoSAR配置与实践(基础篇)3.7 BSW的WatchDog功能(下)

AutoSAR配置与实践(基础篇)3.7 BSW的WatchDog功能(下) BSW的WatchDog功能(下)一、WDG和其他模块交互BSW的WatchDog功能(下) ->返回总目录<- 一、WDG和其他模块交互 模块交互 看门狗模块由WdgM统一管理,这里围绕WdgM模块分析与其他模块交互。通过交互的说明,可以…

通过HFS低成本搭建NAS,并内网穿透实现公网访问

文章目录 前言1.下载安装cpolar1.1 设置HFS访客1.2 虚拟文件系统 2. 使用cpolar建立一条内网穿透数据隧道2.1 保留隧道2.2 隧道名称2.3 成功使用cpolar创建二级子域名访问本地hfs 总结 前言 云存储作为一个新概念&#xff0c;在前些年炒的火热&#xff0c;虽然伴随一系列黑天鹅…

关于在香橙派安装mysql时遇到的坑

前言 基础环境&#xff1a;硬件&#xff1a;香橙派5操作系统&#xff1a;openkylincpu架构&#xff1a;arm 过程&#xff1a;最近有个任务&#xff0c;要在新的环境中验证一些服务是否可用。目的时向全国产化靠拢。 需要在香橙派上安装openkylin&#xff0c;一开始尝试的是香橙…

WebGL:基于web的交互式2D/3D图形引擎

推荐&#xff1a;使用 NSDT编辑器 快速搭建3D应用场景 在本指南中&#xff0c;我们旨在回答与WebGL技术相关的大多数问题。首先&#xff0c;让我们从WebGL定义开始。 什么是WebGL&#xff1f; WebGL&#xff08;Web图形库&#xff09;是一个JavaScript应用程序编程接口&#x…

【Lychee图床】本地电脑搭建私人图床,公网远程访问

文章目录 1.前言2. Lychee网站搭建2.1. Lychee下载和安装2.2 Lychee网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4.公网访问测试5.结语 1.前言 图床作为图片集中存放的服务网站&#xff0c;可以看做是云存储的一部分&#xff0c;既可…

C++插入加密,替代加密

void 插入加密() {//缘由https://bbs.csdn.net/topics/396047473int n 1, j 0;char aa[60]{}, aaa[] "abcde";cin >> aa;while (j < 60 && (aa[j] - \0))cout << aa[j] << aaa[j % 5]; } void 插入加密() {//缘由https://bbs.csdn.n…

x265 编码参数

介绍 x265是符合 HEVC 编码标准的开源编码器&#xff1b;可执行文件下–fullhelp 可查看全部编码参数及其解释&#xff1a;x265 --fullhelp。git仓库&#xff1a;https://bitbucket.org/multicoreware/x265_git.gitx265_param_default(x265_param* param)函数内全部参数的赋值…

爬虫源码---爬取小猫猫交易网站

前言&#xff1a; 本片文章主要对爬虫爬取网页数据来进行一个简单的解答&#xff0c;对与其中的数据来进行一个爬取。 一&#xff1a;环境配置 Python版本&#xff1a;3.7.3 IDE:PyCharm 所需库&#xff1a;requests &#xff0c;parsel 二&#xff1a;网站页面 我们需要…

索引简单概述(SQL)

一、什么是索引&#xff1f; 索引是一种特殊的文件&#xff08;InnoDB数据表上的索引是表空间的一个组成部分&#xff09;&#xff0c;他们包含着对数据表里所有记录的引用指针。 索引是一种数据结构。数据库索引&#xff0c;是数据库管理系统中一个排序的数据结构&#xff0…

说说Lambda架构

分析&回答 Lambda架构是由Storm的作者Nathan Marz提出的一个实时大数据处理框架。Marz在Twitter工作期间开发了著名的实时大数据处理框架Storm&#xff0c;Lambda架构是其根据多年进行分布式大数据系统的经验总结提炼而成。Lambda架构的目标是设计出一个能满足实时大数据系…