CN110928871B - 使用来自正交行和列的全局机器学习特征的表头部检测 - Google Patents
使用来自正交行和列的全局机器学习特征的表头部检测 Download PDFInfo
- Publication number
- CN110928871B CN110928871B CN201910886265.9A CN201910886265A CN110928871B CN 110928871 B CN110928871 B CN 110928871B CN 201910886265 A CN201910886265 A CN 201910886265A CN 110928871 B CN110928871 B CN 110928871B
- Authority
- CN
- China
- Prior art keywords
- row
- column
- pair
- orthogonal
- cell
- 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
Classifications
-
- 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
- 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/2282—Tablespace storage structures; Management thereof
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
一种用于检测各种文档(例如PDF和HTML文件)中的头部的方法、系统和计算机可用介质。文件被转换为具有正交行和列的二维阵列或表。确定行或列包括头部。用于确定行是否包含头部。对于阵列或表中的每行,对与该行正交的每列的每个单元执行成对比较。对于该行的每个正交列,将成对比较得分或值求和,并且对于行的所有正交列的总和提供该行的得分或值。行得分相对于彼此而进行评估,以确定行中具有头部的可能性。为了确定列是否具有头部,在列及其正交行之间执行类似的计算。
Description
技术领域
本申请一般涉及改进的数据处理装置和方法,更具体地,涉及检测各种其中头部数据不明显或不易识别的文件(例如,“html”、“pdf”和类似文件)的表头部(table header)的机制。头部检测使用来自所配置的表的正交行和列的全局机器学习。
随着诸如互联网的计算网络的使用的增加,人类目前被来自各种结构化和非结构化源的可用的信息量淹没并且不堪重负。然而,当用户试图将在搜索各种主题的信息时找到的他们认为相关的内容拼凑在一起时,存在许多信息差异。为了帮助进行此类搜索,最近已经针对生成知识管理系统进行了研究,该知识管理系统可以接收输入、对其分析、并返回指示针对输入的最可能结果的结果。知识管理系统提供了用于搜索具有众多内容源(例如,电子文档)的知识库的自动机制,并根据输入来分析它们以确定结果和关于结果与输入相关的准确度的置信度量。
一种这样的知识管理系统是可从纽约阿蒙克市(Armonk,N.Y.)的国际商业机器(IBM)公司获得的IBM WatsonTM系统。IBM WatsonTM系统是针对开放域问答领域的高级自然语言处理、信息检索、知识表示和推理、以及机器学习技术的应用。IBM WatsonTM系统基于用于假设生成、大量证据收集、分析和评分的IBM的DeepQA技术构建。DeepQA接受输入问题,对其进行分析,将问题分解为组成部分,基于被分解的问题和对答案源的初步搜索的结果生成一个或多个假设,基于从证据源检索证据执行假设和证据评分,执行一个或多个假设的合成,并且基于训练的模型来执行最终合并和排序以输出针对输入问题的答案以及置信度量。
背景技术
某些头部检测技术将列的每行分类为“头部”或“数据”。分析单行或相邻行的特征;但是,不考虑整个表的内容。该技术通常对于简单且结构合理的表是令人满意的。此类技术可能不适用于更复杂的表,例如具有嵌入式头部的表,以及从其它文件转换的表。
某些技术识别在web(网络)上爬取的表中的关系型表。通常,该技术假定头部(如果存在的话)将是第一行,如在关系数据库中的。
某些技术旨在理解或确认文件中的表;但是,其不确定或检测实际头部,而是依赖于标准的简单表。
发明内容
用于确定具有正交行和列的二维(2D)阵列或表中的头部(header)的方法、系统和计算机可用介质。对于每行或每列,基于对每行或列的正交列或行的单元的成对计算来确定得分或值。将行或列的得分或值相对于彼此进行比较,以确定2D阵列或表的哪些行或列包括头部。
附图说明
通过参考附图,可以更好地理解本发明,并且使本发明的众多目的、特征和优点对于本领域技术人员而言是显而易见的,在附图中,
图1描绘了包括使用知识库的知识管理器的网络环境;
图2是能够执行计算操作的信息处理系统的简化框图;
图3是来自数据文件或文档文件的表;
图4是被处理的正交扩展表;
图5是识别表中单元的数据类型的表;
图6是表和用以获得行值的计算的示例;
图7是从表中导出的行的得分或值的列表;
图8是从表中导出的行的缩放的得分(scaled score)或值的列表;以及
图9是头部检测操作的概括流程图。
具体实施方式
如本领域技术人员将理解的,本发明的各方面可以实现为系统、方法或计算机程序产品。因此,本发明的各方面可以采取完全硬件实施例的形式、完全软件实施例(包括固件、常驻软件、微代码等)的形式、或者组合软件和硬件方面(本文中通常可以被称为“电路”、“模块”或“系统”)的实施例的形式。此外,本发明的各方面可以采取在一个或多个计算机可读介质中所包含的计算机程序产品的形式,该计算机可读介质具有包含在其上的计算机可读程序代码。
可以使用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于电、磁、光、电磁、红外或半导体系统、装置或设备、或者前述的任何合适的组合。计算机可读存储介质的更具体示例(非详尽列表)将包括以下内容:具有一条或多条线路的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光学存储设备、磁存储设备或任何上述的适当组合。在本文档的上下文中,计算机可读存储介质可以是任何有形介质,其可以包含或存储程序以供指令执行系统、装置或设备使用或与其结合使用。
计算机可读信号介质可以包括传播的数据信号,数据信号具有在其上所包含的计算机可读程序代码(例如,在基带中或作为载波的一部分)。这种传播信号可以采用多种形式中的任何一种,包括但不限于电-磁、光、或其任何合适的组合。计算机可读信号介质可以是任何计算机可读介质,其不是计算机可读存储介质并且可以传送、传播或传输程序以供指令执行系统、装置或设备使用或与其结合使用。
计算机可读介质上包含的程序代码可以使用任何适当的介质传输,包括但不限于无线、有线、光纤电缆、RF等或者前述的任何合适的组合。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Java、Smalltalk、C++等,以及过程式编程语言—诸如“C”语言或类似的常规的编程语言。程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器或服务器集群上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用互联网服务提供商来通过互联网连接)。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
这些计算机程序指令还可以存储在计算机可读介质中,该计算机可读介质可以指示计算机、其它可编程数据处理装置或其它设备以特定方式操作,使得存储在计算机可读介质中的指令生成包括实现流程图和/或框图框或多个框图框中指定的功能/动作的指令的制品。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令提供流程以实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
图1描绘了在分布式知识管理器环境102中实例化的知识管理器系统(例如,问/答(QA)系统)100的一个说明性实施例的示意图。可以与本文描述的原理结合使用的问/答生成的一个示例在美国专利申请公开No.2011/0125734(其全部内容通过引用并入本文)中被描述。知识管理器100可以包括被耦接到网络105的知识管理器信息处理系统104(包括一个或多个处理器和一个或多个存储器,以及潜在的本领域一般公知的任何其它计算设备元件,包括总线、存储设备、通信接口等)。环境102可以包括经由一个或多个有线和/或无线数据通信链路彼此通信以及与其它设备或组件通信的多个计算设备104,其中每个通信链路可以包括线路、路由器、交换机、发送器、接收器等中的一个或多个。知识管理器100和环境102可以为一个或多个内容用户启用问/答(QA)生成功能。知识管理器100的其它实施例可以与除了本文描述的那些之外的组件、系统、子系统和/或设备一起使用。
知识管理器100可以被配置为从各种源接收输入。例如,知识管理器100可以从网络105、知识库106(可包括电子文档或其它数据的语料库)、内容生成器108、内容用户和其它可能的输入源接收输入。在各种实施例中,其它可能的输入源可以包括位置信息。在一个实施例中,知识管理器100的一些或所有输入可以通过网络105路由。网络105上的各种计算设备104可以包括用于内容生成器和内容用户的接入点。一些计算设备104可以包括用于存储数据语料库的数据库的设备。在各种实施例中,网络105可以包括本地网络连接和远程连接,使得知识管理器100可以在任何大小的环境(包括本地和全局,例如互联网)中操作。另外,知识管理器100用作前端系统,其可以使从文档、网络可访问源和/或结构化数据源提取或表示的各种知识可用。以这种方式,一些过程填充知识管理器,知识管理器还包括输入接口以接收知识请求以及对应地响应。
在一个实施例中,内容生成器采用知识管理器100生成文档106中的内容以用作数据语料库的一部分。文档106可以包括在知识管理器100中使用的任何文件、文本、文章或数据源。内容用户可以经由网络连接或互联网连接(表示为网络105)访问知识管理器100,并且可以向知识管理器100输入可以由数据语料库中的内容回答的问题。如下面进一步描述的,当过程针对语义内容来评估文档的给定部分时,该过程可以使用各种约定来从知识管理器查询它。一种约定是发送格式良好的问题。语义内容是基于能指(signifier)(诸如单词、短语、标记和符号)之间的关系以及它们代表什么、它们的意义或内涵的内容。换句话说,语义内容是例如通过使用自然语言(NL)处理来解释表达的内容。在一个实施例中,过程向知识管理器发送格式良好的问题(例如,自然语言问题等)。知识管理器100可以解释问题并向内容用户提供包含该问题的一个或多个答案的响应。在一些实施例中,知识管理器100可以以排序的答案列表向用户提供响应。在各种实施例中,一个或多个答案考虑位置信息。
在一些说明性实施例中,知识管理器100可以是可从纽约州阿蒙克市的国际商业机器公司获得的IBM WatsonTM QA系统,其利用下文描述的说明性实施例的机制来增强。IBMWatsonTM知识管理器系统可以接收输入问题,该问题然后被解析从而提取问题的主要特征,然后主要特征被用于制定对数据语料库应用的查询。基于对数据语料库应用查询,通过针对数据语料库的可能包含对输入问题有价值的响应的部分来查看数据语料库,来生成一组假设或对输入问题的候选答案。
然后,IBM WatsonTM QA系统使用各种推理(reasoning)算法对输入问题的语言和在应用查询期间找到的数据语料库的每个部分中使用的语言进行深度分析。可以应用数百甚至数千个推理算法,每个推理算法执行不同的分析(例如,比较)并生成得分。例如,一些推理算法可以查看输入问题的语言内的术语和同义词与所找到的数据语料库的部分的匹配。其它推理算法可以查看语言中的时间或空间特征,而其它推理算法可以评估数据语料库的一部分的来源并评估其准确性(veracity)。
从各种推理算法获得的得分指示基于该推理算法的特定焦点区域由输入问题推断出潜在响应的程度。然后根据统计模型对每个得到的得分进行加权。统计模型采集推理算法执行在IBM WatsonTM QA系统的训练周期期间建立在特定域的两个相似段落之间的推断时的程度。然后可以使用统计模型来总结IBM WatsonTM QA系统关于潜在响应(即候选答案)由问题推断的证据的置信级别。可以针对每个候选答案重复该过程,直到IBM WatsonTMQA系统识别出表现为明显强于其它答案的候选答案,从而为输入问题生成最终答案或排序的答案集。例如,可以从IBM公司网站、IBM红皮书等获得关于IBM WatsonTM QA系统的更多信息。例如,关于IBM WatsonTM QA系统的信息可以在Yuan等人在2011年的IBMdeveloperWorks的“Watson and Healthcare”和Rob High在2012的IBM红皮书的“认知系统时代:IBM Watson及其工作原理("The Era of Cognitive Systems:An Inside Look atIBM Watson and How it Works")”中找到。
可以利用QA系统100的信息处理系统的类型的范围为从小型手持设备(例如手持式计算机/移动电话110)到大型主机(mainframe)系统(例如主机计算机170)。手持计算机110的示例包括个人数字助理(PDA)、个人娱乐设备(诸如MP3播放器)、便携式电视和光盘播放器。信息处理系统的其它示例包括笔、或平板电脑、计算机120、膝上型计算机或笔记本电脑、计算机130、个人计算机系统150和服务器160。在某些实施例中,通过使用地理定位系统(GPS)卫星125来确定位置信息。在这些实施例中,手持计算机或移动电话110或其它设备使用由GPS卫星125发送的信号来生成位置信息,该位置信息依次经由网络105提供给知识管理器系统100以用于处理。如图所示,各种信息处理系统可以使用计算机网络100网络连接在一起。可以用于互连各种信息处理系统的计算机网络105的类型包括局域网(LAN)、无线局域网(WLAN)、互联网、公共交换电话网(PSTN)、其它无线网络以及可用于互连信息处理系统的任何其它网络拓扑结构。许多信息处理系统包括非易失性数据存储(例如硬盘驱动器)和/或非易失性存储器。图1中所示的一些信息处理系统描绘了分离的非易失性数据存储(服务器160利用非易失性数据存储165,并且主机计算机170利用非易失性数据存储175)。非易失性数据存储可以是各种信息处理系统外部的组件,或者可以在一个信息处理系统的内部。图2示出了信息处理系统的说明性示例,该信息处理系统示出示例性处理器和通常可由处理器访问的各种组件。
图2示出了信息处理系统202,更具体地,处理器和通用组件,信息处理系统202是能够执行本文描述的计算操作的计算机系统的简化示例。信息处理系统202包括被耦接到系统总线206的处理器单元204。控制显示器210的视频适配器208也耦接到系统总线206。系统总线206经由总线桥212耦接到输入/输出(I/O)总线214。I/O接口216耦接到I/O总线214。I/O接口216提供与各种I/O设备(包括键盘218、鼠标220、光盘-只读存储器(CD-ROM)驱动器222、软盘驱动器224和闪盘存储器226)的通信。连接到I/O接口216的端口的格式可以是计算机架构领域的技术人员公知的任何格式,包括但不限于通用串行总线(USB)端口。
信息处理系统202能够使用网络接口230经由网络228与服务提供商服务器252通信,网络接口230耦接到系统总线206。网络228可以是诸如互联网的外部网络,或者诸如以太网或虚拟专用网(VPN)的内部网络。使用网络228,客户端计算机202能够使用本发明来访问服务提供商服务器252。
硬盘驱动器接口232也耦接到系统总线206。硬盘驱动器接口232与硬盘驱动器234接口连接。在优选实施例中,硬盘驱动器234填充系统存储器236,系统存储器236也耦接到系统总线206。填充系统存储器236的数据包括信息处理系统202的操作系统(OS)238和软件程序244。
OS238包括壳240,用于提供对诸如软件程序244之类的资源的透明用户访问。通常,壳240是提供在用户和操作系统之间的解释器和接口的程序。更具体地,壳240执行输入到指令行用户接口中的指令或从文件输入的指令。因此,(如在中所称的)壳240(在/>中也被称为指令处理器)通常是操作系统软件层级的最高级别,并且用作指令解释器。壳提供系统提示,解释由键盘、鼠标或其它用户输入媒体输入的指令,并将所解释的指令发送到操作系统的适当较低级别(例如内核242)以进行处理。虽然壳240通常是基于文本的、面向行的用户接口,但是本发明还可以支持其它用户接口模式,例如图形、语音、手势等。
如图所示,OS238还包括内核242,其包括用于OS238的较低级别的功能,包括OS238和软件程序244的其它部分所需的基本服务,包括存储器管理、进程和任务管理、磁盘管理以及鼠标和键盘管理。软件程序244可以包括浏览器246和电子邮件客户端248。浏览器246包括使万维网(WWW)客户端(即,信息处理系统202)能够使用超文本传输协议(HTTP)消息传递向互联网发送和接收网络消息的程序模块和指令,从而实现与服务提供商服务器252的通信。在各种实施例中,软件程序244还可以包括表头部检测程序250。在这些和其它实施例中,表头部检测程序250包括用于实现下文所描述的过程的代码。在一个实施例中,信息处理系统202能够从服务提供商服务器252下载表头部检测程序250。
信息处理系统202中描述的硬件元件并非旨在穷举,而是代表本发明所使用的突出组件。例如,信息处理系统202可以包括替代的存储器存储设备,例如磁带盒、数字通用盘(DVD)、伯努利盒等。这些和其它改变旨在落入本发明的精神、范围和意图内。
图3是具有各种头部的表300。在某些实施例中,头部是嵌入的并且不明显。在某些实现中,表300是文件或文档,例如HTML或PDF文件。在这些文档或文件中是头部和数据;但是,在某些情况下,这种表中的头部或头部单元没有被注释或标识。此类文档和文件包含表的有价值数据。为了利用该数据,例如提取数据、搜索数据、从表中获得有价值的信息,确定关于头部和数据的上下文。
属性(例如粗体和斜体字体样式、字体大小差异、跨单元(即,跨行或列的单元)以及单元的中心对齐)的存在不必须指示表中的头部或头部单元。在某些情况下,因为许多复杂的表(特别是在金融世界中),这些属性用于突出表单元中的重要值(例如,数据),所以诸如对于复杂的表(例如金融或商业中的表),这保证为头部单元。该突出显示的单元可能不必须包括头部。
如表300示出头部可以是分层的、水平的或垂直的,以及甚至可以嵌入表中的任何地方。在该示例中,表300包括行“0”302、行“1”304、行“2”306、行“3”308、行“4”310、行“5”312和行“6”314。在表300中,在行“0”301、行“1”304和行“4”310中存在头部。在表300的示例中,具有“墨尔本”的行“1”304被称为跨行,其中相同数据跨越行。换句话说,数据“墨尔本”跨越行“1”304。同样,具有“悉尼”的行“4”310是跨行。
在某些实现中,表300作为HTML或PDF文档或文件被接收。从文档或文件中提取表元素或单元,并生成二维(2-D)阵列。换句话说,行对列是正交的。所生成的阵列是正交的行对列表(orthogonal row by column table)。在存在跨行的情况下,该行的数据被扩展用于该特定行中的每个单元。
图4是作为包含表300的文档或文件的扩展表的表400。表400包括行402和列404。表400还包括单元406。如上所述,表300包括具有“墨尔本”的跨行“1”304和具有“悉尼”的跨行“4”306。在某些实施例中,跨行中的单元被给予在跨行中的同一数据。在表400中,行“1”304的单元406-6、406-7、406-8、406-9和406-10包含“墨尔本”。行“4”306的单元406-21、406-22、406-23、406-24和406-25包含“悉尼”。在某些实施例中,存在跨列,其中同一数据被扩展在行跨越的每列中。
在某些实施例中,针对所处理的2D正交表中的单元识别数据类型。
图5是识别表400的数据类型的表500。单元406-1不包含数据,并且被识别为“无”或“空”。单元406-2被识别为符号串(character string)或字符串(string)。单元406-3被识别为字符串。单元406-4被识别为字符串。单元406-5被识别为字符串。单元406-6被识别为字符串。单元406-7被识别为字符串。单元406-8被识别为字符串。单元406-9被识别为字符串。单元406-10被识别为字符串。单元406-11被识别为字符串。单元406-12被识别为货币价值。单元406-13被识别为货币价值。单元406-14被识别为货币价值。单元406-15被识别为货币价值。单元406-16被识别为字符串。单元406-17被识别为货币价值。单元406-18被识别为货币价值。单元406-19被识别为货币价值。单元406-20被识别为货币价值。单元406-21被识别为字符串。单元406-22被识别为字符串。单元406-23被识别为字符串。单元406-24被识别为字符串。单元406-25被识别为字符串。单元406-26被识别为字符串。单元406-27被识别为货币价值。单元406-28被识别为货币价值。单元406-29被识别为货币价值。单元406-30被识别为货币价值。单元406-31被识别为字符串。单元406-32被识别为货币价值。单元406-33被识别为货币价值。单元406-34被识别为货币价值。单元406-35被识别为货币价值。
通过识别特定特征,例如表中的单元的数据类型,基于特征(即,数据类型)执行特定的比较。例如,将包含字符串的单元与包含货币价值的单元进行比较。数据类型是特征的一个示例。可用于比较的单元的其它特征包括但不限于:字体样式、文本相似性(即编辑距离)、单元对齐、文本缩进、字体大小、字体颜色、字符数、符号字符百分比、数字字符百分比、以及日期/时间/年/地址/区域/货币/单元百分比。
在某些实施例中,不是仅计算单行中的单元的各种特征(例如数据类型)或比较相邻行中的对应单元的特征/数据类型,而是将每行与表的所有其它行进行比较,从而允许能够基于特定特征(例如数据类型)确定每行如何与其它行进行比较。这种比较允许预测该行是否包括头部或数据。
对表500中的每一行进行以下计算,以得到要与针对其它行计算的值进行比较的每行的值。图6示出了表400以及针对其中一行的计算以得到行值的示例。行“1”304被描述为参考图6计算行值的示例。对行302、306、308、310、312和314执行类似的计算。
行“1”304与列502、504、506、508和510正交。对于行“1”304的每个正交列,在行“1”304上的共同单元与相应列的每个单元之间执行成对计算。在某些实施例中,成对比较是全局数据比较,其基于单元之间的差异来确定得分。换句话说,确定为得到一个单元的值到另一个单元的值所需的变化。在某些实施例中,在单元之间进行布尔(Boolean)比较。变化越大,所给出的得分越高。在其它实施例中,使用全局Levenshtein距离比较来导出得分。
因此,对于列502,进行单元406-6与单元406-1、406-11、406-16、406-21、406-26和406-31的成对比较。得分针对以下单元配对得出:406-6和406-1(“墨尔本”与“空”相比)、406-6和406-11(“墨尔本”与“批发”相比)、406-6和406-16(“墨尔本”与“零售”相比)、406-6和406-21(“墨尔本”与“悉尼”相比)、406-6和406-26(“墨尔本”与“批发”相比)、以及406-6和406-31(“墨尔本”与“零售”相比)。对于列502,将每个单元对的成对比较得分求和。该总值在图6中表示为∑R1C0 600。
对于列504,进行单元406-7与单元406-2、406-12、406-17、406-22、406-27和406-32的成对比较。对于列504,将每个单元对的成对比较得分求和。该总值表示为∑R1C1 602。
对于列506,进行单元406-8与单元406-3、406-13、406-18、406-23、406-28和406-33的成对比较。对于列506,将每个单元对的成对比较得分求和。该总值表示为∑R1C2 604。
对于列508,进行单元406-9与单元406-4、406-14、406-19、406-24、406-29和406-34的成对比较。对于列508,将每个单元对的成对比较得分求和。该总值在图6中表示为∑R1C3 606。
对于列510,进行单元406-10与单元406-10、406-15、406-20、406-25、406-30和406-35的成对比较。对于列508,将每个单元对的成对比较得分求和。该总值在图6中表示为∑R1C4 608。
在确定行的每个正交列的得分之后,将得分求和以确定相应行的得分值。在该示例中,对于行“1”304,将值∑R1C0 600、∑R1C1 602、∑R1C3606、∑R1C4 608相加以得到行“1”304的得分或值,如R1值610所表示的。
类似地,针对行302、206、308、310、312和314确定得分或值。在行值的计算中,某些单元的成对组合可能重新发生。换句话说,进行相同的单元对组合的计算。在某些实现中,动态编程用于调用先前确定的单元对计算。
在某些实施例中,对于具有被扩展的单元或跨单元的行(例如行304和310),行的总值除以扩展单元的数量以得到归一化值。在某些实现中,行的得分或值乘以100以得到百分比值。当确定所有行的得分或值时,比较行的得分或值。
图7示出了从表400导出的行的得分或值的示例。具有最低得分或值的行将倾向于包括头部。在该示例中,较低得分示出行“0”302、行“1”304和行“4”310。因此,行“0”302、行“1”304和行“4”310更有可能具有头部。
在某些实施例中,缩放得分和值。图8示出了得分或值的缩放列表的示例。在该示例中,行“0”302、行“1”304和行“4”310具有较低的缩放值并且更有可能具有头部。在该示例中,最低-最高缩放器(min-max scaler)用于归一化“0”和“1”之间的值。然后将这些值乘以100。可理解,可以实现其它缩放方法。
可理解,可以执行类似的计算以确定列是否具有头部。在该实现中,针对所有正交行的每列执行计算。与在上面讨论的行的头部确定中一样,将列的计算的总得分或值彼此进行比较,以确定列中存在头部的相对可能性。
参考图9,示出了头部检测操作的数据处理流程900的流程图。通过设置或提供具有正交行和列的2D阵列或表,数据处理流程在步骤902开始。然后在步骤904,对于表的每行或每列,对每个对应列或行的单元执行成对计算,并且得出针对每个成对计算的得分。然后在步骤906,对于每个对应的正交列或行,将成对比较得分求和。然后在步骤908,将对应的正交列或行的总得分相加以提供相应行或列的得分。在步骤910,记录所有行或列的得分,并基于行或列的相对得分确定哪些行或列包括头部。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也要注意的是,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
虽然已经示出和描述了本发明的特定实施例,但是对于本领域技术人员来说显而易见的是,基于本文的教导,可以在不脱离本发明及其更广泛的方面的情况下进行变化和修改。因此,所附权利要求在其范围内包含在本发明的真实精神和范围内的所有这些变化和修改。此外,可以理解,本发明仅由所附权利要求限定。本领域技术人员将理解,如果意图特定数量的所引入的权利要求元素,则该意图将在权利要求中明确地陈述,并且在没有该陈述的情况下,不存在该限制。对于非限制性示例,为了帮助理解,以下所附权利要求包含介绍性短语“至少一个”和“一个或多个”的使用以引入权利要求元素。然而,这些短语的使用不应被解释为暗示由不定冠词“一”或“一个”引入权利要求元素将包含所引入的权利要求元素的任何特定权利要求限制于仅包含一个该元素的发明,即使相同的权利要求包括引言短语“一个或多个”或“至少一个”和诸如“一”或“一个”的不定冠词;对于具有定冠词的权利要求中的使用也是如此。
Claims (21)
1.一种计算机实现的用于检测文档的头部的方法,包括:
对于二维表中的每行或列,在每个正交行或列上的共同单元与相应列或行的每个单元之间执行成对比较,以导出每个成对比较的得分;
对于每个正交列或行,将所述成对比较的所述得分求和以导出总得分;
将所述正交列或行的所述总得分求和,以导出每行或列的得分;以及
比较每行或列的相对得分以确定头部的可能性。
2.根据权利要求1所述的方法,其中:
所述成对比较是在行或列和正交列或行中的共同单元与所述正交列或行中的其它单元中的每一者之间。
3.根据权利要求1所述的方法,其中:
所述成对比较是全局距离比较。
4.根据权利要求1所述的方法,其中:
所述成对比较使用全局Levenshtein距离比较。
5.根据权利要求1所述的方法,其中:
所述成对比较是基于从列表中选择的特征,所述列表包括:数据类型、字体样式、文本相似性、单元对齐、文本缩进、字体大小、字体颜色、字符数、符号字符百分比、数字字符百分比、以及日期、时间、年、地址、区域、货币、单元百分比。
6.根据权利要求1所述的方法,其中:
对相同的单元对执行成对计算时,实现动态编程用于调用先前确定的单元对计算。
7.一种系统,包括:
处理器;
被耦接到所述处理器的数据总线;以及
包含计算机程序代码的计算机可用介质,所述计算机可用介质被耦接到所述数据总线,所述计算机程序代码用于头部检测并包括能够由所述处理器执行的指令并且被配置为:
在二维表中,在每行或列上的共同单元与和每行或列正交的列或行中的每个单元之间计算成对比较,
对于每行或列,将每个正交列或行的成对比较得分求和,以导出总列或行得分;
将所述正交列或行的总列或行得分相加,以导出每行或列的值;
执行每个行或列的值的相对比较,以确定头部在每行或每列中的可能性。
8.根据权利要求7所述的系统,其中:
所述二维表是从PDF或HTML文档导出的。
9.根据权利要求7所述的系统,其中:
所述二维表包括跨行或列。
10.根据权利要求7所述的系统,其中:
所述成对比较是单元之间的布尔比较。
11.根据权利要求7所述的系统,其中:
所述成对比较是基于从列表中选择的特征,所述列表包括:数据类型、字体样式、文本相似性、单元对齐、文本缩进、字体大小、字体颜色、字符数、符号字符百分比、数字字符百分比、以日期、时间、年、地址、区域、货币、单元百分比。
12.根据权利要求7所述的系统,其中:
对相同的单元对计算成对计算时,实现动态编程用于调用先前确定的单元对计算。
13.一种包含计算机程序代码的非暂时性计算机可读存储介质,所述计算机程序代码包括计算机可执行指令,所述计算机可执行指令被配置为:
对于二维正交阵列中的每行或列,在每个正交行或列上的共同单元与相应列或行的每个单元之间执行成对比较,以导出每个成对比较的得分;
对于每个正交列或行,将所述成对比较的所述得分求和以导出总得分;
将所述正交列或行的所述总得分求和,以导出每行或列的得分;以及
比较每行或列的相对得分以确定头部的可能性。
14.根据权利要求13所述的非暂时性计算机可读存储介质,其中:
所述二维正交阵列是从PDF或HTML文件导出的。
15.根据权利要求13所述的非暂时性计算机可读存储介质,其中:
所述成对比较是基于从列表中选择的特征,包括:数据类型、字体样式、文本相似性、单元对齐、文本缩进、字体大小、字体颜色、字符数、符号字符百分比、数字字符百分比、以及日期、时间、年、地址、区域、货币、单元百分比。
16.根据权利要求13所述的非暂时性计算机可读存储介质,其中:
所述成对比较是布尔比较或全局Levenshtein距离比较中的一个。
17.根据权利要求13所述的非暂时性计算机可读存储介质,其中:
所述成对比较是在行或列和正交列或行中的共同单元与所述正交列或行中的其它单元中的每一者之间。
18.根据权利要求13所述的非暂时性计算机可读存储介质,其中:
所述二维正交阵列包括跨行或列。
19.根据权利要求13所述的非暂时性计算机可读存储介质,其中,所述计算机可执行指令能够从远程位置的服务器系统部署到客户端系统。
20.根据权利要求13所述的非暂时性计算机可读存储介质,其中,所述计算机可执行指令由服务提供商按需提供给用户。
21.一种装置,包括被单独配置为执行根据权利要求1至6中任一项所述的方法的每个步骤的模块。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/136,757 US11514258B2 (en) | 2018-09-20 | 2018-09-20 | Table header detection using global machine learning features from orthogonal rows and columns |
US16/136757 | 2018-09-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110928871A CN110928871A (zh) | 2020-03-27 |
CN110928871B true CN110928871B (zh) | 2023-10-17 |
Family
ID=69848731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910886265.9A Active CN110928871B (zh) | 2018-09-20 | 2019-09-19 | 使用来自正交行和列的全局机器学习特征的表头部检测 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11514258B2 (zh) |
CN (1) | CN110928871B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11216659B2 (en) * | 2020-01-13 | 2022-01-04 | Kpmg Llp | Converting table data into component parts |
US20210319180A1 (en) | 2020-01-24 | 2021-10-14 | Thomson Reuters Enterprise Centre Gmbh | Systems and methods for deviation detection, information extraction and obligation deviation detection |
US11734522B2 (en) * | 2021-01-04 | 2023-08-22 | Sap Se | Machine learning enabled text analysis with support for unstructured data |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101385023A (zh) * | 2006-02-09 | 2009-03-11 | 微软公司 | 矢量图形文档中的列表检测 |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5604854A (en) | 1994-04-22 | 1997-02-18 | Borland International, Inc. | System and methods for reformatting multi-dimensional spreadsheet information |
US6510420B1 (en) | 1999-09-30 | 2003-01-21 | International Business Machines Corporation | Framework for dynamic hierarchical grouping and calculation based on multidimensional member characteristics |
US7054871B2 (en) | 2000-12-11 | 2006-05-30 | Lucent Technologies Inc. | Method for identifying and using table structures |
US7089492B2 (en) | 2003-04-03 | 2006-08-08 | International Business Machines Corporation | Automated conversion of CALS-compatible tables to accessible HTML tables |
US20050268222A1 (en) | 2004-05-26 | 2005-12-01 | Cheng Kai M | Method of creating, processing and storing HTML documents |
US7415481B2 (en) | 2004-09-30 | 2008-08-19 | Microsoft Corporation | Method and implementation for referencing of dynamic data within spreadsheet formulas |
US20060117051A1 (en) | 2004-11-26 | 2006-06-01 | Chin Philip K | Method of displaying data in a table |
US20110289398A1 (en) | 2004-11-26 | 2011-11-24 | Philip King Chin | Method of displaying data in a table with a fixed header |
US7594165B2 (en) | 2005-01-11 | 2009-09-22 | International Business Machines Corporation | Embedded ad hoc browser web to spreadsheet conversion control |
US8538786B2 (en) | 2006-06-07 | 2013-09-17 | International Business Machines Corporation | Method, system and program product for generating an implementation of a business rule including a volatile portion |
US20090044090A1 (en) | 2007-08-06 | 2009-02-12 | Apple Inc. | Referring to cells using header cell values |
US20090040240A1 (en) * | 2007-08-08 | 2009-02-12 | David Kirk Grotjohn | Hovering table headers |
US8347204B2 (en) | 2008-05-05 | 2013-01-01 | Norm Rosner | Method and system for data analysis |
US20090313205A1 (en) * | 2008-06-03 | 2009-12-17 | Justsystems Corporation | Table structure analyzing apparatus, table structure analyzing method, and table structure analyzing program |
US9715487B2 (en) | 2008-09-30 | 2017-07-25 | Apple Inc. | Multi-level naming of grouped data |
US8335981B2 (en) | 2009-08-03 | 2012-12-18 | Business Objects Software Ltd. | Metadata creation |
US8433714B2 (en) | 2010-05-27 | 2013-04-30 | Business Objects Software Ltd. | Data cell cluster identification and table transformation |
US8533200B2 (en) | 2011-05-26 | 2013-09-10 | Hadron Data Technologies, Inc. | Apparatus and method for organizing, storing and retrieving data using a universal variable-length data structure |
US9645990B2 (en) | 2012-08-02 | 2017-05-09 | Adobe Systems Incorporated | Dynamic report building using a heterogeneous combination of filtering criteria |
US9880991B2 (en) | 2012-10-17 | 2018-01-30 | International Business Machines Corporation | Transposing table portions based on user selections |
US8914419B2 (en) | 2012-10-30 | 2014-12-16 | International Business Machines Corporation | Extracting semantic relationships from table structures in electronic documents |
US9524286B2 (en) | 2012-12-04 | 2016-12-20 | Oracle International Corporation | Persistent layer labels for a pivot table or cross-tabular report |
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 |
US9600461B2 (en) | 2013-07-01 | 2017-03-21 | International Business Machines Corporation | Discovering relationships in tabular data |
US9286290B2 (en) | 2014-04-25 | 2016-03-15 | International Business Machines Corporation | Producing insight information from tables using natural language processing |
EP3161673B1 (en) | 2014-06-30 | 2020-12-02 | Microsoft Technology Licensing, LLC | Understanding tables for search |
US9940380B2 (en) | 2014-12-02 | 2018-04-10 | International Business Machines Corporation | Automatic modeling of column and pivot table layout tabular data |
US10235437B2 (en) | 2015-03-31 | 2019-03-19 | Informatica Llc | Table based data set extraction from data clusters |
US10706218B2 (en) | 2016-05-16 | 2020-07-07 | Linguamatics Ltd. | Extracting information from tables embedded within documents |
US20170371955A1 (en) | 2016-06-23 | 2017-12-28 | International Business Machines Corporation | System and method for precise domain question and answer generation for use as ground truth |
US10229103B2 (en) | 2016-08-25 | 2019-03-12 | Oracle International Corporation | Data grid components |
US10387560B2 (en) * | 2016-12-05 | 2019-08-20 | International Business Machines Corporation | Automating table-based groundtruth generation |
US11741300B2 (en) | 2017-11-03 | 2023-08-29 | Dropbox, Inc. | Embedded spreadsheet data implementation and synchronization |
US10878195B2 (en) | 2018-05-03 | 2020-12-29 | Microsoft Technology Licensing, Llc | Automated extraction of unstructured tables and semantic information from arbitrary documents |
US10832049B2 (en) * | 2018-05-31 | 2020-11-10 | Intematlonal Business Machlnes Corporation | Electronic document classification system optimized for combining a plurality of contemporaneously scanned documents |
US10831798B2 (en) | 2018-09-20 | 2020-11-10 | International Business Machines Corporation | System for extracting header labels for header cells in tables having complex header structures |
-
2018
- 2018-09-20 US US16/136,757 patent/US11514258B2/en active Active
-
2019
- 2019-09-19 CN CN201910886265.9A patent/CN110928871B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101385023A (zh) * | 2006-02-09 | 2009-03-11 | 微软公司 | 矢量图形文档中的列表检测 |
Non-Patent Citations (1)
Title |
---|
Understanding Tables on the Web;JingJing Wang 等;International Conference on Conceptual Modeling;全文 * |
Also Published As
Publication number | Publication date |
---|---|
US20200097759A1 (en) | 2020-03-26 |
CN110928871A (zh) | 2020-03-27 |
US11514258B2 (en) | 2022-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10586155B2 (en) | Clarification of submitted questions in a question and answer system | |
US10102254B2 (en) | Confidence ranking of answers based on temporal semantics | |
US10713571B2 (en) | Displaying quality of question being asked a question answering system | |
US9318027B2 (en) | Caching natural language questions and results in a question and answer system | |
US9754207B2 (en) | Corpus quality analysis | |
US9916378B2 (en) | Selecting a structure to represent tabular information | |
US9715531B2 (en) | Weighting search criteria based on similarities to an ingested corpus in a question and answer (QA) system | |
US9535980B2 (en) | NLP duration and duration range comparison methodology using similarity weighting | |
US20150170051A1 (en) | Applying a Genetic Algorithm to Compositional Semantics Sentiment Analysis to Improve Performance and Accelerate Domain Adaptation | |
US9251469B2 (en) | Dynamic load balancing based on question difficulty | |
US9760626B2 (en) | Optimizing parsing outcomes of documents | |
US9760828B2 (en) | Utilizing temporal indicators to weight semantic values | |
US9342561B2 (en) | Creating and using titles in untitled documents to answer questions | |
CN110928871B (zh) | 使用来自正交行和列的全局机器学习特征的表头部检测 | |
US11188819B2 (en) | Entity model establishment | |
US9418566B2 (en) | Determining comprehensiveness of question paper given syllabus | |
US11443106B2 (en) | Intelligent normalization and de-normalization of tables for multiple processing scenarios | |
US20220138233A1 (en) | System and Method for Partial Name Matching Against Noisy Entities Using Discovered Relationships |
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 |