CN115244538A - 使用序列比较器的文档信息提取系统 - Google Patents

使用序列比较器的文档信息提取系统 Download PDF

Info

Publication number
CN115244538A
CN115244538A CN202180020493.3A CN202180020493A CN115244538A CN 115244538 A CN115244538 A CN 115244538A CN 202180020493 A CN202180020493 A CN 202180020493A CN 115244538 A CN115244538 A CN 115244538A
Authority
CN
China
Prior art keywords
document
elements
hierarchical structure
comparator
relationship
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.)
Pending
Application number
CN202180020493.3A
Other languages
English (en)
Inventor
P·S·瓦利亚
V·库什瓦哈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Goldman Sachs and Co LLC
Original Assignee
Goldman Sachs and Co LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Goldman Sachs and Co LLC filed Critical Goldman Sachs and Co LLC
Publication of CN115244538A publication Critical patent/CN115244538A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/137Hierarchical processing, e.g. outlines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/131Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents

Abstract

一种文档信息提取系统基于文档的组成元素的特性来确定电子文档的结构。系统对文档进行分割以生成元素,其中每个元素具有相似的特性。可以对元素进行聚类以帮助确定文档结构。系统确定元素之间的方向关系(例如,上方、下方等)。系统然后采用主比较器来确定相邻元素之间的家族关系。主比较器包括一组单元比较器,并且每个单元比较器比较两个元素之间的特定特性。主比较器依次应用单元比较器以基于比较来确定家族关系。系统输出反映所确定的家族关系的文档层次树。层次树表示文档的结构。

Description

使用序列比较器的文档信息提取系统
技术领域
本公开通常涉及确定文档结构,并且具体地涉及基于所确定的结构从文档中提取信息。
背景技术
文档中的信息提取是从文档中检索与所选择的主题相关的特定信息或信息类型。信息提取定位文档中的特定项目、单词、行等(“信息”)。已提取的信息可以具有允许信息被有效地分类和编入目录的底层结构。
自动信息提取是一个技术上复杂的过程,并且不幸的是,使用当前的解决方案从文档中准确提取信息容易出错。这些问题中的很多问题源于这样的事实,即,虽然很多文档共享共同结构,但该结构在文档的信息中被实现并且反映的方式并不一致。例如,不同文档以不同方式格式化节、标题、子标题等。因此,允许系统准确地确定文档的结构而不管其实现的方法将是有益的。
发明内容
一种文档信息提取系统基于文档的组成元素的特性来确定电子文档的结构。文档的结构是文档中的信息的高级表示。作为示例,该结构可以是文档内的信息的层次树结构。
文档内的元素是其组成部分,并且表示被包括在文档中的信息的某个部分。例如,元素可以是文档中的一个单词或一组单词。元素的特性可以包括视觉和/或位置特性。为了说明,视觉特性可以是字体大小,而位置特性可以是坐标。
系统经由分割来确定文档中的元素。对文档进行分割标识和聚类文档中具有相似特性的信息。例如,系统可以将文档分割成大量单词。或者,更稳健地,系统可以将文档分割成大量字符并且将字符分组成不同单词,并且此外,可以将单词分组成文本行。系统可以对字符进行分组,因为它们具有相似的y坐标和字体大小。分割和聚类的类似示例也是可能的。
系统可以确定元素之间的方向关系以帮助确定结构。方向关系定义具有重叠位置特性的元素之间的邻接类型。例如,系统可以确定与第二元素相邻的第一元素具有“向右”的方向关系。
此外,系统可以基于元素的位置对元素进行聚类以帮助确定结构。集群包括具有至少一个相似位置和/或视觉特性的若干元素。例如,集群可以对文档的特定区域(例如,段落、列表等)中的所有元素进行分组。作为另一示例,集群可以对具有相似字体样式(例如,粗体)的所有元素进行分组。
系统通过确定元素之间的家族关系来确定文档的结构。家庭关系包括父、子、兄弟和不相关。这些关系表示文档的结构中的层次连接。此外,这些关系使能结构的可视化为文档树。
系统通过比较文档中的元素或集群之间的特性来确定家族关系。为此,系统采用包括一组单元比较器的主比较器。每个单元比较器比较两个元素之间的特定特性并且确定家族关系。然而,单个单位比较器可能会错误地确定家庭关系。这样,主比较器依次应用单元比较器,并且基于单元比较器的顺序结果,输出元素之间的准确的家族关系。单元比较器的序列和选择由系统的设计者进行,以准确地确定文档结构。
主比较器可以包括单元比较器,以基于索引、格式化和/或其他特性来标识结构。此外,主比较器可以标识水平和垂直两个方向上的家族关系。最后,系统可以通过分析文档中元素的祖父和孙子来验证家庭关系。
系统使用所确定的家族关系生成表示文档的结构的文档树。系统还可以使用命名实体标记来填充可视化,利用文档树来查找上述实体之间的关系。最后,可视化可以响应于用户请求文档的结构而生成。
附图说明
图1示出了根据一个示例实施例的文档信息提取系统的环境。
图2示出了根据一个示例实施例的表示文档信息提取系统的框图。
图3示出了根据一个示例实施例的用于使用文档信息提取系统从文档中提取信息的处理流程。
图4示出了根据一个示例实施例的表示计算机系统的框图。
附图仅出于说明的目的而描绘了本公开的各种实施例。本领域技术人员将从以下讨论中容易地认识到,在不背离本文中描述的本公开的原理的情况下,可以采用本文中示出的结构和方法的备选实施例。
具体实施方式
文档信息提取环境
图1示出了根据一个示例的针对文档信息提取引擎的系统环境。环境100包括通过网络130通信的客户端设备110和文档信息提取(“DIE”)系统120。
客户端设备110是能够生成、访问或接收电子文档的计算设备。例如,在一个实施例中,客户端设备110是被配置为使用文字处理软件生成文档的膝上型计算机。在其他示例中,客户端设备110可以是具有计算机功能的设备,诸如个人数字助理(PDA)、移动电话、智能手机或其他合适的设备。客户端设备110被配置为经由网络130与DIE系统120通信。例如,在一个实施例中,客户端设备110可以是被配置为经由移动网络130与DIE系统120通信的蜂窝电话。
DIE系统120从客户端设备110接收文档并且确定文档的结构作为响应。文档结构是文档中的信息的高级表示,诸如信息的层次结构。该结构可以表示为诸如文档树等可视化。为了确定结构,如下面更详细描述的,DIE系统120将文档分割成元素,确定元素之间的家族关系,并且基于所确定的家族关系来确定文档的结构。DIE系统120可以经由网络130将该结构提供给客户端设备110。
网络130包括使用有线和/或无线通信系统的局域网和/或广域网的任何组合网络130。网络130可以采用各种通信技术和/或协议。例如,网络130可以利用诸如以太网、802.11、3G、4G、数字用户线路(DSL)等通信技术。网络130还可以采用网络130协议来经由网络130传送信息。一些示例协议可以包括传输控制协议/互联网协议(TCP/IP)、超文本传输协议(HTTP)、简单邮件传输协议(SMTP)、文件传输协议(FTP)等。通过网络130交换的数据可以使用任何合适的格式来表示,诸如超文本标记语言(HTML)或可扩展标记语言(XML)。在一些实施例中,可以使用任何合适的(多个)技术对网络130的通信链路中的全部或一些进行加密。
环境100可以采用其他配置。为了说明,在示例实施例中,DIE系统120可以在客户端设备110上而不是在经由网络130连接到客户端设备110的远程系统上实现。例如,DIE系统120可以实现为用于在客户端设备110上执行的文字处理系统的插件。在这种情况下,DIE系统120可以从文字处理系统接收文档,确定结构,并且作为响应将该结构提供给文字处理系统。在另一示例中,DIE系统120可以是客户端设备110上的独立程序。在这种情况下,DIE系统120可以访问存储在客户端设备110上的文档,确定结构,并且作为响应将该结构的表示提供给程序。在另一示例实施例中,DIE系统120可以实现为通过在客户端设备110上执行的应用的可访问的网络130系统。在这种情况下,多个客户端设备(未示出)可以连接到DIE系统120,提供文档,并且接收响应中的结构。
文档信息提取系统
图2是根据一个实施例的示出文档信息提取系统的框图。如图2所示,DIE系统120包括分割模块210、邻接模块220、聚类模块230、主比较器240、验证模块250、可视化模块260和提取模块270。如图所示,主比较器240包括三个单元比较器(例如,单元比较器242A、单元比较器242B和单元比较器242B,统称为单元比较器242),但可以包括不同数目的单元比较器242。DIE系统120的其他实施例可以包括更少、更多或不同的模块,并且功能可以在模块之间以不同方式分布。
概括地说,DIE系统120接收文档并且确定其结构。为此,DIE系统120确定文档中的元素,确定元素之间的方向关系,并且生成元素集群。随后,DIE系统确定元素(或集群)之间的层次关系,基于层次关系确定结构,并且使用该关系生成结构的可视化。
分割文档
DIE系统120包括将文档分割成其组成元素的分割模块210。元素是文档的最小组成部分,并且表示文档中包括的信息的一些部分。在高级别上,元素可以由结构来表示。为了说明,考虑文档为一页单词。文档中的元素是文档中的组成单词,并且结构是由文档中的单词表示的信息的层次顺序。
更广泛地说,元素可以表示可以在文档中找到的不同类型的信息。例如,元素可以表示字符、数字、单词、图像、文本行、或文档中可以传达信息的一些其他元素。此外,如下文更详细描述的,文档中元素之间的关系形成用于确定文档的结构的基础。
文档中的每个元素具有一个或多个视觉特性,并且可以具有与文档中的其他元素共同的一个或多个视觉特性。为了说明,元素“F”可以具有视觉特性,包括例如字体类型、字体大小、下划线和大写。这只是一个示例,并且很多其他类型的视觉特性也是可能的。例如,视觉特性可以包括字体大小、字体家族、粗体、下划线、大写、斜体、字体颜色、背景颜色、集群和边界框。其他示例也是可能的。
文档中的每个元素具有一个或多个位置特性。位置特性是对文档中元素的位置的描述。例如,元素“F”在文档中可以具有坐标(x,y),并且该元素的位置特性就是该坐标。其他示例也是可能的。在各种实施例中,位置特性可以具有不同参考系。例如,元素的位置特性可以是元素的中心、围绕元素的框的左上角等。此外,位置特性可以包括可以与位置相关联的附加属性。例如,位置特性可以是坐标和大小,其中大小是坐标处的元素的大小(例如,元素边界框的像素大小)。无论采用何种实现,元素的位置特性都提供了一种用于在文档中在空间上定位元素的方法。
另外,在一些实施例中,元素的位置特性还可以包括元素的视觉坐标。视觉坐标表示元素的视觉边界,而不是它在文档中的绝对位置。例如,元素可以被文档中的大量空白包围。在这种情况下,元素的视觉坐标可以包括元素周围的一部分空白区域。以这种方式,当确定结构时,文档内元素的视觉坐标可以提供文档内元素的位置的更准确表示。
DIE系统120包括确定文档中元素之间的方向关系的邻接模块220。方向关系定义具有重叠位置特性的元素之间的邻接类型。例如,针对文档中的字符元素“TX”,“T”元素与“X”元素具有方向关系(反之亦然)。特别地,“X”元素对于“T”具有“右侧”方向关系,“T”元素对于“X”具有“左侧”方向关系。自然地,可以存在更多方向关系。例如,方向关系可以包括顶部、底部、左侧、右侧等。
邻接模块220通过比较其位置特性来确定两个元素之间的方向关系。如果位置特性是相邻和/或重叠,则相邻模块220确定适当的方向关系。参考前面的示例,“T”元素具有的位置特性为(1232,855,14,8),其中以像素为单位,1232是x坐标,855是y坐标,14是高度,8是宽度。“X”元素在同一坐标系中具有的位置特性为(1240,855,14,10)。这里,邻接模块220确定“X”元素在“T”元素右侧,因为“X”元素的x坐标与“T”元素重叠并且具有比“T”元素更高的x坐标。邻接模块220类似地确定“T”元素在“X”元素左侧。
注意,元素及其确定的方向关系可以包括除了字符之外的元素。例如,文档可以包括两个文本元素“GO”和“EARTHQUAKES”。在这种情况下,元素具有表示整个单词的位置坐标,并且邻接模块220确定单词“EARTHQUAKES”在“GO”右侧,并且单词“GO”在“EARTHQUAKES”左侧。邻接模块220还可以确定不同类型的元素之间的方向关系。例如,文档可以包括文本元素“LUVU”和作为心形表情符号的图像元素。在这种情况下,每个元素具有描述其在文档中的位置的位置坐标,并且邻接模块220可以确定两者之间的方向关系。
DIE系统包括基于元素的位置特性将元素分组为集群的聚类模块230。例如,文档包括一列文本元素,分别包括“BACON”、“LETTUCE”、“TOMATO”、“BREAD”和“MAYONAISE”。在该列中,前四个单词在随后的四行中,而单词“MAYONAISE”是在单词“BREAD”之后的五行。聚类模块230基于元素在文档中的位置对元素进行分组。为了说明,聚类模块230创建包括“BACON”的集群。聚类模块230检查文档中可以添加到集群的附近元素。这里,聚类模块230将“LETTUCE”添加到包括“BACON”的集群中,因为“LETTUCE”的位置特性指示“LETTUCE”元素小于距“BACON”元素的阈值最大距离。聚类模块230继续检查要添加到集群中的元素,直到在阈值距离内没有元素。在这种情况下,聚类模块230对单词“BACON”、“LETTUCE”、“TOMATO”和“BREAD”进行聚类,因为它们在彼此的阈值距离内。聚类模块230不包括元素“MAYONAISE”,因为它距聚类元素太远。
聚类模块230可以以多种方式生成集群。例如,如上所述,聚类模块230可以基于元素之间的垂直距离生成集群。然而,在其他实施例中,聚类模块230可以基于元素之间的水平距离、绝对接近度、相对接近度等来生成集群。更一般地,聚类模块230基于反映在其组成元素的位置特性中的文档的底层结构来生成集群。
比较器
DIE系统120包括主比较器240,主比较器240通过比较文档中元素的特性(例如,位置、视觉)来确定文档中元素之间的家族关系。元素之间的家族关系可以用于定义文档的层次结构。主比较器240比较文档,其中分割模块210已经将文档分割成元素,邻接模块220已经确定文档中元素之间的方向关系,并且聚类模块230已经聚类文档中的元素。
主比较器240比较两个元素(例如,第一元素和第二元素)以基于其一个或多个特性来确定家族关系。主比较器240可以确定元素之间的四种关系中的一种:父、子、兄弟和不相关。明晰关系:(i)如果在文档层次结构中第一元素在第二元素正上方,则第一元素是第二元素的父元素,(ii)如果在文档层次结构中第一元素在第二元素正下方,则第一元素是第二元素的子元素,(iii)如果在文档层次结构中第一元素和第二元素处于同一级别,则第一元素是第二元素的兄弟,以及(iv)如果在文档层次结构中第一元素和第二元素没有连接,则第一元素与第二元素不相关。当比较第一元素和第二元素时,主比较器240的输出可以是1、0或-1,以指示第一元素可以分别是第二元素的父元素、兄弟元素或不相关元素。在各种实施例中,家庭关系可以包括诸如孙子、曾祖父等元素之间的更多扩展关系。
主比较器240包括使得主比较器242能够确定元素之间的家族关系的比较器242。单元比较器242通过分析元素的单个特性来确定第一元素与第二元素之间的家族关系(例如,确定1、0、-1)。也就是说,单元比较器242比较一个特性,而主比较器240使用其组成单元比较器(例如,主比较器240的单元比较器242A、单元比较器242B和单元比较器242C)来比较若干特性。
由单元比较器242分析的特性可以是视觉和/或位置特性。例如,第一单元比较器242A可以比较第一元素与第二元素之间的字体大小以确定家族关系;第二单元比较器242B可以比较第一元素与第二元素之间的y坐标以确定家族关系;并且,第三单元比较器242C可以比较第一元素与第二元素之间的粗细。其他示例是可能的。
单元比较器242串联链接在一起以形成主比较器240。也就是说,主比较器240内的单元比较器242顺序地比较两个元素的特性以确定家族关系。为了说明,例如考虑包括五个单元比较器242的主比较器240。主比较器240使用第一单元比较器242比较两个元素的第一特性,使用第二单元比较器242比较元素的第二特性,使用第三单元比较器242等比较元素的第三特性。
在该架构中,当单元比较器242的结果为非零(例如,父或不相关关系被找到)时,主比较器240停止使用单元比较器242比较元素。如果单元比较器242返回非零结果,则主比较器240分配由最后调用的单元比较器242确定的两个元素之间的关系。为了说明,继续前面的示例,主比较器240通过顺序采用五个单元比较器242确定两个元素之间的家族关系,直到找到非零结果。在第一示例中,单元比较器242返回“0,0,0,0,0”,以指示两个元素是兄弟。在第二示例中,单位比较器242返回“0,0,0,-1”,以指示两个元素不相关。在第三示例中,单元比较器242返回“0,1”,以指示第一元素是第二元素的父元素。其他示例也是可能的。
由于这种架构,所选择的单元比较器242以及其在主比较器240中的顺序排列使得能够准确确定文档的结构。例如,主比较器240应当采用单元比较器242来比较最能指示家庭关系的视觉和/或位置特性。此外,文档中元素之间的比较顺序也有助于确定文档的结构。例如,可以以从左到右然后从上到下的读取顺序、按y坐标从下到上或一些其他顺序的标准来比较元素。DIE系统120的实现者可以根据需要配置主比较器240中的单元比较器242的序列。在各种实施例中,DIE系统120根据文档的类型、文档中的元素类型、应用空间等采用多种比较器、比较器序列和比较顺序。用于使用主比较器240确定文档结构的若干特定方法论在本文中被描述,而非旨在限制。更一般地,DIE系统120采用主比较器240中的单元比较器242序列来确定文档的结构。
示例:基于格式化的主比较器
在一个实施例中,DIE系统120可以采用被配置为基于文档中元素的格式化来确定家族关系(“格式化配置”)的主比较器240。在格式化配置中,主比较器240被配置为以自下而上的逐行方式确定父关系。更具体地,在一个实施例中,如果(i)两个元素之间的视觉坐标的水平重叠发生重叠并且(ii)第一元素对于第二元素具有上方的方向关系,则第一元素是第二元素的父元素。在这种配置中,如果第一行中的第一元素定义为第二行中的第二元素的子元素,则第一行中的所有元素被分配为第二行中的第二元素的子元素。此外,在一些配置中,主比较器240可以将第一元素的所有兄弟元素定义为第二元素的子元素。以这种方式,文档的结构主要地是基于逐行定义的。
在格式化配置中,主比较器240还可以采用其他比较器来基于其他特性来确定父关系。例如,主比较器240可以采用更可能基于格式(例如,字体大小、集群和粗细)来指示结构的单元比较器242。在一些配置中,主比较器240还可以采用不太可能基于格式来指示结构(例如,缩进、斜体、大写颜色、元素边界)的多个其他比较器。其他比较器也是可能的。
示例:基于索引的主比较器
在一个实施例中,DIE系统120可以采用主比较器240,该主比较器240被配置为基于文档中的索引元素(例如,项目符号、编号列表等)来确定家族关系(“索引配置”)。在索引配置中,主比较器240被配置为以从左到右、从上到下的方式确定父关系。这里,在一行中的其他元素之前的索引元素可以自动将父元素分配给具有该索引元素的行中的其他元素。
为了说明,考虑具有第一行读取“SCHEDULE”和在随后的几行中的包括“·WAKEUP”、“·BRUSH TEETH”、“·SHOWER”、“·GET DRESSED”和“·GO TO WORK”在内的项目符号列表的文档。DIE系统120采用主比较器240来确定第一行中的元素“SCHEDULE”是第二行中的元素“·WAKE UP”的父元素。DIE系统120将第二行中的索引元素“·”存储在索引高速缓存中,并且将该元素与(i)其父元素和(ii)其对应位置特性(例如,缩进)相关联。随着向前移动,主比较器240自动将包括具有适当位置特性(例如,缩进)的索引元素“·”的元素分配为与该索引元素相关联的父元素的子元素。以这种方式,元素“·BRUSH TEETH”、“·SHOWER”、“·GET DRESSED”和“·GO TO WORK”被分配为元素“SCHEDULE”的子元素。
在类似的示例中,考虑具有第一行读取“FAMILY SCHEUDLE”和包括“1.DANSCHEDULE”和“2.CHRIS SCHEDULE”在内的编号列表的文档。每个编号列表包括与上述列表类似的项目符号列表。在该示例中,父元素是“FAMILY SCHEDULE”,其子元素是“DADSCHEDULE”和“CHRIS SCHEDULE”。每个子元素“DAD SCHEDULE”和“CHRIS SCHEDULE”都具有子元素,这些子元素是其对应项目符号列表中的元素。
DIE系统120可以使用索引高速缓存和索引元素位置特性来跟踪单个文档内的若干索引元素。此外,每当新的索引元素被找到时,DIE系统120可以删除索引元素的任何先前条目,因为可能只需要最近的索引条目来为后续索引分配家族关系。
示例:水平父元素的主比较器
先前的两个示例说明了其中DIE系统120从垂直关联中标识父元素和子元素的配置(例如,父元素在子元素上方)。但是,在一些文档中,父元素可以与子元素在同一行中。在这种情况下,DIE系统120可以采用被配置为确定水平家族关系(“水平配置”)的主比较器240。
在水平配置中,DIE系统120采用主比较器240使用先前描述的配置(例如,索引、格式化)以垂直方式确定家族关系。然而,这里,DIE系统120采用也比较文档中相同水平位置的元素的主比较器240。主比较器240可以以与垂直方式类似的方式以水平方式进行比较。也就是说,如果第一元素对于第二元素具有左向关系,并且第二元素满足满足父子关系所必需的任何其他比较(例如,粗体、缩进等),则第一元素定义为第二元素的父元素。在水平配置的一些示例中,主比较器240也可以采用类似于索引配置的元素。例如,如果元素包括键值分隔符(例如,冒号),则主比较器240可以定义在键值分隔符之后的元素是包括键值分隔符的元素的子元素。其他类似示例也是可能的。
在水平配置中,DIE系统120还可以采用主比较器240来确定在垂直方向上先前分配的父元素是否也是水平标识的元素的父元素。为此,主比较器240可以使用元素位置特性来确定位于垂直方向上的父元素。
示例:用于多行父元素的主比较器
前面的示例说明了其中DIE系统120从垂直和/或水平关联中标识父元素和子元素的配置。然而,在一些文档中,父元素可以跨多行分布,并且DIE系统120仍然可以标识这些多行父元素(“共同父元素”)。
为了标识共同父元素,DIE系统120采用主比较器240来比较相邻元素。这里,DIE系统120采用主比较器240将父元素与与父元素具有上方方向关系或下方方向关系的相邻元素进行比较以确定它们是否是相邻父元素。当(i)潜在的共同父元素没有任何子元素,(ii)共同父元素具有相同父元素,(iii)共同父元素被层次比较器标识为兄弟元素时,主比较器240将相邻父元素标识为共同父元素。
父元素验证
DIE系统120包括验证由主比较器240确定的家庭关系的验证模块250。为了验证家庭关系,验证模块250通过采用如本文中描述的主比较器240比较具有孙子和祖父关系的第一元素和第二元素。也就是说,验证模块250采用主比较器240来比较孙子元素与祖父元素。
将孙子元素与祖父元素进行比较允许DIE系统120找到需要更多上下文的父母关系。为了说明,例如考虑包括若干节的章的文档,并且每个节包括对应的子节。每个节中的文本是正常的,而每个子节中的文本是斜体的。根据配置,DIE系统120可以在向下(或向上)移动文档时将交替格式标识为父元素、子元素、孙子元素、曾孙子元素等。为了验证关系,验证模块250使用主比较器240将孙子元素与祖父元素进行比较。如果主比较器240确定这两个元素是兄弟(例如,主比较器240返回“0”),则家族关系被相应更新。例如,使用前面的示例,验证模块250将确保每个节是它们的子节的父元素,每个节是兄弟元素,章是节的父元素,并且章是子节的祖父元素。
应用
DIE系统120包括生成文档的结构的可视化的可视化模块260。同样,文档的结构是文档中信息的层次结构,并且可以由主比较器240确定的家族关系表示。因此,可视化创建了文档内信息的易于理解的表示结构。
作为示例,可视化模块260生成文档树以表示从用户接收的文档的结构。文档树在结构上类似于家谱,其中父母、孩子、孙子、祖父等之间的各种联系表示为层次树。DIE系统120创建将结构表示为文档树的可视化并且将文档树提供给用户。文档树允许用户查看文档的结构。
文档树也可以表示为与文档相关联的数据结构或元数据,而不是可视化。其他可视化也是可能的。例如,可视化模块260可以生成可折叠列表、大纲或某种其他可视化以表示文档的结构。可视化可以被提供给向DIE系统120传输文档的人、或某个其他人。
DIE系统120可以响应于从客户端系统110接收的请求而生成可视化。该请求可以包括根据任何合适的标准(特性类型、集群、比较器配置等)生成可视化的请求。一旦生成,可视化可以被传输到请求客户端系统110。
DIE系统120包括基于文档的结构从文档中提取信息的提取模块270。例如,DIE系统120的用户可以请求文档中的特定层次级别处包括的所有信息(例如,节标题),并且提取模块270可以提供该信息作为响应。在另一示例中,DIE系统120可以请求文档中特定元素的视觉特性,并且提取模块270可以访问并且提供这些特性作为响应。提取模块270可以使用所提取的信息来填充结构的可视化(例如,文档树)。
提取模块270还可以在从文档中提取信息时执行命名实体链接(NEL)。在实体链接中,感兴趣的单词(例如,人名、位置、组织等)从文本映射到目标知识库中的对应实体。感兴趣的单词被称为命名实体(NE),并且这里,命名实体可以是任何元素或元素的一部分。用于命名链接的目标知识库可以基于DIE系统120的用户、文档的类型、或适用于DIE系统120的任何其他目标知识库。作为示例,文档中的父元素可以是“DAN'S BOWNIE HEAVEN,LTD.”,子元素可以是“EMPLOYEES”,孙子元素可以是“CHRIS”和“DAN”。在该示例中,提取模块270可以认识到父元素是“组织”,子元素是“角色”,孙子元素是“人”。包括NEL的提取模块270可以为文档的结构提供附加上下文。
示例实现
图3示出了根据一个示例实施例的用于使用文档信息提取系统从文档中提取信息的处理流程。该处理流程可以在类似于图1中描述的环境的环境中实现。但可以在不同环境中实现。该过程包括用于从文档中提取信息的若干步骤,但是在各种其他实施例中,该过程可以包括更多的或更少的步骤。此外,这些步骤可以以任何顺序发生,并且任何步骤可以根据需要进行重复。
客户端系统(例如,客户端系统110)正在执行DIE系统(例如,DIE系统120)。客户端系统经由网络(例如,网络130)接收文档。客户端系统将文档输入到DIE系统中,并且DIE系统生成表示文档的结构的文档树作为响应。
为了生成文档树,DIE系统采用分割模块(例如,分割模块210)将文档分割成其组成元素。每个元素具有一个或多个位置特性和/或一个或多个视觉特性。DIE系统采用邻接模块(例如,邻接模块220)来确定每个元素之间的方向关系。例如,邻接模块可以确定哪些元素在文档中的其他元素“左侧”、“右侧”、“上方”或“下方”。DIE系统可以采用聚类模块(例如,聚类模块230)来生成集群。集群是具有相似特性的元素组。
DIE系统确定文档中的元素之间的家族关系。为了确定家族关系,DIE系统向文档中的元素应用320主比较器(例如,主比较器240)。主比较器包括单元比较器(例如,单元比较器242A、242B、242C)的有序序列,其中每个单元比较器比较元素之间的单个特性(例如,视觉、位置)。所确定的家族关系表示元素中固有的文档结构。
DIE系统采用可视化模块基于所确定的家族关系来生成330表示结构的文档树。文档树是文档中元素之间的家族关系的连通性的可视化表示。
计算机系统
图4示出了根据一个示例实施例的表示计算机系统的框图。具体地,图4以计算机系统400的示例形式示出了DIE系统120和客户端设备110的图解表示。计算机系统400可以用于执行指令424(例如,程序代码或软件)以使得机器执行本文中描述的方法(或过程)中的任何一个或多个。在备选实施例中,机器作为独立设备或连接到其他机器的连接(例如,联网)设备操作。在网络部署中,机器可以在服务器客户端系统环境(例如,环境100)中以服务器机器或客户端机器的身份操作,或者在对等(或分布式)系统环境中作为对等机器操作。
机器可以是服务器计算机、客户端计算机、个人计算机(PC)、平板PC、机顶盒(STB)、智能手机、物联网(IoT)设备、网络路由器、开关或电桥,或能够执行指令424(顺序地或以其他方式)的任何机器,该指令424指定该机器要采取的动作。此外,虽然仅示出了单个机器,但术语“机器”也应当被理解为包括个体或联合执行指令424以执行本文中讨论的方法中的任何一个或多个的任何机器集合。
示例计算机系统400包括一个或多个处理单元(通常是处理器402)。处理器402例如是中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、控制器、状态机、一个或多个专用集成电路(ASIC)、一个或多个射频集成电路(RFIC)、或这些的任何组合。计算机系统400还包括主存储器404。计算机系统可以包括存储单元416。处理器402、存储器404和存储单元416经由总线408通信。
此外,计算机系统400可以包括静态存储器406、图形显示器410(例如,用于驱动等离子体显示面板(PDP)、液晶显示器(LCD)或投影仪)。计算机系统400还可以包括字母数字输入设备412(例如,键盘)、光标控制设备414(例如,鼠标、轨迹球、操纵杆、运动传感器或其他指示工具)、信号生成设备418(例如,扬声器)和网络接口设备420,它们也被配置为经由总线408通信。
存储单元416包括其上存储有体现本文中描述的方法或功能中的任何一个或多个的指令424(例如,软件)的机器可读介质422。例如,指令424可以包括图1中描述的系统130的模块的功能。指令424还可以在由也构成机器可读介质的计算机系统400、主存储器404和处理器402执行期间完全或至少部分驻留在主存储器404或处理器402内(例如,在处理器的高速缓冲存储器内)。指令424可以经由网络接口设备420通过网络426(例如,网络130)传输或接收。
虽然机器可读介质422在示例实施例中被示出为单个介质,但术语“机器可读介质”应当被理解为包括能够存储指令424的单个介质或多个介质(例如,集中式或分布式数据库、或相关联的高速缓存和服务器)。术语“机器可读介质”还应当理解为包括能够存储指令424以供机器执行并且引起机器执行本文中公开的方法中的任何一个或多个的任何介质。术语“机器可读介质”包括但不限于固态存储器、光学介质和磁介质形式的数据存储库。
其他注意事项
已经出于说明的目的呈现了本公开的实施例的前述描述;但是它并非旨在详尽无遗或将公开内容限制为公开的精确形式。相关领域的技术人员可以理解,鉴于上述公开内容,很多修改和变化是可能的。
本说明书的一些部分根据算法和对信息的操作的符号表示来描述本公开的实施例。这些算法描述和表示通常被数据处理领域的技术人员用来将他们工作的实质有效地传达给本领域的其他技术人员。这些操作虽然在功能上、计算上或逻辑上进行了描述,但被理解为通过计算机程序或等效电路、微代码等来实现。此外,在不失一般性的情况下,有时将这些操作布置称为模块也被证明是方便的。所描述的操作及其相关模块可以体现在软件、固件、硬件或其任何组合中。
本文中描述的任何步骤、操作或过程可以单独或与其他设备结合使用一个或多个硬件或软件模块来执行或实现。在一个实施例中,软件模块用计算机程序产品实现,该计算机程序产品包括包含计算机程序代码的计算机可读介质,该计算机程序代码可以由计算机处理器执行以执行所描述的步骤、操作或过程中的任何一个或全部。
本公开的实施例还可以涉及一种用于执行本文中的操作的装置。该装置可以为所需要的目的而专门构造,和/或它可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算设备。这样的计算机程序可以存储在有形的计算机可读存储介质或适合存储电子指令并且耦合到计算机系统总线的任何类型的介质中。此外,本说明书中提及的任何计算系统可以包括单个处理器或者可以是采用多个处理器设计以增加计算能力的架构。
本公开的实施例还可以涉及体现在载波中的计算机数据信号,其中计算机数据信号包括计算机程序产品或本文中描述的其他数据组合的任何实施例。计算机数据信号是在有形介质或载波中呈现并且在载波中调制或以其他方式编码的产品,该载波是有形的,并且根据任何合适的传输方法传输。
最后,在说明书中使用的语言主要是为了可读性和指导目的而选择的,并且可能不是为了描述或限制本发明的主题而选择的。因此,本公开的范围旨在不受该详细描述的限制,而是受在基于此的申请上发布的任何权利要求限制。因此,本公开的实施例的公开旨在说明而非限制本发明的范围。

Claims (20)

1.一种用于确定电子文档的层次结构的计算机实现的方法,所述方法包括:
将所述文档分割成多个元素,所述多个元素总体上包括所述层次结构,并且每个元素具有一个或多个视觉特性和一个或多个位置特性;
将包括一组单元比较器的主比较器应用于所述多个元素以确定所述文档的所述层次结构,所述主比较器通过以下操作确定所述层次结构:
针对所述文档中的每一对元素,以有序序列应用所述一组单元比较器,以使用至少所述一对元素的所述视觉特性或所述位置特性来确定所述一对元素之间的家族关系,以及
其中所述多个元素之间的所述家族关系标识所述文档的所述层次结构;以及
生成表示所述文档的所述层次结构的文档层次树,所述文档层次树是所述多个元素之间的所述家族关系的可视化。
2.根据权利要求1所述的方法,还包括:
针对每个元素,确定所述元素的多个方向关系,所述方向关系定义所述元素与所述文档中的任何相邻元素之间的邻接类型,以及
其中所述主比较器基于所述方向关系比较元素对。
3.根据权利要求2所述的方法,其中所述家族关系还基于元素之间的所述方向关系。
4.根据权利要求1所述的方法,其中所述一组单元比较器的组中的每个单元比较器比较不同视觉特性。
5.根据权利要求1所述的方法,其中所述一组单元比较器的每个单元比较器比较不同位置特性。
6.根据权利要求1所述的方法,其中确定所述层次结构还包括:
确定所述文档中的所述多个元素的格式化结构,以及
其中层次结构基于所述格式化结构。
7.根据权利要求1所述的方法,其中确定所述层次结构还包括:
确定所述文档中的所述多个元素的索引结构,以及
其中层次结构基于所述索引结构。
8.根据权利要求1所述的方法,其中所述文档的所述层次结构包括多个家族关系,并且所述多个家族关系包括多个父关系、多个子关系和多个兄弟关系。
9.根据权利要求8所述的方法,其中:
所述文档包括第一元素和第二元素,
所述第一元素与所述第二元素之间的父关系定义所述第一元素在所述文档的所述层次结构中具有比所述第二元素更高级别的层次,
所述第一元素与所述第二元素之间的子关系定义所述第一元素在所述文档的所述层次结构中具有比所述第二元素更低级别的层次,以及
所述第一元素与所述第二元素之间的兄弟关系定义所述第一元素和所述第二元素在所述文档的所述层次结构中具有相同级别的层次。
10.根据权利要求1所述的方法,还包括:
通过将所述主比较器应用于在所述文档的所述层次结构中具有祖父和孙子关系的元素对,来验证所述多个元素之间的所述家族关系。
11.根据权利要求1所述的方法,还包括:
从远程客户端系统接收生成所述可视化的请求;以及
向所述远程客户端系统传输所述可视化。
12.根据权利要求1所述的方法,其中所述请求包括所述主比较器的所述一组单元比较器的配置。
13.一种非暂态计算机可读存储介质,包括用于确定电子文档的层次结构的计算机指令,所述计算机指令在由处理器执行时,使得所述处理器:
将所述文档分割成多个元素,所述多个元素总体上包括所述层次结构,并且每个元素具有一个或多个视觉特性和一个或多个位置特性;
将包括一组单元比较器的主比较器应用于所述多个元素以确定所述文档的所述层次结构,所述主比较器通过以下操作确定所述层次结构:
针对所述文档中的每一对元素,以有序序列应用所述一组单元比较器,以使用至少所述一对元素的所述视觉特性或所述位置特性来确定所述一对元素之间的家族关系,以及
其中所述多个元素之间的所述家族关系标识所述文档的所述层次结构;以及
生成表示所述文档的所述层次结构的文档层次树,所述文档层次树是所述多个元素之间的所述家族关系的可视化。
14.根据权利要求13所述的非暂态计算机可读存储介质,其中所述计算机指令在由所述处理器执行时,还使得所述处理器:
针对每个元素,确定所述元素的多个方向关系,所述方向关系定义所述元素与所述文档中的任何相邻元素之间的邻接类型,以及
其中所述主比较器基于所述方向关系比较元素对。
15.根据权利要求13所述的非暂态计算机可读存储介质,其中所述家族关系还基于元素之间的所述方向关系。
16.根据权利要求13所述的非暂态计算机可读存储介质,其中所述一组单元比较器的组中的每个单元比较器比较不同视觉特性。
17.根据权利要求13所述的非暂态计算机可读存储介质,其中所述一组单元比较器的每个单元比较器比较不同位置特性。
18.根据权利要求13所述的非暂态计算机可读存储介质,其中所述文档的所述层次结构包括多个家族关系,并且所述多个家族关系包括多个父关系、多个子关系和多个兄弟关系。
19.根据权利要求13所述的非暂态计算机可读存储介质,其中:
所述文档包括第一元素和第二元素,
所述第一元素与所述第二元素之间的父关系定义所述第一元素在所述文档的所述层次结构中具有比所述第二元素更高级别的层次,
所述第一元素与所述第二元素之间的子关系定义所述第一元素在所述文档的所述层次结构中具有比所述第二元素更低级别的层次,以及
所述第一元素与所述第二元素之间的兄弟关系定义所述第一元素和所述第二元素在所述文档的所述层次结构中具有相同级别的层次。
20.一种用于确定电子文档的层次结构的系统,所述系统包括:
计算机处理器,用于执行计算机程序指令;以及
非暂态计算机可读介质,存储计算机程序指令,所述计算机程序指令由所述计算机处理器可执行以执行操作,所述操作包括:
将所述文档分割成多个元素,所述多个元素总体上包括所述层次结构,并且每个元素具有一个或多个视觉特性和一个或多个位置特性;
将包括一组单元比较器的主比较器应用于所述多个元素以确定所述文档的所述层次结构,所述主比较器通过以下操作确定所述层次结构:
针对所述文档中的每一对元素,以有序序列应用所述一组单元比较器,以使用至少所述一对元素的所述视觉特性或所述位置特性来确定所述一对元素之间的家族关系,以及
其中所述多个元素之间的所述家族关系标识所述文档的所述层次结构;以及
生成表示所述文档的所述层次结构的文档层次树,所述文档层次树是所述多个元素之间的所述家族关系的可视化。
CN202180020493.3A 2020-01-13 2021-01-12 使用序列比较器的文档信息提取系统 Pending CN115244538A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/740,754 2020-01-13
US16/740,754 US11657101B2 (en) 2020-01-13 2020-01-13 Document information extraction system using sequenced comparators
PCT/IB2021/050179 WO2021144683A1 (en) 2020-01-13 2021-01-12 Document information extraction system using sequenced comparators

Publications (1)

Publication Number Publication Date
CN115244538A true CN115244538A (zh) 2022-10-25

Family

ID=76760573

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180020493.3A Pending CN115244538A (zh) 2020-01-13 2021-01-12 使用序列比较器的文档信息提取系统

Country Status (5)

Country Link
US (2) US11657101B2 (zh)
EP (1) EP4091088A4 (zh)
JP (1) JP2023509996A (zh)
CN (1) CN115244538A (zh)
WO (1) WO2021144683A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210350006A1 (en) * 2020-05-08 2021-11-11 NortonLifeLock Inc. Systems and methods for identifying software vulnerabilities in embedded device firmware
US11645462B2 (en) 2021-08-13 2023-05-09 Pricewaterhousecoopers Llp Continuous machine learning method and system for information extraction
US11443102B1 (en) * 2021-08-13 2022-09-13 Pricewaterhousecoopers Llp Methods and systems for artificial intelligence-assisted document annotation
US11657078B2 (en) * 2021-10-14 2023-05-23 Fmr Llc Automatic identification of document sections to generate a searchable data structure
US11615231B1 (en) * 2022-02-15 2023-03-28 Atlassian Pty Ltd. System for generating outline navigational interface for native mobile browser applications

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702641B2 (en) * 2001-06-04 2010-04-20 Oracle America, Inc. Method and system for comparing and updating file trees
US6889226B2 (en) * 2001-11-30 2005-05-03 Microsoft Corporation System and method for relational representation of hierarchical data
CN101055578A (zh) * 2006-04-12 2007-10-17 龙搜(北京)科技有限公司 基于规则的文档内容挖掘器
US8935249B2 (en) 2007-06-26 2015-01-13 Oracle Otc Subsidiary Llc Visualization of concepts within a collection of information
US7890438B2 (en) * 2007-12-12 2011-02-15 Xerox Corporation Stacked generalization learning for document annotation
US8539342B1 (en) * 2008-10-16 2013-09-17 Adobe Systems Incorporated Read-order inference via content sorting
US7996435B2 (en) * 2008-12-01 2011-08-09 Sap Ag Apparatus and method for comparing computer documents using tree structures
US8352855B2 (en) * 2009-01-02 2013-01-08 Apple Inc. Selection of text in an unstructured document
US20120072824A1 (en) 2010-09-20 2012-03-22 Research In Motion Limited Content acquisition documents, methods, and systems
US8543911B2 (en) * 2011-01-18 2013-09-24 Apple Inc. Ordering document content based on reading flow
US20140149132A1 (en) 2012-11-27 2014-05-29 Jan DeHaan Adaptive medical documentation and document management
US9817804B2 (en) * 2013-09-12 2017-11-14 Wix.Com Ltd. System for comparison and merging of versions in edited websites and interactive applications
US20170364483A9 (en) * 2014-09-09 2017-12-21 Intentional Software Corporation Generating visual layout nodes to fill a display area based on an anchor point
US10565444B2 (en) * 2017-09-07 2020-02-18 International Business Machines Corporation Using visual features to identify document sections

Also Published As

Publication number Publication date
EP4091088A1 (en) 2022-11-23
JP2023509996A (ja) 2023-03-10
WO2021144683A1 (en) 2021-07-22
US11657101B2 (en) 2023-05-23
EP4091088A4 (en) 2024-01-17
US20210216595A1 (en) 2021-07-15
US20230267154A1 (en) 2023-08-24

Similar Documents

Publication Publication Date Title
CN115244538A (zh) 使用序列比较器的文档信息提取系统
US20210064674A1 (en) Determining functional and descriptive elements of application images for intelligent screen automation
US10409895B2 (en) Optimizing a document based on dynamically updating content
US9697423B1 (en) Identifying the lines of a table
US9990347B2 (en) Borderless table detection engine
JP3302147B2 (ja) 文書画像処理方法
US9965444B2 (en) Vector graphics classification engine
US9842251B2 (en) Bulleted lists
US8756216B1 (en) Scalable tree builds for content descriptor search
US20180322697A1 (en) Three-dimensional point-in-polygon operation to facilitate visualizing 3d locations enclosed by 3d geometric regions
US10691936B2 (en) Column inferencer based on generated border pieces and column borders
US8352483B1 (en) Scalable tree-based search of content descriptors
US20200387553A1 (en) Digitization of technical documentation driven by machine learning
US11816188B2 (en) Weakly supervised one-shot image segmentation
CN106649805B (zh) 一种高效的Web应用跨浏览器布局兼容性检测系统及方法
KR20210125955A (ko) 정보 처리 방법, 정보 처리 장치, 전자 기기 및 저장 매체
US9898683B2 (en) Robust method for tracing lines of table
EP3853761A1 (en) Converting an image into a structured table
US20170132484A1 (en) Two Step Mathematical Expression Search
CN111144300B (zh) 一种基于图像识别的pdf表格结构识别方法
Xiang et al. Effective page segmentation combining pattern analysis and visual separators for browsing on small screens
KR20220149028A (ko) 이미지 기반 테이블 정보 생성 방법
KR20140137254A (ko) 문자 인식을 이용한 위치 정보 제공 단말, 서버, 시스템 및 방법
CN110766003A (zh) 一种基于卷积神经网络的片段和链接的场景文字的检测方法
CN114143109B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40082208

Country of ref document: HK