1.一种基于深度学习的注意力机制文本识别方法,其特征在于,包括以下步骤:S1、获取模型训练数据集;
S2、对所述模型训练数据集进行预处理;
S3、构建卷积神经网络CNN模型,输入所述模型训练数据集进行特征提取,获得图像的特征图,所述特征图是通过卷积层与最大池化层交错的多层卷积神经网络提取,所述卷积神经网络CNN接受所述模型训练数据集的原始输入,并生成尺寸为D×H×W的特征网格V ,其中D表示通道数,H和W是结果特征图的高度和宽度;
S4、接着构建双向循环神经网络RNN编码器,将卷积神经网络CNN输出的特征图输入到双向循环神经网络RNN编码器;
在所述步骤S4中,编码器结构使用的是长短期记忆网络LSTM,所述长短期记忆网络LSTM引入了细胞状态,并使用输入门、遗忘门、输出门三种门来保持和控制信息,具体的,长短期记忆网络LSTM任意一个timestep,t的计算公式如下所示:其中,为遗忘门,为输入门, 为输出门,为细胞状态, 为隐藏层状态值,W和b为权重和偏执;
S5、构建注意力机制,并跟踪特征图像的下一个当前位置以生成标记,所述位置通过关注的上下文向量 传递,定义一个潜在的分类变量 ∈{1,···,H}×{1,···,W}来表示模型正在参与哪个单元格,若访问注意力分布 〜p( ),则上下文定义为对源端特征的期望为:;
S6、双向循环神经网络编码器将特征图输出到带注意力机制的长短期记忆网络LSTM解码器,长短期记忆网络LSTM的隐藏层特征为512,最后得到图片对应的公式latex代码的概率分布。
2.根据权利要求1所述的一种基于深度学习的注意力机制文本识别方法,其特征在于,所述步骤S2具体包括:S21、利用Python脚本裁剪数据集中的公式图片的空白区域,提取重要像素;
S22、对模型训练数据集IM2LATEX‑100K中的公式标记各项插入空字符以便索引,然后生成数据集IM_2_LATEX‑100K;
S23、对模型训练数据集IM_2_LATEX‑100K去除1/4的过大的公式图片对应的图片索引,然后生成latex代码的词袋文本文件latex.t。
3.根据权利要求1所述的一种基于深度学习的注意力机制文本识别方法,其特征在于,在所述步骤S3中,所述卷积层的各层结构如下:第一层: weight:[3, 3, 1, 512]
第二层: weight:[3, 3, 512, 512],max_pool:[1, 1, 2, 1]第三层: weight:[3, 3, 512, 256],max_pool:[1, 2, 1, 1]第四层: weight:[3, 3, 256, 256]
第五层: weight:[3, 3, 256, 128],max_pool:[1, 2, 2, 1]第六层: weight:[3, 3, 128, 64],max_pool:[1, 2, 2, 1]。
4.根据权利要求1所述的一种基于深度学习的注意力机制文本识别方法,其特征在于,在所述步骤S3中,除了卷积神经网络卷积层和池化层外还有使用正则化函数tf.contrib.layers.batch_norm,使深层神经网络训练更加稳定,加快收敛速度,同时起正则化的作用。
5.根据权利要求1所述的一种基于深度学习的注意力机制文本识别方法,其特征在于,所述步骤S5还包括:在特征图像上加上一个网格,在生成标记时,首先关注粗糙网格以获取相关的粗糙单元,然后关注内部精细单元以获取上下文向量。
6.根据权利要求1所述的一种基于深度学习的注意力机制文本识别的方法,其特征在于,所述步骤S4具体包括:S41、循环神经网络RNN递归地将输入向量和隐藏状态映射到新的隐藏状态,在时间t,以以下方式用输入 更新隐藏状态: = RNN( , ;θ),其中 为初始状态,作为循环神经网络RNN变体的长期的短期存储网络对大多数NLP任务非常有效;
S42、通过在输入的每一行上运行循环神经网络RNN,从V created创建新要素网格V,对于所有行h∈{1,…,H}和列w∈{1,…,W},将新特征递归定义为 = RNN( ,w‑1, ),为了捕获垂直方向上的顺序信息,对每行使用可训练的初始隐藏状态 ;
S43、解码,p( | , . . . , , V) = softmax(Woutot),这里 = tanh(Wc [; ]),Wout,Wc是学习的线性变换,向量 用于总结解码历史: = RNN( ,[ ; ]),上下文向量 用于捕获注释网格中的上下文信息。