基于循环神经网络的图像特定文本抽取方法

   2023-02-09 学习力946
核心提示: 作者的模型整体框架包含两部分,分别为OCR 部分 (采用人家的模型, 输出文本)特定文本抽取部分 (作者的工作)1. 引言早期图像特定文本抽取主要是通过 OCR 中的版面分析(Layout analysis)来实现。即首先利用 版面分析 的方法得到图像中特定的文本区域,然后

 

作者的模型整体框架包含两部分,分别为

  • OCR 部分 (采用人家的模型, 输出文本)
  • 特定文本抽取部分 (作者的工作)

1. 引言

早期图像特定文本抽取主要是通过 OCR 中的版面分析(Layout analysis)来实现。即首先利用 版面分析 的方法得到图像中特定的文本区域,然后对特定文本区域进行文字识别。版面分析的方法可归结为三大类:

  1. 自顶向下(Top down) 分析法
  2. 自底向上(Bottom up)分析法
  3. 混合分析法

这些方法对文档图像的依赖性较强, 且其分析过程包含大量复杂的图像处理技术,导致其不能很好的泛化到其他类型的图像上。

 

近年来 OCR 主要研究的 问题 :

  • 拍摄角度不均
  • 光线不均
  • 低分辨率

的自然场景图像上的问题. 采用的方法 :

  • 端到端(End-to-End)的 场景文字检测(Scene text detection)
  • 端到端(End-to-End)的 场景文字识别(Scene text recognition)

其中,场景文字检测 的方法主要包括:

  • 基于连通域法
  • 滑窗(Sliding window)法
  • 深度学习(Deep learning)法

目前 深度学习法 表现出的效果最好。

场景文字识别 主要采用的方法是:

Shi 等人设计了一种基于序列建模的端到端的模型来识别文字:由 CNN 提取特征,BLSTM 对 序列建模,CTC(Connectionist temporal classification)转录,最终取得了较好的识别效果,因此该模型也成为了文字识别领域目前主流的识别框架。

但是上述方法提取的文本含有大量噪声信息,本文提出一种新的特定文本抽取思路: Bidirectional long short-term memory-Condition random fields (BLSTM-CRFs)模型。将该问题类比于 NLP 中 序列标注(Sequence labeling) 的问题。

首先,通过双向长短时记忆网络捕获 OCR 输出结果序列的上下文信息,为其建立内在的联系;然后通过 条件随机场(Conditional random field, CRF)显式的根据整个序列的标签做出决策,得到最佳的标签结果;最后根据标签即可得到特定的文本。

2. 原理

BLSTM-CRFs 模型主要由两部分构成,
第一部分为 双向长短时记忆网络,用于捕获上下文信息并编码序列 ,
第二部分为 条件随机场统计分析得到最后的标签。

将两部分结合起来进行序列标注

2.1 序列标注

序列标注通常是给定一串输入序列 x=x1,x2,...,xnx={x_1, x_2, ..., x_n}x=x1,x2,...,xn, 来预测对应的标签序列y=y1,y2,...,yny={y_1, y_2, ..., y_n}y=y1,y2,...,yn, 其中 n 为序列的长度.

序列标注任务包括:

  • 词性标注(Parts of speech, POS)
  • 语义角色标注(Sematic Role Labelling, SRL)
  • 命名实体识别(Name entity recognition, NER)

近年来 循环神经网络 通过获得序列之前时刻的依赖关系协助决策当前时刻的输出,在标注任务中表现出色。

2.2 长短时记忆网络单元 (LSTM unit)

由于 RNN 训练过程存在梯度消失, 梯度爆炸问题, 导致难以获得长距离依赖 , 针对该问题, 提出 长短时记忆 (Long short-term memory, LSTM) 网络.

此部分须阅读参考论文

2.3 双向长短时记忆网络 (BLSTM)

双向长短时记忆网络是对长短时记忆网络的优化, 在结构上为一个前向和一个后向长短时记忆网络, 分别用来编码序列上、下文信息,然后将两个网络的输出向量结合起来,得到具有上下文信息的输出。

此部分须阅读参考论文

2.4 条件随机场 (CRF)

条件随机场是一个基于统计的模型, 它预测序列的标签, 以整个序列的标签为单位来考虑最佳路径的序列标签,显式的结合了序列的整体信息(优于传统方法的点), 这种方法可以避免一些歧义。

2.5 BLSTM-CRFs 模型

将双向长短时记忆网络 (BLSTM)和条件随机场 (CRF)结合起来, 得到BLSTM-CRFs 模型, 用来预测序列的标签y=y1,y2,...,yny={y_1, y_2, ..., y_n}y=y1,y2,...,yn

2.6 场景文字检测与识别

检测部分为 CTPN 模型,可以有效监测自然场景中的文字.

识别部分为 CRNN 模型, 进行文本识别.


本章小结:

序列标注任务采用模型的选择:

⟹\Longrightarrow RNN — 训练时候存在梯度消失和梯度爆炸, 难以获得长距离依赖
⟹\Longrightarrow 长短时记忆网络 (LSTM unit) — 无法得到具有上下文信息的输出
⟹\Longrightarrow 双向长短时记忆网络 (BLSTM) — 可利用前一个输入与后一个输入的信息得到当前输入的标签
+++   条件随机场 (CRF) — 结合序列的整体信息 (基于统计)(作为和BLSTM的区别) 进行输出

得到 BLSTM-CRFs 模型


 

 
反对 0举报 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 【深度学习】循环神经网络教程 循环神经网络 知乎
    【深度学习】循环神经网络教程 循环神经网络 知
    这是在公司做培训时制作的PPT,教程对循环神经网络以及其应用进行了简单地介绍,主要分为以下六个部分:Why do we need Recurrent Neural Networks?Vanilla Recurrent Neural NetworkBackpropagation Through Time (BPTT)Gradient exploding/vanishing proble
    03-08
  • 深度学习 - 循环神经网络RNN
    深度学习 - 循环神经网络RNN
    当数据是有顺序的时候,我们就可以使用RNN了,比如说话的顺序 有序列化的数据等的。   在介绍RNN之前,我有篇博客是介绍了CNN,简单提一下,在一张大的图片是上,我们有一个fliter滤波器,通过共用参数来扫描这张图片,提取出一张精髓的图片,再在这这张图片
    03-08
  • 拓端tecdat|R语言深度学习Keras循环神经网络(RNN)模型预测多输出变量时间序列
    拓端tecdat|R语言深度学习Keras循环神经网络(RN
    原文链接:http://tecdat.cn/?p=23902原文出处:拓端数据部落公众号递归神经网络被用来分析序列数据。它在隐藏单元之间建立递归连接,并在学习序列后预测输出。在本教程中,我们将简要地学习如何用R中的Keras RNN模型来拟合和预测多输出的序列数据,你也可以
    03-08
  • 循环神经网络(RNN)相关知识 rnn递归神经网络
    循环神经网络(RNN)相关知识 rnn递归神经网络
    文章目录RNN概述前向传播公式通过时间反向传播(BPTT)RNN确定序列长度方式其他RNN结构基于RNN的应用1,序列数据的分析2,序列数据的转换3,序列数据的生成RNN的不足1,从隐藏变量h角度来看2,从梯度传播角度来看RNN概述循环神经网络(RNN)是用于处理序列数据
    02-10
  • 【吴恩达deeplearning.ai】深度学习(9):循环神经网络
    【吴恩达deeplearning.ai】深度学习(9):循环神
    随深度学习技术的发展,使用循环神经网络(Recurrent Neural Network,RNN)建立的各种序列模型,使语音识别、机器翻译及自然语言理解等应用成为可能。表示与类型自然语言、音频等数据都是前后相互关联的数据,比如理解一句话要通过一整句而不是其中的几个词
    02-10
  • 学习记忆循环神经网络心得
    学习记忆循环神经网络心得
          如有缪误欢迎指正  GRU结构向前传播 心得(欢迎指正)当遗忘门等于0的时候当前信息抛弃 之前记忆前传当遗忘门等于1 的时候之前记忆抛弃 当前信息前传当遗忘门的值为0和1之间的时候 调控前传的记忆与信息的比例 QAQQ:LSTM与GRU 的区别A: LSTM
    02-10
  • 协同过滤结合循环神经网络的推荐系统——期末作业
    协同过滤结合循环神经网络的推荐系统——期末作
    Recommendation System using Collaborative Filtering and Recurrent Neural Networkauthor:Fu-ze ZhongEmail: [email protected]School of Data and Computer Science, Sun Yat-sen University, Guangzhou, China.abstractThe behavior of user in an e-c
    02-10
  • 第六讲 循环神经网络--LSTM--stock
    1 !pip install tushare2 import tushare as ts3 import numpy as np4 import tensorflow as tf5 from tensorflow.keras.layers import Dropout, Dense, LSTM6 import matplotlib.pyplot as plt7 import os8 import pandas as pd9 from sklearn.preprocessing
    02-10
  • 循环神经网络RNN 循环神经网络RNN可以处理哪些情况
    循环神经网络RNN 循环神经网络RNN可以处理哪些
    前言我们在思考和判断问题的时候,并不是总是以一个空白的状态进行思考的。我们的思考都是基于我们以前的知识或者经验,比如我们读到这篇博客的时候,考虑到这些词语或者语句表达的是什么意思,都是基于我们以前所学到的知识。也就是说我们的思想具有持续性。
    02-10
  • 循环神经网络系列(二)Tensorflow中dynamic_rnn
    循环神经网络系列(二)Tensorflow中dynamic_rn
    1.回顾上一篇博文(循环神经网络系列(一)Tensorflow中BasicRNNCell)中我们介绍了在Tensoflow中,每个RNN单元的实现,以及对应各个参数的含义。自那之后,我们就能通过Tensorflow实现一个单元的计算了。import tensorflow as tfimport numpy as npx = np.array
    02-09
点击排行