CN112131920B - 用于扫描图像中的表格信息的数据结构生成 - Google Patents
用于扫描图像中的表格信息的数据结构生成 Download PDFInfo
- Publication number
- CN112131920B CN112131920B CN202010405509.XA CN202010405509A CN112131920B CN 112131920 B CN112131920 B CN 112131920B CN 202010405509 A CN202010405509 A CN 202010405509A CN 112131920 B CN112131920 B CN 112131920B
- Authority
- CN
- China
- Prior art keywords
- cells
- cell
- data
- image
- information
- 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
- 238000002910 structure generation Methods 0.000 title abstract description 7
- 238000000034 method Methods 0.000 claims abstract description 88
- 238000012545 processing Methods 0.000 claims abstract description 25
- 238000010801 machine learning Methods 0.000 claims abstract description 12
- 238000013507 mapping Methods 0.000 claims abstract description 10
- 238000003860 storage Methods 0.000 claims description 23
- 238000010586 diagram Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 12
- 238000007637 random forest analysis Methods 0.000 claims description 10
- 230000007704 transition Effects 0.000 claims description 5
- 230000008719 thickening Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 2
- 230000004807 localization Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 20
- 238000004458 analytical method Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 238000012549 training Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 9
- 238000000605 extraction Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013506 data mapping Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 239000002131 composite material Substances 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000003066 decision tree Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 238000012015 optical character recognition Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007373 indentation Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/137—Hierarchical processing, e.g. outlines
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/258—Heading extraction; Automatic titling; Numbering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
- G06N5/025—Extracting rules from data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/412—Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/413—Classification of content, e.g. text, photographs or tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20072—Graph-based image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30176—Document
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/42—Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
- G06V10/422—Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation for representing the structure of the pattern or shape of an object therefor
- G06V10/426—Graphical representations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Medical Informatics (AREA)
- Library & Information Science (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
- Character Input (AREA)
Abstract
本申请涉及用于扫描图像中的表格信息的数据结构生成。提供了用于生成表示扫描图像中的表格信息的数据结构的计算机实现的方法。这样的方法可以包括:存储表示表格的扫描图像的图像数据;处理图像数据以识别图像中的字符和线的位置;以及根据所述位置映射信息单元格在图像中的位置,每个信息单元格包含一组字符。该方法还可以包括,对于每个单元格,根据单元格定位来确定用于预定义的单元格属性集的单元格属性值,并将该属性值作为输入提供给机器学习模型,该机器学习模型被训练为根据单元格属性值将单元格预分类为标题单元格或数据单元格。
Description
技术领域
本公开总体上涉及用于扫描图像中的表格信息的数据结构生成。提供了用于生成表示这样的表格信息的数据结构的方法,以及实现这样的方法的装置和计算机程序产品。
背景技术
科学、医学和财务文档通常以表格形式描绘结构化信息。出于共享和存档目的,文档经常被扫描,并且所得到的扫描(光栅)图像被存储用于后续信息检索。扫描图像中的表格的结构是不能容易地由基于计算机的技术读取。在表格的结构、复杂性和可视化表示方面存在巨大的可变性。例如,表格标题可以以多种方式被结构化,以指示数据的行和列与分层的标题之间的对应关系。这种可变性对从扫描图像中自动提取表格信息提出了重大挑战。
发明内容
根据本发明的一个方面,提供了一种用于生成表示扫描图像中的表格信息的数据结构的计算机实现的方法。该方法包括:存储表示表格的扫描图像的图像数据;处理图像数据以识别图像中的字符和线的位置;以及根据所述位置映射信息单元格在图像中的定位,每个信息单元格包含一组字符。该方法包括,对于每个单元格,根据单元格定位来确定用于预定义的单元格属性集的单元格属性值,并将该属性值作为输入提供给机器学习模型,该机器学习模型被训练为根据单元格属性值将单元格预分类为标题单元格或数据单元格。然后,该方法将预定义的规则应用于预分类的单元格以识别角落数据单元格,该角落数据单元格标记图像中包含数据单元格的区域和包含标题单元格的边缘区域之间的过渡。该方法还包括,对于行标题单元格集和列标题单元格集中的每一个,根据图像中这些单元格的相对定位,定义层次树,层次树指示标题单元格的层次结构,并使用层次树来生成将每个数据单元格映射到层次结构中对应的行和列标题单元格的数据结构。所得到的数据结构被存储以提供表格的可查询表示。
本发明的又一方面提供了一种计算机程序产品,该计算机程序产品包括体现程序指令的计算机可读存储介质,该程序指令可由计算装置执行,以使计算装置执行如上所述的用于生成数据结构的方法。
本发明的另一方面提供了一种计算装置,该计算装置包括用于存储表示表格的扫描图像的图像数据的存储器,以及适于实现如上所述的用于生成数据结构的方法的逻辑。
下面将通过说明性和非限制性示例,参照附图更详细地描述本发明的实施例。
附图说明
图1是用于实现体现本发明的方法的计算装置的示意图;
图2a至图2g示出了不同的表格结构的示例;
图3是用于实现体现本发明的方法的计算装置的组件模块的示意图;
图4指示了体现本发明的数据结构生成方法的步骤;
图5指示了体现本发明的方法的附加步骤;
图6a至图6c示出了图4方法中的对象检测步骤;
图7a至图7d示出了图4方法中的单元格检测步骤;
图8示出了数据结构生成方法的优选实施例中的单元格分类过程;
图9a至图9d示出了优选实施例中的单元格分析步骤;
图10a和图10b示出了图4方法中的层次提取操作的步骤;
图11指示了优选实施例中的层次提取过程的步骤;
图12示出了图11过程中的示例性列标题结构的Voronoi图的构建;
图13示出了用于示例性行标题结构的类似过程;
图14示出了在优选实施例中的层次树生成中使用的另一过程;
图15示出了由体现本发明的方法生成的数据结构;以及
图16和图17示出了用体现本发明的方法获得的性能结果。
具体实施方式
本发明可以是***、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
本发明的实施例提供了用于生成表示扫描图像中的表格信息的数据结构的计算机实现的方法。这样的方法可以通过包括一个或多个通用或专用计算机的计算装置来实现,每一个通用或专用计算机可以包括一个或多个(真实或虚拟)机器,从而提供用于实现本文所述操作的功能。体现本发明的方法的步骤可以通过程序指令来实现,例如,由装置的处理设备实现的程序模块。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算装置可以在诸如云计算环境之类的分布式计算环境中实现,在分布式计算环境中任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机***存储介质两者中。
图1是用于实现体现本发明的方法的步骤的示例性计算装置的框图。计算装置以通用计算机1的形式示出。计算机1的组件可以包括诸如由处理单元2表示的一个或多个处理器之类的处理装置、***存储器3以及将包括***存储器3的各种***组件耦合到处理单元2的总线4。
总线4表示若干类型的总线结构中的任何类型中的一种或多种,包括存储器总线或存储器控制器、***总线、加速图形端口以及使用各种总线体系结构中的任何一种的处理器或本地总线。作为示例而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)本地总线和***组件互连(PCI)总线。
计算机1通常包括各种计算机可读介质。这样的介质可以是计算机1可访问的任何可用介质,包括易失性和非易失性介质以及可移动和不可移动介质。例如,***存储器3可以包括易失性存储器形式的计算机可读介质,诸如随机存取存储器(RAM)5和/或高速缓存存储器6。计算机1还可以包括其他可移动/不可移动、易失性/非易失性计算机***存储介质。仅作为示例,可以提供存储***7以用于读取和写入不可移动非易失性磁性介质(通常被称为“硬盘驱动器”)。尽管未示出,但是还可以提供用于读取和写入可移动非易失性磁盘(例如“软盘”)的磁盘驱动器,以及用于读取和写入可移动非易失性光盘(诸如CD-ROM、DVD-ROM或其他光学介质)的光盘驱动器。在这样的情况下,每个介质都可以通过一个或多个数据介质接口被连接到总线4。
存储器3可以包括具有被配置为执行本发明的实施例的功能的一个或多个程序模块的至少一个程序产品。举例来说,具有一组(至少一个)程序模块9的程序/实用程序8以及操作***、一个或者多个应用程序、其它程序模块以及程序数据可以存储在存储器3中。操作***、一个或者多个应用程序、其它程序模块以及程序数据中的每一个或其某种组合可以包括网络环境的实现。程序模块9通常执行如本文所述的本发明的实施例的功能和/或方法。
计算机1还可以与以下各项进行通信:一个或多个外部设备10,诸如键盘、指向设备、显示器11等;使用户能够与计算机1交互的一个或多个设备;和/或使计算机1能够与一个或多个其他计算设备进行通信的任何设备(例如,网卡、调制解调器等)。这样的通信可以经由输入/输出(I/O)接口12进行。并且,计算机1可以经由网络适配器13与一个或多个网络(诸如局域网(LAN)、通用广域网(WAN)和/或公共网络(例如因特网))进行通信。如图所示,网络适配器13经由总线4与计算机1的其他组件进行通信。应当理解,尽管未示出,但是可以结合计算机1使用其他硬件和/或软件组件。示例包括但不限于:微代码、设备驱动器、冗余处理单元、外部盘驱动器阵列、RAID***、带驱动器以及数据备份存储***等。
将被描述的实施例生成表示扫描的文档图像中的表格的信息内容的数据结构。表格信息在文档中可以被结构化和呈现的方式存在巨大的可变性。在图2a至图2d中示出了一些示例。行标题和列标题可以具有各种结构,范围从图2a中所示的简单结构(数据的每一行/列有一个行/列标题)到复杂的层次结构。图2b示出了具有多个子标题的分层的标题结构的示例。图2c示出了缺少数据行并且在数据行之间嵌入子标题的另一个示例。在一些情况下,所有表格条目(标题和数据)都可能由图2d中所示的线分隔。在其他情况下,表格可能具有一些线(图2e和图2f)或根本没有线(图2g)。可能的表格结构的范围非常多样化,这对从扫描图像中自动提取有用数据提出了重大挑战。
图3是用于实现体现本发明的方法的示例性计算装置中的组件模块的示意图。该装置包括存储器20和总体上在21处指示的处理逻辑。在操作中,存储器20存储表示表格的扫描(光栅)图像的图像数据22,以及定义如在23处所指示的一个或多个(预训练的)机器学习(ML)模型的数据。存储器20还存储在***操作期间生成的各种操作数据24。这包括对象映射、单元格映射和层次树(全部在下文中详述)以及相关联的元数据。存储器20还存储从图像数据22生成的所得到的数据结构25。处理逻辑21包括图像处理模块27、单元格检测模块28、单元格预分类模块29、单元格分析模块30、层次提取模块31和数据映射模块32。
图像处理模块27包括用于处理图像数据22以生成识别图像中的基本对象(字符和线)的位置的对象映射的功能。单元格检测模块28包括用于处理对象映射以识别结构原语并生成单元格映射的功能,如下详述。模块27和28因此执行图像的基本特征映射操作。
单元格预分类模块29包括用于确定单元格属性值的功能,该属性值由ML模型23用于推理,以将单元格预分类为标题单元格或数据单元格。单元格分析模块30包括用于识别如下详述的角落数据单元格以及定义行和列标题单元格的功能。模块29和30因此对图像中的单元格执行语义标记/分类操作。
模块31和32执行操作以识别表格的结构层次。特别地,层次提取模块31包括用于为行和列标题单元格的层次结构定义层次树的功能。数据映射模块32生成数据结构25,该数据结构25将数据单元格映射到层次中的它们的对应的行和列标题单元格。
通常,存储器20可以包括一种或多种类型的存储器/存储组件,存储器/存储组件可以与逻辑模块27至32一起被提供在计算***的一个或多个计算机中。例如,所有组件可以被提供在通用计算机1中。通常,模块可以通过软件(例如,程序模块9)或硬件或其组合来实现。功能可以被不同地分配在体现本发明的计算装置中的组件模块之间,并且一个或多个模块的功能可以被组合。
图4指示由图3的装置执行的数据结构生成方法的基本步骤。在步骤40中,表示表格的扫描图像的图像数据22被存储在存储器20中。(识别和提取描绘表格的扫描文档的部分可以以已知的方式完成,并且所采用的特定技术与本文所描述的操作不相关)。图像数据表示像素网格,并且可以任何方便的图像格式表示。在步骤41中,图像处理模块27处理图像数据22以识别图像中的字符和线的位置。模块27因此检测这些基本对象(如下详述),并生成识别图像中对象的位置的对象映射。对象映射作为操作数据24被存储在存储器20中。在步骤42中,单元格检测模块28根据对象映射中基本对象的检测位置来映射信息单元格在图像中的定位。每个信息单元格包含一组字符,更特别地包含一组(一个或多个)字符串,如下文进一步所述。所得到的单元格映射然后被存储在存储器20中。
在步骤43中,单元格预分类模块29确定单元格映射中的单元格的单元格属性值。该属性值包括先前用于训练存储在存储器20中的ML模型23的预定义单元格属性集的值。该ML模型被训练为根据单元格属性值将单元格预分类为标题单元格或数据单元格。单元格属性值(至少)取决于单元格映射中的单元格定位,并且可以包括其他属性,例如,与字符串格式有关的属性,如下详述。在步骤44中,模块29将单元格属性值作为输入提供给预训练后的模型,以获得将单独的单元格预分类为标题单元格或数据单元格的软标签。这些初步分类标签作为元数据被存储在存储器20中。
在步骤45中,单元格分析模块30将一组预定义规则应用于经预分类的单元格,以识别图像的角落数据单元格。如下所述,优选实施例以概率方式应用这些规则,以识别角落数据单元格。角落数据单元格标记图像中包含数据单元格的区域和包含标题单元格的边缘区域之间的过渡。角落数据单元格的位置然后被用在步骤46中。在此,模块30(至少)根据边缘区域中的单元格定位来定义(标记)图像的行和列标题单元格,如下所述。
在步骤47中,所得到的行标题单元格集和列标题单元格集由层次提取模块31处理,以为每个集定义层次树。这些层次树指示(行或列)标题单元格的层次结构。如以下详细解释的,每个层次树(至少)根据图像中行或列单元格的相对定位来定义。所得到的层次树然后被存储在存储器20中。在步骤48中,数据映射模块32使用层次树来生成将每个数据单元格映射到每个标题单元格集的层次结构中的它对应的行和列标题单元格的数据结构。在步骤49中,所得到的表格数据结构25被存储在存储器20中。
通过上述方法生成的数据结构25提供了原始表格的可查询表示,并且可以用于自动数据提取,如图5所示。在此步骤50表示计算机1接收对于包含在原始表格中的信息的请求。这样的请求可以包括任何方便格式的标准数据库查询,并且可以根据标题从表格中识别所需的数据,例如请求与一个或多个指定标题相对应的所有数据或指定的数据子集。响应于请求的接收,在步骤51中,计算机1从数据结构25中提取与所请求的信息相对应的数据。然后所提取的数据在步骤52中被输出以返回给请求者。
可以看出,图4的方法使用基于规则的方法,以通过ML技术基于对标题/数据单元格的预分类来识别角落数据单元格。角落数据单元格的识别提供了一种优雅地简单而高效的技术来确定表格中的标题和数据之间的过渡,并允许然后可以经由层次树定义的多层级标题单元格。通过以此方式解决标题的层次结构,体现本发明的方法可以适应任何类型的表格结构,从而为从图像中自动提取表格数据提供了一种高效的、通用的技术。
下面更详细地描述图4的方法步骤的示例性实现。图6a至图6c示出了步骤41中的基本对象检测操作(请注意,在这里和其他图中,表格中文本的可读性不是必需的。所有相关的结构信息从所提供的图中是明显的)。图6a示出了单个字符的识别,该单个字符例如为字母、数字、标点符号和其他符号,其在图中由方框标记。可以使用众所周知的光学字符识别(OCR)技术来执行字符检测,包括商业***,诸如Tesseract OCR引擎或专门为数据训练的其他字符识别方法。如图6b和图6c中的粗体所示,图像中水平和竖直线的识别也可以使用众所周知的技术来完成。示例包括霍夫变换特征提取和/或对位图图像中的像素进行计数。定义所检测到的字符/线段位置的元数据被存储在对象映射中。
在图7a至图7c中示出了单元格定位过程(图4的步骤42)。从字符映射(图7a)开始,执行水平形态膨胀以识别字符串(连续字符的串,由间隔分开),如图7b所示。然后执行进一步分析以识别构成表中的单个信息单元格的(通常为一个或多个)字符串的集。此过程可以利用以下中的一个或多个:在出现的位置线相对于字符串的定位(例如,以识别封闭矩形内或水平/竖直线对之间的字符串);水平/竖直间隔的字符串之间的间隔大小;以及映射中不同字符串的竖直/水平对齐。所得到的单元格在图7c中用灰色框表示。单元格定义在此阶段可以是临时的,并且可以稍后(例如在结构层次分析期间)被改进。例如,图7d示出了一个特定问题,其中表格中的一些“真”信息单元格包含多于一个竖直偏移的字符串(图中的上面的圆圈)。可能难以将这些部分与其中竖直偏移的字符串未被链接的表格的其他部分(例如,下面的圆圈)区分开。为了解决此问题,优选实施例不将竖直偏移的字符串合并到单元格中。因此,每个信息单元格都包含图像中的一组水平对齐的字符。
在优选实施例中,语义标记过程(图4的步骤43至46)使用随机森林模型对单元格进行预分类。随机森林(RF)技术是一种众所周知的树集成方法,其中生成多个决策树以对训练数据集进行建模。简而言之,为评估训练示例定义了一组属性。为所有训练示例定义对应的“属性值”,“属性值”指示训练示例中每个属性的类型、质量、值或其他表达。还根据分类方案中被指派给该示例的特定分类来标记每个训练示例。然后,RF技术分析训练集以增长决策树的集成(ensemble),其根据随机优化过程将输入属性值映射到分类标签。然后,包括所得到的树集成的训练后的模型可以被应用于推理。新的(看不见的)输入示例的属性值被提供给树集成。每个树都输出对应的分类,并且最频繁的(模式)结果作为输入示例的分类被输出。
在本申请中,具有许多不同结构的10,000个表格的合成数据集被用来训练RF模型。属性集包括取决于图像中的单元格的定位的多个属性。这些属性选自:相邻单元格的数量;右侧相邻单元格的数量;左侧相邻单元格的数量;上方相邻单元格的数量;下方相邻单元格的数量;右侧有一条线;左侧有一条线;上方有一条线;下方有一条线;以及单元格所占的面积。在优选实施例中,属性集还包括取决于单元格中的字符串的属性的子集。这些属性选自:字符加粗;字符为斜体;数字字符的比例(例如,%);字母字符的比例;以及非字母数字字符(特殊字符、符号等)的比例。使用不同的属性集和决策树数量生成RF模型,然后针对推理性能来评估模型。然后识别最佳的RF模型参数,并使用这些参数生成最终的RF模型。此模型包含300棵树,并使用以下属性集:相邻单元格的数量;单元格类型(数字字符、字母字符和非字母数字字符的比例);字符加粗;字符为斜体;右侧相邻单元格的数量;上方相邻单元格的数量;右侧有一条线;左侧有一条线;上方有一条线;下方有一条线;以及单元格所占的面积。
图8示出了此实施例中的语义标记过程。预分类模块29为单元格映射中的所有单元格确定与上述属性中的每一个相对应的属性值。每个单元格的属性值被输入到在60处指示的训练后的RF模型,以获得将单元格预分类为标题或数据单元格的软标签。软标签被提供给单元格分析模块30,该单元格分析模块30实现马尔可夫逻辑网络61(如下面进一步描述的)以识别角落数据单元格。然后所有单元格被分类为行标题单元格、列标题单元格或数据单元格。
马尔可夫逻辑网络61作为ML模型被存储在图3的存储器20中。马尔可夫逻辑网络(MLN)是众所周知的网络模型,用于表示以一阶逻辑表示的公式/规则的集合,该公式/规则被指派了相应的权重。公式/规则以表示感兴趣领域中的对象常量以及表示对象的属性或对象之间的关系的谓词来表示。马尔可夫逻辑网络为它被应用于其上的数据导出概率图(马尔可夫随机场)。图的节点表示谓词,并且链接节点的边表示用于构建公式/规则的逻辑连接。概率P与节点相关联,使得如果节点为真,则P=1,如果节点为假,则P=0。概率与规则权重组合以指示规则成立的可能性。规则权重在网络被暴露给训练数据的训练阶段中被学习,并且权重是经由优化过程被学习的。然后所得到的训练后的网络可以被应用于推理,以基于输入数据的已知概率来确定条件概率。
在本申请中,MLN模型61表示在与单元格有关的谓词上定义的一组规则。在此实施例中使用的谓词在图9a中示出。在推理操作中,概率(0和1之间的连续数值,其中0表示假,1表示真)基于软预分类标签和单元格映射中单元格的相对定位被指派给谓词。如由图9a中的“查询”所指示的,推理操作涉及找到表格的角落数据单元格(CDC)。如图9b中所示,对于简单表格,CDC标记了包含数据单元格的图像区域与包含(行和列)标题单元格的边缘区域之间的过渡。(尽管此处示出了简单的表格,但表格可能在边缘区域之外包含其他标题单元格,诸如嵌入数据单元格区域中的列标题)。
图9c示出了在此实施例中使用的规则。此处:符号^表示逻辑AND;表示NOT;/>表示“推出”。规则是通过根据规则所表达的谓词组合经由边来连接表示组成的谓词的节点而在网络中定义的。所得到的MLN 61的一部分的说明性示例在图9d中示出。规则权重在网络训练阶段被学习,并且指示用于识别CDC的相应规则的重要性。在推理期间,通过应用MLN,将规则应用于预分类的单元格,并将概率P指派给每个单元格的谓词,以为表格确定最可能的CDC。特别地,MLN将识别与网络的最低“违反规则成本”相关联的单元格。一些规则通常对于所有单元格都将被违反,并且较高的成本与较高的规则权重相关联,其中与最小总成本相关联的单元格最有可能是CDC。
单元格分析模块30使用CDC的定位来识别行和列标题单元格集。特别地,位于CDC上方的标题单元格被标记为列标题单元格。CDC左侧的所有其他标题单元格被标记为行标题单元格。CDC下方(即嵌入在数据区域中的)的任何其他经预分类的标题单元格都被标记为列标题单元格。
所得到的行和列标题单元格集由层次提取模块31处理,以为每个集生成层次树。可以根据存在于一些表格中的特定标题特征,以不同的方式执行此过程,该特定标题特征可以由模块31识别,如下文进一步讨论的。然而,通常,通过加权图技术为行和列标题单元格集中的至少一个(通常至少是列标题)生成层次树。在此过程中,模块31生成加权图,该加权图包括表示图像中的标题单元格、其相邻数据单元格和预定义的根单元格的节点。根单元格是在图像中定义的参考位置处的名义上的单元格。这在图10a中针对示例性表格中的列标题示出。在此,根单元格位置x被定义在图像中列标题上方的中间位置处。根单元格、标题单元格及其相邻数据单元格(即图10a中的第一行数据单元格)的节点通过图中的边相互连接。特别地,每个节点(至少)被连接到表示图像中它的相邻单元格的一组其他节点。图10b中示出了图10a标题单元格的网络图(为清楚起见,仅示出了边的子集)。每对节点之间的边被指派一个权重(图中未示出),该权重取决于这些节点所表示的单元格在图像中的相对定位。较高的权重对应于单元格之间的较大距离。然后,模块31选择在表示数据单元格的每个节点与表示根单元格的节点之间通过图的最佳路径。最佳路径是具有最低累积权重的路径。由图10b中的实线箭头指示的这些最佳路径定义了层次树的分支。所得到的树指示列标题单元格的层次结构,每个标题单元格根据它与根节点(级别0)之间的边数而位于特定的层级,在此为级别1或级别2。
图11指示了优选实施例中的树生成过程的步骤。在步骤70中,模块31为标题单元格、它们的相邻数据单元格和根单元格在图像中的定位定义Voronoi图。用于图10a的列标题的Voronoi图在图12中被示出。此图的每个区域都对应一个单元格,并且包含图像中比任何其他单元格定位更靠近该单元格定位的所有点。例如,被圈出的区域对应于图10a中的被圈出的单元格。然后在步骤71中,生成加权图,其中边由Voronoi图中在与每个数据单元格定位相对应的区域之间的、通过相邻区域的、朝向根单元格定位的路径确定。此过程将图中的边数减少到最小子集,从该最小子集可以更有效地确定最佳路径。在步骤72中,边根据成本函数被加权:
w(a,b)=β1sin(a,b)+β2|ay-by|2
其中:w(a,b)是节点a和节点b之间的边的权重;ay-by是节点a和b的相对竖直位移;并且β1和β2是常量。在步骤73中,然后基于边权重计算数据节点与根节点之间的Dijkstra最短路径。然后在步骤74中用对应于最短路径的分支定义层次树。
注意,嵌入到图像的数据区域中的标题单元格可以容易地适应上述过程。同样,往回参考图7d,层次树的构建可以导致在适当的情况下合并竖直偏移的标题单元格。特别地,如果层次树的一个分支包含比其它分支多的节点,则节点可以被合并,直到分支在每个层级中包含一个节点。
可以针对行和列标题集执行以上过程。图13示出了用于示例性行标题结构的Voronoi图。然而,在此用于对边进行加权的成本函数由以下公式定义:
w(a,b)=β1cos(a,b)+β2|ax-bx|2
其中ax-bx是节点a和b的相对水平位移。然而,一些表格可能包含具有特定格式属性的标题,该特定格式属性可被用于简化或辅助层次树的构建。例如,模块31可以确定集合中的每个单元格是否具有预定的格式属性集中的任何格式属性。此格式属性集可以包括以下中的一项或多项:粗体文本;斜体文字;缩进文本和大写(upper-case、capital)文本。如果集合包括具有不同格式属性的单元格(如可以用来指示标题中的层次结构),则模块31然后可以根据单元格的格式属性来(全部或部分地)定义层次树。图14针对表格中的行标题示出了此过程的特定示例。在此,标题层次由单元格定位、粗体和缩进指示。模块31根据如图中的表格所指示的这些单元格属性的存在(1)或不存在(0),针对属性“缩进”、“粗体”、“斜体”和“全部大写”向每个标题单元格指派属性值0或1。然后基于表格的哪一行定义它们的属性值,将单元格标记为层级1、2或3。然后行层次树相应地被构建。
层次树的构建可以利用上述过程中的一个或组合。例如,一些表格可能具有行标题的多个列,其中一些列中的标题层次由格式指示,而其他则没有格式差异。图14的方法可被应用于确定层次树中与格式化的标题单元格相对应的部分,而图形方法被应用于树的其余部分。
数据映射模块32使用所得到的层次树来将行和列中的数据单元格映射到行和列层次树中的它们的对应的标题单元格。在此实施例中,表格T由有序对(C,Data Map)定义,其中C是行和列标题集,并且Data Map是从C的层次到单元格中数据项的映射。图15示出了所得到的示例性表格的数据结构T。
上述优选实施例可以提供用于生成表格的可查询数据结构的特别高效的通用过程。该过程可以适应行和列中的多个层级,并且可以检测结构而不必仅仅依赖线的存在或假定任何特定的表格式。MLN方法允许将基于推理的规则高效地、概率地应用于CDC检测,其中用于推理的输入数据推动用于最佳解决方案的打破规则的成本。针对由124个表格的图像组成的ICDAR(国际文档分析和识别会议)2013数据集对性能进行了评估。97.2%的所有单元格被正确检测,并且93.8%的检测到的单元格存在于原始表格中。单元格内容根据将一个字符串转换为另一字符串所需的删除、替换和***的数量来被评估,达到85.4%的准确率。针对ICDAR数据集和合成数据集两者评估了语义标记(图3的模块29和30),并且分析结果如图16所示。在此,“精度”指示正确检测到的标题/数据集的比率。“召回率”指示所检测到的正确的(基本事实)集合中的标题/数据单元格的比率;“准确率”指示总体准确率;并且“F1分数”指示“精度”和“召回率”的组合,以在单个度量中反映这两个方面。图17示出了从为合成数据集的1000张图像生成的数据结构中提取的数据(查询结果)的准确率分布。应用如果行和列层次两者均正确,则数据准确率为1,否则应用数据准确率为0的严格度量。使用此严格的准确率标准得到的结果相当出色。
将理解,可以对上述示例性实施例做出各种改变和修改。举例来说,其他机器学习模型,诸如神经网络或支持向量机模型,可被用于单元格的预分类。虽然MLN模型对于CDC检测是优选的,但其他基于规则的***(例如固定规则集或贝叶斯网络/其他概率图模型)也可以被采用。在一些实施例中,全连接图可以被用作层次树生成的基础。当然,除了上述有序对之外的数据结构也可以被用于表格表示。
通常,在本文参考体现本发明的方法描述特征的情况下,可以在体现本发明的计算装置/计算机程序产品中提供对应的特征,反之亦然。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (14)
1.一种用于生成表示扫描图像中的表格信息的数据结构的计算机实现的方法,所述方法包括:
存储表示表格的扫描图像的图像数据;
处理所述图像数据以识别所述图像中的线和字符的位置;
根据所述位置映射信息单元格在所述图像中的定位,每个信息单元格包含一组所述字符;
对于每个单元格,根据所述定位来确定用于预定义的单元格属性集的单元格属性值,并将所述属性值作为输入提供给机器学习模型,所述机器学习模型被训练为根据单元格属性值将单元格预分类为标题单元格或数据单元格;
将预定义的规则应用于经预分类的单元格以识别角落数据单元格,所述角落数据单元格标记所述图像中包含数据单元格的区域和包含标题单元格的边缘区域之间的过渡,并且根据所述边缘区域中的单元格定位来定义行和列标题单元格;
对于行标题单元格集和列标题单元格集中的每一个,根据所述图像中这些单元格的相对定位,定义层次树,所述层次树指示所述标题单元格的层次结构;
使用所述层次树来生成将每个数据单元格映射到所述层次结构中对应的行和列标题单元格的数据结构;以及
存储所述数据结构以提供所述表格的可查询表示。
2.如权利要求1所述的方法,包括在存储所述数据结构之后,响应于接收到对于所述表格中的信息的请求:
从所述数据结构中提取与所请求的信息相对应的数据;以及
输出所提取的数据。
3.如权利要求1所述的方法,其中:
所述规则通过马尔可夫逻辑网络在与单元格有关的谓词上定义,所述马尔可夫逻辑网络具有预训练的规则权重,所述规则权重指示用于识别角落数据单元格的相应规则的重要性;以及
应用所述规则的步骤包括将所述马尔可夫逻辑网络应用于经预分类的单元格以识别所述角落数据单元格。
4.如权利要求1所述的方法,包括,对于所述行标题单元格集和所述列标题单元格集中的至少一个,通过以下方式定义所述层次树:
生成加权图,所述加权图包括表示所述图像中的所述标题单元格、标题单元格的相邻数据单元格和预定义的根单元格的节点,每个单元格的节点通过边与表示所述图像中的相邻单元格的至少一组所述节点相互连接,其中,每对节点之间的所述边具有权重,所述权重取决于这些节点所表示的单元格在所述图像中的相对位置;以及
根据所述权重,在表示数据单元格的每个节点和表示所述根单元格的节点之间选择最佳路径,以定义所述层次树的分支。
5.如权利要求4所述的方法,包括:
为所述标题单元格、所述相邻数据单元格和所述根单元格在所述图像中的定位定义Voronoi图;以及
生成所述加权图,所述加权图具有由所述Voronoi图中的每个数据单元格定位和所述根单元格定位之间的路径确定的边。
6.如权利要求1所述的方法,包括,对于所述行标题单元格集和列标题单元格集中的至少一个,
确定每个单元格是否具有预定的格式属性集中的任何格式属性;以及
如果所述标题单元格集包括具有不同格式属性的单元格,则根据所述单元格的所述格式属性来定义所述层次树。
7.如权利要求6所述的方法,其中,所述格式属性集包括粗体文本、斜体文本、缩进文本和大写文本中的至少一个。
8.如权利要求1所述的方法,其中,所述预定义的单元格属性集包括选自以下各项的多个属性:相邻单元格的数量;右侧相邻单元格的数量;上方相邻单元格的数量;右侧有一条线;左侧有一条线;上方有一条线;下方有一条线;以及所述单元格占据的面积。
9.如权利要求8所述的方法,其中,所述单元格属性集包括取决于单元格中的字符串的属性子集,所述属性子集选自:字符加粗;字符为斜体;数字字符的比例;字母字符的比例;以及非字母数字字符的比例。
10.如权利要求1所述的方法,其中,所述机器学习模型包括随机森林模型。
11.如权利要求1所述的方法,其中,在映射信息单元格的定位的步骤中,每个信息单元格包含所述图像中的一组水平对齐的字符。
12.一种用于生成表示扫描图像中的表格信息的数据结构的计算机程序产品,所述计算机程序产品包括具有体现在其中的程序指令的计算机可读存储介质,所述程序指令能够由计算装置执行以使所述计算装置执行如权利要求1至11中的任一项所述的方法的任何步骤。
13.一种用于生成表示扫描图像中的表格信息的数据结构的装置,所述装置包括用于实现如权利要求1至11中的任一项所述的方法的任何步骤的部件。
14.一种用于生成表示扫描图像中的表格信息的数据结构的计算机程序产品,所述计算机程序产品包括:
计算机可读存储介质,所述计算机可读存储介质能够由处理电路读取并存储由所述处理电路执行以用于执行如权利要求1至11中的任一项所述的方法的指令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/450,078 US11062133B2 (en) | 2019-06-24 | 2019-06-24 | Data structure generation for tabular information in scanned images |
US16/450,078 | 2019-06-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112131920A CN112131920A (zh) | 2020-12-25 |
CN112131920B true CN112131920B (zh) | 2024-06-25 |
Family
ID=73851128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010405509.XA Active CN112131920B (zh) | 2019-06-24 | 2020-05-14 | 用于扫描图像中的表格信息的数据结构生成 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11062133B2 (zh) |
CN (1) | CN112131920B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9952808B2 (en) * | 2015-03-26 | 2018-04-24 | International Business Machines Corporation | File system block-level tiering and co-allocation |
US11275934B2 (en) * | 2019-11-20 | 2022-03-15 | Sap Se | Positional embeddings for document processing |
US11410446B2 (en) | 2019-11-22 | 2022-08-09 | Nielsen Consumer Llc | Methods, systems, apparatus and articles of manufacture for receipt decoding |
US11501062B1 (en) * | 2020-02-13 | 2022-11-15 | The Mathworks, Inc. | Systems and methods for displaying data including hierarchical headers |
US11810380B2 (en) * | 2020-06-30 | 2023-11-07 | Nielsen Consumer Llc | Methods and apparatus to decode documents based on images using artificial intelligence |
CN112733518A (zh) * | 2021-01-14 | 2021-04-30 | 卫宁健康科技集团股份有限公司 | 表格模板生成方法、装置、设备及存储介质 |
CN113204557B (zh) * | 2021-05-21 | 2024-02-13 | 北京字跳网络技术有限公司 | 电子表格导入方法、装置、设备及介质 |
US11822216B2 (en) | 2021-06-11 | 2023-11-21 | Nielsen Consumer Llc | Methods, systems, apparatus, and articles of manufacture for document scanning |
CN113657274B (zh) * | 2021-08-17 | 2022-09-20 | 北京百度网讯科技有限公司 | 表格生成方法、装置、电子设备及存储介质 |
CN114281823B (zh) * | 2021-12-17 | 2023-08-29 | 北京百度网讯科技有限公司 | 表格处理方法、装置、设备、存储介质及产品 |
CN114612921B (zh) * | 2022-05-12 | 2022-07-19 | 中信证券股份有限公司 | 表单识别方法、装置、电子设备和计算机可读介质 |
CN117556078B (zh) * | 2024-01-11 | 2024-03-29 | 北京极致车网科技有限公司 | 可视化车辆登记证文件管理方法、装置及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043819A (zh) * | 2009-10-20 | 2011-05-04 | 华中科技大学 | Html表格语义脉络分析方法 |
CN109726628A (zh) * | 2018-11-05 | 2019-05-07 | 东北大学 | 一种表格图像的识别方法及*** |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6061515A (en) * | 1994-07-18 | 2000-05-09 | International Business Machines Corporation | System and method for providing a high level language for mapping and accessing objects in data stores |
US6173073B1 (en) * | 1998-01-05 | 2001-01-09 | Canon Kabushiki Kaisha | System for analyzing table images |
US6421658B1 (en) * | 1999-07-30 | 2002-07-16 | International Business Machines Corporation | Efficient implementation of typed view hierarchies for ORDBMS |
US7716167B2 (en) * | 2002-12-18 | 2010-05-11 | International Business Machines Corporation | System and method for automatically building an OLAP model in a relational database |
US7103613B2 (en) * | 2003-05-14 | 2006-09-05 | International Business Machines Corporation | Object oriented query root leaf inheritance to relational join translator method, system, article of manufacture, and computer program product |
JP2005214779A (ja) * | 2004-01-29 | 2005-08-11 | Xanavi Informatics Corp | ナビゲーション装置および地図データ更新方法 |
US7630993B2 (en) * | 2007-05-29 | 2009-12-08 | International Business Machines Corporation | Generating database schemas for relational and markup language data from a conceptual model |
US8645421B2 (en) * | 2008-09-30 | 2014-02-04 | Sas Institute Inc. | Attribute based hierarchy management for estimation and forecasting |
US8725660B2 (en) * | 2009-07-30 | 2014-05-13 | Hewlett-Packard Development Company, L.P. | Applying non-linear transformation of feature values for training a classifier |
US10176245B2 (en) * | 2009-09-25 | 2019-01-08 | International Business Machines Corporation | Semantic query by example |
US20110249905A1 (en) | 2010-01-15 | 2011-10-13 | Copanion, Inc. | Systems and methods for automatically extracting data from electronic documents including tables |
US9251413B2 (en) | 2013-06-14 | 2016-02-02 | Lexmark International Technology, SA | Methods for automatic structured extraction of data in OCR documents having tabular data |
CN104517112B (zh) | 2013-09-29 | 2017-11-28 | 北大方正集团有限公司 | 一种表格识别方法与*** |
US9767151B2 (en) * | 2013-11-18 | 2017-09-19 | Sap Se | Optimizing database queries having hierarchy filters |
US20160055376A1 (en) | 2014-06-21 | 2016-02-25 | iQG DBA iQGATEWAY LLC | Method and system for identification and extraction of data from structured documents |
JP6399872B2 (ja) * | 2014-07-07 | 2018-10-03 | キヤノン株式会社 | 情報処理装置、情報処理方法、プログラム |
US10360208B2 (en) * | 2014-12-19 | 2019-07-23 | Software Ag | Method and system of process reconstruction |
-
2019
- 2019-06-24 US US16/450,078 patent/US11062133B2/en active Active
-
2020
- 2020-05-14 CN CN202010405509.XA patent/CN112131920B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043819A (zh) * | 2009-10-20 | 2011-05-04 | 华中科技大学 | Html表格语义脉络分析方法 |
CN109726628A (zh) * | 2018-11-05 | 2019-05-07 | 东北大学 | 一种表格图像的识别方法及*** |
Also Published As
Publication number | Publication date |
---|---|
US11062133B2 (en) | 2021-07-13 |
CN112131920A (zh) | 2020-12-25 |
US20200401798A1 (en) | 2020-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112131920B (zh) | 用于扫描图像中的表格信息的数据结构生成 | |
CN110795543B (zh) | 基于深度学习的非结构化数据抽取方法、装置及存储介质 | |
US10853576B2 (en) | Efficient and accurate named entity recognition method and apparatus | |
CN110363049B (zh) | 图形元素检测识别和类别确定的方法及装置 | |
RU2760471C1 (ru) | Способы и системы идентификации полей в документе | |
CN109800437A (zh) | 一种基于特征融合的命名实体识别方法 | |
Wilkinson et al. | Neural Ctrl-F: segmentation-free query-by-string word spotting in handwritten manuscript collections | |
CN113590784B (zh) | 三元组信息抽取方法、装置、电子设备、及存储介质 | |
CN112559734B (zh) | 简报生成方法、装置、电子设备及计算机可读存储介质 | |
CN111339260A (zh) | 一种基于bert和qa思想的细粒度情感分析方法 | |
CN112800239A (zh) | 意图识别模型训练方法、意图识别方法及装置 | |
CN113642320B (zh) | 文档目录结构的提取方法、装置、设备和介质 | |
CN115688779B (zh) | 一种基于自监督深度学习的地址识别方法 | |
CN111680506A (zh) | 数据库表的外键映射方法、装置、电子设备和存储介质 | |
CN112613293A (zh) | 摘要生成方法、装置、电子设备及存储介质 | |
US20230138491A1 (en) | Continuous learning for document processing and analysis | |
CN114611625A (zh) | 语言模型训练、数据处理方法、装置、设备、介质及产品 | |
CN117034948B (zh) | 基于多特征自适应融合的段落识别方法、***及存储介质 | |
US20190095525A1 (en) | Extraction of expression for natural language processing | |
CN113076758A (zh) | 一种面向任务型对话的多域请求式意图识别方法 | |
CN112765976A (zh) | 文本相似度计算方法、装置、设备及存储介质 | |
CN117076455A (zh) | 一种基于智能识别的保单结构化存储方法、介质及*** | |
Brodić et al. | An approach to the language discrimination in different scripts using adjacent local binary pattern | |
CN111737507A (zh) | 一种单模态图像哈希检索方法 | |
CN116151258A (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 |