CN114358000A - 从非结构化文档提取结构化信息 - Google Patents
从非结构化文档提取结构化信息 Download PDFInfo
- Publication number
- CN114358000A CN114358000A CN202111195230.4A CN202111195230A CN114358000A CN 114358000 A CN114358000 A CN 114358000A CN 202111195230 A CN202111195230 A CN 202111195230A CN 114358000 A CN114358000 A CN 114358000A
- Authority
- CN
- China
- Prior art keywords
- program instructions
- computer
- analysis module
- unstructured document
- business
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/105—Human resources
-
- 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/221—Column-oriented storage; 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/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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/313—Selection or weighting of terms for indexing
-
- 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/93—Document management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
Abstract
本发明的实施例提供了方法、计算机程序产品和系统。本发明的实施例可以提取结构化信息以用于非结构化文档分析。本发明的实施例可以通过识别数据库中的与业务术语表的业务术语相对应的表和列来提取结构化信息以用于非结构化文档分析。然后,本发明的实施例可以接收用于在非结构化文档中识别的感兴趣业务术语的指定。然后,本发明的实施例可以基于所识别的表和列来生成分析模块,该分析模块使得能够识别或辨认表和列的属性的属性值。然后,本发明的实施例可以基于感兴趣业务术语的指定,使用分析模块以从非结构化文档自动提取至少部分属性的值。
Description
技术领域
本发明涉及数字计算机系统领域,更具体地,涉及一种用于从非结构 化文档提取结构化信息的方法。
背景技术
用于数据分析的非结构化文档的数量呈指数增长。然而,非结构化文 档可能不以简单的方式被查询,这相当大地限制了对包含在这样的文档中 的知识的提取。
发明内容
各种实施例提供了如独立权利要求的主题所述的用于从非结构化文档 提取结构化信息的方法、计算机系统和计算机程序产品。在从属权利要求 中描述了有利的实施例。如果本发明的实施例不是相互排斥的,则它们可 以彼此自由地组合。
在一个方面,本发明涉及一种用于提取结构化信息以用于非结构化文 档分析的计算机实现的方法。该方法包括:识别数据库中的与业务术语表 的业务术语相对应的表和列;接收用于在非结构化文档中识别的感兴趣业 务术语的指定;基于所识别的表和列来生成分析模块,所述分析模块使得 能够识别或辨认表和列的属性的属性值;以及基于感兴趣业务术语的指定, 使用分析模块以从非结构化文档自动提取/检测属性的至少一部分的值。
在另一方面,本发明涉及一种计算机程序产品,其包括具有计算机可 读程序代码的计算机可读存储介质,该计算机可读程序代码被配置为实现 根据前述实施例的方法的所有步骤。
在另一方面,本发明涉及一种计算机系统,其被配置用于:识别数据 库中的与业务术语表的业务术语相对应的表和列;接收用于在非结构化文 档中识别的感兴趣业务术语的指定;基于所识别的表和列来生成分析模块, 所述分析模块使得能够识别或辨认表和列的属性的属性值;以及基于感兴 趣业务术语的指定,使用分析模块以从非结构化文档自动提取/检测属性的 至少一部分的值。
本主题可以使得能够使用计算机实现的方法来从非结构化文档提取结 构化信息。这可以实现将来自非结构化文档的相关信息自动发现为结构化 信息。这可以使结构化信息及时可用于诸如数据科学家的用户。本主题可 以节省执行从非结构化文档特别提取结构化信息会另外所需的资源。这可 以是特别有利的,因为待被分析的非结构化文档的数量不断增加。
附图说明
下面仅通过示例,参考附图更详细地解释本发明的实施例,其中:
图1是根据本发明的实施例的计算机系统的框图。
图2是根据本发明的实施例的用于从非结构化文档提取结构化信息的 方法的流程图。
图3是根据本发明的实施例的用于从非结构化文档提取结构化信息的 方法的流程图。
图4是根据本发明的实施例的用于从非结构化文档提取结构化信息的 方法的流程图。
图5表示根据本发明的实施例的适于实现一个或多个方法步骤的计算 机化系统。
具体实施方式
本发明的各种实施例的描述将被呈现以用于说明的目的,但并不旨在 是穷尽的或限于所公开的实施例。在不背离所描述的实施例的范围和精神 的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。 选择本文使用的术语以最好地解释实施例的原理、实际应用或对市场上已 有技术的改进,或使本领域的普通技术人员能够理解本文所公开的实施例。
业务术语表可以包括具有定义的业务术语的列表。业务术语表定义整 个业务域的术语。例如,业务术语表定义用于组织或行业的业务概念。业 务术语表可以使得能够在组织内共享内部词汇表。
与结构化文档相比,非结构化文档可以包括不具有预定义数据模型或 者未以预定义方式组织的非结构化信息。与以字段形式被存储在数据库中 或者在结构化文档的文档中被注释的数据相比,这可能使得难以使用程序 来理解这样的文档。非结构化文档可以例如是电子文档。电子文档可以是 旨在以电子形式或者作为打印输出来使用的电子媒体内容。电子文档可以 包括例如网页、嵌入在网页中并可在网页中呈现的文档、电子表格、电子 邮件、书籍、图片、以及演示,其具有相关联的用户代理,诸如文档阅读 器、编辑器或媒体播放器。
分析模块可以例如是软件模块。分析模块可以包括用于所识别的表和 /或列的每个属性的对应逻辑或软件,该逻辑或软件使得能够将值识别为是 否是所述属性的值。所识别的表格和/或列可以包括一个或多个记录集合, 其中记录集合中的每个记录集合表示相应的不同实体类型,例如一个记录 集合可以与公司相关联,另一个记录集合可以与客户相关联等。分析模块 可以例如被配置为确定非结构化文档中的由给定属性值表示的实体类型。 可以通过将所提取的至少部分属性的值组织为与相应的实体类型相关联的 记录,将所提取的至少部分属性的值提供为结构化信息。
识别数据库中的与业务术语表的业务术语相对应的表和/或列包括:对 于业务术语表的每个业务术语,识别与该业务术语对应的至少一列和/或至 少一个表。例如,如果业务术语是“地址”并且数据库包括由“街道”、 “邮政编码”和“城市”列组成的表“地址”,则整个表可以被识别为与 业务术语“地址”相对应。在这种情况下,属性“街道”、“邮政编码” 和“城市”是与业务术语“地址”对应的所识别的属性。在另一示例中, 如果业务术语是“公司”并且数据库包括由“姓名”、“年龄”和“雇用 公司”列组成的表“雇员”,则列“雇用公司”可被识别为与业务术语“公 司”相对应。如果数据库还包括具有列“公司名称”、“位置”等的命名为“公司”的表,则列“公司名称”可以进一步与业务术语“公司”相关 联。在这种情况下,两列被识别为与业务术语“公司”相关联,并且与业 务术语“公司”对应的所识别的属性是属性“雇用公司”和“公司名称”。 这两个属性“雇用公司”和“公司名称”的值可(共同)被用于生成分析 模块,以使得它可确定值是否是“雇用公司”和“公司名称”属性中的至 少一个的属性值。因此,识别数据库中的与业务术语表的业务术语对应的 表和/或列包括识别数据库中的与业务术语对应的属性。
根据一个实施例,识别表和/或列包括:对于业务术语中的每个术语, 基于该业务术语的格式和/或内容而确定识别逻辑,以及在数据库上运行识 别逻辑以识别表和/或列。识别逻辑可以例如包括可用于将某一字符串检测 为产品标识符的正则表达式。
根据一个实施例,生成分析模块包括使用所识别的表和/或列的属性值 来构建业务术语的词典,其中使用分析模块以提取结构化信息包括将非结 构化文档的内容与词典进行比较。词典可以例如提供与业务术语表的每个 术语相关联的属性值作为该术语的详细信息。
根据一个实施例,生成分析模块包括基于所识别的表和/或列的属性值 的内容和/或格式来构建逻辑,以使得该逻辑可以识别与属性值相似的值。 分析模块包括该逻辑。分析模块可以例如自动地生成。
例如,可以执行所识别的表和/或列的每个属性类型的属性值的数据剖 析。数据剖析可以例如包括格式分析和/或数据特性分析。属性类型的值的 格式分析可以创建用于该属性类型的值的格式表达式。格式表达式可以是 包含针对列中的每个不同字符的字符符号的模式。数据特性分析可以确定 属性值的数据特性。数据特性定义数据的特征,诸如字段长度或数据类型。 数据剖析的结果可用于生成逻辑,例如,可基于数据剖析的结果来构建正 则表达式。
在一个示例中,分析模块可以包括词典和逻辑,并且两者(词典和逻 辑)都可用于从非结构化文档自动提取所识别的表和/或列的属性的值作为 结构化信息。
根据一个实施例,该方法还包括:基于数据库和/或业务术语表中的一 个或多个变化来更新分析模块,以及使用更新后的模块以从非结构化文档 和/或从另一个非结构化文档提取结构化信息来重复该方法。例如,响应于 检测到变化而自动地执行更新。数据频繁地改变,因此,创建和保持分析 实体对于非结构化内容是最新的可能在技术上是具有挑战性的。该实施例 可以向自动生成的分析模块提供自动更新。
根据一个实施例,如果变化的数量高于阈值,则执行更新。例如,如 果变化的数量高于阈值,则可以自动地执行更新。
根据一个实施例,提取结构化信息包括:识别非结构化文档中的与所 识别的表和/或列的属性值相对应的属性的值,以及根据所识别的表和/或 列的实体,从所述值形成与各实体相关联的记录。例如,可以将所提取的 信息作为表或关系表提供。
根据一个实施例,该方法还包括对另一非结构化文档重复该方法,其 中,在数据库中和在所形成的记录中执行表和/或列的识别。该实施例可以 实现基于先前处理的非结构化文档的自我改进系统。
根据一个实施例,分析模块可以是插件。该插件可以是将特定特征添 加到已有计算机程序上的软件组件。这可以实现定制具有本主题的已有程 序。
根据一个实施例,数据库是主数据管理(MDM)数据库。这可以实现 本主题与已有系统的无缝集成(例如利用它们的数据库)。
图1描绘了示例性计算机系统100。计算机系统100可以例如被配置 为执行主数据管理和/或数据仓储。计算机系统100包括数据集成系统101 和一个或多个客户端系统105或数据源106。客户端系统105可以包括计 算机系统。客户端系统105可以经由网络连接与数据集成系统101通信, 该网络连接包括例如无线局域网(WLAN)连接、WAN(广域网)连接、LAN(局域网)连接、互联网或其组合。数据集成系统101可以控制对中 央储存库103或数据库的访问(读和写访问等)。
被存储在中央储存库103中的数据记录可以具有一组属性109A-P(诸 如公司名称属性)的值。尽管按一些属性描述了本示例,但是可以使用更 多或更少的属性。
被存储在中央储存库103中的数据记录可以从客户端系统105接收, 并在被存储在中央储存库103中之前由数据集成系统101处理。所接收的 记录可以或者可以不具有同一组属性109A-P。例如,由数据集成系统101 从客户端系统105接收的数据记录可以不具有该组属性109A-P的所有值, 例如,数据记录可以具有该组属性109A-P的属性子集的值,并且可以不 具有剩余属性的值。换句话说,由客户端系统105提供的记录可以具有不 同的完整性。完整性是包括数据值的数据记录的属性数量与该组属性 109A-P中的属性总数的比率。另外,从客户端系统105接收的记录可以具 有与中央储存库103的存储记录的结构不同的结构。例如,客户端系统105 可以被配置为提供采用XML格式、JSON格式或能够将属性和对应的属 性值相关联的其它格式的记录。
在另一个示例中,数据集成系统101可以使用一个或多个ETL批处 理或经由超文本传输协议(HTTP)通信或经由其他类型的数据交换来从 客户端系统105导入中央储存库103的数据记录。
数据集成系统101可以被配置为从用户110接收请求以执行对非结构 化文档的特定分析。该请求可以例如指定用户110感兴趣的业务术语。例 如,根据本主题,数据集成系统101可以使用算法120来处理所存储的数 据记录107。
图2是根据本主题的示例的用于从非结构化文档提取结构化信息的方 法的流程图。为了解释的目的,图2中描述的方法可以在图1中图示的系 统中实现,但是不限于该实现。图2的方法可以例如由数据集成系统101 执行。
在步骤201中,可以提供业务术语表。业务术语表可以适用于数据管 理。业务术语表可以包括具有定义的业务术语的列表。业务术语表定义用 于组织或行业的业务概念。业务术语表可以使得能够在组织内共享内部词 汇表。
在步骤203中,可以识别数据库(诸如中央储存库103)中的与业务 术语表的业务术语相对应的存储记录107(例如,表和/或列)。识别表和 /或列导致识别所述表和/或列的记录。识别与每个业务术语相关联的表和/ 或列可以包括将业务术语映射到所述表和/或列。例如,业务术语表的每个 术语可以被映射到数据库中的对应表和/或列。可以例如使用软件(诸如 IBM Cloud Pak for Data)来执行该映射。与所述表和列相关联的记录可以 是步骤203的所识别的记录。每个所识别的记录可以与相应的实体相关联。 例如,对于诸如“地址”的指定术语,可以识别例如由包括“街道”、“邮 政编码”和“城市”列的列组成的被命名为“地址”的表。所识别的表“地 址”的所有记录可以是步骤203的所识别的记录,因为整个表与地址相关 的特征有关。所识别的表的每个记录可以具有一组一个或多个属性(诸如街道、邮政编码、城市等)的值。表的每个记录可以与相应的实体(其是 地址实体类型)相关联。在该示例中,步骤203可以导致将属性“街道”、 “邮政编码”和“城市”识别为与业务术语“地址”相关联。在另一示例 中,对于诸如“创业公司”的指定术语,中央储存库103中的被命名为“雇 用公司”的列或属性可被映射到所述术语。该列可以属于诸如被命名为“雇 员”的表。表“雇员”可以包括附加属性,诸如个人的姓名、个人的位置 等。表“雇员”的每个记录可以与相应的实体(其是个人)相关联。在这 种情况下,表“雇员”的所有记录可以是步骤203中的所识别的记录,其 中,所有记录中的每个记录可以包括一个属性值,该属性值是属性“雇用 公司”的值。也就是说,步骤203的所识别的记录可以具有表“雇员”中 的相应记录的属性“雇用公司”的值。在该示例中,步骤203可以导致将 属性“雇用公司”识别为与业务术语“公司”相关联。如果数据库还包括 具有列“公司名称”、“位置”等的被命名为“公司”的表,则列“公司 名称”可以进一步与业务术语“公司”相关联。表“公司”的每个记录可 以与相应的实体(其是公司)相关联。
然而,客户可能对与他们相关的特定信息感兴趣,例如产品名称、客 户名称、雇员姓名等。因此,在步骤205中,可以接收用于在非结构化文 档中识别的感兴趣业务术语的指定。业务术语的指定可以是例如从用户 110接收的业务术语的请求。例如,用户110可以对已经以书或其他非结 构化文档形式记载的公司感兴趣。指定业务术语可以是例如业务术语表的 术语。例如,可以响应于将非结构化文档加载到管理数据库中,接收非结 构化文档中的业务术语的指定。这可以例如使数据可及时对科学家可用。
在步骤207中,可以基于所识别的表和/或列的属性来生成分析模块。 所生成的分析模块可以使得能够识别或辨认所识别的记录的属性值。例如, 对于所识别的表和/或列的每个属性类型,分析模块可以包括使得能够识别 所述属性类型的值的逻辑或数据类。该逻辑可以例如是一段代码,其例如 包括正则表达式。分析模块可以被配置为读取输入值并确定输入值是否是 所识别的记录的属性类型之一的值。在所识别的属性是“雇用公司”的示 例之后,可以生成分析模块,以使得它可以确定值是否是属性“雇用公司” 的值。为此,所识别的列“雇用公司”的值可以被用于生成该模块。如果 数据库进一步包括被命名为“公司”的表,则可以使用(剖析)所识别的 列“雇用公司”和/或“公司名称”的值来生成该模块。
分析模块可以自动或半自动地生成。在一个第一模块生成示例中,可 以执行所识别的表/或列的每个属性类型的属性值的数据剖析。在一个示例 中,可以针对已在步骤203中被识别为与同一业务术语相关联的多于一个 属性类型的值执行剖析。数据剖析可以例如包括格式分析。属性类型的值 的格式分析可以创建用于该属性类型的值的格式表达式。格式表达式可以 是包含用于列中每个不同字符的字符符号的模式。例如,每个字母字符可具有字符符号A,数字字符可以具有字符符号9,格式表达式可以用于生 成识别这种模式的逻辑,例如,该逻辑可以被配置为将该模式与输入值进 行映射。在一个第二模块生成示例中,可以向用户提示所识别的表/或列的 一个或多个属性类型的值,或者向用户提示所述值的数据剖析结果,并且 作为响应,可以从用户接收所定义的逻辑,其中每一个所定义的逻辑可以 被配置为识别或辨认与相应的属性类型对应的值。因此,分析模块可以根 据第一模块生成示例和/或第二模块生成示例来生成。
在一个示例中,分析模块的生成可以在步骤205的接收指定之后执行。 这可以是有利的,因为它可以按需提供分析模块。例如,可以仅基于与所 指定的业务术语相关的所识别的表和/或列的属性类型来生成分析模块。这 可以节省生成用于所有属性类型的模块会另外所需的资源。在另一个示例 中,分析模块的生成可以预先执行,例如在步骤205之前。这可以防止针 对每个所接收的请求来创建模块,例如,单个所生成的模块可以用于多个 所接收的指定,诸如步骤205的所接收的指定。例如,在生成分析模块之 后,可以使用相同所生成的分析模块来将步骤205和209重复一次或多次, 以用于从相同或不同的非结构化文档提取结构化信息。
分析模块可以在步骤209中被用于基于感兴趣业务术语的指定来从非 结构化文档检测和提取信息。所检测和提取的信息可以是其值被分析模块 识别的属性类型的值。所检测和提取的信息可以被称为结构化信息。可以 将所检测和提取的信息以诸如表的结构化格式提供给用户。所提取的信息 可以包括属性值,其中每个属性值与一个或多个实体类型相关联。例如, 在所请求的业务术语是关于公司的情况下,非结构化文档中被识别为属性 “雇用公司”或“公司名称”的值可以与实体“个人”和“公司”实体相 关联。可以例如在步骤205接收指定和生成模块后例如自动地执行步骤209。 例如,可以解析非结构化文档,并且可以由分析模块处理每个解析值以确 定该值是否是所识别的表/或列的属性类型之一的值。该步骤可以例如导致 识别不同属性类型的多个值。这些多个值中的每个值可以表示相应的一个 或多个实体。例如,如果用户请求关于公司的信息,则分析模块可以搜索 与表的属性类型“雇用公司”对应的值,因为分析模块是基于“雇用公司” 属性的值而生成的。
图3是根据本主题的示例的用于从非结构化文档提取结构化信息的方 法的流程图。为了解释的目的,图3中描述的方法可以在图1中图示的系 统中实现,但是不限于该实现。图3的方法可以例如由数据集成系统101 执行。
在步骤301中,可以确定中央储存库103中的变化的数量是否超过预 定义阈值。变化可以例如由更新和/或插入操作引起。在中央储存库103中 的变化的数量未超过预定义阈值的情况下,可以重复步骤301,直到中央 储存库103中的变化的数量超过预定义阈值为止,或者直到重复次数达到 最大重复次数为止,因此,如果达到最大重复次数,则该方法可以结束。 在中央储存库103中的变化的数量超过预定义阈值的情况下,可以在步骤 303中使用变化了的中央储存库103来连续地更新分析模块。可以通过使 用更新的数据创建新的逻辑和/或更新分析模块的已有逻辑来执行分析模 块的更新。可以使用第一和第二模块生成示例中的至少一个来执行分析模 块的更新。在步骤305中,可以接收用于在非结构化文档中识别的感兴趣 业务术语的指定。例如,用户可以对已经以书或其他非结构化文档形式记 载的公司感兴趣。所指定的业务术语可以例如是业务术语表的术语。更新 后的分析模块可以在步骤307中(例如,如参考图2的步骤209所描述的) 被用于基于感兴趣业务术语的指定来从非结构化文档提取结构化信息。
图4是根据本主题的示例的用于从非结构化文档提取结构化信息的方 法的流程图。为了解释的目的,图4中描述的方法可以在图1中图示的系 统中实现,但不限于该实现。图4的方法可以例如由数据集成系统101执 行。
图4的步骤401到409分别是图2的步骤201到209。此外,图4包 括步骤401至409的重复,其中在每次重复中,步骤403识别数据库和在 前次执行步骤409中提取的结构化信息两者的表和/或列。步骤401至409 的重复可以例如被周期性地(例如每天)执行。在另一个示例中,可以执 行步骤401至409的重复,直到达到预定义的最大重复次数。图4的方法 可以能够实现使用数据库和非结构化文档两者随着时间改进的自我改进系 统。
图5表示适于实现如本公开所涉及的方法步骤的至少一部分的通用计 算机化系统600。
将理解,在此描述的方法是至少部分非交互的,并且通过诸如服务器 或嵌入式系统的计算机化系统来自动化。然而,在示例性实施例中,在此 描述的方法可以在(部分)交互系统中实现。这些方法进一步可在软件612、 622(包括固件)、硬件(处理器)605、或其组合中实现。在示例性实施 例中,在此描述的方法以软件实现为可执行程序,并且由专用或通用数字 计算机(诸如个人计算机、工作站、小型计算机、或大型计算机)执行。 因此,最通用的系统600包括通用计算机601。
在示例性实施例中,按照硬件架构,如图5所示,计算机601包括处 理器605、耦合到存储器控制器615的存储器(主存储器)610、以及经由 本地输入/输出控制器635通信地耦合的一个或多个输入和/或输出(I/O) 设备10(或外围设备)645。输入/输出控制器635可以是但不限于一个或 多个总线或其它有线或无线连接,如本领域已知的。输入/输出控制器635 可以具有附加元件(为了简单起见而被省略,诸如控制器、缓冲器(高速 缓存)、驱动器、中继器和接收器)以实现通信。进一步地,本地接口可 以包括地址、控制、和/或数据连接,以能够在上述组件之间实现适当的通 信。如在此所描述的,I/O设备10、645通常可以包括本领域已知的任何 通用加密卡或智能卡。
处理器605是用于执行(特别是存储在存储器610中的)软件的硬件 设备。处理器605可以是任何定制的或商业上可获得的处理器、中央处理 单元(CPU)、与计算机601相关联的若干处理器中的辅助处理器、基于 半导体的微处理器(采用微芯片或芯片组的形式)、或通常用于执行软件 指令的任何设备。
存储器610可以包括易失性存储元件(例如,随机存取存储器(RAM, 诸如DRAM、SRAM、SDRAM等))和非易失性存储元件(例如,ROM、 可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器 (EEPROM)、可编程只读存储器(PROM))中的任何一个或组合。注意,存储器610可以具有分布式架构,其中各种组件彼此远离,但是可以 由处理器605访问。
存储器610中的软件可以包括一个或多个单独的程序,每个程序包括 用于实现逻辑功能、特别是本发明的实施例中所涉及的功能的可执行指令 的有序列表。在图5的示例中,存储器610中的软件包括指令612,例如 用于管理数据库(诸如数据库管理系统)的指令。
存储器610中的软件通常还应包括合适的操作系统(OS)611。OS 611 实质上控制其他计算机程序的执行,例如用于实现在此描述的方法的可能 指令612(例如软件)。
本文描述的方法可以采用源程序、可执行程序(目标代码)、脚本、 或包括要被执行的指令集612的任何其他实体的形式。当源程序时,需要 通过编译器、汇编器、解释器(其可以或可以不被包括在存储器610内) 等来翻译程序,以便与OS 611一起正确地操作。此外,这些方法可以被写 为具有数据类和方法类的面向对象的编程语言、或者具有例程、子例程和 /或函数的过程编程语言。
在示例性实施例中,传统的键盘650和鼠标655可以耦合到输入/输出 控制器635。诸如I/O设备645的其他输出设备可以包括输入设备,例如 但不限于打印机、扫描仪、麦克风等。最后,I/O设备10、645可以进一步 包括与输入和输出都通信的设备,例如但不限于网络接口卡(NIC)或调 制器/解调器(用于访问其他文件、设备、系统或网络)、射频(RF)或其他收发机、电话接口、桥接器、路由器等。I/O设备10、645可以是本领域 已知的任何通用加密卡或智能卡。系统600还可以包括被耦合到显示器630 的显示控制器625。在示例性实施例中,系统600还可以包括用于耦合到 网络665的网络接口。网络665可以是用于计算机601与任何外部服务器、 客户端等之间经由宽带连接的通信的基于IP的网络。网络665在计算机 601与外部系统30之间发送和接收数据,其可被涉及以执行在此讨论的方 法的部分或全部步骤。在示例性实施例中,网络665可以是由服务提供商 管理的受管理IP网络。网络665可以以无线方式实现,例如使用诸如WiFi、 WiMax等的无线协议和技术。网络665也可以是分组交换网络,例如局域 网、广域网、城域网、互联网或其它类似类型的网络环境。网络665可以 是固定无线网络、无线局域网W(LAN)、无线广域网(WWAN)、个 人区域网(PAN)、虚拟专用网(VPN)、内联网或其它合适的网络系统, 并且包括用于接收和发送信号的设备。
如果计算机601是PC、工作站、智能设备等,则存储器610中的软件 可以进一步包括基本输入输出系统(BIOS)622。BIOS是一组基本软件例 程,其在启动时初始化和测试硬件,启动OS 611,并且支持数据在硬件设 备之间的传输。BIOS被存储在ROM中,以使得当计算机601被激活时 可以执行BIOS。
当计算机601在运行时,处理器605被配置为执行被存储在存储器610 内的软件612,向存储器610和从存储器610传送数据,并且一般地根据 软件来控制计算机601的操作。在此描述的方法和OS 611整体或部分地 (但通常是后者)由处理器605读取,可能被缓存在处理器605内,然后 被执行。
当本文描述的系统和方法以软件612实现时,如图5所示,该方法可 以被存储在任何计算机可读介质(诸如存储装置620)上以供任何计算机 相关的系统或方法使用或与其结合使用。存储装置620可以包括磁盘存储 装置,诸如HDD存储装置。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以 包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质), 计算机可读程序指令用于使处理器执行本发明的各方面。
计算机可读存储介质可以是可保持并存储由指令执行设备使用的指令 的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁 存储设备、光存储设备、电磁存储设备、半导体存储设备、或前述存储设 备的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包 括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储 器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存 取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能 盘(DVD)、记忆棒、软盘、诸如在上面记录有指令的打孔卡或凹槽中的 凸起结构的机械编码设备、以及上述设备的任何适当的组合。如本文所使 用的计算机可读存储介质不应被解释为是暂时性信号本身,诸如无线电波 或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如, 通过光纤线缆的光脉冲)、或通过导线传输的电信号。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相 应的计算/处理设备,或者经由网络(例如互联网、局域网、广域网和/或无 线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、 光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘 服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机 可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内 的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令 集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态 设置数据、集成电路的配置数据、或者以一种或多种编程语言(包括面向 对象的编程语言,例如Smalltalk、C++等)和过程编程语言(例如“C” 编程语言或类似的编程语言)的任意组合编写的源代码或目标代码。计算 机可读程序指令可以完全在用户的计算机上执行、部分在用户的计算机上 执行、作为独立的软件包执行、部分在用户的计算机上并且部分在远程计 算机上执行、或者完全在远程计算机或服务器上执行。在后一种场景下, 远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网 (WAN))连接到用户的计算机,或者可以连接到外部计算机(例如,使 用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻 辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电 路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指 令以使电子电路个性化,以便执行本发明的各方面。
在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品 的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个 框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其 他可编程数据处理装置的处理器以产生机器,以使得经由计算机或其他可 编程数据处理装置的处理器而执行的指令创建用于实现流程图和/或框图 的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可 以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装 置和/或其他设备以特定方式工作,已使得在其中存储有指令的计算机可读 存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指 定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装 置或其他设备上,以使一系列操作步骤将在计算机、其他可编程装置或其 他设备上执行,以产生计算机实现的过程,以使得在计算机、其他可编程 装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指 定的功能/动作。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法 和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或 框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的 逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所注明 的功能可不按图中所注明的次序发生。例如,连续示出的两个框实际上可 以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程 图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机 指令的组合的专用的基于硬件的系统来实现。
本文已经出于说明的目的呈现了对各种实施例的描述,但其并非旨在 是穷尽性的或限于所公开的实施例。在不背离所描述的实施例的范围和精 神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。 选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上 存在的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的 实施例。
Claims (20)
1.一种计算机实现的方法,包括:
提取结构化信息以用于非结构化文档分析,其中,提取结构化信息以用于非结构化文档分析包括:
识别数据库中的与业务术语表的业务术语相对应的表和列;
接收用于在非结构化文档中识别的感兴趣业务术语的指定;
基于所识别的表和列来生成分析模块,所述分析模块使得能够识别或辨认所述表和列的属性的属性值;以及
基于所述感兴趣业务术语的指定,使用所述分析模块以从所述非结构化文档自动提取所述属性的至少一部分的值。
2.根据权利要求1所述的计算机实现的方法,其中,识别所述表和列包括:
对于多个业务术语中的每个术语,基于相应的业务术语的格式和内容来确定识别逻辑;以及
在所述数据库上运行所述识别逻辑以用于识别所述表和列。
3.根据权利要求1所述的计算机实现的方法,其中,生成所述分析模块包括:
使用所识别的表和列的属性值来构建所述多个业务术语的词典,其中,使用所述分析模块以提取所述结构化信息包括将所述非结构化文档的内容与所述词典进行比较。
4.根据权利要求1所述的计算机实现的方法,其中,生成所述分析模块包括:
基于所识别的表和列的所述属性值的内容和格式来构建逻辑,以使得所述逻辑能够识别与所述属性值相似的值。
5.根据权利要求1所述的计算机实现的方法,还包括:
基于所述数据库和所述业务术语表中的一个或多个变化,更新所述分析模块,以及
连续更新所述分析模块,以用于从所述非结构化文档和/或从另一个非结构化文档提取结构化信息。
6.根据权利要求5所述的计算机实现的方法,其中,如果变化的数量高于阈值,则执行所述更新。
7.根据权利要求1所述的计算机实现的方法,其中,提取所述结构化信息包括:
识别所述非结构化文档中的与所识别的表和列的属性值相对应的所述属性的值;以及
根据所识别的记录的实体,从所述属性值形成与各实体相关联的记录。
8.根据权利要求7所述的计算机实现的方法,还包括:
针对另一非结构化文档重复所述计算机实现的方法,其中,在所述数据库中和在所形成的记录中执行所述表和列的识别。
9.根据权利要求1所述的计算机实现的方法,其中,所述分析模块是插件。
10.根据权利要求1所述的计算机实现的方法,其中,所述数据库是主数据管理(MDM)数据库。
11.一种计算机程序产品,包括:
一个或多个计算机可读存储介质和在所述一个或多个计算机可读存储介质上存储的程序指令,所述程序指令包括:
提取结构化信息以用于非结构化文档分析的程序指令,其中,提取结构化信息以用于非结构化文档分析包括:
识别数据库中的与业务术语表的业务术语相对应的表和列的程序指令;
接收用于在非结构化文档中识别的感兴趣业务术语的指定的程序指令;
基于所识别的表和列来生成分析模块的程序指令,所述分析模块使得能够识别或辨认所述表和列的属性的属性值;以及
基于所述感兴趣业务术语的指定,使用所述分析模块以从所述非结构化文档自动提取所述属性的至少一部分的值的程序指令。
12.根据权利要求11所述的计算机程序产品,其中,识别所述表和列的程序指令包括:
对于多个业务术语中的每个术语,基于相应的业务术语的格式和内容来确定识别逻辑的程序指令;以及
在所述数据库上运行所述识别逻辑以识别所述表和列的程序指令。
13.根据权利要求11所述的计算机程序产品,其中,生成所述分析模块的程序指令包括:
使用所识别的表和列的属性值来构建所述多个业务术语的词典的程序指令,其中,使用所述分析模块以提取所述结构化信息包括将所述非结构化文档的内容与所述词典进行比较的程序指令。
14.根据权利要求11所述的计算机程序产品,其中,生成所述分析模块的程序指令包括:
基于所识别的表和列的所述属性值的内容和格式来构建逻辑,以使得所述逻辑能够识别与所述属性值相似的值的程序指令。
15.根据权利要求11所述的计算机程序产品,其中,在所述一个或多个计算机可读存储介质上存储的所述程序指令还包括:
基于所述数据库和所述业务术语表中的一个或多个变化来更新所述分析模块的程序指令;以及
连续更新所述分析模块以用于从所述非结构化文档和/或从另一个非结构化文档提取结构化信息的程序指令。
16.一种计算机系统,包括:
一个或多个计算机处理器;
一个或多个计算机可读存储介质;以及
被存储在所述一个或多个计算机可读存储介质上以供所述一个或多个计算机处理器中的至少一个计算机处理器执行的程序指令,所述程序指令包括:
提取结构化信息以用于非结构化文档分析的程序指令,其中,提取结构化信息以用于非结构化文档分析包括:
识别数据库中的与业务术语表的业务术语相对应的表和列的程序指令;
接收用于在非结构化文档中识别的感兴趣业务术语的指定的程序指令;
基于所识别的表和列来生成分析模块的程序指令,所述分析模块使得能够识别或辨认所述表和列的属性的属性值;以及
基于所述感兴趣业务术语的指定,使用所述分析模块以从所述非结构化文档自动提取所述属性的至少一部分的值的程序指令。
17.根据权利要求16所述的计算机系统,其中,识别所述表和列的程序指令包括:
对于多个业务术语中的每个术语,基于相应的业务术语的格式和内容来确定识别逻辑的程序指令;以及
在所述数据库上运行所述识别逻辑以识别所述表和列的程序指令。
18.根据权利要求16所述的计算机系统,其中,生成所述分析模块的程序指令包括:
使用所识别的表和列的属性值来构建所述多个业务术语的词典的程序指令,其中,使用所述分析模块以提取所述结构化信息包括将所述非结构化文档的内容与所述词典进行比较的程序指令。
19.根据权利要求16所述的计算机系统,其中,生成所述分析模块的程序指令包括:
基于所识别的表和列的所述属性值的内容和格式来构建逻辑,以使得所述逻辑能够识别与所述属性值相似的值的程序指令。
20.根据权利要求16所述的计算机系统,其中,被存储在所述一个或多个计算机可读存储介质上的所述程序指令还包括:
基于所述数据库和/或所述业务术语表中的一个或多个变化来更新所述分析模块的程序指令;以及
连续更新所述分析模块以用于从所述非结构化文档和/或从另一个非结构化文档提取结构化信息的程序指令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/069,892 US20220114189A1 (en) | 2020-10-14 | 2020-10-14 | Extraction of structured information from unstructured documents |
US17/069892 | 2020-10-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114358000A true CN114358000A (zh) | 2022-04-15 |
Family
ID=81079222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111195230.4A Pending CN114358000A (zh) | 2020-10-14 | 2021-10-13 | 从非结构化文档提取结构化信息 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220114189A1 (zh) |
JP (1) | JP2022064865A (zh) |
CN (1) | CN114358000A (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6094649A (en) * | 1997-12-22 | 2000-07-25 | Partnet, Inc. | Keyword searches of structured databases |
WO2003077151A2 (en) * | 2002-03-05 | 2003-09-18 | Siemens Medical Solutions Health Services Corporation | A dynamic dictionary and term repository system |
US8875302B2 (en) * | 2012-05-15 | 2014-10-28 | International Business Machines Corporation | Classification of an electronic document |
-
2020
- 2020-10-14 US US17/069,892 patent/US20220114189A1/en active Pending
-
2021
- 2021-10-08 JP JP2021166423A patent/JP2022064865A/ja active Pending
- 2021-10-13 CN CN202111195230.4A patent/CN114358000A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220114189A1 (en) | 2022-04-14 |
JP2022064865A (ja) | 2022-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10725836B2 (en) | Intent-based organisation of APIs | |
US10515212B1 (en) | Tracking sensitive data in a distributed computing environment | |
US10445377B2 (en) | Automatically generating a website specific to an industry | |
US10423649B2 (en) | Natural question generation from query data using natural language processing system | |
US9304979B2 (en) | Authorized syndicated descriptions of linked web content displayed with links in user-generated content | |
US11403356B2 (en) | Personalizing a search of a search service | |
US20170068655A1 (en) | System for Tokenizing Text in Languages without Inter-Word Separation | |
US10223471B2 (en) | Web pages processing | |
US11144569B2 (en) | Operations to transform dataset to intent | |
US11366843B2 (en) | Data classification | |
US20180217986A1 (en) | Automated extraction tools and their use in social content tagging systems | |
US20190179888A1 (en) | Data standardization rules generation | |
US10699197B2 (en) | Predictive analysis with large predictive models | |
US20220391589A1 (en) | Systems and methods for training and evaluating machine learning models using generalized vocabulary tokens for document processing | |
US20150081718A1 (en) | Identification of entity interactions in business relevant data | |
US20150379112A1 (en) | Creating an on-line job function ontology | |
US11151308B2 (en) | Electronic document processing system | |
WO2017175246A1 (en) | Method and system for providing end-to-end integrations using integrator extensible markup language | |
US10009297B2 (en) | Entity metadata attached to multi-media surface forms | |
CN108694172B (zh) | 信息输出方法和装置 | |
US20120310893A1 (en) | Systems and methods for manipulating and archiving web content | |
US11687574B2 (en) | Record matching in a database system | |
US20180293508A1 (en) | Training question dataset generation from query data | |
US20220114189A1 (en) | Extraction of structured information from unstructured documents | |
US11599357B2 (en) | Schema-based machine-learning model task deduction |
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 |