论文部分内容阅读
文本识别研究是指如何让机器正确识别由手写、打印或拍照所得的文本内容,以便进行后续的再处理和内容理解。该问题的研究成果能直接便利人们的生活,例如手写输入法、拍照翻译和机器阅卷等等。其中,二维结构文本的识别是该研究领域的一大难点,其与一维文本的不同之处就在于它内部复杂的二维空间结构很难被模型解析,极大地增加了识别难度。以机器阅卷为例,语文或英语阅卷中的文本识别为一维结构文本识别问题,因为这类文本的识别方向是一维的,通常为自左向右;而数学阅卷中的文本识别为二维结构文本识别问题,因为数学公式的识别方向不仅仅是自左向右,同时还嵌套了由分式形成的上下结构或由根号形成的包围结构,等等。所以,二维结构文本的识别研究对提高文本识别的实用价值有重要意义。随着深度学习的发展,越来越多的模型被提出并应用到各个领域,英文和中文等一维文本的识别率也通过深度学习模型得到了大幅提升。然而,由于二维结构文本的结构特殊性,一直以来没有很好的深度学习模型能被用于解决二维结构文本识别问题,也因此二维结构文本的识别率远远低于一维结构文本的识别率。本文研究的编码-解码模型是一个基于深度学习的序列到序列或图像到序列的映射模型,它给二维结构文本识别提供了一种新的端到端的解决思路和有望取得突破性进展的可能性。因此,本文基于编码-解码模型对二维结构文本识别进行了探索和研究,并为提高二维结构文本的识别性能,多次改进编码-解码模型以提高其处理二维结构的泛化性。本文的主要研究工作和创新成果包括:1.针对以静态图片为输入模态的离线二维结构文本,提出有效的基于序列解码器的编码-解码模型。本文首先利用卷积神经网络从静态图片输入中提取高维视觉特征,然后使用注意力模型对文本内各基本单元进行切分对齐并检测各单元之间的结构关系,最后,基于注意力模型反馈的结果,使用具有长时记忆能力的循环神经网络作为结构解析模块,将二维结构文本以序列化的形式逐字的解码出来。该方法将字符切分识别模块和结构解析模块联合优化训练,是一个端到端的深度学习框架。在数学公式识别问题上,该方法较传统方法大幅提升了性能,此外,该方法有效实现了基于偏旁部首的汉字建模,突破了基于整字建模的汉字识别的瓶颈。2.针对以动态轨迹序列为输入模态的在线二维结构文本,提出有效的基于序列解码器的编码-解码模型。相比于静态图片输入,动态轨迹序列输入包含书写文本的时序信息。本文首先利用循环神经网络为动态轨迹点输入提取特征。然后,考虑到动态轨迹序列可以无损的转化为静态图片序列,本文充分利用动态轨迹和静态图片模态之间的互补性,解决了动态轨迹序列输入特有的倒笔和插入笔问题。此外,动态轨迹序列包含着准确的字符切分信息,本文利用该切分特性改进了注意力模型的训练,最终在提升字符切分准确度的同时提高了识别性能。3.提出基于动态轨迹序列输入的树形结构解码器,大幅提升编码-解码模型处理在线二维结构文本的泛化性。二维结构文本最本质的表达形式为树形结构,因此,采用树形结构解码器替换序列解码器来作为二维结构文本识别的结构解析模块能提高模型识别二维结构的泛化性。然而实现树形结构解码器的一大难点就是如何正确表征树结构内的各个节点,如果用字符来表征树结构的节点,相同的字符表征的不同节点就会引发歧义,因而树形结构解码器的相关研究进展一直很缓慢。然而,在处理在线二维文本识别时,本文利用在线文本特有的切分信息来无歧义的表征树结构的节点,巧妙降低了树形结构解码器实现的难度,且该树结构解码器在在线二维文本识别问题上较序列解码器大幅提升了识别性能和泛化能力。4.为解决基于动态轨迹序列输入的树形结构解码器受输入模态的限制,本文进一步提出通用树形结构解码器,可对任意输入模态的二维结构文本进行树形结构解码。由于相同的字符表征的不同节点在树结构中存在歧义,本文提出将字符按解码顺序存入一个记忆模块,利用字符在记忆模块当中的位置作为其在树结构里的节点,由于位置是唯一的,因此歧义问题被解决。此外,为了让通用树形结构解码器的训练更合理化,本文提出了相应的记忆模块注意力模型和空间注意力模型自监督训练。在离线二维文本识别上,通用树形结构解码器较序列解码器大幅提升了识别性能和泛化能力。