CN116127928B - 表格数据识别方法、装置、存储介质及计算机设备 - Google Patents
表格数据识别方法、装置、存储介质及计算机设备 Download PDFInfo
- Publication number
- CN116127928B CN116127928B CN202310402931.3A CN202310402931A CN116127928B CN 116127928 B CN116127928 B CN 116127928B CN 202310402931 A CN202310402931 A CN 202310402931A CN 116127928 B CN116127928 B CN 116127928B
- Authority
- CN
- China
- Prior art keywords
- row
- target table
- target
- column
- character strings
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
Abstract
本申请提供的表格数据识别方法、装置、存储介质及计算机设备,当获取到目标表格后,可以先基于目标表格的表格特征来对目标表格进行切割后得到目标表格的行数据,并根据行数据中各个行所在的行数及每行中各列的字符串来对目标表格的表头和表身进行划分,这样既可以明确行列,又可以明确表头和表身,接着,本申请可以对划分后的表头和表身进行数据识别,得到结构化的表格数据,该方法不仅适用于对边界线较全的表格数据进行识别,还适用于对没有边界线或者边界线不全的表格数据进行识别,进而有效提升表格数据的识别准确率;另外,本申请还可以根据识别后得到的结构化表格数据来重现目标表格,以此来快速构建表格。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种表格数据识别方法、装置、存储介质及计算机设备。
背景技术
表格作为数据的一种重要载体,具有信息精炼集中、方便体现数据关系等特点,因此,表格便成为了文档中常见的表达方式。
目前在对表格文件中的表格数据进行结构化识别时,主要使用机器识别的方式,但该种识别方式较为依赖表格的边界线,对于没有边界线或者边界线不全的表格,使用机器识别存在行列不明确、表头和表格内容容易混淆等问题,进而导致该种方式下的表格识别准确率较低。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,特别是现有技术中使用机器识别存在行列不明确、表头和表格内容容易混淆等问题,进而导致该种方式下的表格识别准确率较低的技术缺陷。
本申请提供了一种表格数据识别方法,所述方法包括:
获取目标表格;
基于所述目标表格的表格特征对所述目标表格进行切割,确定所述目标表格的行数据,所述行数据包括各个行所在的行数及每行中各列的字符串;
根据各个行所在的行数及每行中各列的字符串对所述目标表格的表头和表身进行划分,得到划分后的表头和表身;
对所述划分后的表头和表身中的数据依次进行识别,得到结构化的表格数据。
可选地,所述获取目标表格,包括:
获取待识别文本,其中,所述待识别文本中包含目标表格;
依据现有表格的表格特征对所述待识别文本中目标表格的表格区域进行识别,得到第一识别结果;
根据所述第一识别结果从所述待识别文本中提取所述目标表格。
可选地,所述依据现有表格的表格特征对所述待识别文本中目标表格的表格区域进行识别,得到第一识别结果,包括:
在所述待识别文本中查找与现有表格的表格特征对应的区域,并将该区域作为初始表格区域;
按照所述现有表格的表格特征对所述初始表格区域中目标表格的表格区域进行识别,得到第一识别结果。
可选地,所述现有表格的表格特征包括连续横向线条及表头位置关键词;
所述按照所述现有表格的表格特征对所述初始表格区域中目标表格的表格区域进行识别,得到第一识别结果,包括:
按照所述表头位置关键词确定所述初始表格区域中目标表格的起始位置;
按照所述连续横向线条确定所述初始表格区域中目标表格的终止位置;
基于所述目标表格的起始位置和终止位置对所述初始表格区域中目标表格的表格区域进行识别,得到第一识别结果。
可选地,所述现有表格的表格特征包括呈结构化分布的横纵线条;
所述按照所述现有表格的表格特征对所述初始表格区域中目标表格的表格区域进行识别,得到第一识别结果,包括:
根据所述呈结构化分布的横纵线条中首条横纵线条的交点,确定所述初始表格区域中目标表格的起始位置;
根据所述呈结构化分布的横纵线条中最后一条横纵线条的交点,确定所述初始表格区域中目标表格的终止位置;
基于所述目标表格的起始位置和终止位置对所述初始表格区域中目标表格的表格区域进行识别,得到第一识别结果。
可选地,所述基于所述目标表格的表格特征对所述目标表格进行切割,确定所述目标表格的行数据,包括:
根据所述目标表格的表格特征,从所述目标表格中划分出多个空白块;
利用各个空白块对所述目标表格进行切割,得到所述目标表格中的多个字符块以及各个字符块在所述目标表格中的位置;
按照各个字符块在所述目标表格中的位置对位于同行的字符块进行合并,并根据合并结果确定所述目标表格的行数据。
可选地,所述目标表格的表格特征包括连续横向线条;
所述根据所述目标表格的表格特征,从所述目标表格中划分出多个空白块,包括:
以所述连续横向线条为基准,根据所述目标表格中字符的横向排布方式,确定所述目标表格中与所述目标表格近宽的多条连续横向空白块;
以所述连续横向空白块为基准,根据所述目标表格中字符的竖向排布方式,确定所述目标表格中的多条竖向空白块。
可选地,所述目标表格的表格特征包括呈结构化分布的横纵线条;
根据所述目标表格的表格特征,从所述目标表格中划分出多个空白块,包括:
根据所述呈结构化分布的横纵线条,从所述目标表格划分出多个横纵交错的空白块。
可选地,所述根据各个行所在的行数及每行中各列的字符串对所述目标表格的表头和表身进行划分,得到划分后的表头和表身,包括:
根据各个行所在的行数及每行中各列的字符串,确定所述目标表格的总行数以及每行中各列字符串的类型;
根据所述目标表格的总行数以及每行中各列字符串的类型,对所述目标表格的表头和表身进行划分,得到划分后的表头和表身。
可选地,所述根据所述目标表格的总行数以及每行中各列字符串的类型,对所述目标表格的表头和表身进行划分,得到划分后的表头和表身,包括:
基于所述目标表格的总行数,选取所述目标表格的首行中各列字符串的类型,与倒数行中各列字符串的类型进行比对;
若所述首行中各列字符串的类型与所述倒数行中各列字符串的类型不一致,则将所述目标表格中与所述首行的行数连续的、且各列字符串的类型一致的后续行进行同行合并,并将合并后的首行作为表头,将其余未合并的行作为表身;
若所述首行中各列字符串的类型与所述倒数行中各列字符串的类型一致,则按照所述目标表格中各个横向线条的线条长度对所述目标表格的表头和表身进行划分,得到划分后的表头和表身。
可选地,所述对所述划分后的表头和表身中的数据依次进行识别,得到结构化的表格数据,包括:
对所述划分后的表头中的各列字符串及对应的列数依次进行识别,得到结构化的表头数据;
根据所述划分后的表身中各行各列字符串的出现规律,确定所述表身中的各个字符串及对应的行列数,得到结构化的表身数据;
根据所述结构化的表头数据和所述结构化的表身数据确定结构化的表格数据。
可选地,所述根据所述划分后的表身中各行各列字符串的出现规律,确定所述表身中的各个字符串及对应的行列数,包括:
对所述划分后的表身进行逐列扫描,确定每列中字符串的数量及每个字符串所在行列数;
若存在至少一列字符串的数量多于各列字符串数量的平均数,则对所述划分后的表身进行逐行扫描,并确定该列中的每个字符串在其所在行是否存在其他列字符串;
若所有字符串在其所在行均存在其他列字符串,则无需对每个字符串所在行进行调整,并判断是否存在至少一列字符串的数量少于各列字符串数量的平均数;
若存在,则根据该列中每个字符串所在行重新划分各个字符串对应的行列数;
若至少一个字符串在其所在行不存在其他列字符串,则将该字符串所在行与其临近的存在其他列字符串的上一行进行合并后,返回执行所述判断是否存在至少一列字符串的数量少于各列字符串数量的平均数的步骤。
本申请还提供了一种表格数据识别装置,包括:
表格获取模块,用于获取目标表格;
表格切割模块,用于基于所述目标表格的表格特征对所述目标表格进行切割,确定所述目标表格的行数据,所述行数据包括各个行所在的行数及每行中各列的字符串;
表格划分模块,用于根据各个行所在的行数及每行中各列的字符串对所述目标表格的表头和表身进行划分,得到划分后的表头和表身;
数据识别模块,用于对所述划分后的表头和表身中的数据依次进行识别,得到结构化的表格数据。
本申请还提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述实施例中任一项所述表格数据识别方法的步骤。
本申请还提供了一种计算机设备,包括:一个或多个处理器,以及存储器;
所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行如上述实施例中任一项所述表格数据识别方法的步骤。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请提供的表格数据识别方法、装置、存储介质及计算机设备,当获取到目标表格后,可以先基于目标表格的表格特征来对目标表格进行切割后得到目标表格的行数据,由于该行数据中包括各个行所在的行数及每行中各列的字符串,因此,本申请可以根据各个行所在的行数及每行中各列的字符串来对目标表格的表头和表身进行划分,这样既可以明确行列,又可以明确表头和表身,接着,本申请可以对划分后的表头和表身进行数据识别,得到结构化的表格数据,该方法不仅适用于对边界线较全的表格数据进行识别,还适用于对没有边界线或者边界线不全的表格数据进行识别,进而有效提升表格数据的识别准确率;另外,本申请还可以根据识别后得到的结构化表格数据来重现目标表格,以此来快速构建表格。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种表格数据识别方法的流程示意图;
图2为本申请实施例提供的表格特征为连续横向线条及表头位置关键词的目标表格的结构示意图;
图3为本申请实施例提供的表格特征为呈结构化分布的横纵线条的目标表格的结构示意图;
图4为本申请实施例提供的目标表格中的首行字符串的排布方式示意图;
图5为本申请实施例提供的目标表格中的第二行字符串的排布方式示意图;
图6为本申请实施例提供的目标表格的表身中各列字符串的展示图;
图7为本申请实施例提供的结构化的表格数据的展示图;
图8为本申请实施例提供的一种表格数据识别装置的结构示意图;
图9为本申请实施例提供的一种计算机设备的内部结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前在对表格文件中的表格数据进行结构化识别时,主要使用机器识别的方式,但该种识别方式较为依赖表格的边界线,对于没有边界线或者边界线不全的表格,使用机器识别存在行列不明确、表头和表格内容容易混淆等问题,进而导致该种方式下的表格识别准确率较低。
基于此,本申请提出了如下技术方案,具体参见下文:
在一个实施例中,如图1所示,图1为本申请实施例提供的一种表格数据识别方法的流程示意图;本申请提供了一种表格数据识别方法,所述方法可以包括:
S110:获取目标表格。
本步骤中,在对表格数据进行识别之前,可以先获取待识别的表格,并将其作为目标表格;该目标表格可以从图片中获取,也可以从PDF文件中获取,还可以从其他形式的包含表格的文本中获取,在此不做限制。
其中,本申请在获取目标表格时,可以先确定待识别文本中目标表格所在的表格区域,接着对该表格区域中的目标表格进行提取,以获得目标表格;当然,本申请也可以通过其他方式来获取目标表格。
当本申请采用从待识别文本中提取目标表格的方式获取目标表格时,可以将待识别文本输入至预先训练好的表格提取模型中进行表格提取,也可以通过现有表格的表格特征来对目标表格的表格区域进行图像识别,还可以通过筛选关键点的方式来提取目标表格,或者是其他可以实现目标表格获取的过程,在此不做赘述。
S120:基于目标表格的表格特征对目标表格进行切割,确定目标表格的行数据。
本步骤中,通过S110获取到目标表格后,可以根据目标表格的表格特征来对目标表格进行切割,从而得到目标表格的行数据,该行数据中包含各个行所在的行数及每行中各列的字符串。
可以理解的是,本申请在获取到目标表格后,为了更好地区分目标表格的行与列,以及为了得到更为明确的表头和表身,本申请可以根据目标表格的表格特征来对目标表格进行切割,该切割过程可以分为横向切割和纵向切割,横向切割和纵向切割可以同时进行,也可以分时进行,以此来得到目标表格的行与列,接着根据目标表格的行与列便可以确定目标表格中各个行所在的行数及每行中各列的字符串,即目标表格的行数据。
具体地,由于目标表格的表格特征存在多种类型,有的目标表格的表格特征呈结构化分布的横纵线条,有的目标表格的表格特征包括连续横向线条及表头位置关键词,该表头位置关键词可以是table1(大写或小写)、table2、个人简介、数据报表、调查问卷、会议记录、工作汇报、测试表格、采购订单等,在此不做限制。
当确定目标表格的表格特征后,本申请可以根据该表格特征来对目标表格进行切割,切割时可以使用空白块来对目标表格进行横纵切割,以此来得到目标表格中的多个字符块,并在获得字符块的过程中,明确每一字符块在目标表格中的行列数,这样既可以得到目标表格的行与列,还可以根据目标表格的行与列来确定目标表格中各个行所在的行数以及每行中各列的字符串,从而形成目标表格的行数据。
S130:根据各个行所在的行数及每行中各列的字符串对目标表格的表头和表身进行划分,得到划分后的表头和表身。
本步骤中,通过S120对目标表格进行切割后得到目标表格的行数据后,由于该行数据中包含有目标表格中各个行所在的行数以及每行中各列的字符串,因此,本申请可以根据各个行所在的行数及每行中各列的字符串对目标表格的表头和表身进行划分,以得到目标表格的表头和表身。
在一种具体的实现方式中,当本申请得到目标表格中各个行所在的行数后,便可以确定目标表格的总行数,当得到目标表格的每行中各列的字符串后,便可以明确各列字符串的类型,如纯数字类、非纯数字类等,当确定目标表格的总行数以及每行中各列的字符串对应的类型后,便可以根据总行数来划分目标表格中需要比对的行数,并根据比对的行数中各列字符串的类型差异来确定目标表格中的表头和表身。
其中,本申请中目标表格的表头指的是目标表格的开头部分,该部分用于对目标表格中的数据进行归类,主要是一些变量名和其他能了解数据情况的属性和特征;而目标表格的表身则指的是目标表格的主体部分,包含表格的主要内容和数据信息。
当然,有的表格还可能有表序、表题和表注这几个部分,如常见的三线表,此处的三线指的是顶线、栏目线和底线,也可以添加其他辅助线,它便是由表序和表题、表头、表身、表注这四个部分组成,其中表序和表题位于顶线之上,表序主要是按照表格在文中出现的先后顺序进行标号,表题则是概括表格的主题,一般还可以包括单位;而表注则可以分为备注、脚注、说明,备注在表身中,是对栏目中信息的解释和说明;说明和脚注在表格底线下方,是对表格中的信息做解释补充,一般用来注明资料和数据来源。
S140:对划分后的表头和表身中的数据依次进行识别,得到结构化的表格数据。
本步骤中,通过S130划分出目标表格的表头和表身后,本申请还可以对划分后的表头和表身的数据依次进行识别,以此来得到结构化的表格数据。
具体地,由于本申请已经通过S120获取到目标表格的行数据,该行数据中包含有目标表格的各个行所在的行数以及每行中的各列字符串,因此,本申请在确定目标表格的表头和表身后,便已经得到了结构化的表格数据,如表头中的各列字符串以及表身中的各行各列字符串,但由于目标表格可能存在数据排版问题,例如,对于某些较长的字符串,一般会将其后半部分放置在前半部分的下一行进行显示,此时按照上述的表格切割方式,极有可能将该字符串的后半部分作为单独一行字符串,这也便会导致该字符串被强行划分为两个单独的字符串,从而使得表格数据的识别结果不够准确。另外,对于一些存在于表身中的标题栏,由于该标题栏下可能涵盖有多行或多列数据,但由于该标题栏中的字符串本身仅占据一行一列或少于其涵盖的行列,导致其被切割后,作为仅占据一行一列或少于其涵盖的行列的字符串,这样也会导致该结构化的表格数据不够精确。
基于此,本申请在得到划分后的表头和表身后,可以继续对该表头和表身中的数据依次进行识别,以便在识别过程中,将原本应该作为同行输出的字符串进行合并后输出,将原本应该占据多行或多列的字符串作为多行或多列字符串输出,以此来得到更为精准的结构化数据,并未后续重现目标表格做好准备。
上述实施例中,当获取到目标表格后,可以先基于目标表格的表格特征来对目标表格进行切割后得到目标表格的行数据,由于该行数据中包括各个行所在的行数及每行中各列的字符串,因此,本申请可以根据各个行所在的行数及每行中各列的字符串来对目标表格的表头和表身进行划分,这样既可以明确行列,又可以明确表头和表身,接着,本申请可以对划分后的表头和表身进行数据识别,得到结构化的表格数据,该方法不仅适用于对边界线较全的表格数据进行识别,还适用于对没有边界线或者边界线不全的表格数据进行识别,进而有效提升表格数据的识别准确率;另外,本申请还可以根据识别后得到的结构化表格数据来重现目标表格,以此来快速构建表格。
在一个实施例中,S110中获取目标表格,可以包括:
S111:获取待识别文本,其中,所述待识别文本中包含目标表格。
S112:依据现有表格的表格特征对所述待识别文本中目标表格的表格区域进行识别,得到第一识别结果。
S113:根据所述第一识别结果从所述待识别文本中提取所述目标表格。
本实施例中,在获取目标表格时,可以先获取待识别文本,该待识别文本中包含有目标表格,接着本申请可以依据现有表格的表格特征来对待识别文本中目标表格的表格区域进行识别,并得到第一识别结果,该第一识别结果表明了目标表格所在的表格区域,因此,本申请可以根据第一识别结果从待识别文本中提取目标表格。
具体地,本申请在对待识别文本中的目标表格进行提取时,由于该目标表格的表格特征也属于现有表格的表格特征之一,因此,当本申请确定目标表格的表格类型后,可以选取现有表格中与该目标表格的表格类型相同的表格对应的表格特征作为确定表格区域时的依据,这样便可以通过现有表格的表格特征来确定目标表格的表格区域,进而将该表格区域提取后快速形成目标表格。
在一个实施例中,S112中依据现有表格的表格特征对所述待识别文本中目标表格的表格区域进行识别,得到第一识别结果,可以包括:
S1121:在所述待识别文本中查找与现有表格的表格特征对应的区域,并将该区域作为初始表格区域。
S1122:按照所述现有表格的表格特征对所述初始表格区域中目标表格的表格区域进行识别,得到第一识别结果。
本实施例中,在依据现有表格的表格特征对待识别文本中的目标表格的表格区域进行识别时,可以先在待识别文本中查找与现有表格的表格特征对应的区域,并将该区域作为初始表格区域,接着,本申请可以按照现有表格的表格特征来对初始表格区域中目标表格的表格区域进行识别,进而得到目标表格区域,该目标表格区域即为本申请中的第一识别结果。
可以理解的是,本申请在对待识别文本中目标表格对应的表格区域进行识别时,可以先根据现有表格的表格特征来查找目标表格所在的大致区域,并将其作为初始表格区域,例如,目标表格在待识别文本中的第几页第几行等,接着,本申请可以继续依据现有表格的表格特征来对该初始表格区域进行识别,以获得精准的表格区域,该表格区域即可作为目标表格的表格区域,即第一识别结果。
在一个实施例中,所述现有表格的表格特征可以包括连续横向线条及表头位置关键词。
S1122中按照所述现有表格的表格特征对所述初始表格区域中目标表格的表格区域进行识别,得到第一识别结果,可以包括:
S221:按照所述表头位置关键词确定所述初始表格区域中目标表格的起始位置。
S222:按照所述连续横向线条确定所述初始表格区域中目标表格的终止位置。
S223:基于所述目标表格的起始位置和终止位置对所述初始表格区域中目标表格的表格区域进行识别,得到第一识别结果。
本实施例中,当现有表格的表格特征为连续横向线条及表头位置关键词时,本申请可以按照表头位置关键词来确定初始表格区域中目标表格的起始位置,接着按照连续横向线条来确定初始表格区域中目标表格的终止位置,这样便可以根据目标表格的起始位置和终止位置来对初始表格区域进行识别,以得到目标表格的表格区域,即第一识别结果。
示意性地,如图2所示,图2为本申请实施例提供的表格特征为连续横向线条及表头位置关键词的目标表格的结构示意图;当本申请需要对该类型的目标表格进行识别时,可以通过现有表格的表格特征来确定该目标表格的表格特征,即连续横向线条及表头位置关键词。例如,本申请可以通过表头位置关系词,如Table 2来确定初始表格区域中目标表格的起始位置,再通过连续横向线条,如底线,来确定初始表格区域中目标表格的终止位置,这样便可以根据起始位置和终止位置来对初始表格区域中目标表格的表格区域进行识别,并得到第一识别结果。
需要说明的是,本申请中的横向线条或纵向线条可以是黑色的线条,也可以是白色的线条,还可以是其他颜色的线条,在此不做限制。
在一个实施例中,所述现有表格的表格特征可以包括呈结构化分布的横纵线条。
S1122中按照所述现有表格的表格特征对所述初始表格区域中目标表格的表格区域进行识别,得到第一识别结果,可以包括:
S231:根据所述呈结构化分布的横纵线条中首条横纵线条的交点,确定所述初始表格区域中目标表格的起始位置。
S232:根据所述呈结构化分布的横纵线条中最后一条横纵线条的交点,确定所述初始表格区域中目标表格的终止位置。
S233:基于所述目标表格的起始位置和终止位置对所述初始表格区域中目标表格的表格区域进行识别,得到第一识别结果。
本实施例中,当现有表格的表格特征为呈结构化分布的横纵线条时,本申请可以按照呈结构化分布的横纵线条中首条横纵线条的交点来确定初始表格区域中目标表格的起始位置,再根据呈结构化分布的横纵线条中最后一条横纵线条的交点来确定初始表格区域中目标表格的终止位置,这样便可以通过起始位置和终止位置来对初始表格区域中目标表格的表格区域进行识别,从而得到第一识别结果。
示意性地,如图3所示,图3为本申请实施例提供的表格特征为呈结构化分布的横纵线条的目标表格的结构示意图;当本申请需要对该类型的目标表格进行识别时,可以通过现有表格的表格特征来确定该目标表格的表格特征,即呈结构化分布的横纵线条。例如,当本申请需要对如图3所示的目标表格进行识别时,可以根据现有表格的表格特征来确定目标表格是具有结构化分布的横纵线条的表格,针对该类型的目标表格,本申请可以根据首条横纵线条的交点来确定目标表格的起始位置,根据最后一条横纵线条的交点来确定目标表格的终止位置,这样便可以通过起始位置和终止位置来识别目标表格的表格区域。
在一个实施例中,S120中基于所述目标表格的表格特征对所述目标表格进行切割,确定所述目标表格的行数据,可以包括:
S121:根据所述目标表格的表格特征,从所述目标表格中划分出多个空白块。
S122:利用各个空白块对所述目标表格进行切割,得到所述目标表格中的多个字符块以及各个字符块在所述目标表格中的位置。
S123:按照各个字符块在所述目标表格中的位置对位于同行的字符块进行合并,并根据合并结果确定所述目标表格的行数据。
本实施例中,在基于目标表格的表格特征对目标表格进行切割时,本申请可以先根据目标表格的表格特征从目标表格中划分出多个空白块,然后利用各个空白块来对目标表格进行切割,进而得到目标表格的多个字符块以及各个字符块在目标表格中的位置,接着,本申请可以按照各个字符块在目标表格中的位置来对位于同行的字符块进行合并,并根据合并结果来确定目标表格的行数据。
需要说明的是,本申请从目标表格中划分出的多个空白块指的是目标表格中不包含字符的区域,包括但不限于带有不同颜色的无字符区域,以及带有不同图案花纹的无字符区域;而本申请中的字符块则指的是位于空白块之间的包含字符的区域,该区域中的字符可以是纯文字,也可以是纯数字,还可以是文字+数字的组合,以及其他数学字符、***字母等,在此不做限制。
当本申请从目标表格中划分出多个空白块后,便可以利用各个空白块在目标表格中的位置来对目标表格进行切割,以此来得到位于各个空白块之间的多个字符块以及各个字符块在目标表格中的位置,这样便可以按照各个字符块在目标表格中的位置对位于同行的字符块进行合并,以此来得到目标表格中各个行所在的行数及每行中各列的字符串,即目标表格的行数据。
在一个实施例中,所述目标表格的表格特征可以包括连续横向线条。
S121中根据所述目标表格的表格特征,从所述目标表格中划分出多个空白块,可以包括:
S1211:以所述连续横向线条为基准,根据所述目标表格中字符的横向排布方式,确定所述目标表格中与所述目标表格近宽的多条连续横向空白块。
S1212:以所述连续横向空白块为基准,根据所述目标表格中字符的竖向排布方式,确定所述目标表格中的多条竖向空白块。
本实施例中,如图2所示,图2中的目标表格的表格特征为包含连续横向线条,对于该类型的目标表格,本申请可以以连续横向线条为基准,并根据目标表格中字符的横向排布方式来确定目标表格中与目标表格近宽的多条连续横向空白块,如图2中的首条连续横向线条与“Crack”之间可以划分出一条与目标表格近宽、且与首条连续横向线条平行的连续空白块,“Crack”与“initiation”之间也可以划分出一条与目标表格近宽、且与首条连续横向线条平行的连续空白块,以此类推,便可以得到多条连续横向空白块。
可以理解的是,这里与目标表格近宽的多条连续横向空白块指的是每条横向连续空白块的宽度与目标表格的宽度之间的宽度误差在特定误差范围内,如[-2,+2],单位为毫米,或者其他特定误差范围,具体可视实际情况进行设置,在此不做限制。
接着,本申请可以以连续横向空白块为基准,根据目标表格中字符的竖向排布方式,确定目标表格中的多条竖向空白块。例如,以连续横向空白块为基准,从图2中的“Crack”与“Specimen”之间可以划分出一条与连续横向空白块垂直的竖向空白块,以此类推,也可以得到多条竖向空白块。
可以理解的是,由于目标表格中的字符串所在位置不同,如表头、表身等,从而使得划分出的多条连续横向空白块之间的高度并不相同。因此,本申请也可以根据不同的连续横向空白块之间的高度差来对目标表格的各个区域进行划分,或者根据不同的连续横向空白块之间的高度差来对呈段落分布的文本进行文本段落划分;另外,由于目标表格中的字符串的长度不等,也会使得划分出的多条竖向空白块之间的宽度可能存在一定的区别。
在一个实施例中,所述目标表格的表格特征可以包括呈结构化分布的横纵线条。
S121中根据所述目标表格的表格特征,从所述目标表格中划分出多个空白块,可以包括:
根据所述呈结构化分布的横纵线条,从所述目标表格划分出多个横纵交错的空白块。
本实施例中,当目标表格的表格特征呈结构化分布的横纵线条时,本申请可以根据呈结构化分布的横纵线条来从目标表格中划分出多个横纵交错的空白块。
例如,图3中的目标表格呈结构化分布的横纵线条,本申请可以根据该横纵线条先确定空白块的走向趋势,然后根据横向线条上下两侧,或者纵向线条左右两侧的字符分布情况,来确定空白块的高度或宽度,以此来划分出多个横纵交错的空白块。
在一个实施例中,S130中根据各个行所在的行数及每行中各列的字符串对所述目标表格的表头和表身进行划分,得到划分后的表头和表身,可以包括:
S131:根据各个行所在的行数及每行中各列的字符串,确定所述目标表格的总行数以及每行中各列字符串的类型。
S132:根据所述目标表格的总行数以及每行中各列字符串的类型,对所述目标表格的表头和表身进行划分,得到划分后的表头和表身。
本实施例中,当确定目标表格的行数据后,本申请可以根据目标表格的行数据来确定目标表格的总行数以及每行中各列字符串的类型,结合根据该总行数以及每行中各列字符串的类型来对目标表格的表头和表身进行划分,以此来得到划分后的表头和表身。
可以理解的是,由于本申请中目标表格的行数据包含有目标表格中各个行所在的行数以及每行中各列字符串,因此,根据各个行所在的行数即可确定目标表格的总行数,这样便可以根据该总行数来确定如何选取相应的目标行来进行比对,另外,本申请还可以根据每行中各列字符串来确定各列字符串的类型,以此来根据每行中各列字符串的类型来进行比对,从而确定如何划分表头和表身。
在一个实施例中,S132中根据所述目标表格的总行数以及每行中各列字符串的类型,对所述目标表格的表头和表身进行划分,得到划分后的表头和表身,可以包括:
S1321:基于所述目标表格的总行数,选取所述目标表格的首行中各列字符串的类型,与倒数行中各列字符串的类型进行比对。
S1322:若所述首行中各列字符串的类型与所述倒数行中各列字符串的类型不一致,则将所述目标表格中与所述首行的行数连续的、且各列字符串的类型一致的后续行进行同行合并,并将合并后的首行作为表头,将其余未合并的行作为表身。
S1323:若所述首行中各列字符串的类型与所述倒数行中各列字符串的类型一致,则按照所述目标表格中各个横向线条的线条长度对所述目标表格的表头和表身进行划分,得到划分后的表头和表身。
本实施例中,在根据目标表格的总行数以及每行中各列字符串的类型,对目标表格的表头和表身进行划分时,可以先基于目标表格的总行数来选取目标表格的首行中各列字符串的类型与目标表格的倒数行中各列字符串的类型进行比对,然后根据比对结果来确定如何对目标表格的表头和表身进行划分。
在一种具体的实现方式中,当确定目标表格的总行数后,若总行数少于预设行数阈值,例如,总行数少于6行,此时可以选取目标表格的首行中各列字符串的类型与目标表格的倒数第一行中各列字符串的类型进行比对;若总行数超过预设行数阈值,则可以选取目标表格的首行中各列字符串的类型与目标表格的倒数3行或者4行中各列字符串的类型进行比对,以此来确定如何对目标表格的表头和表身进行划分。
进一步地,当首行中各列字符串的类型与倒数行中各列字符串的类型不一致时,本申请可以将目标表格中与首行的行数连续的、且各列字符串的类型一致的后续行进行同行合并,并将合并后的首行作为表头,将其余未合并的行作为表身。举例来说,如图4、5所示,图4为本申请实施例提供的目标表格中的首行字符串的排布方式示意图,图5为本申请实施例提供的目标表格中的第二行字符串的排布方式示意图;本申请可以预设第一行为表头,并从第二行开始判断,第二行和第一行同列字符串是否都为非纯数字,如果都为非纯数字,那么第二行和第一行同列字符串是为同一行内容,进行同列合并;当出现纯数字字符串时,表头寻找结束,目标表格中的剩余行均为表身所在行。
而当首行中各列字符串的类型与倒数行中各列字符串的类型一致时,则可以按照目标表格中各个横向线条的线条长度对目标表格的表头和表身进行划分。如图2和图3所示的目标表格,本申请可以将横向线条的第一条或者前几条线条长度最长的部分作为目标表格的表头,将其余部分作为目标表格的表身。
在一个实施例中,S140中对所述划分后的表头和表身中的数据依次进行识别,得到结构化的表格数据,可以包括:
S141:对所述划分后的表头中的各列字符串及对应的列数依次进行识别,得到结构化的表头数据。
S142:根据所述划分后的表身中各行各列字符串的出现规律,确定所述表身中的各个字符串及对应的行列数,得到结构化的表身数据。
S143:根据所述结构化的表头数据和所述结构化的表身数据确定结构化的表格数据。
本实施例中,在对划分后的表头和表身中的数据依次进行识别,并得到结构化的表格数据时,本申请可以对划分后的表头中的各列字符串及对应的列数依次进行识别,以此来得到结构化的表头数据。
可以理解的是,当本申请通过目标表格的行数据来对目标表格的表头和表身进行划分后,划分后的表头中仅有一行字符串或者由多行字符串合并成一行的字符串,因此,针对表头的数据进行识别时,只需对划分后的表头中的各列字符串及对应的列数依次进行识别,即可得到结构化的表头数据。
进一步地,在对本申请中划分后的表身的数据进行识别时,可以根据划分后的表身中各列字符串的出现规律,来确定表身中的各个字符串及对应的行列数,从而得到结构化的表身数据。可以理解的是,目标表格的表身中各个字符串的类型和长度可能相同,也可能不同,当字符串的类型和/或长度不同时,其占据的行列数也可能不同,从而导致表身中空白块的分布不均,进而影响了表身中各列字符串的出现规律,例如,有的列中每行均出现字符串,而有的列中只有几行出现字符串,有的列中的字符串间隔出现,此时,便可以根据各列字符串的出现规律,来确定表身中各个字符串及对应的行列数。
最后,本申请可以依据结构化的表头数据和结构化的表身数据来确定结构化的表格数据,通过该结构化的表格数据还可以重现目标表格。
在一个实施例中,S142中根据所述划分后的表身中各行各列字符串的出现规律,确定所述表身中的各个字符串及对应的行列数,可以包括:
S1421:对所述划分后的表身进行逐列扫描,确定每列中字符串的数量及每个字符串所在行列数。
S1422:若存在至少一列字符串的数量多于各列字符串数量的平均数,则对所述划分后的表身进行逐行扫描,并确定该列中的每个字符串在其所在行是否存在其他列字符串。
S1423:若所有字符串在其所在行均存在其他列字符串,则无需对每个字符串所在行进行调整,并判断是否存在至少一列字符串的数量少于各列字符串数量的平均数。
S1424:若存在,则根据该列中每个字符串所在行重新划分各个字符串对应的行列数。
S1425:若至少一个字符串在其所在行不存在其他列字符串,则将该字符串所在行与其临近的存在其他列字符串的上一行进行合并后,返回执行所述判断是否存在至少一列字符串的数量少于各列字符串数量的平均数的步骤。
本实施例中,在根据划分后的表身中各行各列字符串的出现规律来确定表身中的各个字符串及对应的行列数时,本申请可以先对划分后的表身进行逐列扫描,以确定每列中字符串的数量及每个字符串所在行列数,接着再判断各列字符串中是否有至少一列字符串的数量明显多于其他列字符串的数量,例如,当存在至少一列字符串的数量多于各列字符串数量的平均数时,本申请可以对划分后的表身进行逐行扫描,以确定多于平均数的该列中每个字符串在其所在行是否有其他列的字符串,若所有字符串在其所在行均存在其他列字符串,则表示该列字符串为独立一行的字符串,若至少一个字符串在其所在行不存在其他列字符串,则表示该列字符串极有可能不是独立一行的字符串,此时可以将该字符串所在行与其临近的存在其他列字符串的上一行进行合并,当对表身中的行数进行调整或无需调整后,本申请还可以判断表身中是否存在至少一列字符串的数量少于各列字符串数量的平均数,若存在,则表示该列字符串极有可能是标题所在列,对于该类字符串,可以根据该列中每个字符串所在行重新划分各个字符串对应的行列数。
示意性地,如图6所示,图6为本申请实施例提供的目标表格的表身中各列字符串的展示图;图6中目标表格的表身中纵列第一列为目标表格的横向标题,本申请可以从第一个字符串出现时开始,到第二个字符串出现时结束,以此来统计第一个字符串所占据的行列数,并从第二个字符串出现时开始,到第三个字符串出现时结束,或者最后一条横线线条出现时结束,统计第二个字符串所占据的行列数,当然,这里所统计的行列数是调整行数后的行列数。
紧接着,对于图6中表身的纵列第二列,本申请可以根据上述判断规则来判断该列字符串中是否存在独立一行的字符串,不存在,则将其与上一行字符串合并,如图6方框中的“fusion”,其与上一行的“Lack of”本为同一字符串的前半部分和后半部分,但因为排版问题将其划分为两个行的字符串,若按照传统的行数划分方式,便会将“fusion”所在行作为独立一行,这样便会导致识别后的表格数据不够精准,而本申请则可以对该种情况进行识别,从而将“fusion”与“Lack of”合并为同一行的字符串,以此来提高表格数据的识别准确率。
当然,对于如图3所示的目标表格,由于在对其进行横纵分割时,是按照其表格特征进行分割的,因此,对于图3中第五列“主题”下的字符串,便可以直接通过本申请的分割方式划分出完整的行数据,这样在对其表身中的各列字符串进行逐列扫描后,便可以确定无需对其所在行进行调整。
进一步地,当通过上述表格数据的识别方式来对本申请的目标表格中的数据进行识别后,可以得到结构化的表格数据。示意性地,如图7所示,图7为本申请实施例提供的结构化的表格数据的展示图;由图7可见,本申请在对如图2所示的目标表格中的字符串进行识别后,可以形成如图7所示的结构化表格数据,该结构化表格数据使用key-value的形式对表格数据进行存储,其中,key中存储有表头和表身的标题及对应的行列数,而value中则存储对应的字符串以及字符串的数量,通过该表格数据可以快速重现目标表格。
下面对本申请实施例提供的表格数据识别装置进行描述,下文描述的表格数据识别装置与上文描述的表格数据识别方法可相互对应参照。
在一个实施例中,如图8所示,图8为本申请实施例提供的一种表格数据识别装置的结构示意图,本申请还提供了一种表格数据识别装置,包括表格获取模块110,表格切割模块120,表格划分模块130和数据识别模块140,具体包括如下:
表格获取模块110,用于获取目标表格。
表格切割模块120,用于基于所述目标表格的表格特征对所述目标表格进行切割,确定所述目标表格的行数据,所述行数据包括各个行所在的行数及每行中各列的字符串。
表格划分模块130,用于根据各个行所在的行数及每行中各列的字符串对所述目标表格的表头和表身进行划分,得到划分后的表头和表身。
数据识别模块140,用于对所述划分后的表头和表身中的数据依次进行识别,得到结构化的表格数据。
上述实施例中,当获取到目标表格后,可以先基于目标表格的表格特征来对目标表格进行切割后得到目标表格的行数据,由于该行数据中包括各个行所在的行数及每行中各列的字符串,因此,本申请可以根据各个行所在的行数及每行中各列的字符串来对目标表格的表头和表身进行划分,这样既可以明确行列,又可以明确表头和表身,接着,本申请可以对划分后的表头和表身进行数据识别,得到结构化的表格数据,该方法不仅适用于对边界线较全的表格数据进行识别,还适用于对没有边界线或者边界线不全的表格数据进行识别,进而有效提升表格数据的识别准确率;另外,本申请还可以根据识别后得到的结构化表格数据来重现目标表格,以此来快速构建表格。
在一个实施例中,本申请还提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述实施例中任一项所述表格数据识别方法的步骤。
在一个实施例中,本申请还提供了一种计算机设备,包括:一个或多个处理器,以及存储器。
所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行如上述实施例中任一项所述表格数据识别方法的步骤。
示意性地,如图9所示,图9为本申请实施例提供的一种计算机设备的内部结构示意图,该计算机设备300可以被提供为一服务器。参照图9,计算机设备300包括处理组件302,其进一步包括一个或多个处理器,以及由存储器301所代表的存储器资源,用于存储可由处理组件302的执行的指令,例如应用程序。存储器301中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件302被配置为执行指令,以执行上述任意实施例的表格数据识别方法。
计算机设备300还可以包括一个电源组件303被配置为执行计算机设备300的电源管理,一个有线或无线网络接口304被配置为将计算机设备300连接到网络,和一个输入输出(I/O)接口305。计算机设备300可以操作基于存储在存储器301的操作***,例如WindowsServer TM、Mac OS XTM、Unix TM、Linux TM、Free BSDTM或类似。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (13)
1.一种表格数据识别方法,其特征在于,所述方法包括:
获取目标表格;
基于所述目标表格的表格特征对所述目标表格进行切割,确定所述目标表格的行数据,所述行数据包括各个行所在的行数及每行中各列的字符串;所述目标表格的表格特征包括连续横向线条和呈结构化分布的横纵线条;
根据各个行所在的行数及每行中各列的字符串对所述目标表格的表头和表身进行划分,得到划分后的表头和表身;
对所述划分后的表头和表身中的数据依次进行识别,得到结构化的表格数据;
所述根据各个行所在的行数及每行中各列的字符串对所述目标表格的表头和表身进行划分,得到划分后的表头和表身,包括:
根据各个行所在的行数及每行中各列的字符串,确定所述目标表格的总行数以及每行中各列字符串的类型;
基于所述目标表格的总行数,选取所述目标表格的首行中各列字符串的类型,与倒数行中各列字符串的类型进行比对;
若所述首行中各列字符串的类型与所述倒数行中各列字符串的类型不一致,则将所述目标表格中与所述首行的行数连续的、且各列字符串的类型一致的后续行进行同行合并,并将合并后的首行作为表头,将其余未合并的行作为表身;
若所述首行中各列字符串的类型与所述倒数行中各列字符串的类型一致,则按照所述目标表格中各个横向线条的线条长度对所述目标表格的表头和表身进行划分,得到划分后的表头和表身。
2.根据权利要求1所述的表格数据识别方法,其特征在于,所述获取目标表格,包括:
获取待识别文本,其中,所述待识别文本中包含目标表格;
依据现有表格的表格特征对所述待识别文本中目标表格的表格区域进行识别,得到第一识别结果;
根据所述第一识别结果从所述待识别文本中提取所述目标表格。
3.根据权利要求2所述的表格数据识别方法,其特征在于,所述依据现有表格的表格特征对所述待识别文本中目标表格的表格区域进行识别,得到第一识别结果,包括:
在所述待识别文本中查找与现有表格的表格特征对应的区域,并将该区域作为初始表格区域;
按照所述现有表格的表格特征对所述初始表格区域中目标表格的表格区域进行识别,得到第一识别结果。
4.根据权利要求3所述的表格数据识别方法,其特征在于,所述现有表格的表格特征包括连续横向线条及表头位置关键词;
所述按照所述现有表格的表格特征对所述初始表格区域中目标表格的表格区域进行识别,得到第一识别结果,包括:
按照所述表头位置关键词确定所述初始表格区域中目标表格的起始位置;
按照所述连续横向线条确定所述初始表格区域中目标表格的终止位置;
基于所述目标表格的起始位置和终止位置对所述初始表格区域中目标表格的表格区域进行识别,得到第一识别结果。
5.根据权利要求3所述的表格数据识别方法,其特征在于,所述现有表格的表格特征包括呈结构化分布的横纵线条;
所述按照所述现有表格的表格特征对所述初始表格区域中目标表格的表格区域进行识别,得到第一识别结果,包括:
根据所述呈结构化分布的横纵线条中首条横纵线条的交点,确定所述初始表格区域中目标表格的起始位置;
根据所述呈结构化分布的横纵线条中最后一条横纵线条的交点,确定所述初始表格区域中目标表格的终止位置;
基于所述目标表格的起始位置和终止位置对所述初始表格区域中目标表格的表格区域进行识别,得到第一识别结果。
6.根据权利要求1所述的表格数据识别方法,其特征在于,所述基于所述目标表格的表格特征对所述目标表格进行切割,确定所述目标表格的行数据,包括:
根据所述目标表格的表格特征,从所述目标表格中划分出多个空白块;
利用各个空白块对所述目标表格进行切割,得到所述目标表格中的多个字符块以及各个字符块在所述目标表格中的位置;
按照各个字符块在所述目标表格中的位置对位于同行的字符块进行合并,并根据合并结果确定所述目标表格的行数据。
7.根据权利要求6所述的表格数据识别方法,其特征在于,所述目标表格的表格特征包括连续横向线条;
所述根据所述目标表格的表格特征,从所述目标表格中划分出多个空白块,包括:
以所述连续横向线条为基准,根据所述目标表格中字符的横向排布方式,确定所述目标表格中与所述目标表格近宽的多条连续横向空白块;
以所述连续横向空白块为基准,根据所述目标表格中字符的竖向排布方式,确定所述目标表格中的多条竖向空白块。
8.根据权利要求6所述的表格数据识别方法,其特征在于,所述目标表格的表格特征包括呈结构化分布的横纵线条;
根据所述目标表格的表格特征,从所述目标表格中划分出多个空白块,包括:
根据所述呈结构化分布的横纵线条,从所述目标表格划分出多个横纵交错的空白块。
9.根据权利要求1所述的表格数据识别方法,其特征在于,所述对所述划分后的表头和表身中的数据依次进行识别,得到结构化的表格数据,包括:
对所述划分后的表头中的各列字符串及对应的列数依次进行识别,得到结构化的表头数据;
根据所述划分后的表身中各行各列字符串的出现规律,确定所述表身中的各个字符串及对应的行列数,得到结构化的表身数据;
根据所述结构化的表头数据和所述结构化的表身数据确定结构化的表格数据。
10.根据权利要求9所述的表格数据识别方法,其特征在于,所述根据所述划分后的表身中各行各列字符串的出现规律,确定所述表身中的各个字符串及对应的行列数,包括:
对所述划分后的表身进行逐列扫描,确定每列中字符串的数量及每个字符串所在行列数;
若存在至少一列字符串的数量多于各列字符串数量的平均数,则对所述划分后的表身进行逐行扫描,并确定该列中的每个字符串在其所在行是否存在其他列字符串;
若所有字符串在其所在行均存在其他列字符串,则无需对每个字符串所在行进行调整,并判断是否存在至少一列字符串的数量少于各列字符串数量的平均数;
若存在,则根据该列中每个字符串所在行重新划分各个字符串对应的行列数;
若至少一个字符串在其所在行不存在其他列字符串,则将该字符串所在行与其临近的存在其他列字符串的上一行进行合并后,返回执行所述判断是否存在至少一列字符串的数量少于各列字符串数量的平均数的步骤。
11.一种表格数据识别装置,其特征在于,包括:
表格获取模块,用于获取目标表格;
表格切割模块,用于基于所述目标表格的表格特征对所述目标表格进行切割,确定所述目标表格的行数据,所述行数据包括各个行所在的行数及每行中各列的字符串;所述目标表格的表格特征包括连续横向线条和呈结构化分布的横纵线条;
表格划分模块,用于根据各个行所在的行数及每行中各列的字符串对所述目标表格的表头和表身进行划分,得到划分后的表头和表身;
数据识别模块,用于对所述划分后的表头和表身中的数据依次进行识别,得到结构化的表格数据;
所述表格划分模块,包括:
根据各个行所在的行数及每行中各列的字符串,确定所述目标表格的总行数以及每行中各列字符串的类型;
基于所述目标表格的总行数,选取所述目标表格的首行中各列字符串的类型,与倒数行中各列字符串的类型进行比对;
若所述首行中各列字符串的类型与所述倒数行中各列字符串的类型不一致,则将所述目标表格中与所述首行的行数连续的、且各列字符串的类型一致的后续行进行同行合并,并将合并后的首行作为表头,将其余未合并的行作为表身;
若所述首行中各列字符串的类型与所述倒数行中各列字符串的类型一致,则按照所述目标表格中各个横向线条的线条长度对所述目标表格的表头和表身进行划分,得到划分后的表头和表身。
12.一种存储介质,其特征在于:所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至10中任一项所述表格数据识别方法的步骤。
13.一种计算机设备,其特征在于,包括:一个或多个处理器,以及存储器;
所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行如权利要求1至10中任一项所述表格数据识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310402931.3A CN116127928B (zh) | 2023-04-17 | 2023-04-17 | 表格数据识别方法、装置、存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310402931.3A CN116127928B (zh) | 2023-04-17 | 2023-04-17 | 表格数据识别方法、装置、存储介质及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116127928A CN116127928A (zh) | 2023-05-16 |
CN116127928B true CN116127928B (zh) | 2023-07-07 |
Family
ID=86297752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310402931.3A Active CN116127928B (zh) | 2023-04-17 | 2023-04-17 | 表格数据识别方法、装置、存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116127928B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117454851B (zh) * | 2023-12-25 | 2024-03-12 | 浙江大学 | 一种面向pdf文档的表格数据抽取方法及装置 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111062259A (zh) * | 2019-11-25 | 2020-04-24 | 泰康保险集团股份有限公司 | 表格识别方法和装置 |
CN111310426A (zh) * | 2020-01-22 | 2020-06-19 | 平安科技(深圳)有限公司 | 基于ocr的表格版式恢复方法、装置及存储介质 |
CN111695553A (zh) * | 2020-06-05 | 2020-09-22 | 北京百度网讯科技有限公司 | 表格识别方法、装置、设备和介质 |
CN113408323A (zh) * | 2020-03-17 | 2021-09-17 | 华为技术有限公司 | 表格信息的提取方法、装置、设备及存储介质 |
CN114036914A (zh) * | 2021-10-20 | 2022-02-11 | 珠海金山办公软件有限公司 | 一种表格数据处理方法、装置、电子设备及存储介质 |
CN114357958A (zh) * | 2020-09-30 | 2022-04-15 | 中移(苏州)软件技术有限公司 | 一种表格提取方法、装置、设备及存储介质 |
CN114463765A (zh) * | 2022-02-10 | 2022-05-10 | 微民保险代理有限公司 | 一种表格信息提取方法、装置及存储介质 |
CN114529773A (zh) * | 2020-10-30 | 2022-05-24 | 上海交通大学 | 基于结构单元的表格识别方法、***、终端及介质 |
CN115240213A (zh) * | 2022-07-15 | 2022-10-25 | 清华大学 | 表格图像识别方法、装置、电子设备及存储介质 |
CN115439866A (zh) * | 2022-07-31 | 2022-12-06 | 浙江工业大学 | 一种针对三线表的表格结构识别的方法、设备和存储介质 |
US11537785B1 (en) * | 2021-07-14 | 2022-12-27 | Sap Se | Spreadsheet flat data extractor |
CN115686455A (zh) * | 2021-10-20 | 2023-02-03 | 钉钉(中国)信息技术有限公司 | 基于电子表格的应用开发方法、装置、设备及存储介质 |
CN115953797A (zh) * | 2022-12-29 | 2023-04-11 | 四川云从天府人工智能科技有限公司 | 表格识别、文档获取方法和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108734089B (zh) * | 2018-04-02 | 2023-04-18 | 腾讯科技(深圳)有限公司 | 识别图片文件中表格内容的方法、装置、设备及存储介质 |
US11514699B2 (en) * | 2020-07-30 | 2022-11-29 | International Business Machines Corporation | Text block recognition based on discrete character recognition and text information connectivity |
-
2023
- 2023-04-17 CN CN202310402931.3A patent/CN116127928B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111062259A (zh) * | 2019-11-25 | 2020-04-24 | 泰康保险集团股份有限公司 | 表格识别方法和装置 |
CN111310426A (zh) * | 2020-01-22 | 2020-06-19 | 平安科技(深圳)有限公司 | 基于ocr的表格版式恢复方法、装置及存储介质 |
CN113408323A (zh) * | 2020-03-17 | 2021-09-17 | 华为技术有限公司 | 表格信息的提取方法、装置、设备及存储介质 |
CN111695553A (zh) * | 2020-06-05 | 2020-09-22 | 北京百度网讯科技有限公司 | 表格识别方法、装置、设备和介质 |
CN114357958A (zh) * | 2020-09-30 | 2022-04-15 | 中移(苏州)软件技术有限公司 | 一种表格提取方法、装置、设备及存储介质 |
CN114529773A (zh) * | 2020-10-30 | 2022-05-24 | 上海交通大学 | 基于结构单元的表格识别方法、***、终端及介质 |
US11537785B1 (en) * | 2021-07-14 | 2022-12-27 | Sap Se | Spreadsheet flat data extractor |
CN114036914A (zh) * | 2021-10-20 | 2022-02-11 | 珠海金山办公软件有限公司 | 一种表格数据处理方法、装置、电子设备及存储介质 |
CN115686455A (zh) * | 2021-10-20 | 2023-02-03 | 钉钉(中国)信息技术有限公司 | 基于电子表格的应用开发方法、装置、设备及存储介质 |
CN114463765A (zh) * | 2022-02-10 | 2022-05-10 | 微民保险代理有限公司 | 一种表格信息提取方法、装置及存储介质 |
CN115240213A (zh) * | 2022-07-15 | 2022-10-25 | 清华大学 | 表格图像识别方法、装置、电子设备及存储介质 |
CN115439866A (zh) * | 2022-07-31 | 2022-12-06 | 浙江工业大学 | 一种针对三线表的表格结构识别的方法、设备和存储介质 |
CN115953797A (zh) * | 2022-12-29 | 2023-04-11 | 四川云从天府人工智能科技有限公司 | 表格识别、文档获取方法和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116127928A (zh) | 2023-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116127928B (zh) | 表格数据识别方法、装置、存储介质及计算机设备 | |
DE112012003640B4 (de) | Erzeugen eines rhythmischen Passworts und Durchführen einer Authentifizierung auf der Grundlage rhythmischen Passworts | |
JP4454789B2 (ja) | 帳票分類方法及び装置 | |
US6178417B1 (en) | Method and means of matching documents based on text genre | |
CN106815263A (zh) | 法律条文的搜索方法及装置 | |
US8948511B2 (en) | Automated document processing system | |
DE69329330T2 (de) | Texterkennung | |
DE102013016732A1 (de) | Verfahren zum zoomen auf einem bildschirm und elektronische vorrichtung und computerlesbares medium, die selbiges verwenden | |
CN110287784B (zh) | 一种年报文本结构识别方法 | |
CN110543810A (zh) | 一种完整识别pdf文件页眉页脚的技术 | |
US9049400B2 (en) | Image processing apparatus, and image processing method and program | |
CN114036909A (zh) | Pdf文档跨页表格合并方法、装置及相关设备 | |
CN111356015B (zh) | 重复视频检测方法、装置、计算机设备和存储介质 | |
US8526744B2 (en) | Document processing apparatus and computer readable medium | |
CN112004164A (zh) | 一种视频海报自动生成方法 | |
Xu et al. | Cross-browser differences detection based on an empirical metric for web page visual similarity | |
JP6247103B2 (ja) | 帳票項目認識方法、帳票項目認識装置及び帳票項目認識プログラム | |
US9639970B2 (en) | Character recognition system, character recognition program and character recognition method | |
KR20180032949A (ko) | 디지털 동영상 특징값 추출 시스템 및 방법, 및 상기 특징값을 이용한 디지털 동영상 유사도 판단 시스템 및 방법 | |
CN115565193A (zh) | 问卷信息录入方法、装置、电子设备及存储介质 | |
JPS60153574A (ja) | 文字読取方法 | |
CN115050025A (zh) | 基于公式识别的知识点抽取方法及装置 | |
Randriamasy et al. | Automatic benchmarking scheme for page segmentation | |
CN106572394B (zh) | 一种影视数据导航方法 | |
JP5046241B2 (ja) | 画像処理装置、画像処理方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |