CN117217172A - 表格信息获取方法、装置、计算机设备、存储介质 - Google Patents
表格信息获取方法、装置、计算机设备、存储介质 Download PDFInfo
- Publication number
- CN117217172A CN117217172A CN202311483428.1A CN202311483428A CN117217172A CN 117217172 A CN117217172 A CN 117217172A CN 202311483428 A CN202311483428 A CN 202311483428A CN 117217172 A CN117217172 A CN 117217172A
- Authority
- CN
- China
- Prior art keywords
- report
- text
- cell
- edge line
- determining
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000004458 analytical method Methods 0.000 claims abstract description 31
- 238000004590 computer program Methods 0.000 claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 21
- 238000010276 construction Methods 0.000 claims description 8
- 230000008859 change Effects 0.000 description 17
- 239000013598 vector Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012015 optical character recognition Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005260 corrosion Methods 0.000 description 1
- 230000007797 corrosion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Classifications
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Machine Translation (AREA)
Abstract
本申请涉及一种表格信息获取方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:解析待识别文本,得到文本解析结果,基于所述文本解析结果确定所述待识别文本中的第一报表;确定所述第一报表的目标边缘线条;基于所述目标边缘线条,对所述第一报表进行处理,得到第二报表;基于所述第二报表,生成所述第二报表对应的信息树,所述信息树用于表征所述第二报表中单元格之间的关系。采用本方法能够充分结构化报表信息,提高报表数据的处理效率。
Description
技术领域
本申请涉及数字处理技术领域,特别是涉及一种表格信息获取方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着信息技术的发展以及产品的不断迭代,一些专业领域的设备文档越来越多,数据信息庞大且繁杂,所产生的数据大都以PDF(Portable Document Format,可携带文件格式)的形式所储存。在PDF规范中,其文本、位图及表格等信息并非像Word(Microsoftoffice Word)一样有着明显的结构化关系,从PDF格式文档中不能方便的将数据信息转化成可读写的信息。
而在很多场景下,例如对于比较复杂的企业税财信息,不仅要把表格提取出来,还要满足金融行业实际的业务需求对表格进行分析,传统方法通过人工采集或者表格线条框检测结合单元格识别等方式识别表格,表格数据的处理效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高表格数据的处理效率的表格信息获取方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种表格信息获取方法。所述方法包括:
解析待识别文本,得到文本解析结果,基于所述文本解析结果确定所述待识别文本中的第一报表;确定所述第一报表的目标边缘线条;基于所述目标边缘线条,对所述第一报表进行处理,得到第二报表;基于所述第二报表,生成所述第二报表对应的信息树,所述信息树用于表征所述第二报表中单元格之间的关系。
在其中一个实施例中,所述解析待识别文本,得到文本解析结果,基于所述文本解析结果确定所述待识别文本中的第一报表,包括:
解析待识别文本,得到所述待识别文本中的文本和线条,以及所述文本对应的第一坐标和所述线条对应的第二坐标;根据所述线条对应的第二坐标,确定待识别文本中的第一表格;根据所述文本对应的第一坐标,将所述文本填充至所述第一表格中,得到所述待识别文本中的第一报表。
在其中一个实施例中,所述根据所述线条对应的第二坐标,确定待识别文本中的第一表格,包括:
根据所述线条对应的第二坐标,确定所述线条对应的交点的坐标;根据所述交点的坐标,确定由所述交点所构成的单元格中的最小单元格,作为基准单元格;根据所述基准单元格,确定所述待识别文本中的第一表格。
在其中一个实施例中,所述确定所述第一报表的目标边缘线条,包括:
获取所述第一报表中所有单元格中的最大单元格,将最大单元格的边框作为所述第一报表的边缘线条;将位于页面最上面的边缘线条以及所述页面最下面的边缘线条,作为所述第一报表的目标边缘线条。
在其中一个实施例中,所述目标边缘线条包括第一目标边缘线条和第二目标边缘线条;所述基于所述目标边缘线条,对所述第一报表进行处理,得到第二报表,包括:
识别当前页面最上面的第一目标边缘线条上,以及当前页面的上一页面最下面的第二目标边缘线条下,是否存在文本内容;若所述当前页面最上面的第一目标边缘线条上,以及所述当前页面的上一页面中最下面的第二目标边缘线条下,均不存在文本内容,则将所述当前页面的报表与所述当前页面的上一页面的报表合并,得到所述第二报表。
在其中一个实施例中,所述基于所述第二报表,生成所述第二报表对应的信息树,包括:
根据所述第二报表的表头内容确定根节点;根据所述第二报表的单元格内容确定叶子结点;根据所述根节点和所述叶子结点,生成所述第二报表对应的信息树。
在其中一个实施例中,所述根据所述第二报表的单元格内容确定叶子结点,包括:
若所述单元格内容格式为数值型,确定所述单元格内容的行关键词和列关键词;将所述行关键词作为所述叶子节点的键,将所述单元格内容及所述列关键词作为所述叶子节点的值;所述叶子节点通过所述键和值所组成的键值对表征;将所述键相同的键值对按照从左到右的顺序,生成所述叶子节点;若所述单元格内容格式为非数值型,则将所述单元格内容所在行的第一个单元格内容作为键,将所述单元格内容所在行的其他单元格的内容作为值,根据所述键和值组成的键值对,生成所述叶子结点。
在其中一个实施例中,所述确定所述单元格内容的行关键词和列关键词,包括:
针对每个目标单元格内容,朝所述目标单元格内容所在行的左侧遍历每个单元格,当遍历到第一个文本单元格时,将从第一个文本单元格开始的连续多个文本单元格对应的单元格内容作为所述目标单元格内容的行关键词;朝所述目标单元格内容所在列的上侧遍历每个单元格,当遍历到第一个文本单元格时,将从第一个文本单元格开始的连续多个文本单元格对应的单元格内容作为所述目标单元格内容的列关键词。
第二方面,本申请还提供了一种表格信息获取装置。所述装置包括:
第一报表确定模块,用于解析待识别文本,得到文本解析结果,基于所述文本解析结果确定所述待识别文本中的第一报表;
边缘线条确定模块,用于确定所述第一报表的目标边缘线条;
第二报表确定模块,用于基于所述目标边缘线条,对所述第一报表进行处理,得到第二报表;
信息树构建模块,用于基于所述第二报表,生成所述第二报表对应的信息树,所述信息树用于表征所述第二报表中单元格之间的关系。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述表格信息获取方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述表格信息获取方法的步骤。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述表格信息获取方法的步骤。
上述表格信息获取方法、装置、计算机设备、存储介质和计算机程序产品,通过解析待识别文本,得到文本解析结果,基于文本解析结果确定待识别文本中的第一报表,确定第一报表的目标边缘线条,基于该目标边缘线条,对第一报表进行处理,得到第二报表,基于第二报表,生成第二报表对应的信息树,该信息树用于表征第二报表中单元格之间的关系,通过以信息树的形式表征第二报表,可以实现充分结构化第二报表的报表信息,可以方便且快速地从报表中提取相应的信息,从而提高报表数据处理的效率。
附图说明
图1为一个实施例中表格信息获取方法的应用环境图;
图2为一个实施例中表格信息获取方法的流程示意图;
图3为一个实施例中步骤202的流程示意图;
图4为一个实施例中步骤304的流程示意图;
图5为一个实施例中边缘线条的示意图;
图6为一个实施例中页面上目标边缘线条的示意图;
图7为一个实施例中步骤208的流程示意图;
图8为另一个实施例中表格信息获取方法的流程示意图;
图9为一个实施例中表格信息获取装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的表格信息获取方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。服务器104接收终端102发送的待识别文本,服务器104解析待识别文本,得到文本解析结果,基于文本解析结果确定待识别文本中的第一报表,确定第一报表的目标边缘线条,基于目标边缘线条,对第一报表进行处理,得到第二报表,基于第二报表,生成第二报表对应的信息树,其中,信息树用于表征第二报表中单元格之间的关系。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
可以理解地,本申请实施例提供的表格信息获取方法,不仅可以用于上述服务器和终端进行交互的场景,还可以单独用于服务器或者单独用于终端对应的场景。
在一个实施例中,如图2所示,提供了一种表格信息获取方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤202至步骤208。
步骤202,解析待识别文本,得到文本解析结果,基于文本解析结果确定待识别文本中的第一报表。
待识别文本是指包括待识别表格的文本,待识别文本中包括的表格信息不能直接提取,待识别文本的格式例如为PDF格式或者图片格式等不能被直接编辑的文本格式。通常情况下,只能从报表中直接提取对应的表格信息。服务器可以是接收终端发送的待识别文本,也可以是从服务器接口或者人机交互界面获取待识别文本,然后对待识别文本进行解析,得到文本解析结果,基于文本解析结果确定待识别文本中的第一报表。其中,第一报表包括对应的第一表格以及第一表格中的内容。可以理解地,待识别文本中可以包括表格信息、文本信息以及图片信息,本实施例中主要是针对表格信息对待识别文本进行解析。
可选地,可以通过fitz库、pdfplumber库、pdfminer库或者OCR(OpticalCharacter Recognition,光学字符识别)解析待识别文本,得到文本解析结果,其中,fitz库、pdfplumber库、pdfminer库都属于Python库中解析PDF文件的工具,Python是一种面向对象、直译式计算机程序设计语言。文本解析结果可以包括文本、线条或者图像,以及对应的位置等。
可选地,可以通过opencv库、fitz库、pdfminer库中至少一种对PDF格式的待识别文本进行解析,得到待识别文本对应的文本以及文本中的坐标;将PDF格式的待识别文件转换为图像格式的文本,得到第一图像,对第一图像进行腐蚀和膨胀处理,得到第二图像,根据第二图像中的连通域,确定待识别文本中的第二表格,将待识别文本中的文本填充至第二表格中,得到待识别文本中的第一报表。
步骤204,确定第一报表的目标边缘线条。
本实施中,第一报表至少包括表格和表格内容,以及表格外部与表格相关的文本内容,而第一表格就是表征由线条构成的表格,包括多个单元格。在第一报表中确定第一报表的目标边缘线,其中,第一报表中最大单元格对应的边框为边缘线条,边缘线条包括最大单元格上侧、下侧、左侧和右侧的线条。目标边缘线条包括第一报表的边缘线条中位于页面最上面的边缘线条以及页面最下面的边缘线条,或者,目标边缘线条也可以是第一报表的边缘线条中位于页面最左边的边缘线条以及页面最右边的边缘线条。可以理解地,本实施例中的报表均是按照财务报表编制标准所编制的报表,不考虑存在格式错误的情形。
可选地,可以根据第一报表中的单元格边框,确定第一报表的边缘线条,基于边缘线条,确定目标边缘线条。例如,将第一报表中所有单元格中的最大单元格的边框作为第一报表的边缘线条,针对通过上下滑动进行页面更新的第一报表,将位于页面最上面的边缘线条以及页面最下面的边缘线条,作为第一报表的目标边缘线条;或者,针对通过左右滑动进行页面更新的第一报表,可以将位于页面最左边的边缘线条以及页面最右边的边缘线条,作为第一报表的目标边缘线条。
步骤206,基于目标边缘线条,对第一报表进行处理,得到第二报表。
服务器基于目标边缘线条,可以对第一报表进行处理,得到第二报表,其中,第二报表的数量不大于第一报表的数量。例如,可以将多个第一报表进行分类合并,得到第二报表;或者,对第一报表进行格式优化,比如错别字更正,单元格线条拼接等,得到第二报表。第二报表内容包括表头和对应完整的表格。
可选地,若当前页面最上面的目标边缘线条之上,以及当前页面的上一页面中最下面的目标边缘线条之下,均不存在文本内容,则将所述当前页面的第一报表与所述当前页面的上一页面的第一报表合并,得到第二报表。或者,可以识别当前页面最左边的目标边缘线条的左侧,以及当前页面的上一页面最右边的目标边缘线条的右侧,是否存在文本内容,若当前页面最左边的目标边缘线条的左侧,以及当前页面的上一页面最右边的目标边缘线条的右侧均不存在文本内容,则将当前页面的第一报表与当前页面的上一页的第一报表合并,得到第二报表。
步骤208,基于第二报表,生成第二报表对应的信息树,其中,信息树用于表征第二报表中单元格之间的关系。
本实施例中,基于第二报表,通过信息树的形式表征第二报表,信息树可以表征第二报表中单元格之间的关系,可以使第二报表对应的内容更加结构化。其中,信息树包括根节点和叶子节点,可以根据第二报表的表头内容确定根节点,例如,将第二报表的表头内容中的标题作为根节点的键,将表头内容中除标题之外的其他内容作为值,例如,将表头内容中的副标题、表格信息说明或者内容介绍等作为根节点的值。根据第二报表的单元格内容确定叶子节点,例如,将单元格内容对应的行关键词作为叶子节点的键,单元格内容以及列关键词作为叶子节点的值,行关键词或者列关键词可以是通过多个关键词合并后的组合关键词。可以通过键(key)和值(value)组成的键值对表征信息树的节点,也就是说,根节点或者叶子节点是通过键和值组成的键值对表征对应的节点内容的。
上述表格信息获取方法中,通过解析待识别文本,得到文本解析结果,基于文本解析结果确定待识别文本中的第一报表,确定第一报表的目标边缘线条,基于目标边缘线条,对第一报表进行处理,得到第二报表,基于第二报表,生成第二报表对应的信息树,信息树用于表征第二报表中单元格之间的关系,可以更加结构化地表征第二报表对应的信息,有利于实现在准确识别报表信息的基础上方便且快速地从信息树中筛选提取所需要的重要数据,从而提高第二报表数据处理的效率。
在一个实施例中,如图3所示,解析待识别文本,得到文本解析结果,基于文本解析结果确定待识别文本中的第一报表的步骤202,包括以下步骤302至步骤306。
步骤302,解析待识别文本,得到待识别文本中的文本和线条,以及文本对应的第一坐标和线条对应的第二坐标。
通过文本解析工具对待识别文本进行解析,可以得到待识别文本中的文本和线条,以及文本对应的第一坐标和线条对应的第二坐标。例如,通过opencv、fitz、pdfminer包对PDF格式的待识别文本进行解析,可以得到待识别文本中的文本和线条,可选地,可以将所识别出的文本和线条进行存储,所识别的文本和线条可以按照待识别文本中的格式存储为新的文本。
文本对应的第一坐标,可以通过文本对应的文本框的坐标来表征,例如,通过文本对应的文本框的中点坐标或者左上角点坐标来表征该文本的第一坐标。线条对应的第二坐标,可以通过线条的端点坐标来表征,例如,若线条为水平线,则对应的坐标为((x1,y),(x2,y)),x1表示线条左端点的横坐标,x2表示线条右端点的横坐标,y表示线条左端点和右端点的纵坐标,可以理解地,水平线上的任意点对应的纵坐标相同;若线条为垂直线,则对应的坐标为((x,y1),(x,y2)),y1表示线条上端点的横坐标,y2表征线条下端点的纵坐标,x表示线条上端点和下端点的横坐标,可以理解地,垂直线上的任意点对应的横坐标相同,针对表格,存在的线条通常包括垂直线和水平线。
步骤304,根据线条对应的第二坐标,确定待识别文本中的第一表格。
本实施例中,可以根据线条对应的第二坐标,构建待识别文本中的第一表格。根据所识别的线条以及对应的第二坐标,识别线条的交点,以及交点的坐标,基于交点以及交点的坐标确定交点所形成的单元格以及单元格坐标,根据单元格以及单元格坐标,确定待识别文本中的第一表格。
步骤306,根据文本对应的第一坐标,将文本填充至第一表格中,得到待识别文本中的第一报表。
本实施例中,根据文本对应的第一坐标,可以将文本填充至第一表格对应的单元格中,得到待识别文本中的第一报表。可选地,针对任意目标文本,遍历第一表格的单元格,若目标文本对应的第一坐标落入单元格范围内,则将该单元格作为目标单元格,并将目标文本填充至目标单元格中。
上述表格信息获取方法中,通过解析待识别文本,得到待识别文本中的文本和线条,以及文本对应的第一坐标和线条对应的第二坐标,根据线条对应的第二坐标,确定待识别文本中的第一表格,根据文本对应的第一坐标,将文本填充至第一表格中,得到待识别文本中的第一报表,可以准确识别第一报表,提高第一报表识别的准确度,从而提高信息树的准确度。
在一些实施例中,如图4所示,根据线条对应的第二坐标,确定待识别文本中的第一表格的步骤304,包括以下步骤402至步骤406。
步骤402,根据线条对应的第二坐标,确定线条对应的交点的坐标。
本实施例中,线条包括水平线条和垂直线条,根据线条对应的第二坐标,可以确定线条对应形成的交点坐标。例如,第一线条的坐标为((D,14),(F,14)),第二线条的坐标为((E,8),(E,18)),那么,第一线条和第二线条对应的交点坐标为(E,14)。
步骤404,根据交点的坐标,确定由交点所构成的单元格中的最小单元格,作为基准单元格。
在确定交点以及交点的坐标后,任意四个交点可以构成一个单元格,从而也可以确定单元格的坐标,单元格的坐标可以通过单元格的中点坐标或单元格的任意顶点的坐标进行表征,其中,中点为单元格的两条对角线的交点,根据交点的坐标确定由交点所构成的单元格中的最小单元格,将最小单元格作为基准单元格。
步骤406,根据基准单元格,确定待识别文本中的第一表格。
基准单元格,可以理解为是第一表格的基本构成单位。根据基准单元格可以确定待识别文本中的第一表格。可选地,可以将各个基准单元格按照基准单元格的坐标进行排序,从而构成第一表格。单元格的坐标可以是单元格的中点坐标或者单元格的任意顶点坐标,可以理解地,在进行排序时,各个基准单元格的坐标位置一致,即各个基准单元格坐标均为中点坐标、左上角顶点坐标、右上角顶点坐标、左下角顶点坐标和右下角顶点坐标中的同一种。
上述实施例中,根据线条对应的第二坐标,确定线条对应的交点的坐标,根据交点的坐标,确定由交点所构成的单元格中的最小单元格,作为基准单元格,根据基准单元格,确定待识别文本中的第一表格,可以实现准确确定第一表格,有利于准确构建信息树,从而提高信息树的准确性。
在一个实施例中,确定第一报表的目标边缘线条,包括:获取第一报表中所有单元格中的最大单元格,将最大单元格的边框作为第一报表的边缘线条;将位于页面最上面的边缘线条以及页面最下面的边缘线条,作为第一报表的目标边缘线条。
本实施例中,获取第一报表中所有单元格中面积最大的单元格,任意四个交点即可组成一个单元格,此时的四个交点为单元格的顶点。可以理解地,根据单元格对应顶点的坐标,可以确定单元格的长和宽,继而可以确定单元格的面积,从所有单元格中选取面积最大的单元格,将最大单元格的边框作为第一报表的边缘线条。第一报表的边缘线条包括4条,将位于页面最上面的边缘线条以及页面最下面的边缘线条,作为第一报表的目标边缘线条。
在一个示例中,如图5所示,第一报表502的边缘线条包括第一边缘线条504、第二边缘线条506、第三边缘线条508及第四边缘线条510,将位于页面最上面的第一边缘线条504以及页面最下面的第四边缘线条510,作为第一报表的目标边缘线条。
上述实施例中,通过获取第一报表中所有单元格中的面积最大的单元格,将最大单元格的边框作为第一报表的边缘线条,将位于页面最上面的边缘线条以及页面最下面的边缘线条,作为第一报表的目标边缘线条,可以实现准确确定报表的目标边缘线条,从而有利于准确构建第二报表。
在一些实施例中,目标边缘线条包括第一目标边缘线条和第二目标边缘线条;基于目标边缘线条,对第一报表进行处理,得到第二报表,包括:识别当前页面最上面的第一目标边缘线条上,以及当前页面的上一页面最下面的第二目标边缘线条下,是否存在文本内容;若当前页面最上面的第一目标边缘线条上,以及当前页面的上一页面中最下面的第二目标边缘线条下,均不存在文本内容,则将当前页面的报表与当前页面的上一页面的报表合并,得到第二报表。
本实施例中,目标边缘线条包括第一目标边缘线条和第二目标边缘线条,识别当前页面最上面的第一目标边缘线条上,以及当前页面的上一页面最下面的第二目标边缘线条下,是否存在文本内容,若当前页面最上面的第一目标边缘线条前上,以及当前页面的上一页面中最下面的第二目标边缘线条下,均不存在文本内容,说明当前页面的报表与当前页面的上一页面的报表属于同一报表,则将当前页面的报表与当前页面的上一页面的报表合并,得到第二报表。在一个示例中,如图6所示,识别当前页面602最上面的第一目标边缘线条604上是否存在文本,以及当前页面的上一页面606最下面的第二目标边缘线条608下,是否存在文本内容;若当前页面602最上面的第一目标边缘线条604上,以及当前页面的上一页面606最下面的第二目标边缘线条608下,都不存在文本内容,则将当前页面的报表与当前页面的上一页面的报表合并,得到第二报表;否则,不进行合并。其中,将当前页面的报表与当前页面的上一页面的报表合并,是指合并为同一个表头对应的表,例如,将当前页面的报表与上一页面的报表进行拼接,得到第二报表。
可选地,若当前页面最上面的第一目标边缘线条上存在文本内容,提取相应的文本内容,并将相应的文本内容作为第二报表的表头内容。
在一些可选的实施例中,在得到第二报表之后,将第二报表中的单元格位置形式表征为【(开始行,终止行),(开始列,终止列)】。例如,【(4,4),(3,3)】表示对应的单元格处于表格的第4行,第3列,该单元格不存在行和列的合并;【(2,3),(1,3)】表示对应的单元格处于表格的第2-3行,第1-3列,该单元格存在行和列的合并,即,合并了2行和3列的基准单元格。
上述实施例中,若当前页面最上面的第一目标边缘线条上,以及当前页面的上一页面中最下面的第二目标边缘线条下,均不存在文本内容,则将当前页面的报表与当前页面的上一页面的报表合并,得到第二报表,使得第二报表与待识别文本中的报表信息更加一致,第二报表的完整性更高,可以提高所识别报表的准确性。
在一个实施例中,如图7所示,步骤208中基于第二报表,生成第二报表对应的信息树,包括以下步骤702至步骤706。
步骤702,根据第二报表的表头内容确定根节点。
第二报表的表头内容可以包括标题、报表说明等报表背景信息,根据第二报表的表头内容确定根节点。可选地,可以将标题作为根节点的键,除标题之外的报表背景信息作为值,由键和值组成的键值对表征根节点。例如,第二报表的标题为“企业财务报表分析”,报表说明内容为“金额:百万元 从投资或资产角度进行分析评价”,那么,根节点可以表示为(企业财务报表分析,金额:百万元 从投资或资产角度进行分析评价)。
步骤704,根据第二报表的单元格内容确定叶子结点。
第二报表的单元格内容,是指第二报表中用于表征报表实质信息的单元格内容,即,可以理解为是报表字段值,并不包括报表字段对应的单元格内容。可选地,根据第二报表的单元格内容确定叶子结点,若该单元格内容格式为数值型,则根据该单元格内容的行关键词和列关键词,确定对应的叶子节点;若单元格内容格式为非数值型,则根据单元格内容所在行的所有单元格内容,确定叶子节点。叶子结点可以通过键和值组成的键值对表征。
步骤706,根据根节点和叶子结点,生成第二报表对应的信息树。
本实施例中,可以根据根节点和叶子节点,生成第二报表对应的信息树。可选地,可以将根节点与各个叶子节点相连,生成第二报表对应的信息树。其中,一个第二报表对应一棵信息树。
上述表格信息获取方法中,通过根据第二报表的表头内容确定根节点,根据第二报表的单元格内容确定叶子结点,根据根节点和叶子结点,生成第二报表对应的信息树,可以构建充分结构化的信息树,从而结构化表征信息树对应的报表信息,可以大大提高报表数据的处理效率。
在一些实施例中,根据第二报表的单元格内容确定叶子结点的步骤704,包括:若单元格内容格式为数值型,确定单元格内容的行关键词和列关键词;将行关键词作为叶子节点的键,将单元格内容及列关键词作为叶子节点的值;其中,叶子节点通过键和值所组成的键值对表征;将键相同的键值对按照从左到右的顺序,生成信息树的叶子节点;若单元格内容格式为非数值型,则将单元格内容所在行的第一个单元格内容作为键,将单元格内容所在行的其他单元格的内容作为值,根据键和值组成的键值对,生成叶子结点。
本实施例中,若单元格内容的格式为数值型,则确定单元格内容的行关键词和列关键词,其中行关键词可以理解为单元格内容所在行的单元格字段,列关键词可以理解为单元格内容所在列的单元格字段。可以将行关键词作为叶子节点的键,将单元格内容及列关键词作为叶子节点的值,通过键和值组成的键值对表征叶子节点。将键相同的键值对按照从左到右的顺序排列,生成信息树的叶子节点,也就是说,一个叶子节点可以包括多个键值对,同一个叶子节点中的键值对对应的键相同。可以理解地,单元格的行关键词和列关键词为文本格式。可选地,可以根据行关键词和列关键词的格式与单元格内容的不同格式,确定单元格内容的行关键词和列关键词。
可选地,单元格内容的行关键词或列关键词可以是由多个对应的子关键词组合得到,若对应的子关键词只有一个,那么,该子关键词作为单元格内容的行关键词或列关键词。
在一个示例中,第二报表如下表1所示,
企业财务报表分析
资产负债表水平分析 金额单位:百万元
从投资或资产角度进行分析评价
针对上述表1,根节点为(企业财务报表分析,资产负债表水平分析 金额:百万元从投资或资产角度进行分析评价)。以表1中单元格内容为“1.81”为例,该单元格内容格式为数值型,该单元格内容的行关键词为“应收账款”,列关键词为“08-09变动情况对总资产的影响(%)”,即列关键词是通过第一子关键词“08-09变动情况”和第二子关键词“对总资产的影响(%)”组合得到的。该单元格内容对应的键值对为(应收款项,(1.81,08-09变动情况对总资产的影响(%))),对应的,针对与单元格内容为“1.81”同一行的其他单元格所对应的行关键词,即键值对的键也为“应收账款”,因此,根据从左到右的顺序,将该行对应的单元格内容相应的键值对,生成叶子节点为(应收款项,((136,08-09变动情况(%)变动额),(104.73,08-09变动情况(%)变动),(1.81,08-09变动情况(%)对总资产的影响),(165,09-10变动情况(%)变动额),(62.05,09-10变动情况(%)变动),(1.9%,09-10变动情况(%)对总资产的影响)))。以此类推,可以生成其他的叶子结点。
在一些实施例中,也可以将列关键词作为叶子节点的键,将单元格内容及行关键词作为叶子节点的值,根据对应键和值所组成的键值对,生成叶子结点。对应生成叶子节点的方式与上述实施例相似,在此不再赘述。
本实施例中,若单元格内容格式为非数值型,则将单元格内容所在行的第一个单元格内容作为键,将单元格内容所在行的其他单元格的内容作为值,根据键和值组成的键值对,生成信息树的叶子结点。针对单元格内容为非数值型的数据,例如为文本型内容,将该单元格内容所在行的第一个单元格内容作为键,单元格内容所在行的其他单元格内容作为值,根据相应键和值组成的键值对生成信息树的叶子节点。其中,该单元格内容所在行的单元格内容格式为同一种非数值型格式。在一个示例中,单元格内容格式为非数值型的情况如下表2所示。
表2
以表2中单元格内容“申报人声明”为例,将该单元格内容所在行的第一个单元格的单元格内容“授权声明”作为键,将单元格所在行的其他单元格内容作为值,即,将“现授权XX为本纳税人的代理申报人,XX申报人声明XXXX声明人签字:”为值,对应生成的叶子节点可以表示为(授权声明,(现授权XX为本纳税人的代理申报人,XX;申报人声明;XXXX声明人签字:))。
上述实施例中,若单元格内容格式为数值型,通过将行关键词作为叶子节点的键,将单元格内容及列关键词作为所述叶子节点的值;根据键和值组成的键值对生成叶子节点,并将键相同的键值对按照从左到右的顺序,生成叶子节点;若单元格内容格式为非数值型,则将单元格内容所在行的第一个单元格内容作为键,将单元格内容所在行的其他单元格的内容作为值,根据键和值组成的键值对,生成信息树的叶子结点,可以实现将多种格式的单元格内容生成叶子节点,使得叶子结点内容更加完整,所构建的信息树更加完整和准确,基于信息树检索对应数据的效率更高。
在一些实施例中,确定单元格内容的行关键词和列关键词,包括:针对每个目标单元格内容,朝目标单元格内容所在行的左侧遍历每个单元格,当遍历到第一个文本单元格时,将从第一个文本单元格开始的连续多个文本单元格对应的单元格内容作为所述目标单元格内容的行关键词;朝目标单元格内容所在列的上侧遍历每个单元格,当遍历到第一个文本单元格时,将从第一个文本单元格开始的连续多个文本单元格对应的单元格内容作为所述目标单元格内容的列关键词。
本实施例中,文本单元格是指文本内容格式为文本型的单元格。单元格内容的格式为数值型,朝目标单元格内容所在行的左侧遍历每个单元格,当遍历到文本单元格时,将从该文本单元格开始的连续多个文本单元格对应的单元格内容作为目标单元格内容的行关键词。可选地,可以将从该文本单元格开始的连续多个文本单元格对应的单元格内容进行合并,得到合并后的文本内容,将合并后的文本内容作为目标单元格内容的行关键词;若遍历到文本单元格,遍历的下一个单元格的内容格式为数值格式,则将遍历到的文本单元格的单元格内容作为目标单元格内容的行关键词。类似地,朝目标单元格内容所在列的上侧遍历每个单元格,当遍历到文本单元格时,将从该文本单元格开始的连续多个文本单元格对应的单元格内容合作为目标单元格内容的列关键词。可选地,可以将从该文本单元格开始的连续多个文本单元格对应的单元格内容进行合并,得到合并后的文本内容,将合并后的文本内容作为目标单元格内容的列关键词;若遍历到文本单元格,遍历的下一个单元格的内容格式为数值格式,则将遍历到的文本单元格的单元格内容作为目标单元格内容的列关键词。可以理解地,报表中的单元格内容按照从左到右,从上到下的顺序依次排列。
在一个示例中,以表1中单元格内容为“1.81”为例,朝“1.81”对应单元格所在行的左侧遍历每个单元格,当遍历到单元格内容为文本格式,即“应收账款”对应的单元格,则将对应遍历到的单元格内容“应收账款”作为单元格内容“1.81”的行关键词。类似地,朝“1.81”对应单元格所在列的上侧遍历每个单元格,当遍历到单元格内容格式为文本格式,即“对总资产的影响(%)”以及“08-09变动情况”,则将对应遍历到的单元格内容“对总资产的影响(%)”以及“08-09变动情况”合并后形成“08-09变动情况对总资产的影响(%)”,则将“08-09变动情况对总资产的影响(%)”作为单元格内容“1.81”的列关键词。
上述实施例中,针对每个目标单元格内容,朝目标单元格内容所在行的左侧遍历每个单元格,当遍历到第一个文本单元格时,将从第一个文本单元格开始的连续多个文本单元格对应的单元格内容作为目标单元格内容的行关键词,朝目标单元格内容所在列的上侧遍历每个单元格,当遍历到第一个文本单元格时,将从第一个文本单元格开始的连续多个文本单元格对应的单元格内容作为目标单元格内容的列关键词,可以实现快速而准确地确定单元格内容的行关键词和列关键词,从而可以快速而准确地确定叶子结点。
在一些实施例中,上述方法还包括:当行关键词为空,则将列关键词作为叶子节点的键,将单元格内容作为叶子节点的值。
本实施例中,当行关键词找不到时,确定行关键词为空,则将列关键词作为叶子节点的键,将单元格内容作为叶子节点的值。在一个示例中,如下表3所示,
表3
企业财务报表分析
资产负债表水平分析 金额单位:百万元
从投资或资产角度进行分析评价
以表3中单元格内容“2”为例,朝其所在行的左侧遍历单元格,但是在其左侧并没有单元格,也就不存在文本单元格,即,找不到对应的行关键词,行关键词为空。朝单元格内容“2”所在行的上侧遍历单元格,直至遍历到“行次”文本单元格时,将“行次”作为单元格内容“2”对应的列关键词,将“行次”作为叶子节点的键,对应单元格内容作为叶子节点的值,单元格内容对应的键值对为(行次,2),由于所在列的其他单元格对应的键相同,那么,对应的叶子节点可以表示为(行次,(1,2,3,4,5))。
上述实施例中,当行关键词为空,则将列关键词作为叶子节点的键,将单元格内容作为叶子节点的值,可以实现充分利用报表中的单元格内容生成对应的节点,使得构建的信息树更完整和准确。
在此需要说明的是,上述表1至表3以及对应表中的数据,并不表征具体的含义,只是用来示例和辅助说明本实施例中的表格信息获取方法的步骤。
在一些应用场景中,获取与提取税财信息相关的目标问题,用户可以通过语音或者文本的形式提出与提取税财信息相关的目标问题,从目标问题中提取税务关键词,例如“营业收入”,将所提取的税务关键词转化为对应的第一词向量,将第一词向量与信息树中的各个叶子结点对应的第二词向量进行匹配,得到匹配相似度,将匹配相似度大于或等于预设相似度所对应的第二词向量对应的信息,作为目标信息并输出,该目标信息用于回答目标问题。其中,可以通过第一词向量与第二词向量之间的余弦距离,表征第一词向量和第二词向量之间的匹配相似度。
在一些应用场景中,根据财务业务规则构建信用风险映射模板,信用风险映射模板中包括关键字,例如,应缴税款低于预设额度,则存在虚报瞒报收入的风险,其中应缴税款为关键字。获取信用风险映射模板中的关键字,将关键字转化为对应的关键字词向量,从信息树中获取节点中键,将键转化为对应的键词向量,根据关键字词向量与键词向量进行相似度计算,得到相似度结果,确定相似度结果达到相似度阈值所对应的信息树中的目标键词向量,将目标键词向量对应的键所对应的值输出,将输出的值与信用风险映射模板中关键字对应的值进行逻辑判断,得到逻辑判断结果,从而可以根据逻辑判断结果输出对应的风险信息。
在一个实施例中,如图8所示,提供了一种表格信息获取方法,包括以下步骤802至步骤824。
步骤802,解析待识别文本,得到待识别文本中的文本和线条,以及文本对应的第一坐标和线条对应的第二坐标。
步骤804,根据线条对应的第二坐标,确定线条对应的交点的坐标。
步骤806,根据交点的坐标,确定由交点所构成的单元格中的最小单元格,作为基准单元格。
步骤808,根据基准单元格,确定待识别文本中的第一表格。
步骤810,根据文本对应的第一坐标,将文本填充至第一表格中,得到待识别文本中的第一报表。
步骤812,获取所述第一报表中所有单元格中的最大单元格,将最大单元格的边框作为所述第一报表的边缘线条。
步骤814,将位于页面最上面的边缘线条以及页面最下面的边缘线条,作为第一报表的目标边缘线条。
步骤816,识别当前页面最上面的第一目标边缘线条上,以及当前页面的上一页面最下面的第二目标边缘线条下,是否存在文本内容。
步骤818,若所述当前页面最上面的第一目标边缘线条上,以及所述当前页面的上一页面中最下面的第二目标边缘线条下,均不存在文本内容,则将所述当前页面的报表与所述当前页面的上一页面的报表合并,得到所述第二报表。
步骤820,根据第二报表的表头内容确定根节点。
步骤822,根据第二报表的单元格内容确定叶子结点。
步骤824,根据根节点和叶子结点,生成第二报表对应的信息树。
上述表格信息获取方法中,通过解析待识别文本,得到待识别文本中的文本和线条,以及对应文本和线条的坐标,根据线条的坐标确定线条的交点,基于线条交点确定单元格,根据单元格确定对应的表格,将文本基于坐标填充至表格对应位置的单元格中,得到对应的报表,基于报表中的表头内容确定根节点,根据报表单元格内容确定叶子结点,根据根节点和叶子结点生成信息树,在准确识别出表报信息的基础上,通过信息树的形式存储报表信息,可以实现充分结构化报表信息,大大提高报表数据处理的效率。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的表格信息获取方法的表格信息获取装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个表格信息获取装置实施例中的具体限定可以参见上文中对于表格信息获取方法的限定,在此不再赘述。
在一个实施例中,如图9所示,提供了一种表格信息获取装置,包括:第一报表确定模块902、边缘线条确定模块904、第二报表确定模块906和信息树构建模块908,其中:
第一报表确定模块902,用于解析待识别文本,得到文本解析结果,基于所述文本解析结果确定所述待识别文本中的第一报表;
边缘线条确定模块904,用于确定所述第一报表的目标边缘线条;
第二报表确定模块906,用于基于所述目标边缘线条,对所述第一报表进行处理,得到第二报表;
信息树构建模块908,用于基于所述第二报表,生成所述第二报表对应的信息树,所述信息树用于表征所述第二报表中单元格之间的关系。
在一个实施例中,第一报表确定模块902,还用于:
解析待识别文本,得到所述待识别文本中的文本和线条,以及所述文本对应的第一坐标和所述线条对应的第二坐标;根据所述线条对应的第二坐标,确定待识别文本中的第一表格;根据所述文本对应的第一坐标,将所述文本填充至所述第一表格中,得到所述待识别文本中的第一报表。
在一个实施例中,第一报表确定模块902,还用于:
根据所述线条对应的第二坐标,确定所述线条对应的交点的坐标;根据所述交点的坐标,确定由所述交点所构成的单元格中的最小单元格,作为基准单元格;根据所述基准单元格,确定所述待识别文本中的第一表格。
在一个实施例中,边缘线条确定模块904,还用于:
获取所述第一报表中所有单元格中的最大单元格,将最大单元格的边框作为所述第一报表的边缘线条;将位于页面最上面的边缘线条以及所述页面最下面的边缘线条,作为所述第一报表的目标边缘线条。
在一个实施例中,所述目标边缘线条包括第一目标边缘线条和第二目标边缘线条;第二报表确定模块906,还用于:
识别当前页面最上面的第一目标边缘线条上,以及当前页面的上一页面最下面的第二目标边缘线条下,是否存在文本内容;若所述当前页面最上面的第一目标边缘线条上,以及所述当前页面的上一页面中最下面的第二目标边缘线条下,均不存在文本内容,则将所述当前页面的报表与所述当前页面的上一页面的报表合并,得到所述第二报表。
在一个实施例中,信息树构建模块908,还用于:
根据所述第二报表的表头内容确定根节点;根据所述第二报表的单元格内容确定叶子结点;根据所述根节点和所述叶子结点,生成所述第二报表对应的信息树。
在一个实施例中,信息树构建模块908,还用于:
若所述单元格内容格式为数值型,确定所述单元格内容的行关键词和列关键词;将所述行关键词作为所述叶子节点的键,将所述单元格内容及所述列关键词作为所述叶子节点的值;所述叶子节点通过所述键和值所组成的键值对表征;将所述键相同的键值对按照从左到右的顺序,生成所述叶子节点。
在一个实施例中,信息树构建模块908,还用于:
针对每个目标单元格内容,朝所述目标单元格内容所在行的左侧遍历每个单元格,当遍历到第一个文本单元格时,将从第一个文本单元格开始的连续多个文本单元格对应的单元格内容作为所述目标单元格内容的行关键词;朝所述目标单元格内容所在列的上侧遍历每个单元格,当遍历到第一个文本单元格时,将从第一个文本单元格开始的连续多个文本单元格对应的单元格内容作为所述目标单元格内容的列关键词。
在一个实施例中,所述装置还包括叶子结点确定模块,用于:
当所述行关键词为空,则将所述列关键词作为所述叶子节点的键,将所述单元格内容作为所述叶子节点的值。
在一个实施例中,信息树构建模块908,还用于:
若所述单元格内容格式为非数值型,则将所述单元格内容所在行的第一个单元格内容作为键,将所述单元格内容所在行的其他单元格的内容作为值,根据所述键和值组成的键值对,生成所述信息树的叶子结点。
上述表格信息获取装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储第二报表数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种表格信息获取方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述表格信息获取方法实施例的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述表格信息获取方法实施例的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述表格信息获取方法实施例的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random AccessMemory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种表格信息获取方法,其特征在于,所述方法包括:
解析待识别文本,得到文本解析结果,基于所述文本解析结果确定所述待识别文本中的第一报表;
确定所述第一报表的目标边缘线条;
基于所述目标边缘线条,对所述第一报表进行处理,得到第二报表;
基于所述第二报表,生成所述第二报表对应的信息树,所述信息树用于表征所述第二报表中单元格之间的关系。
2.根据权利要求1所述的方法,其特征在于,所述解析待识别文本,得到文本解析结果,基于所述文本解析结果确定所述待识别文本中的第一报表,包括:
解析待识别文本,得到所述待识别文本中的文本和线条,以及所述文本对应的第一坐标和所述线条对应的第二坐标;
根据所述线条对应的第二坐标,确定待识别文本中的第一表格;
根据所述文本对应的第一坐标,将所述文本填充至所述第一表格中,得到所述待识别文本中的第一报表。
3.根据权利要求2所述的方法,其特征在于,所述根据所述线条对应的第二坐标,确定待识别文本中的第一表格,包括:
根据所述线条对应的第二坐标,确定所述线条对应的交点的坐标;
根据所述交点的坐标,确定由所述交点所构成的单元格中的最小单元格,作为基准单元格;
根据所述基准单元格,确定所述待识别文本中的第一表格。
4.根据权利要求1所述的方法,其特征在于,所述确定所述第一报表的目标边缘线条,包括:
获取所述第一报表中所有单元格中的最大单元格,将最大单元格的边框作为所述第一报表的边缘线条;
将位于页面最上面的边缘线条以及所述页面最下面的边缘线条,作为所述第一报表的目标边缘线条。
5.根据权利要求4所述的方法,其特征在于,所述目标边缘线条包括第一目标边缘线条和第二目标边缘线条;所述基于所述目标边缘线条,对所述第一报表进行处理,得到第二报表,包括:
识别当前页面最上面的第一目标边缘线条上,以及当前页面的上一页面最下面的第二目标边缘线条下,是否存在文本内容;
若所述当前页面最上面的第一目标边缘线条上,以及所述当前页面的上一页面中最下面的第二目标边缘线条下,均不存在文本内容,则将所述当前页面的报表与所述当前页面的上一页面的报表合并,得到所述第二报表。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述基于所述第二报表,生成所述第二报表对应的信息树,包括:
根据所述第二报表的表头内容确定根节点;
根据所述第二报表的单元格内容确定叶子结点;
根据所述根节点和所述叶子结点,生成所述第二报表对应的信息树。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第二报表的单元格内容确定叶子结点,包括:
若所述单元格内容格式为数值型,确定所述单元格内容的行关键词和列关键词;
将所述行关键词作为所述叶子节点的键,将所述单元格内容及所述列关键词作为所述叶子节点的值;所述叶子节点通过所述键和值所组成的键值对表征;
将所述键相同的键值对按照从左到右的顺序,生成所述叶子节点;
若所述单元格内容格式为非数值型,则将所述单元格内容所在行的第一个单元格内容作为键,将所述单元格内容所在行的其他单元格的内容作为值,根据所述键和值组成的键值对,生成所述叶子结点。
8.根据权利要求7所述的方法,其特征在于,所述确定所述单元格内容的行关键词和列关键词,包括:
针对每个目标单元格内容,朝所述目标单元格内容所在行的左侧遍历每个单元格,当遍历到第一个文本单元格时,将从第一个文本单元格开始的连续多个文本单元格对应的单元格内容作为所述目标单元格内容的行关键词;
朝所述目标单元格内容所在列的上侧遍历每个单元格,当遍历到第一个文本单元格时,将从第一个文本单元格开始的连续多个文本单元格对应的单元格内容作为所述目标单元格内容的列关键词。
9.一种表格信息获取装置,其特征在于,所述装置包括:
第一报表确定模块,用于解析待识别文本,得到文本解析结果,基于所述文本解析结果确定所述待识别文本中的第一报表;
边缘线条确定模块,用于确定所述第一报表的目标边缘线条;
第二报表确定模块,用于基于所述目标边缘线条,对所述第一报表进行处理,得到第二报表;
信息树构建模块,用于基于所述第二报表,生成所述第二报表对应的信息树,所述信息树用于表征所述第二报表中单元格之间的关系。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311483428.1A CN117217172B (zh) | 2023-11-09 | 2023-11-09 | 表格信息获取方法、装置、计算机设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311483428.1A CN117217172B (zh) | 2023-11-09 | 2023-11-09 | 表格信息获取方法、装置、计算机设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117217172A true CN117217172A (zh) | 2023-12-12 |
CN117217172B CN117217172B (zh) | 2024-04-23 |
Family
ID=89046627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311483428.1A Active CN117217172B (zh) | 2023-11-09 | 2023-11-09 | 表格信息获取方法、装置、计算机设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117217172B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060288268A1 (en) * | 2005-05-27 | 2006-12-21 | Rage Frameworks, Inc. | Method for extracting, interpreting and standardizing tabular data from unstructured documents |
CN101876967A (zh) * | 2010-03-25 | 2010-11-03 | 深圳市万兴软件有限公司 | 一种pdf文本段落生成的方法 |
CN105988979A (zh) * | 2015-02-16 | 2016-10-05 | 北京邮电大学 | 基于pdf文件的表格提取方法和装置 |
CN111695553A (zh) * | 2020-06-05 | 2020-09-22 | 北京百度网讯科技有限公司 | 表格识别方法、装置、设备和介质 |
CN113961685A (zh) * | 2021-07-13 | 2022-01-21 | 北京金山数字娱乐科技有限公司 | 信息抽取方法及装置 |
US20220180044A1 (en) * | 2020-12-03 | 2022-06-09 | International Business Machines Corporation | Automatic delineation and extraction of tabular data in portable document format using graph neural networks |
US20230014904A1 (en) * | 2021-07-16 | 2023-01-19 | SparkCognition, Inc. | Searchable data structure for electronic documents |
CN116844177A (zh) * | 2023-06-05 | 2023-10-03 | 合肥联宝信息技术有限公司 | 一种表格识别方法、装置、设备及存储介质 |
-
2023
- 2023-11-09 CN CN202311483428.1A patent/CN117217172B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060288268A1 (en) * | 2005-05-27 | 2006-12-21 | Rage Frameworks, Inc. | Method for extracting, interpreting and standardizing tabular data from unstructured documents |
CN101876967A (zh) * | 2010-03-25 | 2010-11-03 | 深圳市万兴软件有限公司 | 一种pdf文本段落生成的方法 |
CN105988979A (zh) * | 2015-02-16 | 2016-10-05 | 北京邮电大学 | 基于pdf文件的表格提取方法和装置 |
CN111695553A (zh) * | 2020-06-05 | 2020-09-22 | 北京百度网讯科技有限公司 | 表格识别方法、装置、设备和介质 |
US20220180044A1 (en) * | 2020-12-03 | 2022-06-09 | International Business Machines Corporation | Automatic delineation and extraction of tabular data in portable document format using graph neural networks |
CN113961685A (zh) * | 2021-07-13 | 2022-01-21 | 北京金山数字娱乐科技有限公司 | 信息抽取方法及装置 |
US20230014904A1 (en) * | 2021-07-16 | 2023-01-19 | SparkCognition, Inc. | Searchable data structure for electronic documents |
CN116844177A (zh) * | 2023-06-05 | 2023-10-03 | 合肥联宝信息技术有限公司 | 一种表格识别方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117217172B (zh) | 2024-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113378710B (zh) | 图像文件的版面分析方法、装置、计算机设备和存储介质 | |
CN109685056A (zh) | 获取文档信息的方法及装置 | |
CN113837151B (zh) | 表格图像处理方法、装置、计算机设备及可读存储介质 | |
US10699112B1 (en) | Identification of key segments in document images | |
CN115917613A (zh) | 文档中文本的语义表示 | |
CN116644729A (zh) | 表格文件处理方法、装置、计算机设备和存储介质 | |
CN114677695A (zh) | 表格解析方法、装置、计算机设备和存储介质 | |
US20230138491A1 (en) | Continuous learning for document processing and analysis | |
CN113553326A (zh) | 电子表格数据处理方法、装置、计算机设备和存储介质 | |
CN117217172B (zh) | 表格信息获取方法、装置、计算机设备、存储介质 | |
CN116795995A (zh) | 知识图谱构建方法、装置、计算机设备和存储介质 | |
CN110109994B (zh) | 包含结构化和非结构化数据的汽车金融风控系统 | |
WO2018100700A1 (ja) | データ変換装置とデータ変換方法 | |
CN116702024B (zh) | 流水数据类型识别方法、装置、计算机设备和存储介质 | |
CN117173725B (zh) | 表格信息处理方法、装置、计算机设备和存储介质 | |
CN112579812B (zh) | 检索图片的方法、装置和计算机设备 | |
JP7386466B1 (ja) | データ解析装置およびデータ解析プログラム | |
CN117093759A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN118070772A (zh) | 凭证生成方法、装置、计算机设备、可读存储介质和产品 | |
CN118035423A (zh) | 信息查询方法、装置、计算机设备和存储介质 | |
CN117521667A (zh) | 语义信息处理方法、装置、计算机设备、存储介质和产品 | |
CN118172785A (zh) | 文档信息抽取方法、装置、设备、存储介质和程序产品 | |
CN117765552A (zh) | 文本内容识别方法、装置、计算机设备和存储介质 | |
CN117558020A (zh) | 票据识别方法、装置、计算机设备和存储介质 | |
CN117036521A (zh) | 一种图像生成方法、装置、设备及存储介质 |
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 |