本发明属于文档信息处理技术领域,尤其涉及一种文档图像关键信息提取方法及系统。
背景技术:
文档数字化,是指利用扫描仪技术、图像文字识别技术、数据库等技术将各种载体的文档转化为数字化的文档细信息,方便文档的存储、管理与维护等。在这一过程中,除了将图像中的文字通过文字识别技术转换为数字化的文字信息以外,还需要保留通过图像结构体现的信息,例如,在发票中,“发票号码:”这几个字符与后面代表发票号码的一串字符往往并不连续,需要通过文档关键信息提取技术获取包含通过文档结构体现的信息在内的文档关键信息,以方便文档的检索与管理。
在文档关键信息提取问题中,待提取的关键信息一般在某些标志性字段附近,现有技术之一利用检索识别到的文字内容中的标志性字段定位到标志性字段的位置,再通过标志性字段与待提取的关键信息的位置关系定位到关键信息,从而进行关键信息提取。通过定位标志性字段再根据相对位置确定待提取的关键字段缺点之一是这种方法非常依赖识别结果,要求识别模型输出的标志性字段结果与定义的标志性字段完全一致才能定位到标志性字段的位置,当识别模型输出结果不太精确时可能使这种方法完全失效;另一个缺点是这种方法只适合版面固定的某类图像,因为这种方法中标志性字段和待提取的关键字段相对位置是固定的,一旦两者位置有偏移或者文档版面有微小变化也会导致这种方法失效;此外,这种方法开发成本高,对于每一类版面不同的文档都需要重新开发一套适用该类文档的规则。
技术实现要素:
本发明提供一种文档图像关键信息提取方法及系统,旨在解决现有技术的开发成本高的问题。
本发明是这样实现的,一种文档图像关键信息提取方法及系统,一种文档图像关键信息提取方法,包括以下步骤:
s1、对模板图像进行文字检测和识别,标注关键信息的位置;
s2、输入待提取关键信息的待测图像,对其进行文字检测和识别;
s3、利用关键信息提取算法提取待测图像的关键信息。
优选的,所述利用关键信息提取算法提取待测图像的关键信息,具体为:
利用最长公共子序列算法判断模板图像和待测图像的字符串两两之间是否是匹配关系,所述模板图像和所述待测图像均为一张图像;
求解两张图像的行两两之间字符串的最优匹配,以及达到最优匹配时的分数;
根据两张图像行间匹配的分数计算全局最优匹配;
确定待测图像中与模板标注出的关键信息匹配的字符串,提取这些字符串作为最终关键信息提取的结果。
优选的,所述利用最长公共子序列算法判断两张图像的字符串两两之间是否是匹配关系,具体为:先使用最长公共子序列算法求解两个字符串的最长公共子序列长度,若该长度大于预设阈值,则判断为这两个字符串为匹配关系。
优选的,所述求解两张图像的行两两之间字符串的最优匹配,以及达到最优匹配时的分数,具体为:将字符串按检测得到的位置排列,纵轴方向的坐标差值在预设范围内的字符串为同一行,求解模板中的行和待测图像的行的最优匹配。
优选的,所述确定待测图像中与模板标注出的关键信息匹配的字符串,提取这些字符串作为最终关键信息提取的结果,具体为:
根据步骤s302和步骤s303所求出的行对应关系和两行中字符串的对应关系,确定待测图像与整张模板图像范围内的字符串对应关系;
定义模板中标注的关键信息周围的字符串为标志性字符串,在待测图像中找出与标志性字符串对应的字符串,确定待测图像的关键信息范围,输出关键信息。
优选的,所述对模板图像进行文字检测和识别,标注关键信息的位置,具体为:
调用已有的检测识别模型,获得文档图像中所有文字字段的内容和具体位置,之后根据位置信息对结果进行排序;
对3~10份模板图像进行标注,并作为训练集,通过算法对训练集数据生成模板和训练得到模型。
优选的,所述输入待提取关键信息的待测图像,对其进行文字检测和识别,具体为:输入待提取关键信息的待测图像,对其进行文字检测和识别,获得待测图像的文档数据,所述文档数据包括文字位置和文字内容。
优选的,所述利用关键信息提取算法提取待测图像的关键信息,具体为:将待测图像的文档数据输入模型,输出关键信息提取的结果。
本发明的一种文档图像关键信息提取系统,包括
图像处理模块,用于对模板图像进行文字检测和识别,标注关键信息的位置;所述图像处理模块用于输入待提取关键信息的待测图像,对其进行文字检测和识别;
关键信息提取模块,用于利用关键信息提取算法提取待测图像的关键信息。
与现有技术相比,本发明的有益效果是:本发明的一种文档图像关键信息提取方法及系统,通过对模板图像进行文字检测和识别,标注关键信息的位置,输入待提取关键信息的图像,对其进行检测识别,最后利用关键信息提取算法提取待测图像的关键信息,本发明具有不依赖识别模型输出的文档文字识别结果、适用范围广、开发过程简单、开发时间短的特点。
附图说明
图1为本发明的一种文档图像关键信息提取方法整体流程示意图。
图2为本发明实施例一的模板图像和待测图像的部分行的匹配示意图。
图3为本发明实施例一的模板图像和待测图像的所有行的匹配示意图。
图4为本发明实施例二的一种文档图像关键信息提取方法的流程示意图。
图5为本发明实施例三的一种文档图像关键信息提取方法的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一
请参阅图1,本实施例提供一种技术方案:一种文档图像关键信息提取方法及系统,一种文档图像关键信息提取方法包括以下步骤:
s1、对模板图像进行文字检测和识别,标注关键信息的位置。
s2、输入待提取关键信息的待测图像,对其进行文字检测和识别。
s3、利用关键信息提取算法提取待测图像的关键信息。
s301、利用最长公共子序列算法判断模板图像和待测图像的字符串两两之间是否是匹配关系,模板图像和待测图像均为一张图像。先使用最长公共子序列算法求解两个字符串的最长公共子序列长度,若该长度大于预设阈值,则判断为这两个字符串为匹配关系。
设两个字符串分别为x、y,长度分别为m、n,xi、yj表示x和y的前i和j个字符组成的字符串,d[i,j]保存xi、yj的最长公共子序列长度,递推方程为:
若d[m,n]/min{m,n}大于预设阈值,则判断这两个字符串为匹配,否则为不匹配。
s302、求解两张图像的行两两之间字符串的最优匹配,以及达到最优匹配时的分数。将字符串按检测得到的位置排列,纵轴方向的坐标差值在预设范围内的字符串为同一行,求解模板中的行和待测图像的行的最优匹配。
将字符串按检测得到的位置排列,纵轴方向的坐标差值在预设范围内的字符串为同一行,求解模板中的行和待测图像的行的最优匹配。如图2所示,第一行代表模板中的一行,第二行代表待测图像中的一行,求解这两行的最优匹配。将两行字符串分别用s={s1,s2,s3...sm}和t={t1,t2,t3...tn}表示,m、n分表表示这两行的字符串个数。si==tj表示字符串si和字符串tj符合前一步骤的匹配原则,d[i,j]表示第一行前i个字符串与第二行前j个字符串最优匹配分数,递推公式如下:
在计算d[i,j]的过程中,使用大小为m×n的矩阵记录达到最优匹配时字符串的对应关系。使用s=d[m,n]/min{m,n}作为这两行的匹配分数。
s303、根据两张图像行间匹配的分数计算全局最优匹配。
请参阅图3,p1、p2表示两张文档图像,设l={l1,l2,l3,...lm}和g={g1,g2,g3...gn}分别为两张图像的所有行,求解两张图像行的最优匹配。设s[i,j]表示按照前一步骤方法计算的li和gj的匹配分数,k[i,j]表示第一张图像前i行和第二张图像前j行的最优匹配分数,求解公式为:
k[i,j]=max{k[i-1.j-1] s[i,j],k[i-1,j],k[i,j-1]}s.t.k[0,0]=0
在求解最优匹配分数的同时记录达到最优匹配时行的匹配关系。
s304、确定待测图像中与模板标注出的关键信息匹配的字符串,提取这些字符串作为最终关键信息提取的结果。根据步骤s302和步骤s303所求出的行对应关系和两行中字符串的对应关系,确定待测图像与整张模板图像范围内的字符串对应关系。
定义模板中标注的关键信息周围的字符串为标志性字符串,在待测图像中找出与标志性字符串对应的字符串,确定待测图像的关键信息范围,输出关键信息。
本发明的一种文档图像关键信息提取系统包括图像处理模块和关键信息提取模块。图像处理模块用于对模板图像进行文字检测和识别,标注关键信息的位置,图像处理模块用于输入待提取关键信息的待测图像,对其进行文字检测和识别。关键信息提取模块用于利用关键信息提取算法提取待测图像的关键信息。
本发明的一种文档图像关键信息提取方法及系统,通过对模板图像进行文字检测和识别,标注关键信息的位置,输入待提取关键信息的图像,对其进行检测识别,最后利用关键信息提取算法提取待测图像的关键信息,本发明具有不依赖识别模型输出的文档文字识别结果、适用范围广、开发过程简单、开发时间短的特点。
实施例二
某些情况下,可能存在多张标注的模板文档图像,因此,本实施例在实施例一基础上,提出了一种结合模板匹配和内容分类的文档图像关键信息提取方法。本实施例的一个优点是不过分依赖文档文字检测识别结果,可以应用在文档版面变化不大的情况下,只需要标注少量数据,就可以快速训练出一个专有化模型,大致训练时间为10秒到30秒,具体情况视数据量多少而定,可以在相应结构化文档上快速进行关键字段提取,大大提高了文档关键信息提取的速度和精度。请参阅图4,本实施例的一种文档图像关键信息提取方法包括以下步骤:
s1、调用已有的检测识别模型,获得文档图像中所有文字字段的内容和具体位置,之后根据位置信息对结果进行排序。
获取训练数据,对要提取文档中具有代表性的文档抽出3到10份,然后将感兴趣的关键字段位置标注出来。第二部是对文档图像使用光学字符检测和光学字符识别模型来得到文档中所有字段的位置和内容信息,接下来通过计算标注框和检测框的交并比来赋予每个检测框不同的标签。最后使用二维排序算法对检测框从左到右,从上到下进行排序,并且将识别结果也对应到其检测框所在位置。
s2、对结构基本一致的文档进行少量的标注作为训练集,文档数量一般为3~10份,视文档结构情况复杂而定,通过算法对训练集数据生成模板和训练得到模型。
先进行分行模板生成和预测。分行主要作用在于区分表项内外和区分表项内部数据分布不相同的行,为表项内外的信息提取区分不同的数据。由于表项内部数据格式较为统一,所以在分行时使用了模板匹配的方法。首先将排好序的识别结果按行分开并且每一行连在一起使用预先训练好的语言模型生成一整行的词向量,然后再使用每行检测框的分布情况生成每行内容的分布向量,将这两个向量连接起来就组成了一行的特征向量,将所有训练文档的行特征向量放入一个矩阵之中,再根据每行内部检测框本身的标签生成每一行的标签,将特征矩阵和标签矩阵组合就形成了一个特征模板。预测时使用生成特征矩阵相同的方法对一份新文档生成一个新的特征矩阵,用新的特征矩阵和模板中的特征矩阵进行运算得出新特征矩阵中每一行特征向量和模板中所有特征向量的相似度,然后取相似度最高的模板行的标签作为新特征向量的标签,最后就会得出新特征矩阵每一行的标签,对标签进行区分就可以分开表项内的行和表项外的行。
再进行表项内模板生成和预测。通过处理训练数据每行生成的行标签,我们就可以将训练数据中原始检测识别数据分为表项内数据和表项外数据,将表项内数据每一行的检测识别和该行的标签组合成一个模板保存。在进行提取时先通过分行算法对检测识别结果区分每行的标签,然后在模板中找出和当前预测行标签一致的所有行的检测识别结果。然后再通过对检测框归一化和计算相似度,更加精细的找出该预测行和模板中最匹配的行,下一步判断这两行的检测框数量是否一致,若一致则将检测框位置对齐,把模板检测框的标签赋值给与其对齐的预测检测框,若不一致则取模板中相似度次优的行和当前预测行进行匹配。通过精细匹配就可以对表项内所有检测框赋值一个标签,通过对标签的确定就可以提取出感兴趣的关键信息。
接着进行表项外模型训练和预测。因为表项内的数据格式较为统一,所以在在进行分行操作和表项内信息提取时主要使用模板匹配的方法,而表项外数据较为复杂,所以使用基于svm、xgboost、lightgbm等机器学习算法进行模型训练来对关键信息进行提取。首先根据分行时的表项外的行标签拿到表项外的检测识别数据,接下来对每个检测结果和识别结果进行编码,得到每个检测框的一个特征向量,然后将每个特征向量和其对应的标签放入模型框架中训练,得到模型参数。预测时将分行得到的所有表外检测识别数据使用相同的编码算法生成特征向量,将向量输入模型就可以得到该向量所要对应的标签,最后再通过确定标签的值来提取感兴趣的关键字段信息。
s3、获取步骤s2生成的模板和训练得到的模型参数,作为结构化文档关键信息提取推理时的参数,将待处理的文档数据输入系统,系统输出即为关键信息提取的结果,文档数据包括文字位置和文字内容。
通过组合提取关键信息。将结构化文档关键信息提取结果输出为固定格式。表项内输出格式为[{关键字:内容,......,关键字:内容},......,{关键字:内容,......,关键字:内容}],每个表项内会不止一项数据,所以每项用大括号括起来。而每项数据中又有多个数据节点组成,每个数据节点以键值对的形式存放,键为关键信息的描述或者概括,如“发票号码”等,值的结果就是文档中是“发票号码”的具体提取结果。如果文档没有表项内,表项外的输出格式为{关键字:内容,......,关键字:内容}的形式,如果文档有表项内,则表项外的输出格式为{关键字:内容,......,关键字:内容,表项内:表项内格式化输出}的形式。
实施例三
本实例相对于实例二不同点主要在于当结构化文档没有表项内的内容时,可以只需要训练表项外模型来对整个文档进行关键信息提取,不需要分行和表项内的部分。请参阅图5,其主要步骤包括:
s1、获得文档检测识别数据。
s2、调用表外训练的到的模型对所有文档数据进行预测,提取关键信息。
s3、对步骤s2取得到的信息进行格式化组合以提取关键信息。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
1.一种文档图像关键信息提取方法,其特征在于:包括以下步骤:
s1、对模板图像进行文字检测和识别,标注关键信息的位置;
s2、输入待提取关键信息的待测图像,对其进行文字检测和识别;
s3、利用关键信息提取算法提取待测图像的关键信息。
2.如权利要求1所述的一种文档图像关键信息提取方法,其特征在于:所述利用关键信息提取算法提取待测图像的关键信息,具体为:
s301、利用最长公共子序列算法判断模板图像和待测图像的字符串两两之间是否是匹配关系,所述模板图像和所述待测图像均为一张图像;
s302、求解两张图像的行两两之间字符串的最优匹配,以及达到最优匹配时的分数;
s303、根据两张图像行间匹配的分数计算全局最优匹配;
s304、确定待测图像中与模板标注出的关键信息匹配的字符串,提取这些字符串作为最终关键信息提取的结果。
3.如权利要求2所述的一种文档图像关键信息提取方法,其特征在于:所述利用最长公共子序列算法判断两张图像的字符串两两之间是否是匹配关系,具体为:先使用最长公共子序列算法求解两个字符串的最长公共子序列长度,若该长度大于预设阈值,则判断为这两个字符串为匹配关系。
4.如权利要求2所述的一种文档图像关键信息提取方法,其特征在于:所述求解两张图像的行两两之间字符串的最优匹配,以及达到最优匹配时的分数,具体为:将字符串按检测得到的位置排列,纵轴方向的坐标差值在预设范围内的字符串为同一行,求解模板中的行和待测图像的行的最优匹配。
5.如权利要求2所述的一种文档图像关键信息提取方法,其特征在于:所述确定待测图像中与模板标注出的关键信息匹配的字符串,提取这些字符串作为最终关键信息提取的结果,具体为:
根据步骤s302和步骤s303所求出的行对应关系和两行中字符串的对应关系,确定待测图像与整张模板图像范围内的字符串对应关系;
定义模板中标注的关键信息周围的字符串为标志性字符串,在待测图像中找出与标志性字符串对应的字符串,确定待测图像的关键信息范围,输出关键信息。
6.如权利要求1所述的一种文档图像关键信息提取方法,其特征在于:所述对模板图像进行文字检测和识别,标注关键信息的位置,具体为:
调用已有的检测识别模型,获得文档图像中所有文字字段的内容和具体位置,之后根据位置信息对结果进行排序;
对3~10份模板图像进行标注,并作为训练集,通过算法对训练集数据生成模板和训练得到模型。
7.如权利要求6所述的一种文档图像关键信息提取方法,其特征在于:所述输入待提取关键信息的待测图像,对其进行文字检测和识别,具体为:输入待提取关键信息的待测图像,对其进行文字检测和识别,获得待测图像的文档数据,所述文档数据包括文字位置和文字内容。
8.如权利要求7所述的一种文档图像关键信息提取方法,其特征在于:所述利用关键信息提取算法提取待测图像的关键信息,具体为:将待测图像的文档数据输入模型,输出关键信息提取的结果。
9.一种文档图像关键信息提取系统,其特征在于:包括:
图像处理模块,用于对模板图像进行文字检测和识别,标注关键信息的位置;所述图像处理模块用于输入待提取关键信息的待测图像,对其进行文字检测和识别;
关键信息提取模块,用于利用关键信息提取算法提取待测图像的关键信息。
技术总结