论文阅读:Syntax-Aware Network for Handwritten Mathematical Expression Recognition

news2024/10/2 22:16:55

论文阅读:Syntax-Aware Network for Handwritten Mathematical Expression Recognition1

主要观点:

1、提出将语法信息纳入编码器-解码器网络的方法。使用一组语法规则,用于将每个表达式的LaTeX标记序列转换为解析树;用深度神经网络将标记序列预测建模为树遍历过程。

2、该方法可以有效地描述表达式的语法上下文,减小HMER的结构预测误差。和现有的WAP和WAP-TD相比,考虑语法规则

在这里插入图片描述

Figure 1. Comparison of different architectures: (a) An encoder-decoder framework WAP (b) A tree decoder DWAP-TD © Our model Syntax-Aware Network (SAN)

相关工作:

HMER的主要任务:

  • 对同一符号的笔画进行切分;
  • 符号识别;
  • 语法引导下的符号结构关系分析,生成数学表达式;

HMER的难点不在于符号识别,而是符号的语法关系;

序列法:

  • 首先将表达式分段输入数学符号,对每个符号分别进行分类,然后通过结构关系分析识别数学表达式。这些方法采用了分类技术,如HMM,弹性匹配,支持向量机、和树变换。

  • 全局方法应用一种综合策略来学习数学符号及其结构关系分析,同时隐式地分割符号。这些方法将HMER处理为基于符号识别结果的数学表达式分割、符号识别和表达式识别结构的全局优化

深度学习方法:

  • 序列到序列:转换数学表达式图片到标记序列,加注意力机制等;

  • 图到图的方法:探索输入公式的结构关系到标记序列;

  • 树结构方法:尝试使用树结构的解码器,对图片提取的特征进行解码;

算法原理:

基本规则

1)遵循标准的阅读顺序:从左到右,从上到下。

2)利用相邻符号之间的空间关系。对于一对相邻的HME符号,总共有九种可能的关系(左、右、上、下、左下、右下、左上、右上、内)。由于约束1),我们去掉了“左”和“下左”,保留了其余7种关系来处理我们实现中所有的MEs情况。尽管ME可能对应于不同的LaTeX序列,但由于这两个约束,语法规则生成的语法树是相同的。

数学描述

算法由元组表示:
G = ( N , Σ , R , S , Γ , C , D ) , G=(N,\Sigma,R,S,{\Gamma},C,D), G=(N,Σ,R,S,Γ,C,D),
N N N:非终止符,包括起始符 S S S和拓展符 E E E

Σ \Sigma Σ:终止符;

R R R:产生式规则;

Γ {\Gamma} Γ:关系;

C C C:编码器;

D D D:解码器;

产生式规则

产生式规则可以表示成:
α → β , α ∈ N , β ∈ ( Γ ∪ N ∪ Σ ) ∗ . \alpha\rightarrow\beta, \\ \alpha\in {N},\beta\in(\Gamma\cup N\cup\Sigma)^{*}. αβ,αN,β(ΓNΣ).
asterisk: represents the Kleene star operation2

R R R有两条生成规则:

规则1: S S S可以在后面产生任意的终止符;或者 E E E扩展符;或者空字符 ϵ \epsilon ϵ
S → σ S ∣ E ∣ ϵ , S\rightarrow\sigma S|E|\epsilon, SσSEϵ,
σ \sigma σ σ ∈ Σ \sigma\in\Sigma σΣ

∣ | :任选的意思;

规则2: E E E为每种类型的关系产生字符串,然后拼接起来;字符串后面可以跟 S S S或者空字符串;
E → [ ( ( γ 1 ) S ∣ ϵ ) , … , ( ( γ 7 ) S ∣ ϵ ) ] , E\to[((\gamma_1)S|\epsilon),\ldots,((\gamma_7)S|\epsilon)],\quad\text{} E[((γ1)Sϵ),,((γ7)Sϵ)],
γ i ∈ Γ \gamma_i\in\Gamma γiΓ:在关系中的第 i i i种;

表达规则图示

图3示出了具有产生式规则的表达式的可能解析过程。为了直观地理解这些规则,可以把S看成一个表达式,把E看成一个可扩展的结构。假设一个表达式可以包含多个可扩展结构,而每个可扩展结构可以扩展为多个具有空间关系的表达式。此外,产生式规则与以输入图像和父节点的上下文状态为条件的概率相关。具体来说,条件概率定义为:
p ( α → β ∣ c ( α ) , X ) = D α → β ( c ( α ) , E ( X ) ) , p(\alpha\rightarrow\beta|c(\alpha),X)=D_{\alpha\rightarrow\beta}(c(\alpha),E(X)), p(αβc(α),X)=Dαβ(c(α),E(X)),
X X X:输入图像;

E ( X ) E(X) E(X):编码器的输出;

c ( α ) c(α) c(α) α α α的上下文状态(将在第3.2节中详细介绍), D α → β ( ⋅ ) Dα→β(·) Dαβ()是对应于产生式规则的解码器的输出;

在这里插入图片描述

Figure 3. (a) A possible parsing procedure of ∑ i n a \sum_{i}^{n}a ina and (b) the parse tree. In the figure, the strings refer to non-terminal symbols in blue, terminal symbols in red, relations in yellow, and empty in grey.

基本流程

在这里插入图片描述

如算法1所示,给定SAN参数和输入图像,使用堆栈实现树遍历。具体来说,所实现的栈可以保证训练过程按照语法树的遍历顺序进行。同样,预测过程也是通过逐步堆叠来实现的。编码器获取输入图像并对其进行下采样。然后根据语法规则,确定表达式及其可扩展结构;同时,解码器计算并选择概率最高的产生式规则。因此,生成具有可扩展结构的新表达式,并更新LaTeX序列中图像的解析树。一旦找到解析树,就可以通过预先顺序遍历树来获得识别结果。

符号感知解码器

在这里插入图片描述

Figure 4. Syntax-Aware Decoder: Consisting of GRU-α, GRU-β, and the Syntax-Aware Attention Module

损失函数:
L = L s y m b o l + L r e l a t i o n + L s y m b o l r e v + L r e g . \mathcal L=\mathcal L_{symbol}+\mathcal L_{relation}+\mathcal L_{symbol}^{rev}+\mathcal L_{reg}. L=Lsymbol+Lrelation+Lsymbolrev+Lreg.

实验结论:

评价方法:

表达式识别率(ExpRate)是数学表达式识别中广泛使用的一种识别协议,定义为预测的数学表达式准确匹配标准答案的百分比。ExpRate≤1和≤2表示表达式识别率最多可容忍一个或两个符号级错误。

在公开数据集CROHME上:

在这里插入图片描述

在HME100k上:

在这里插入图片描述

参考:


  1. [2203.01601] Syntax-Aware Network for Handwritten Mathematical Expression Recognition (arxiv.org) ↩︎

  2. Kleene星号_百度百科 (baidu.com) ↩︎

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【vue create】一.使用vue creat搭建项目

场景:使用vue create脚手架快速搭建vue的项目 前提:需要安装node.js和cnpm以及yarn 并且cnpm需要设置为淘宝镜像,cnpm和yarn安装教程网上很多可以自行搜索 1.使用dos命令安装vue-cli脚手架 //这个是从镜像源下载 cnpm install -g vue/cli 查…

Google三大论文之GFS

Google三大论文之GFS Google GFS(Google File System) 文件系统,一个面向大规模数据密集型应用的、可伸缩的分布式文件系统。GFS 虽然运行在廉价的普遍硬件设备上,但是它依然了提供灾难冗余的能力,为大量客户机提供了…

接口自动化测试——多套被测环境的切换

文章目录一、意义二、实现目标三、实现方案1、使用环境管理文件2、使用不同的文件管理不同的环境(建议使用)3、在接口用例中指定path,不指定url4、环境切换a、通过环境变量进行切换b、通过命令行参数进行切换四、代码实现1、通过环境变量进行…

GPT格式的磁盘扩容

GPT格式的系统盘已经满了,现在需要扩充系统盘 1.怎么查看是不是GPT格式:fdisk -l 2.查看磁盘挂载分区情况 lsblk 2.使用parted对分区进行操作 parted /dev/sda 3.开始分区 mkpart 4.格式化sda4分区后,会发现分区4的文件系统已经显示为xfs…

Docker 常见操作及部署springboot、Shiro、SpringData脚手架(上)

1、查看docker 的状态 systemctl status docker 2、查看docker运行状态的详细信息 docker info 3、docker部署第一个应用 docker search nginx 拉取镜像到本地 docker pull nginx 4、查看本地的镜像信息 docker images 5、使用镜像来创建容器 docker run -d -p 1234:80 ng…

SSH配置文件解析

1.修改端口号,设置登录输入密码等待过期时间,拒绝远程登录root,密码为空,密码登录, [rootzzp124 ~]# vim /etc/ssh/sshd_config [rootzzp124 ~]# systemctl restart sshd.service [rootzzp124 ~]# lsof -i :2…

Superset数据探索和可视化平台入门以及案例实操

1、Superset背景 1.1、Superset概述 Apache Superset是一个现代的数据探索和可视化平台。它功能强大且十分易用,可对接各种数据源,包括很多现代的大数据分析引擎,拥有丰富的图表展示形式,并且支持自定义仪表盘。 1.2、环境说明 …

FastApi的搭建与测试

一、fastapi的安装 1-1、使用pip安装 安装fastapi的语句 pip install fastapi -i https://mirrors.aliyun.com/pypi/simple因为fastapi启动依赖于uvicorn,所以我们还需要安装uvicorn。 pip install uvicorn -i https://mirrors.aliyun.com/pypi/simple下面我们来…

Java学习环境一站说明(保姆级详细教学)

1.Java开发环境搭建官网下载www.oracle.com2.安装注意:1.选择安装位置时尽量不要安装到C盘,路径中不要有空格以及中文的存在2.开发人员安装的jdk中包含了jre,所以不需要单独安装jre3.环境变量配置打开高级系统设置2.点击环境变量3.在系统变量…

FreeSWITCH 智能呼叫流程设计

文章目录1. 智能呼叫流程2. 细节处理1. 呼叫字符串指定拨号计划2. 外呼的拨号计划3. 语音打断的支持1. 智能呼叫流程 用户与机器人对话通常都是以文本的形式进行,但是借助 ASR 和 TTS 技术,以语音电话为载体的智能呼叫系统成为可能。智能呼叫系统涉及到…

Python蓝桥杯训练:基本数据结构 [二叉树] 上

Python蓝桥杯训练:基本数据结构 [二叉树] 上 文章目录Python蓝桥杯训练:基本数据结构 [二叉树] 上一、前言二、有关二叉树理论基础1、二叉树的基本定义2、二叉树的常见类型3、二叉树的遍历方式三、有关二叉树的层序遍历的题目1、[二叉树的层序遍历](http…

网络原理之传输层协议,TCP中的主要核心机制(重点)

目录 一. 传输层中的端口号 二. UDP协议 三. TCP协议 四. TCP中的核心机制 1. 确认应答 2. 超时重传 3. 连接管理 建立连接(三次握手) 断开连接(四次挥手) 4. 滑动窗口 考虑丢包情况1:ack丢了 考虑丢包情况2:数据丢了 5. 流量控制 6. 拥塞…

学这些语言工作更吃香,Python虽然再次摘得桂冠,但在就业需求中位居第一的还得是它!

2022 IEEE 编程语言榜单发布! IEEE Spectrum 2022 编程语言排名前十的分别是:Python,C,C,C#,Java,SQL,JavaScript,R,HTML,TypeScript。 一. Pyth…

嵌入式学习笔记——寄存器实现控制LED小灯

文章目录前言GPIO通用输出模式初始化LED小灯的GPIO原理图初始化代码初始化的效果功能函数封装直接分开宏定义两个使用条件运算符封装函数实现简单的功能前言 上一篇中,介绍了GPIO相关的所有寄存器,并在最后简单实现了一个LED灯的控制,由于那…

以获取笔记本电池信息为例介绍WMI的使用

注:本人也还没有完全弄懂WMI的原理,以下内容仅供参考。。。 简单来说,比起Win32提供的接口,WMI可以提供更多的系统信息,它本身是一个数据库架构,通过它可以访问、配置、管理和监视几乎所有的Windows资源&…

AM5728(AM5708)开发实战之移植OpenCV-3.4.11

一 概述 OpenCV是一个开源的跨平台计算机视觉库,可以运行在Linux、Windows、Mac OS等操作系统上,它为图像处理、模式识别、三维重建、物体跟踪、机器学习提供了丰富的算法。 由于OpenCV依赖包特别多,尽量不要使用交叉编译,即在什…

VMware虚拟机搭建环境通用方法

目录一、前期准备1.下载并安装一个虚拟机软件二、开始创建虚拟机1.配置虚拟机硬件相关操作2.虚拟机网络相关操作三、开机配置相关内容0.开机遇到报错处理(选看--开机没有报错请忽略)1.开始配置2.开机之后配置3.使用xshell远程登录4.使用xshell配置虚拟机…

下一个7年,保持期待、持续思考,酷雷曼继续向前!

过去7年,我们一直在思考, VR技术究竟能为我们的生活带来什么? 是足不出户就能云游千里的秀美风光? 是在家就能沉浸式体验线上消费的便利? 还是为商企和用户搭建更快速的沟通桥梁? NO.1、技术变革 在信…

磁盘阵列Raid探讨

最近公司买服务器,顺便了解一下服务器配置方面的问题 以下讨论的都是入门级服务器配置,全部是主观意见,没有任何科学依据,欢迎大家讨论 Raid0,Raid1,Raid10,Raid5,Raid6(Raid5热备)…

计算机科学导论笔记(四)

目录 六、计算机网络和因特网 6.1 引言 6.1.1 网络 6.1.2 因特网 6.1.3 硬件和软件 6.1.4 协议分层 6.1.5 TCP/IP协议族 6.2 应用层 6.2.1 应用层模式 6.2.2 标准客户机-服务器应用 6.2.3 文件传输协议(FTP) 6.2.4 电子邮件 6.2.5 TELNET 6…