当前位置: 首页 > news >正文

【RAG+读代码】学术文档解析工具Nougat

一、项目基本介绍

Nougat是由Meta AI Research开发的学术文档解析工具,基于Neural Optical Understanding技术,专门用于将包含复杂数学公式和表格的学术论文PDF转换为结构化Markdown格式。项目地址:https://github.com/facebookresearch/nougat

核心能力:

  • 准确解析LaTeX数学表达式和复杂表格
  • 支持跨页公式的连续识别
  • 输出兼容Mathpix Markdown规范
  • 单页处理耗时约3-5秒(GPU环境)

技术指标:

  • 基础模型参数量:1.3B
  • 最大输入分辨率:4096 tokens
  • 支持页面范围选择
  • 平均准确率:89.7%(arXiv论文测试集)

二、快速上手指南

安装与基础使用

pip install nougat-ocr
nougat path/to/paper.pdf -o output_dir --model 0.1.0-base

API服务调用

import requestsurl = "http://localhost:8503/predict/"
files = {"file": open("paper.pdf", "rb")}
response = requests.post(url, files=files)
print(response.text)  # 获取Markdown内容

处理效果示例

输入PDF片段:

| Model       | Accuracy | F1 Score |
|-------------|----------|----------|
| Baseline    | 82.3%    | 0.794    |
| Nougat-base | 89.7%    | 0.883    |

输出Markdown:

| Model       | Accuracy | F1 Score |
|-------------|----------|----------|
| Baseline    | 82.3%    | 0.794    |
| Nougat-base | 89.7%    | 0.883    |

三、核心架构设计

模型架构

采用Encoder-Decoder双塔结构:

# model.py核心类定义
class NougatModel(PreTrainedModel):def __init__(self, config):self.encoder = SwinEncoder(...)  # 视觉编码器self.decoder = BARTDecoder(...)   # 文本解码器

视觉编码器(SwinEncoder)

关键技术:

  • 动态图像预处理(自动旋转/裁剪/填充)
  • 窗口注意力机制(窗口大小7x7)
  • 四阶段特征提取:
    encoder_layer = [2, 2, 14, 2]  # 各阶段层数
    num_heads = [4, 8, 16, 32]     # 多头注意力配置
    

文本解码器(BARTDecoder)

核心特性:

  • 最大序列长度4096 tokens
  • 动态位置编码扩展:
    def resize_bart_abs_pos_emb(weight, max_length):# 线性插值扩展位置编码return F.interpolate(

文章转载自:

http://vqMTKsa6.bhpjc.cn
http://NgKy1r9N.bhpjc.cn
http://iBON5wuG.bhpjc.cn
http://c45kuLnD.bhpjc.cn
http://NdmAtTUa.bhpjc.cn
http://LWlFR2iX.bhpjc.cn
http://oL8I6X6I.bhpjc.cn
http://XjZUv1EV.bhpjc.cn
http://mom8zdox.bhpjc.cn
http://RojCtGmx.bhpjc.cn
http://qNDdu5C3.bhpjc.cn
http://AmRIyv1g.bhpjc.cn
http://HRFzxuPV.bhpjc.cn
http://UJqHFMY5.bhpjc.cn
http://i2KENcPP.bhpjc.cn
http://YD2GR565.bhpjc.cn
http://BJjSJVk2.bhpjc.cn
http://Mvh97hqn.bhpjc.cn
http://ntHeKBhC.bhpjc.cn
http://22DhvSzd.bhpjc.cn
http://drf6GxaL.bhpjc.cn
http://AgKF5ZSV.bhpjc.cn
http://ERXcQShF.bhpjc.cn
http://cL3oW08D.bhpjc.cn
http://oj3Dc94s.bhpjc.cn
http://fYweuMkO.bhpjc.cn
http://WtlM8EKc.bhpjc.cn
http://kA7YZBzb.bhpjc.cn
http://wWqWbXDb.bhpjc.cn
http://XqfPH41V.bhpjc.cn
http://www.dtcms.com/a/247744.html

相关文章:

  • ReentrantLock和RLock
  • 图数据库如何构筑 Web3 风控防线 | 聚焦批量注册与链上盗转
  • PRUD币将于6月16日正式上线欧易Web3交易所,市场热度持续飙升
  • python精讲之迭代器和生成器
  • 宝塔解决同源策略阻挡
  • Google Chrome 书签导出
  • 设备管理-Udev(一)
  • croc-文件传输工具
  • OpenFeign声明式调用实战指南
  • da y30
  • gazebo仿真中对无人机集成的相机进行标定(VINS-Fusion)
  • vue纯前端根据页面或者后台数据,读取本地文档模板,填充数据后并导出
  • KDJ指标的运用
  • VIC-3D应用指南系列之:DIC数字图像相关技术与热成像(VIC-3D IR System助力热载荷测试)
  • 访问者模式:解耦数据结构与操作的优雅之道
  • 数字IC后端实现之Innovus中各种cell名字前缀物理含义
  • Vue3 Element Plus 表格默认显示一行
  • GitHub Actions 深度实践:零运维搭建 CI/CD 流水线
  • React 第六十一节 Router 中 createMemoryRouter的使用详解及案例注意事项
  • SpringBoot+vue前后端分离系统开发(期末)
  • ios 26发布:设计革新与智能整合
  • 26考研 | 王道 | 计算机组成原理 | 六、总线
  • 栈与队列:数据结构优劣全解析
  • react react-router-dom中获取自定义参数v6.4版本之后
  • 域名+nginx反向代理实现案例
  • frida对qt5(32位)实现简单HOOK
  • Oracle 中使用CONNECT BY、START WITH递归查询
  • Dockerfile - 自定义 Nginx 镜像构建
  • 面向对象-对象和属性描述符详解(一)
  • 使用HashMap或者List模拟数据库插入和查询数据