一种数字档案智能分类的装置及方法与流程

文档序号:22738851发布日期:2020-10-31 09:20阅读:72来源:国知局
一种数字档案智能分类的装置及方法与流程

本发明属于数字档案分类处理技术领域,尤其涉及一种数字档案智能分类的装置及方法。



背景技术:

随着技术的发展,越来越多的档案开始使用数字化存储,包括天然的电子文档,以及通过扫描或照相技术把传统纸质档案转化成数字档案存储。在管理数字档案时,往往都需要按照一定的原则或规范对数字档案进行分类后存储。在档案数量巨大时,人力进行分类的成本很高,而机器自动分类的精度不足以符合实际要求,一般可以通过机器对数字档案进行预分类,再由人来做分类确认。

ocr是一种对图片中的文本进行识别的技术,可以用来获得文本内容、字体大小、位置信息。随着深度学习的发展,目前的ocr技术在中英文上都已经能达到较高的准确率。

目前,数字档案的分类技术大体可以分为两种:使用自然语言技术对纯文字的电子文档进行分类,又或者使用图像技术直接提取数字档案的图像特征,用图像分类的技术对其进行分类。

基于图像技术的分类,通过包括深度神经网络在内的图像技术提取图像的特征,后续的分类流程和基于自然语言处理技术的分类流程相似,通过分类模型或者相似度模型对图像进行训练和分类。



技术实现要素:

本发明提供一种数字档案智能分类的装置及方法,旨在支持对档案照片或扫描件的分类,可以达到较高的精度。

本发明是这样实现的,提供一种数字档案智能分类的装置,包括:

数据转换模块,其用于将目标数字档案转化成图片;

ocr识别模块,其用于识别所述图片中的文本内容、位置和文字大小;ocr识别出的结果为文字块,一个所述文字块包含一个或多个文字,并且具备宽度和高度属性,以及文字块中心点横坐标与纵坐标属性;

ocr后处理模块,其用于优化所述文字块中的文字内容、对优化后的文字内容进行排序、合并每一行中识别出的相邻文字块;合并的原则为:若相邻的两个文字块的文字大小一致,那么它们可以合并,否则不可以合并;

标题提取模块,其用于根据合并后的文字块计算提取标题;

全文提取模块,其用于根据合并后的文字块获得目标数字档案的全文内容;

特征提取模块,其用于提取出目标数字档案的特征集;输入参数为目标数字档案的存储文件名、标题和全文内容;

分类模块,其用于将提取出的特征集转换成特征向量作为输入,输出分类结果。

优选的,所述优化所述文字块中的文字内容,包括修复常见识别错误,删除文字块中的空格。

优选的,所述对优化后的文字内容进行排序,具体为:

对ocr识别的结果按照每个识别出的文字块中心点纵坐标排序;

合并同一行结果,把同样纵坐标归为同一行;

对获得的每一行ocr结果,按照识别出的文字的结果的横坐标进行排序。

获得排完序的ocr结果,由从上到下的行组成,每一行由从左到右的文字块组成。

优选的,所述根据合并后的文字块计算提取标题,具体为:

按照行的顺序从上往下遍历ocr结果;

找到一行中最大的文字块;

如果下一行中最大的文字块比上一行最大的文字块小,那么终止遍历;

遍历过程中发现的最大的文字块内的文字即是标题。

优选的,所述提取出目标数字档案的特征集,具体为:

依次执行规则配置中的每一条规则,记录执行结果;

其中,可执行的规则至少包含以下类型:

计算指定的命名实体是否出现在文件名、标题和全文内容中,命名实体识别可以利用现有的成熟技术;

计算指定的关键词是否出现在文件名、标题和全文内容中且该关键词不在命名实体中;

用逻辑与、或、非任意组合以上规则。

本发明还提供如上述任意一种数字档案智能分类的装置的分类方法,包括以下步骤:

s1、将目标数字档案转化成图片;

s2、识别所述图片中的文本内容、位置和文字大小;ocr识别出的结果为文字块,一个所述文字块包含一个或多个文字,并且具备宽度和高度属性,以及文字块中心点横坐标与纵坐标属性;

s3、优化所述文字块中的文字内容;

s4、对优化后的文字内容进行排序;

s5、合并每一行中识别出的相邻文字块;合并的原则为:若相邻的两个文字块的文字大小一致,那么它们可以合并,否则不可以合并;

s6、根据合并后的文字块计算提取标题;

s7、根据合并后的文字块获得目标数字档案的全文内容;

s8、提取出目标数字档案的特征集;输入参数为目标数字档案的存储文件名、标题和全文内容;

s9、将提取出的特征集转换成特征向量作为输入,输出分类结果。

与现有技术相比,本发明的有益效果是:本发明的一种数字档案智能分类的装置及方法,通过设置数据转换模块、ocr识别模块、ocr后处理模块、标题提取模块、全文提取模块和特征提取模块,本发明引入了ocr技术,利用ocr技术统一获得了图像或非图像数字档案的文本内容,提供了一种标题提取方法,通过标题提取模块从ocr的结果中提取出文档标题,作为分类的一个重要输入,利用一个高度灵活的规则引擎作为特征提取模块,可以通过配置规则,提取出目标档案的各类特征以及其组合特征,从而可以达到高精度的分类结果。

附图说明

图1为本发明的本发明的数字档案智能分类的装置的系统原理图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例一

如图1所示,本实施例提供一种技术方案:一种数字档案智能分类的装置及方法,智能分类的装置包括数据转换模块、ocr识别模块、ocr后处理模块一、ocr后处理模块二、ocr后处理模块三、标题提取模块、全文提取模块、特征提取模块和分类模块。

数据转换模块用于将目标数字档案转化成图片。

ocr识别模块用于识别所述图片中的文本内容、位置和文字大小。ocr识别出的结果为文字块,一个所述文字块包含一个或多个文字,并且具备宽度和高度属性,以及文字块中心点横坐标与纵坐标属性。

ocr后处理模块,其用于优化所述文字块中的文字内容、对优化后的文字内容进行排序、合并每一行中识别出的相邻文字块;合并的原则为:若相邻的两个文字块的文字大小一致,那么它们可以合并,否则不可以合并。考虑到ocr识别结果中可能包含若干像素的误差,因此在合并同一行过程中要忽略掉一定范围内的纵坐标差异。

对优化后的文字内容进行排序,具体为:

对ocr识别的结果按照每个识别出的文字块中心点纵坐标排序。

合并同一行结果,把同样纵坐标归为同一行。

对获得的每一行ocr结果,按照识别出的文字的结果的横坐标进行排序。

获得排完序的ocr结果,由从上到下的行组成,每一行由从左到右的文字块组成。

标题提取模块用于根据合并后的文字块计算提取标题。

按照行的顺序从上往下遍历ocr结果。

找到一行中最大的文字块。

如果下一行中最大的文字块比上一行最大的文字块小,那么终止遍历。

考虑到ocr识别结果中可能包含若干像素的误差,因此在比较的过程中要忽略掉一定范围内的文字大小差异。

遍历过程中发现的最大的文字块内的文字即是标题。如果遍历过程中发现多个大小一样的最大文字块,并且文字块上下相连,那么可以合并这些文字块,从中获得标题。

文字块上下相连的意思是,文字块上下之间的间隔不超过文字块的高度大小,并且文字块的横坐标中心点在一定范围内。

全文提取模块用于根据合并后的文字块获得目标数字档案的全文内容。

特征提取模块用于提取出目标数字档案的特征集。输入参数为目标数字档案的存储文件名、标题和全文内容。

依次执行规则配置中的每一条规则,记录执行结果。

其中,可执行的规则至少包含以下类型:

计算指定的命名实体(人民、地名、公司名)是否出现在文件名、标题和全文内容中,命名实体识别可以利用现有的成熟技术。

计算指定的关键词是否出现在文件名、标题和全文内容中且该关键词不在命名实体中。

用逻辑与、或、非任意组合以上规则。

分类模块用于将提取出的特征集转换成特征向量作为输入,输出分类结果。

该分类模块由一个机器学习有监督模型构成,需要预先在训练数据集上进行训练。训练数据集,即是一些预先分好类的样本数字档案。

优选的,如果提取出的某个特征可以明确确定分类类型,那么不需要通过模型进行分类,直接输出分类结果。

本发明提供的一种数字档案智能分类的装置的分类方法,包括以下步骤:

s1、将目标数字档案转化成图片;

s2、识别所述图片中的文本内容、位置和文字大小;ocr识别出的结果为文字块,一个所述文字块包含一个或多个文字,并且具备宽度和高度属性,以及文字块中心点横坐标与纵坐标属性;

s3、优化所述文字块中的文字内容;

s4、对优化后的文字内容进行排序;

s5、合并每一行中识别出的相邻文字块;合并的原则为:若相邻的两个文字块的文字大小一致,那么它们可以合并,否则不可以合并;

s6、根据合并后的文字块计算提取标题;

s7、根据合并后的文字块获得目标数字档案的全文内容;

s8、提取出目标数字档案的特征集;输入参数为目标数字档案的存储文件名、标题和全文内容;

s9、将提取出的特征集转换成特征向量作为输入,输出分类结果。

实施例二

本实施例提供一种数字档案智能分类的方法,其通过实施例一的一种数字档案智能分类的装置实现智能分类。

数字档案作为输入,传递给ocr识别模块,识别结果经由ocr后处理模块进行排序,并合并相邻的文字块,之后分别由标题提取模块提取标题,以及全文提取模块提取全文本内容,并通过特征提取模块提取出文件名、标题与全文本中的特征集,最后通过分类模块输出分类结果。

ocr识别模块利用现有的成熟技术构造,识别出的结果为文字块,一个文字块可能包含一个或多个文字,并且具备宽度和高度属性,以及文字块中心点横坐标与纵坐标属性。ocr识别模块分为检测子模块与识别子模块,检测子模块检测出文字块的位置与大小,识别子模块识别出文字内容。

本实施例以一张营业执照为例,按照以下步骤实现数字档案的分类:

s1、通过ocr识别模块识别图片格式的营业执照中的文本内容、位置和文字大小,ocr识别模块返回的部分结果json格式如下:

[

{'text':'(副本)','top':266,'left':241,'w':79,'h':24},

{'text':'营业执照','top':194,'left':137,'w':289,'h':69},

{'text':'称。这是一个公司名有限公司','top':338,'left':160,'w':161,'h':22},

{'text':'名','top':338,'left':98,'w':15,'h':16},

{'text':'统一社会信用代码912345678’,'top':304,'left':302,'w':192,'h':16}

]。

s2、通过ocr后处理模块对文字块内的文字内容进行优化,这里用的优化方法包括:

1)移除文字块中,中文字符之间的空格。

以上述的营业执照为例,处理后的结果的json格式如下:

[

{'text':'(副本)','top':266,'left':241,'w':79,'h':24},

{'text':'营业执照','top':194,'left':137,'w':289,'h':69},

{'text':'称。这是一个公司名有限公司','top':338,'left':160,'w':161,'h':22},

{'text':'名','top':338,'left':98,'w':15,'h':16},

{'text':'统一社会信用代码912345678’,'top':304,'left':302,'w':192,'h':16}

]

s3、在优化文字内容后,ocr后处理模块对通过ocr识别模块一识别出的结果进行排序,优化文字内容以及合并。排序方法具体如下:

1)对ocr的结果按照每个识别出的文字块中心点纵坐标排序。

2)合并同一行结果,把同样纵坐标的文字块归为同一行。

3)考虑到ocr识别结果中可能包含若干像素的误差,因此在合并同一行过程中要忽略掉6个像素内的文字纵坐标差异异。

4)对获得的每一行ocr结果,按照识别出的文字的结果的横坐标进行排序。

5)获得排完序的ocr结果,由从上到下的行组成,每一行由从左到右的文字块组成。

以上述的营业执照为例,排序后的结果的json格式如下:

[

[{'text':'营业执照','top':194,'left':137,'w':289,'h':69}],

[{'text':'(副本)','top':266,'left':241,'w':79,'h':24}],

[{'text':'统一社会信用代码912345678’,'top':304,'left':302,'w':192,'h':16}],

[

{'text':'名','top':338,'left':98,'w':15,'h':16},

{'text':'称。这是一个公司名有限公司','top':338,'left':160,'w':161,'h':22}

]

]

s4、ocr后处理模块在排完序后,通过ocr后处理模块对每一行中的相邻文字块进行合并,合并的原则如下:

1)如果相邻的两个文字块的文字大小一致,那么它们可以合并,否则不可以合并。

2)考虑到ocr识别的结果中可能包含若干像素的误差,因此在比较相邻文字块的时候要忽略掉6个像素内的文字大小差异。

以上述的营业执照为例,合并后的结果的json格式如下:

[

[{'text':'营业执照','top':194,'left':137,'w':289,'h':69}],

[{'text':'(副本)','top':266,'left':241,'w':79,'h':24}],

[{'text':'统一社会信用代码912345678’,'top':304,'left':302,'w':192,'h':16}],

[{'text':'名称。这是一个公司名有限公司','top':338,'left':98,'w':223,'h':22}]

]

s5、标题提取模块接受ocr后处理模块输出的结果,计算文档标题。具体地,按照如下方法工作:

1)按照行的顺序从上往下遍历ocr结果。

2)找到一行中最大的文字块。

3)如果下一行中最大的文字块比上一行最大的文字块小,那么终止遍历。

4)考虑到ocr识别结果中可能包含若干像素的误差,因此在比较的过程中要忽略掉10%或3个像素内的文字大小差异。

5)找到遍历过程中发现的最大的文字块。

6)如果遍历过程中发现多个大小一样的最大文字块,并且文字块上下相连,那么可以合并这些文字块。

7)文字块上下相连的意思是,文字块上下之间的间隔不超过文字块的高度大小,并且文字块的横坐标中心点在差别在20个像素内。

8)最大的文字块中的文本内容即是标题。

以上述的营业执照为例,提取出的标题为:"营业执照"。

s6、全文提取模块接受ocr后处理模块三输出的结果,按顺序拼接所有文字块中的文本内容,获得目标数字档案的全文本内容。

以上述的营业执照为例,提取出的全文内容为:"营业执照\n(副本)\n统一社会信用代码912345678\n名称。这是一个公司名有限公司"

s7、特征提取模块接受目标数字档案的存储文件名、提取出的标题和全文内容作为参数,提取出特征集。特征提取模块由一个规则引擎与预定义好的规则配置组成。

本实施例的特征提取模块支持以下规则类型:

□span类型规则:支持在文本(文件名、标题或全文内容)中提取出目标字符串的位置与长度,包含一系列子规则:

□word规则:支持在文本中提取出所有目标关键词的位置与长度。

□regex规则:支持在文本中提取出匹配目标正则表达式的所有字符串的位置与长度。

□ner规则:支持在文本中提取出所有的目标命名实体(人名、地名或组织名)的位置与长度。

□union规则:支持提取出所有符合若干个其他span规则中任意一个的目标字符串的位置与长度。

□seq规则:支持提取出所有符合连续指定的若干个其他span规则中的目标字符串的位置与长度。

□not_in规则:支持提取出所有符合一个其他span规则且不符合另一个其他span规则的目标字符串的位置与长度。

□bool类型规则,包含以下子规则:

□exist-span规则:输出指定的某个span规则是否匹配成功。

□and规则:输出指定的其他若干bool规则是否全部满足。

□or规则:输出指定的其他若干bool规则是否至少有一个满足。

□not规则:输出制定的其他某个bool规则是否不满足。

从bool规则中选择部分作为特征集输出,由于bool规则的输出都是是或否,可以转换成1或0,这样特征集就可以转换成1或0组成的特征向量。

在本实施例中,定义的具体规则如下:

rule-1:word(营业执照)in标题。

rule-2:regex(.)in标题。

rule-3:not_in(rule-2,rule-1)。

rule-4:exist-span(rule-1)。

rule-5:exist-span(rule-3)。

rule-6:not(rule-5)。

rule-7:and(rule-4,rule-6)。

特征集为{rule-7}。

本实施例的规则可以用来判断目标数字档案是否营业执照,只有当标题包含且仅包含“营业执照”四个字时,输出结果为{true},否则输出结果为{false}。

s8、分类模块将特征集转化为特征向量作为输入,{true}转化成[1],{false}转化成[0],输出类型<营业执照>。

在使用分类模块前,需要对模块中的模型进行训练

本发明的一种数字档案智能分类的装置及方法,通过引入ocr技术支持对档案照片或扫描件的分类,利用本发明中所述的标题提取法提出文档标题后,配合本发明中基于规则引擎的特征提取模块,可以在标题或者全文中提取目标关键词、命名实体特征以及特征之间组合成的高阶特征,使本发明的方法可以通过人类对档案的理解来辅助提取出高权重的特征,胜任数据样本不充分情况下的数字档案分类任务,并能达到一个较高的精度。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1