一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据提取系统的制作方法

2021-11-22 18:19:00 来源:中国专利 TAG:


1.本发明涉及数据管理。特别地,本发明涉及一种用于从一个或多个表格数据文件中提取数据的数据提取系统、一种分布式数据库系统、一种用于从一个或多个表格数据文件中提取数据的计算机实现的方法、一种计算机程序元素,以及一种计算机可读介质。


背景技术:

2.在许多环境中,例如在实验室环境、生产环境或与业务相关的环境中,可能会从各种源收集大量数据。例如,在实验室环境中,文件可能源于过去使用各种实验室设备进行的大量实验测试,其中大部分数据是使用表格数据文件(例如excel文件)捕获、记录和交换的。这可能会为每个项目生成数百到数千个此类文件。
3.由于这些文件中的许多文件本身已经包含表格数据结构,因此自动提取通常很简单,因为该结构在给定项目的所有文件中保持一致。在这种情况下,数据可以轻松迁移到任何其他系统以用于数据分析。但是,一旦这种结构在文件内仅略有偏差,数据提取可能会变得更加困难且通常是耗时的过程,这可能需要严格的手动数据结构化和清理。


技术实现要素:

4.可能需要有效且可靠地从一个或多个表格数据文件中提取数据。
5.本发明的目的由独立权利要求的主题解决,其中进一步的实施例包含在从属权利要求中。应当注意,本发明的以下描述的方面也适用于用于从一个或多个表格数据文件中提取数据的数据提取系统、分布式数据库系统、用于从一个或多个表格数据文件中提取数据的计算机实现的方法、计算机程序元素和计算机可读介质。
6.根据本发明的第一方面,提供了一种用于从一个或多个表格数据文件中提取数据的数据提取系统。该系统包括用户界面,该用户界面适于便于一个或多个用户提交一个或多个表格数据文件,每个表格数据文件包括至少一个表。
7.根据第一替代方案,用户界面被配置为接收包括至少一个目标表的用户定义模板。数据提取系统还包括数据提取模块。数据提取模块包括模式级匹配器和实例级匹配器。模式级匹配器被配置为识别所述至少一个目标表的目标模式级信息,并且基于所述目标模式级信息从提交的一个或多个表格数据文件中选择至少一个语义匹配的候选表。实例级匹配器被配置为识别所述至少一个目标表的目标实例级信息,并且基于所述目标实例级信息从所述至少一个语义匹配的候选表中提取数据。
8.根据第二替代方案,用户界面被配置为接收验证器模板。数据提取系统还包括验证器,其被配置为将所述验证器模板应用到所述一个或多个表格数据文件中的至少一个表,以基于由验证器模板定义的针对标记、元数据和/或数据的规则来验证所述至少一个表的表格式。
9.换言之,可以提供混合匹配器,用于直接组合模式匹配和实例匹配以基于用户定义的模板从一系列表格文件(例如excel文件)中提取表。一个或多个表格数据文件可以包
括从以下各项中的至少一项获得的数据:实验室环境、生产环境和业务相关环境。例如,一个或多个提交的表格数据文件可以包括从实验室环境获得的实验数据。实验数据可以包括通过测量、测试方法、实验设计或准实验设计产生的数据。在另一示例中,一个或多个表格数据文件可以包括与业务相关的数据(例如财务或控制)。用户定义模板定义了至少一个目标表。为了提取表,确定至少一个目标表的属性,其用作信息源以用于提供包括模式级信息和实例级信息的两种类型信息。模式级信息与表本身固有的属性相关,每个候选者必须满足这些属性,例如名称、描述、数据类型、关系类型(是
……
的部分(part

of)、是一个(is

a)等)、约束和模式结构。一个或多个提交的表格数据文件的模式元素可以映射到用户定义模板的目标表。例如,可以使用标量上的简单关系(例如=、<)、函数(例如加法或串联)、实体关系(例如是一个(is

a)、是
……
的部分(part

of))或面向集合的关系(例如重叠、包含)。模式级信息用于排除语义上不匹配的候选表及其各自的变换。实例级信息与属于数据的属性有关,这些属性对于每个输入表来说很可能是不同的,例如数据值。实例级信息可用于基于相似性度量为语义匹配的候选表分配分数,并且从语义匹配的候选表中提取具有期望分数的数据。实体匹配或记录链接可以作为实例级匹配器的一部分来实现,该实体匹配或记录链接用作比较表的度量。实体匹配旨在识别引用同一实体的记录。实体匹配也可用于识别类似于参考表的表。例如,数据提取可以按如下方式工作:i)加载样本文件,并且用户(例如原先创建数据的人)针对他想要提取的每种表类型选择一个样本,例如通过图形用户界面来进行。这个样本表的集合也可以称为用户定义模板。这将在下文特别是关于图2中的示例性实施例进行解释。ii)数据提取模块扫描属于该项目的所有其他文件并且提取最有希望的候选表。这将在下文中并且特别是关于图1a中的示例性实施例进行解释。iii)在由用户进行的验证步骤之后,例如通过提取结果的图形报告,所有找到和接受的表都加载到数据库中。这将在下文中并且特别是关于图4中的示例性实施例进行解释。iv)用户然后可以选择数据库中每个表类型的主键,基于该主键自动生成模型或模式。这些选择可以随时更新,以允许灵活的模式以及在需要时进行重构。模式及其主键、外键和唯一键以图形方式显示在用户界面中。这也可以被视为虚拟白板,因为它不仅可以提供对数据库的结构的很好的概述,而且还可以用作不同团队之间的有效通信工具,因为它突出了关键的数据连接点。
10.可替代地,可以提供验证器以基于验证器模板格式来验证表格式,从而在前期的数据收集中实现某种一致性。验证器模板定义针对标记、元数据和/或数据的规则。例如每个单独的excel表单可以被认为是单独的和不可约的数据源,即最小的结构。在每个excel表单中,标记定义表单内的数据和元数据信息。标记的示例包括但不限于header标记、key_type标记、key_suffix标记、units标记、qualifier标记、notes标记、format标记、type标记、data标记。例如,header标记可以包括但不限于强制性标记、标识符的名称/标签,例如主键和外键和属性、标签名称和命名约定、空白标题。key_type标记用于在不同表单之间创建逻辑连接,包括一对一关系或一对多关系。data标记用于指示行或列包含数据点。format标记定义了data部分中数据值的基本数据类型,这可以包括数量(例如整数、实数值、科学计数法中的字符串)、字符串和日期(excel时间(5位)或dd/mm/yyyy)。units标记包含数据的单位,最好是si单位。notes标记是标题的附加的、人类可读的扩展。可以针对每个标记应用不同的规则。例如,针对header标记的规则可以包括但不限于:i)标题标签不得包含任何特殊字符,ii)标题标签必须以字符开头,iii)标题标签不得包含任何空格,iv)标题标签不
得包含任何破折号,标题标签应采用小写格式,v)主键的标题名称在数据表单中必须是唯一的,并且vi)不存在与外键匹配的主键。针对data标记的规则可以包括但不限于:i)数据字段值(quantity)必须仅包含有效数字,ii)缺失值,iii)格式dd/mm/yyyy上无效的日期,以及iv)主键data的标识符不是全局唯一的。针对key_type标记的示例规则是每个表单只允许一次主键类型。例如,验证器可以如下工作:i)分析包含表格数据结构的文件集合,并且基于对文件集合的分析定义针对标记、元数据和/或数据的规则,例如,由指定的数据科学家进行。ii)从规则中推导出验证器模板,用于对给定表进行验证,例如标签、数字、数据和时间的格式,标识符和属性的唯一性,元数据的完全性和完整性的唯一性,以及基于主键和外键的逻辑结构。iii)然后将验证器模板应用于原始文件并且拒绝任何违反ii)中描述的标准的文件。
11.数据提取模块和验证器二者都提供了一种简单且快速的数据聚合方法,从而允许进行更鲁棒、更广泛和更可靠的数据分析,例如在分布式实验室系统中。
12.特别地,通过使用数据提取模块,可以提高有效性,因为可以在早期过滤掉语义不匹配的候选,并且可以进一步评估仅语义匹配的候选以被分配分数,该分数指示它们与模板中的表的相似性。此外,与完全基于索引的方法不同,模式级匹配器和实例级匹配器的使用也可以应用于另一个文件,即使感兴趣的表不在完全相同的位置,例如表位置的移动、转置表或附加表列等。因此,可能需要少量模板才能成功解析整个项目并且将其整合到定义明确的数据库结构中。这对于从不同来源(例如从不同实验室)在分布式实验室系统中使用不同的excel表单收集的表格文件可能是有益的。由于来自不同源的表格文件可能具有不同的格式,因此可能无法进行正确的数据分析。混合匹配器可以允许收集和清理这种不均匀的数据,从而允许进行更鲁棒、广泛和可靠的数据分析。此外,如下文将解释的,混合匹配器还可以使用机器学习来提供对大量历史数据的访问。这可以针对数据分析提供自动化支持,这可以更容易地构建包括自动数据提取的特定于应用的工具。
13.通过使用验证器,提交的表格数据文件的表格式基于模板格式进行验证,以在前期数据收集中实现一定的一致性。在一些示例中,可以针对例如一个实验室的excel表定义验证器模板。在一些示例中,验证器模板可能因不同的实验室而异。不一致可以以图形方式报告给用户,例如通过用户界面,或自动更正。借助前期的一致性步骤,提交的表格数据文件可以自动构建,从而在需要被访问例如用于机器学习或其他数据驱动建模时减少任何数据搜索、清理和验证工作。这也可以允许更高的成功率来跨例如不同的实验室或不同的生产单位查找相关联的数据文件。
14.根据本发明的实施例,实例级匹配器被配置为确定至少一个语义匹配候选表和至少一个目标表之间的相似性度量,并且从至少一个语义匹配候选表中提取其相似性度量超过给定阈值的数据。
15.例如,实例级匹配器可以是基于约束的匹配器,其基于诸如数值范围和平均值或字符模式之类的基于约束的特征来确定对应的匹配候选。在另一个示例中,可以通过使用逐实例匹配来执行实例级匹配。例如,记录链接过程可用于确定数据集中的记录,这些数据集中的记录链接到同一实体。这可以通过定义所有记录之间的相似性度量,并且然后将其相似性超过特定阈值的任何记录分配为同一实体来完成。
16.根据本发明的实施例,以级联方式针对目标表的每一列分配相似性度量:i)针对
目标表的每一列指定相似性度量;ii)针对特定类型的所有列指定相似性度量;以及iii)所有剩余的列都设置为默认相似性,默认相似性是任选地用户自定义的。
17.例如,如果用户没有覆盖任何内容,则默认的相似性度量是jaro

winkler距离,它是字符串度量,其测量两个序列之间的编辑距离。
18.根据本发明的实施例,模式级匹配器被配置为将一个或多个提交的表格数据文件的至少一个表变换为至少一个变换表以匹配由至少一个目标表定义的格式并且从至少一个变换表中选择至少一个语义匹配的候选表。
19.由于用户可以自由选择最适合需求的布局,因此在提交的表格数据文件中可能存在不均匀性列表,例如表的位置改变、表被转置、在其间添加的附加列,等等。变换可用于转置表、提取更大的子表、移除冗余的列和/或置换剩余的列。这种变换可以解决提交的表格数据文件之间的不均匀性问题,从而在提交的表格数据文件需要被访问例如用于机器学习或其他数据驱动建模时减少任何数据搜索、清理和验证工作。
20.根据本发明的实施例,所述变换包括以下各项中的至少一项:从至少一个表中提取子表、转置至少一个表、置换至少一个表的列、以及从至少一个表中移除包含不匹配的模式级信息的至少一列或一行。
21.根据本发明的实施例,模式级匹配器被配置为对一个或多个提交的表格数据文件的至少一个表执行一序列的操作,该一序列的操作定义具有多个边和多个节点的树结构,每条边与具有一个或多个自由参数的父节点的一个基本变换相对应,而每个节点与相应的基本变换的变换表相对应。模式级匹配器被配置为在树结构的多个叶节点处选择至少一个变换表,该至少一个变换表与至少一个目标表的相似性高于其余变换表与至少一个目标表的相似性。模式级匹配器被配置为从至少一个选定的变换表中选择至少一个语义匹配的候选表。
22.对于变换,可能有许多自由参数,例如要被删除/转置的列的索引,并且因此产生的候选表的数量可能很大。找到满足用户的给定的一组要求的数据整理变换,即用户定义的模板,可以看作是树中的搜索。因此,可能需要一序列操作来确定自由参数,例如列的索引。这定义了树结构,其中每条边与具有某些自由参数的基本变换相对应,而每个节点与相应变换的结果相对应。创建的每个叶节点,即树结构的最外层或终端节点,都遵守至少一个目标表的模式属性(例如列的数据类型)。否则,通向它的边会更早被修剪。相似性只能用于将叶子节点与至少一个目标表进行比较;也就是说,只有叶节点的数据属性,即实例级信息,才能与至少一个目标表进行比较。这可以通过应用感兴趣单元格中的每个的实际值来建立变换后的候选表和至少一个目标表之间的相似性概念来完成。变换表可以按照相似性的顺序排列。排名靠前的变换表可用于实例级匹配。这可能有利于减少后续实例级匹配器的语义匹配表的数量,因为模式级信息可用于早期修剪许多分支。
23.根据本发明的实施例,提供了一种预训练的机器学习分类器,其适于执行模式匹配和/或实例匹配。预训练的机器学习分类器被配置为使用表格数据文件的样本集合进行训练,所述表格数据文件的样本集合具有用于解析表格数据文件的代表性数据文件、成功解析的表格数据文件的集合和失败的表格数据文件的集合。
24.换句话说,预训练的机器学习分类器仅基于输出样本(即不是输入输出样本对)合成变换,以便用户的工作负载保持不变,无论不同布局的数量如何。相反,通常的机器学习
基于输入

输出样本来确定变换所需的要求。输入

输出对通常位于电子表单中的单元格级别,使得通常只需为框架提供两三个样本以合成正确的变换。
25.根据本发明的实施例,用户界面被配置为提供包括以下各项中的至少一项的报告:提取统计的概览、从每个表格数据文件、表单和/或表类型中提取的表数量的响应表,以及允许用户将提取的表直接迁移到数据库的界面。
26.例如,该界面可以允许用户将提取的表链接和迁移到数据库。即,来自各个文件的信息因此可以被收集、链接和变得可搜索,使得用户可以容易地获得针对期望属性的所有数据。此外,如果需要,用户可以随时将此集合下载为excel或csv文件,例如,作为分析管线的其他软件的输入。然后可以更改数据库或将数据库连接到其他数据库以进行分析。
27.根据本发明的实施例,针对标记、元数据和/或数据的规则包括以下各项中的至少一项:i)标签、数字、日期和时间的格式,ii)标识符和属性的唯一性,iii)元数据的完全性和完整性的唯一性,以及iv)a基于主键和外键的逻辑结构。
28.标签、数字、数据和时间的格式示例可能包括但不限于:i)标题标签不得包含任何特殊字符,ii)标题标签不可用(na),iii)数据字段值(quantity)必须仅包含有效数字,并且iv)格式为dd/mm/yyyy中的无效数据。标识符和属性的唯一性的示例可以包括但不限于:i)属性名称在数据表单中必须是唯一的,以及ii)每个表单只允许一次主键类型。
29.根据本发明的实施例,验证器模板能够基于对所述一个或多个提交的表格数据文件的分析从用户定义的模式中导出。
30.例如,分析包含表格数据结构的文件集合并且设计针对数据库的模式,例如由指定的数据科学家进行。从这个模式导出验证器模板,该验证器模板对于给定的表验证列类型、键的唯一性、外键的正确性和标题值。
31.根据本发明的实施例,一个或多个表格文件具有一种或多种格式,包括以下各项中的至少一种:逗号分隔值csv格式和文件的电子表单文件格式。任选地,要由所述验证器验证的一个或多个表格文件具有一种或多种格式,包括开放文档格式odf、lotus工作表格式、works电子表单格式、电子表单格式、abykus工作表格式和/或ability电子表单格式中的至少一种。
32.根据本发明的实施例,提供了一种分布式数据库系统。分布式数据库系统包括一个或多个数据储存库和上文和下文描述的数据提取系统。一个或多个数据储存库被配置为存储来自多个源的表格数据文件,每个表格数据文件包括至少一个表。数据提取系统被配置为基于包括至少一个目标表的用户定义模板从表格数据文件中提取数据。
33.分布式数据库系统可以是分布式实验室系统、分布式生产系统或分布式业务系统。例如,在分布式实验室系统中,可以使用不同的excel表单从不同的实验室填充一个或多个数据储存库。由于用户可以自由选择布局使得该布局最适合他们的需求,因此来自不同来源的多个实验可能具有不同的格式,这可能会妨碍正确的数据分析。上面和下面描述的数据提取系统可以允许收集和清理此类数据,并且从而允许进行更鲁棒、广泛和可靠的数据分析。通过提供对大量历史数据的访问,可以启用使用例如机器学习和其他数据驱动模型的自动化过程。
34.根据本发明的第二方面,提供了一种用于从一个或多个表格数据文件中提取数据
的计算机实现的方法。
35.根据第一替代方案,该方法包括以下步骤:a)接收一个或多个表格数据文件,每个表格数据文件包括一个或多个表,b1)接收包括至少一个目标表的用户定义模板,b2)识别所述至少一个目标表的目标模式级信息,b3)基于所述目标模式级信息从提交的一个或多个表格数据文件中选择至少一个语义匹配的候选表,b4)识别所述至少一个目标表的目标实例级信息,以及b5)基于所述目标实例级信息从所述至少一个语义匹配的候选表中提取数据。
36.根据第二替代方案,该方法包括以下步骤:a)接收一个或多个表格数据文件,每个表格数据文件包括一个或多个表,以及c)将验证器模板应用到所述一个或多个表格数据文件中的至少一个表以基于所述验证器模板的模板格式验证所述至少一个表的表格式。
37.换句话说,包括模式级匹配器和实例级匹配器的混合匹配器用于提取数据:模式级匹配器使用模式级信息来选择候选表(或它们各自的变换)并且排除表(它们各自的变换),而实例级匹配器使用实例级信息向候选表分配分数。实例级匹配器将建立在记录链接的概念上,通常通过定义所有记录之间的相似性度量,并且然后将其相似性超过某个阈值的任何记录分配为同一实体来完成。这种方法只学习行/列的类型(模式级信息)和值(实例级信息),而不是它们的确切位置(不是基于索引的),表的位置如何以及是否发生变化根本不重要。因此,由于格式和/或实验修改,该方法适用于来自不同实验室、生产单位和业务部门的数据文件。
38.可替代地,分析包含表格数据结构的文件集合,并且基于对文件集合的分析来定义针对标记、元数据和/或数据的规则,例如,由指定的数据科学家进行。从规则中,导出验证器模板,该验证器模板针对给定表进行验证,例如标签、数字、数据和时间的格式、标识符和属性的唯一性、元数据的完全性和完整性的唯一性、以及基于主键和外键的逻辑结构。然后可以将验证器模板应用于原始文件并且拒绝任何违反标准的文件。这样,就可以实现对所需数据的自动提取。根据本发明的第三方面,针对本文描述的系统提供了一种计算机程序元素,其在由处理单元执行时,适于执行所描述的方法步骤。
39.根据本发明的第四方面,提供了一种存储有程序元素的计算机可读介质。
40.如本文所用的,术语“用户界面”是指人类用户或操作者与一个或多个设备之间的界面,该用户界面能够实现用户与设备之间的通信。可以在本公开的各种实现方式中采用的用户界面的示例包括但不限于开关、电位计、按钮、刻度盘、滑块、轨迹球、显示屏、各种类型的图形用户界面(gui)、触摸屏幕、麦克风和其他类型的传感器,它们可以接收某种形式的人类产生的刺激并且响应于此而产生信号。
41.如本文所用,术语“模块”可以指执行一个或多个软件或固件程序的专用集成电路(asic)、电子电路、处理器(共享、专用或组)和/或存储器(共享、专用或组)、组合逻辑电路和/或提供所描述的功能的其他合适的组件,是它们的一部分,或者包括它们。
42.参考下文描述的实施例,本发明的这些方面和其他方面将变得显而易见并且得以阐明。
附图说明
43.下面将参考以下附图描述本发明的示例性实施例:
44.图1a示出了根据本公开的一些实施例的数据提取系统的框图。
45.图1b示出了根据本公开的一些其他实施例的数据提取系统的框图。
46.图2示出了根据本公开的一些实施例的用于提交用户定义模板的图形用户界面的示例。
47.图3示出了根据本公开的一些实施例的合成和评估候选表的变换的示例。
48.图4示出了根据本公开的一些实施例的用于查看提取报告的图形用户界面的示例。
49.图5示出了根据本公开的一些实施例的分布式数据库系统的示例。
50.图6a示出了图示根据本公开的一些实施例的用于从一个或多个表格数据文件中提取数据的计算机实现的方法的流程图。
51.图6b示出了图示根据本公开的另一实施例的用于从一个或多个表格数据文件中提取数据的计算机实现的方法的流程图。
具体实施方式
52.在表格数据文件中结构发生偏差的某些情况下,数据提取可能会变得更加困难并且是耗时的过程,该过程通常需要严格的手动数据结构化和清理。杂乱的数据可能是由多种原因造成的。例如,用户可以在电子表单中在不同单元格位置处存储一个或多个表,并且自由选择其布局以使其最适合他们的工作。以实验室实验为例,不同的实验室可能会运行类似的实验,但对它们的文件进行不同地构建。当没有明确的模板用于文档时,不同的用户可能会以不同的方式构建他们的文件。其他实验已添加到一个文件中,但未添加到其他文件中。
53.为了从表格数据文件中提取数据,特别是从具有杂乱数据的表格数据文件中提取数据,用户界面被设计为直接从源获取文件结构的信息,例如由设计和填写excel工作簿的用户进行。文件结构的信息在用户定义的模板中提供。这可以节省将用户的数据结构知识转移给数据专家的额外会议的时间。混合匹配器基于从用户定义的模板中获得的文件结构的信息排除语义不匹配的候选。仅进一步评估语义匹配的候选,以确定这些候选是否与用户定义模板的目标表相似。因此可以提高有效性。由于混合匹配器只学习行/列的类型(模式级信息)和值(实例级信息),而不是它们的确切位置(不是基于索引的),因此表的位置如何以及是否改变并不重要。这可能有利于在表格数据文件中结构偏离的情况下进行数据提取。可以提取出相似性排名靠前的候选并且将其迁移到数据库中,使得用户可以轻松地获得针对所需属性的所有数据。可替代地,可以提供验证器以基于验证器模板格式来验证表格式,从而在前期的数据收集中实现某种一致性。验证器模板定义针对标记、元数据和/或数据的规则。借助前期的一致性步骤,提交的表格数据文件可以自动构建,从而在需要被访问以例如用于机器学习或其他数据驱动建模时减少任何数据搜索、清理和验证工作。这也可以允许更高的成功率来在例如不同的实验室或不同的生产单位中细化相关联的数据文件。这将在以下示例性实施例中更详细地解释。
54.图1a示出了用于从一个或多个表格数据文件中提取数据的数据提取系统10的示例的框图。数据提取系统10包括用户界面12和数据提取模块14。数据提取模块14包括模式级匹配器16和实例级匹配器18。
55.用户界面12被配置为便于一个或多个用户提交一个或多个表格数据文件22,每个表格数据文件包括至少一个表24。用户界面12可以是交互界面,包括但不限于图形用户界面(gui)、字符用户界面或触摸屏。用户可以通过电子通信设备评估用户界面12,电子通信设备包括但不限于台式机、笔记本电脑、膝上型电脑或智能电话。
56.一个或多个表格数据文件22可以包含任何类型的数据。数据的示例包括但不限于从实验室环境、生产环境和/或业务相关的环境获得的数据。例如,一个或多个表格数据文件22可以包括来自一个或多个实验室的实验数据。例如,在专注于可生物降解聚合物的合成和测量的实验室中,实验数据可能包括分析数据、溶解度数据、机械测试数据、生态毒性测试和/或从软件生成的分析数据。与生产相关的数据可能与软件和其他产品为用户的预期用途实际投入运行的设置有关。业务相关的数据可以包括从例如金融部门、控制部门等收集的数据。此外,一个或多个表格数据文件22可以具有各种文件格式,例如但不限于csv格式和文件的电子表单文件格式。
57.用户界面12还被配置为便于一个或多个用户提交包括至少一个目标表28的用户定义模板26,例如,通过图2所示的界面。图2所示示例的界面可能看起来像excel工作簿,其包含标记工作表32a、32b、32c、32d、32e的集合。每个标记工作表可以包括一个或多个目标表28。例如,图2中所示示例的标记工作表32a包括两个目标表28a、28b。在一些实施例中,用户定义的模板可以是javascript object notation(json)文件,该文件可以包含模板名称、用于创建模板的文件的名称以及在模板中针对每个目标表的端点的字典。字典不仅可以包含目标表28a、28b所在的表单名称,还可以包含用户分配的表类型名称以及它在索引或端点方面的确切位置,例如起始行、起始列、结束行、结束列。这些索引与标题分开存储,这些索引用于标识存储的属性(温度、样本id等)和数据值。此外,诸如转置和倒置等额外标签提供有关表格式的信息。所示示例的界面还可以包括用于保存他们的工作的选项。例如,所示示例的界面示出了按钮,该按钮允许用户从用户定义的模板26中添加或移除表。目标表28可以从来自用户希望提取的先前存储的表格数据文件的集合的示例性文件中选择。换言之,可以允许用户上传和选择单个文件中的表格以创建用户定义模板26的目标表28。
58.回到图1a,数据提取模块14通信地耦合用户界面12以接收一个或多个表格数据文件22和用户定义的模板26。数据提取模块14可以在web服务器中实现。数据提取模块14(在后端或服务器中)经由网络通信地耦合用户界面12(在前端或客户端)以接收一个或多个表格数据文件和用户定义的模板。
59.模式级匹配器16被配置为识别至少一个目标表的目标模式级信息,并且基于目标模式级信息从提交的一个或多个表格数据文件中选择至少一个语义匹配的候选表30。模式级匹配器16只考虑模式信息,而不是实例数据。模式信息可以包括模式元素的属性,例如名称、描述、数据类型、关系类型(是
……
的部分(part

of)、是一个(is

a)等)、约束和模式结构。在一些实施例中,模式级信息可以包括列类型、列是否可以为空以及数据类型。数据类型可以包括基本类型、结构类型和/或自定义类型。基本类型可以与基本数据类型相对应,并且可以是全序的,基本类型可以包括int、float和str。结构类型可以描述或建立某种结构,包括空的、未知的和被占用的。自定义类型可以是定义的字符串的子集,例如附加标识符、分子式等。在一些实施例中,模式级匹配器16可以利用一种或多种方法来识别一个或多个语义匹配的候选表。例如,模式级匹配器16可以包括语言匹配器,该语言匹配器使用名称
和包括单词或句子的文本来查找语义上相似的模式元素。基于名称的匹配可以匹配具有相同或相似名称的模式元素,例如exp.等于实验。在一些实施例中,模式级匹配器16可以包括基于描述的匹配器,其基于伴随模式元素的注释来确定模式元素之间的相似性。通常,模式级匹配器16可以找到多个语义匹配的候选。对于每个候选,可以通过在0到1范围内的归一化数值估计相似性的程度,以便识别要输出到实例级匹配器18的合适候选。就模式属性而言,它可以只考虑列类型以及列是否可以为空。通常,除了用户定义的模板之外,这些模式属性是无需任何额外的用户输入即可以可靠地推导出来的唯一信息。在一些实施例中,可能不要求标题名称一致,因为该条件可能被违反到这样的程度,即,人们可以认为它们基本上是随机的。在一些实施例中,贯穿整个数据集的相对相似或完全匹配的标题可能是非常强大的条件,这有助于明显地简化变换问题。
60.实例级匹配器18被配置为识别至少一个目标表28的目标实例级信息并且基于目标实例级信息从至少一个语义匹配的候选表30中提取数据。换言之,实例级匹配器18仅考虑实例数据,即数据内容。例如,可以考虑表的每个单元格的实际值。每个单元格的实际值可以包括结构化数据,例如数字和字符串元素。对于此类数据,可以应用基于约束的表征,例如数值范围和平均值或字符模式。记录链接过程用于确定数据集中的记录,这些记录链接到同一实体。例如,实例级匹配器18被配置为确定至少一个语义匹配候选表和至少一个目标表之间的相似性度量,并且从其相似性量超过参考值的至少一个语义匹配候选表中提取数据。换句话说,这可以通过定义所有记录之间的相似性度量,并且然后将其相似性超过某个阈值的任何记录分配为同一实体来完成。可以以级联方式针对目标表的每一列分配相似性度量:i)针对目标表的每一列指定相似性度量,ii)针对特定类型的所有列指定相似性度量,以及iii)所有剩余的列都设置为默认相似性,默认相似性是任选地用户自定义的。默认的相似性度量可以是jaro

winkler距离,它是字符串度量,其度量两个序列之间的编辑距离。在一些实施例中,可以使用每个感兴趣的单元格的实际值。此信息可被应用于建立具有匹配模式属性的任何表之间的相似性概念。对于目标表,可以针对每一列注册相似性度量。默认相似性是jaro

winkler编辑距离。利用这些列相似性,可以定义各个行之间的相似性。因此,两个表之间的相似性可能只是平均成对行相似性。
61.任选地,模式级匹配器16可以被配置为将一个或多个提交的表格数据文件22中的至少一个表24变换为至少一个变换表以匹配由至少一个目标表定义的格式并且选择来自至少一个变换表的至少一个语义匹配的候选表。例如,变换可以包括以下各项中的至少一项:从至少一个表中提取子表、转置至少一个表、置换至少一个表的列以及从至少一个表中移除包含不匹配的模式级信息的至少一列。换言之,变换可用于转置表、提取更大的子表、移除冗余列和/或置换剩余的列。变换也可以称为数据整理。数据整理描述了将非结构化数据变换为具有良好结构化格式的数据。已经开发了各种工具来以半自动或全自动方式生成此类变换。所有这些工具都包含基本变换池,它们被级联起来以合成所需的变换。
62.图1b示出了用于从一个或多个表格数据文件中提取数据的数据提取系统10的另一示例的框图。在该示例中,作为提取模块14的替代,可以使用验证器20。验证器20被配置为将验证器模板应用于一个或多个表格数据文件中的至少一个表以基于由验证器模板定义的针对标记、元数据和/或数据的规则来验证至少一个表的表格式。一个或多个表格文件具有一种或多种格式,包括以下各项中的至少一种:逗号分隔值csv格式和来自
文件的电子表单文件格式、开放文档格式odf、lotus文件的电子表单文件格式、开放文档格式odf、lotus工作表格式、works电子表单格式、电子表单格式、abykus工作表格式和ability电子表单格式。针对标记、元数据和/或数据的规则包括以下各项中的至少一项:i)标签、数字、数据和时间的格式,ii)标识符和属性的唯一性,iii)元数据的完全性和完整性的唯一性,以及iv)基于主键和外键的逻辑结构。基于对一个或多个提交的表格数据文件的分析,验证器模板可以从用户定义的模式中导出。
63.图3示出了根据本公开的实施例的对候选表的变换进行合成和评估的示例。模式级匹配器16被配置为对一个或多个提交的表格数据文件22的至少一个表24执行一序列的操作,该一序列的操作定义具有多个边36和多个节点38的树结构34。每条边36与具有一个或多个自由参数的父节点的基本变换相对应,并且每个节点38与相应基本变换的变换表相对应。模式级匹配器被配置为在树结构的多个叶节点40处选择至少一个变换表,其与(至少一个)目标表的相似性高于其余变换表与(至少一个)目标表的相似性。模式级匹配器16被配置为从至少一个选择的变换表中选择至少一个语义匹配的候选表30。叶节点40是树结构34的最外层节点或终端节点。例如,可以向每个叶节点40分配表示相似性的分数。在图3所示的示例中,可以选择具有的分数为0.76的叶节点40。相对应的变换后的候选表可用于数据提取。然后,实例级匹配器18被配置为从至少一个选择的变换候选表(即具有0.76分数的叶节点)中提取数据。在一些实施例中,可以以类似于上述相似性度量的方式来计算分数。在一些实施例中,这可以通过计算至少一个目标表中的相对于该目标表中的所有其他行具有最高相似性的行(也称为质心)并且与那些行进行比较来完成。此外,目标表可以在每n个成功解析的候选表之后更新,其中n通常在整个解析过程中增加。这个过程可以确保对所有变换的评估对于手头的任何用例都是有效的。
64.任选地,可以提供预训练的机器学习分类器,其适用于模式匹配和/或实例匹配。预训练的机器学习分类器可以用表格数据文件的样本集合进行训练,该表格数据文件的样本集合具有用于解析表格数据文件的代表性数据文件、成功解析的表格数据文件的集合和失败的表格数据文件的集合。
65.在训练预训练的机器学习分类器之前,可以执行以下步骤。首先,特定项目的代表性表格数据文件已被上传,并且代表性表格数据文件中的几个感兴趣的表已被用户突出显示/选择以用于提取过程。由此,获得描述每个感兴趣的表类型的位置的模板字典。然后,模板字典可以应用于特定项目中的所有其他文件。对于每个文件,这可能成功也可能失败,这取决于数据质量(即清洁度),有效地将文件分成两个集合。此外,从失败的集合中选择样本,并且对其失败的原因进行调查,例如表位于错误的位置,列处于错误的顺序等。基于调查,导出了不均匀性的列表,可以直接将其变换为成功解析数据所需的一序列的操作。
66.这基本上提供了由预训练的机器学习分类器所需的所有输入,即模板字典和成功解析的文件的集合。任选地,用户可以定义他们自己的相似性度量以用于所有目标表。
67.然后,可以通过以下方式训练预训练的机器学习分类器。首先,它构建相似性度量并且准备逻辑回归分类器。然后它使用模板字典并且将其应用于成功解析的文件,从成功解析的文件可以导出正确的训练样本。从这些训练样本中,它还可以计算目标表的模式属性。以同样的方式,它从模板失败的文件中导出不正确的训练样本。此外,它使用成功解析
的文件并且稍微移动模板以导出更多无效的训练样本。通过这种方式,可以获得许多所谓的临界示例(critical example)。对于每个目标表,它然后根据有效样本和无效样本来计算相似性矩阵。然后,使用该矩阵以及将行标记为正确或不正确的向量来训练逻辑回归分类器。分类器学习的权重用于更新相似性度量。使用新的相似性,对于每个目标表,计算质心,即具有最高表间相似性的行。然后,训练阶段结束,并且预训练的机器学习分类器准备好解析文件的其余部分。
68.需要注意的是,预训练的机器学习分类器仅基于输出样本来确定针对变换所需的要求,因为成功解析的表格数据文件的集合和失败的表格数据文件的集合二者均从表格数据文件的样本集合导出。换句话说,没有输入样本,并且因此没有输入

输出示例对。因此,无论不同布局的数量如何,用户的工作负载都保持不变。此外,预训练的机器学习分类器是基于模式和实例的而不是基于位置的,使得它可以应用于不同布局的其他输入表。换句话说,它可以用于表格数据文件中结构有偏差的情况。
69.在一些实施例中,用户界面12可以被配置为提供包括以下各项中的至少一项的报告42:提取统计的概览、从每个表格提取的表数量的响应表格。
70.图4示出了根据本公开的实施例的图形报告的示例。在图示的示例中,用户界面在左侧图示了提取统计的饼图概览。在界面右侧,图示了针对每个文件提取的表数的响应表。通过来自用户界面的简单按钮按下,可以将这些表链接并且迁移到数据库。此外,如果需要,用户还可以随时将此集合下载为excel或csv文件,例如,作为其他软件或分析管线的输入。
71.在一些实施方式中,数据提取系统10可以在如图5所示的分布式数据库系统100中实现,例如但不限于分布式实验室系统、分布式生产系统和分布式业务系统。所示示例的分布式数据库数据提取系统100包括多个电子通信设备110,例如电子通信设备110a、110b,以及多个数据储存库120,例如数据储存库120a、120b、120c,web服务器130和网络110。为简单起见,仅图示了两个电子通信设备110a、110b和三个数据储存库。然而,以下讨论也可扩展到大量电子通信设备110和大量数据储存库120。
72.所示示例的电子通信设备110a、110b可以是台式机、笔记本电脑、膝上型电脑、移动电话、智能电话和/或pda。在一些实施例中,电子通信设备110a、110b也可以被称为客户端。每个电子通信设备110a、110b可以包括用户界面12a、12b,其被配置为便于一个或多个用户提交一个或多个表格数据文件22,每个表格数据文件包括至少一个表20和包括至少一个目标表26的用户定义的模板24。用户界面12可以是交互界面,包括但不限于gui、字符用户界面和触摸屏界面。任选地,所示示例的电子通信设备110a、110b可以包括用于存储实验数据、生产数据和/或业务数据的存储装置50。
73.数据储存库120a、120b、120c可以是接收在生产环境、业务环境和/或实验室环境中产生的数据的数据库。例如,三个数据储存库可能会收集来自不同实验室的实验数据。这些实验室可能位于相同的物理位置,也可能位于不同的城市、州和/或国家,它们与网络互连。在另一个示例中,三个数据储存库可以从不同的生产站点收集生产数据,这些生产站点要么位于相同的物理位置,要么分散在不同的物理站点上。所示示例的数据储存库120a、120b、120c可以是任何类型的数据库,包括服务器、数据库、文件等。
74.所示示例的web服务器130可以是提供网络服务以促进管理多个数据储存库120a、
120b、120c和存储装置50中的数据的服务器。web服务器130可以包括数据提取模块14,如上文和下文所述。在一些实施例中,web服务器130可以例如通过网页、桌面应用、移动应用与用户交互来促进对数据的管理。可替代地,所示示例的web服务器130可以用另一设备(例如另一电子通信设备)替换,该另一设备提供任何类型的界面(例如命令行界面、图形用户界面)的。这些界面,例如网页、桌面应用、移动应用,可以允许用户经由网络140使用电子通信设备110a、110b来管理数据。web服务器130还可以包括用户可以通过其认证(通过提供用户名和密码)的界面。例如,用户账户可用于认证系统用户以利用web服务器130来访问一些数据储存库以提交存储在其上的一个或多个表格数据文件并且从这些表格数据文件中提取数据。
75.所示示例的网络140通信耦合多个电子通信设备110a、110b、多个数据储存库120a、120b、120c和web服务器130。在一些实施例中,网络可以是互联网。可替代地,网络140可以是任何其他类型和数量的网络。例如,网络140可以由连接到广域网的几个局域网来实现。例如,电子通信设备110a和数据储存库120a可以与第一实验室的第一局域网相关联,而电子通信设备110b和数据储存库120b可以与第二实验室的第二局域网相关联。web服务器130可以与第三局域网相关联。第一、第二和第三局域网可以连接到广域网。当然,可以利用任何其他配置和拓扑来实现网络140,包括有线网络、无线网络、广域网、局域网等的任何组合。
76.图6a示出了图示根据本公开的实施例的用于从一个或多个表格数据文件中提取数据的计算机实现的方法200的流程图。
77.在步骤210,即步骤a)中,提供一个或多个表格数据文件。每个表格数据文件包含一个或多个表。在一些实施例中,一个或多个表格数据文件可由一个或多个用户经由用户界面提交。用户界面可以是交互界面,包括但不限于gui、字符用户界面和触摸屏界面。用户可以通过电子通信设备评估用户界面,电子通信设备包括但不限于台式机、笔记本电脑、膝上型电脑或智能电话。一个或多个表格数据文件可以包含任何类型的数据。数据的示例包括但不限于从实验室环境、生产环境和/或业务相关环境获得的数据。例如,一个或多个表格数据文件可以包括来自分布式实验室系统的实验数据。此外,一个或多个表格数据文件可以具有各种文件格式,例如但不限于csv格式和来自文件的电子表单文件格式。
78.步骤b)包括用于从一个或多个表格数据文件中提取数据的步骤b1)至b5)。
79.在步骤220,即步骤b1)中,提供包括至少一个目标表的用户定义模板。用户可以从数据库中现有的表格数据文件(即历史数据)中选择目标表。
80.在步骤230,即步骤b2)中,识别至少一个目标表的目标模式级信息。模式级信息与表本身固有的属性相关,每个候选者必须填充这些属性,例如名称、描述、数据类型、关系类型(是
……
的部分(part

of)、是一个(is

a)等)、约束和模式结构。
81.在步骤240,即步骤b3)中,基于目标模式级信息从一个或多个表格数据文件中选择至少一个语义匹配的候选表。可以使用一种或多种方法来识别一个或多个候选表。例如,可以使用语言匹配器,其使用名称和包括单词或句子的文本来查找语义上相似的模式元素。基于名称的匹配可以匹配具有相同或相似名称的模式元素。可以使用基于描述的匹配器,其基于伴随模式元素的注释来确定模式元素之间的相似性。可以使用基于约束的匹配
器,其基于定义例如数据类型和值范围、唯一性、可选性、关系和基数的约束来确定相似性。通常,模式级匹配器16可以找到多个匹配候选。对于每个候选,可以估计通过在0到1范围内的归一化数值限定的相似性程度,以便识别要输出到实例级匹配器的合适候选。
82.在一些实施例中,模式级匹配器被配置为将一个或多个提交的表格数据文件中的至少一个表变换为至少一个变换表以匹配由至少一个目标表定义的格式并且从至少一个变换表选择至少一个语义上匹配的候选表。所述变换包括以下各项中的至少一项:从至少一个表中提取子表、转置至少一个表、置换至少一个表的列;并且从至少一个表中移除包含不匹配的模式级信息的至少一列。
83.在一些实施例中,对至少一个候选表执行一序列的操作,该一序列的操作定义具有多个边和多个节点的树结构。每条边与具有一个或多个自由参数的父节点的基本变换相对应,而每个节点与各自基本变换的变换后的候选表相对应。在树结构的多个叶节点处选择至少一个变换后的候选表,,所述至少一个变换表与所述至少一个目标表的相似性高于其余变换候选表与所述至少一个目标表的相似性。实例级匹配器被配置为从至少一个选择的变换后的候选表中提取数据,该数据具有与目标实例级信息匹配的实例级信息。
84.在步骤250,即步骤b4)中,识别至少一个目标表的目标实例级信息。实例级信息与每个单元格的实际值有关。
85.在步骤260,即步骤b5)中,基于目标实例级信息从至少一个语义匹配的候选表中提取数据。例如,可以使用基于约束的匹配器,其根据基于约束的特征,例如数值范围和平均值或字符模式,来确定对应的匹配候选。例如,记录链接方法可用于确定数据集中链接到同一实体的记录。
86.在一些实施例中,确定至少一个候选表的实例级信息与至少一个目标表的目标实例级信息之间的相似性度量,并且从至少一个候选表中提取数据,其中该数据的确定的相似性度量超过参考值。可以以级联方式针对目标表的每一列或每一行分配相似性度量:i)针对目标表的每一列指定相似性度量,ii)针对特定类型的所有列指定相似性度量,以及iii)所有剩余的列都设置为默认相似性,默认相似性是任选地用户自定义的。
87.该方法只学习列的类型(模式级信息)和值(实例级信息),而不是它们的确切位置(不是基于索引的),表的位置如何以及是否发生变化并不重要。因此,由于格式和/或实验修改,该方法适用于来自不同实验室、生产单位、业务部门的数据文件。
88.图6b示出了图示根据本公开的另一实施例的用于从一个或多个表格数据文件中提取数据的计算机实现的方法200的流程图。
89.在步骤210,即步骤a)中,提供一个或多个表格数据文件。每个表格数据文件包含一个或多个表。在一些实施例中,一个或多个表格数据文件可由一个或多个用户经由用户界面提交。用户界面可以是交互界面,包括但不限于gui、字符用户界面和触摸屏界面。用户可以通过电子通信设备评估用户界面,电子通信设备包括但不限于台式机、笔记本电脑、膝上型电脑或智能电话。一个或多个表格数据文件可以包含任何类型的数据。数据的示例包括但不限于从实验室环境、生产环境和/或业务相关环境获得的数据。例如,一个或多个表格数据文件可以包括来自分布式实验室系统的实验数据。此外,一个或多个表格数据文件可以具有各种文件格式,例如但不限于csv格式和来自文件的电子表
单文件格式、开放文档格式odf、lotus工作表格式、works电子表单格式、电子表单格式、abykus工作表格式和ability电子表单格式。
90.在步骤270,即步骤c)中,将验证器模板应用于一个或多个表格数据文件中的至少一个表以基于验证器模板的模板格式来验证该至少一个表的表格式。针对标记、元数据和/或数据的规则可以包括以下各项中的至少一项:i)标签、数字、数据和时间的格式,ii)标识符和属性的唯一性,iii)元数据的完全性和完整性的唯一性,以及iv)基于主键和外键的逻辑结构。基于对一个或多个提交的表格数据文件的分析,验证器模板可从用户定义的模式中导出。
91.应当意识到,上述操作可以以任何合适的顺序执行,例如,连续、同时或它们的组合,在适用的情况下,受制于例如通过输入/输出关系需要的特定顺序。
92.在本发明的另一示例性实施例中,提供了一种计算机程序或计算机程序元素,其特征在于适于在适当的系统上执行根据前述实施例之一的方法的方法步骤。
93.计算机程序元素因此可以存储在计算机单元上,该计算机单元也可以是本发明的实施例的一部分。该计算单元可以适于执行或引导执行上述方法的步骤。此外,它可以适用于操作上述装置的组件。计算单元可以适于自动操作和/或执行用户的命令。计算机程序可以加载到数据处理器的工作存储器中。数据处理器因此可以被配备来执行本发明的方法。
94.本发明的该示例性实施例涵盖从一开始就使用本发明的计算机程序和通过更新将现有程序变成使用本发明的程序的计算机程序两者。
95.此外,计算机程序元素可能能够提供所有必要的步骤来实现如上所述的方法的示例性实施例的过程。
96.根据本发明的另一示例性实施例,呈现了一种计算机可读介质,例如cd

rom,其中该计算机可读介质其上存储有计算机程序元素,该计算机程序元素由前面的部分中进行了描述。
97.计算机程序可以存储和/或分布在合适的介质上,例如与其他硬件一起提供或作为其他硬件的一部分提供的光存储介质或固态介质,但也可以以其他形式分发,例如通过互联网或其他有线或无线电信系统。
98.然而,计算机程序也可以通过像万维网这样的网络呈现并且可以从这样的网络下载到数据处理器的工作存储器中。根据本发明的另一示例性实施例,提供了一种用于使计算机程序元素可用于下载的介质,该计算机程序元素被布置为执行根据本发明的前述实施例之一的方法。
99.必须注意,本发明的实施例是参照不同的主题来描述的。特别地,参考方法类型权利要求描述了一些实施例,而参考设备类型权利要求描述了其他实施例。然而,本领域技术人员将从以上和以下描述中了解到,除非另有通知,否则除了属于一类主题的特征的任何组合之外,涉及不同主题的特征之间的任何组合也被认为是与本技术一起公开。然而,所有特征都可以组合在一起,从而提供比这些特征的简单总和更多的协同效应。
100.虽然已经在附图和前述说明中详细说明和描述了本发明,但是这样的说明和描述被认为是说明性的或示例性的而不是限制性的。本发明不限于所公开的实施例。通过研究附图、公开内容和从属权利要求,本领域技术人员在实践要求保护的发明时可以理解和实
现对所公开的实施例的其他变化。
101.如本文所定义和使用的所有定义应理解为控制字典定义、通过引用并且入的文件中的定义和/或所定义术语的普通含义。
102.在说明书和权利要求中使用的词语“一”和“一个”,除非明确有相反指示,否则应理解为“至少一个”。换言之,词语“一”和“一个”不排除复数。
103.说明书和权利要求书中使用的短语“和/或”应理解为表示如此结合的元素中的“一个或两个”,即在某些情况下结合存在而在其他情况下不结合存在的元素。用“和/或”列出的多个元素应以相同的方式解释,即“一个或多个”这样连接的元素。除了由“和/或”子句具体标识的元素之外,可以任选地存在其他元素,无论与那些具体标识的元素相关或不相关。
104.如本文在说明书和权利要求中所使用的,关于一个或多个元素的列表的短语“至少一个”应被理解为意指选自元素列表中的任何一个或多个元素中的至少一个元素,但不一定包括元素列表中具体列出的每个元素中的至少一个,并且不排除元素列表中元素的任何组合。该定义还允许除了在短语“至少一个”所指的元素列表中具体标识的元素之外的元素可以任选地存在,无论与那些具体标识的元素相关或不相关。
105.在权利要求以及上述说明书中,所有过渡短语,例如“包括”、“包含”、“携带”、“具有”、“含有”、“涉及”、“持有”、“由
……
构成”、等应被理解为是开放式的,即意味着包括但不限于。只有过渡短语“由
……
组成”和“基本上由
……
组成”分别是封闭或半封闭的过渡短语。
106.单个处理器或其他单元可以实现权利要求中记载的若干项的功能。在相互不同的从属权利要求中引用某些措施这一事实并且不表示这些措施的组合不能有利地使用。权利要求中的任何附图标记不应被解释为对范围的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献