使用示例来查找连接语料库中的数据的制作方法

文档序号:6533559阅读:178来源:国知局
使用示例来查找连接语料库中的数据的制作方法
【专利摘要】在一个实施例中,数据集被存储在目录中。通过建立不同数据集中的域之间的关系来丰富这些数据集。用户通过提供感兴趣的域的示例来搜索相关的数据集。该系统标识与用户提供的示例相对应的数据集。该系统随后标识这些数据集中直接链接或通过其他域间接链接的连接子集。用户提供已知的关系示例以过滤连接子集并标识与用户的查询最相关的连接子集。所选的连接子集可以被业务智能/分析进一步分析以创建数据透视表或处理该数据。
【专利说明】使用示例来查找连接语料库中的数据
[0001] 背景
[0002] 在面临需要使用数据来回答的问题时,必须解决三个问题。第一,必须标识包含回 答该问题所需的数据的一个或多个数据集。第二,必须标识这些数据集之间的关系以及存 储在其中的数据。第三,必须制定一个或多个查询以回答该问题。随着可用数据集组的数 目的增加,前两个问题相比于第三个问题变得越来越复杂,而在存储系统领域中大多数努 力仍聚焦于查询的制定。
[0003] 前两个问题的常见方法落入两个类别:
[0004] -个方法要求在执行搜索之前该数据被适当地组织在很好理解的语义模型中。虽 然是强大的,但由于在搜索之前组织所有数据是有困难的,因此这样的机制具有有限的用 途。
[0005] 在另一方法中,在数据集中使用全文本搜索。这些数据集被作为好像它们是典型 的文档来对待,并且全文本搜索技术被应用于内容。尽管该技术可容易地处理任何类型的 数据,但由于无法理解并利用数据的结构以及其中的关系,使得复杂的问题不可能只通过 全文本搜索来回答。
[0006] 概述
[0007] 提供本概要从而以简要形式引入将在下面具体实施例中进一步描述的概念的选 择。本概要不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用来限制所要 求保护的主题的范围。
[0008] 在一个实施例中,系统从人类输入或机器学习中获得对数据集的结构及其关系的 理解。用户提供解释他或她的查询的数据及关系的示例。该机制使用其对数据集结构的知 识,并搜索这些数据集以查找类似于这些示例的模式的信息。这允许作为领域专家但是数 据库新手的用户找到并理解回答该查询所必须的数据集。
[0009] 例如,域或数据类型可用于在数据集内建立列关系。数据值示例可用于在这些数 据集中标识感兴趣的域及相关联的列。覆盖用户所引用的域的最小连接数据集子集被标识 为回答查询所需的潜在的或可能的数据集集合。这些关系示例用于过滤连接数据集子集, 以快速找到用户实际感兴趣的数据集。
[0010] 用户通过指定值集合来找到感兴趣的域。通过分析这些域内的域重叠及连接(诸 如出现在多个域中的列)来标识这些域之间的关系。各关系可依据其强度和/或依据该关 系对用户所指定的个别值的覆盖来排名或确定值。用户可提供这些值(诸如,已知的对应 值)之间的示例关系,以缩减数据集搜索域。
[0011] 附图
[0012] 为了进一步阐明本发明的各实施例的以上和其他优点和特征,将参考附图来呈现 本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此 将不被认为是对其范围的限制。本发明将通过使用附图用附加特征和细节来描述和解释, 附图中:
[0013] 图1是根据一个实施例的用于使用示例来搜索数据集的系统的框图。
[0014] 图2示出了数据目录中的多个数据集之间的关系。
[0015] 图3是使用自动丰富功能来链接数据目录中的各数据集的另一示例。
[0016] 图4是示出根据一个实施例的用于创建丰富的数据目录的方法的流程图。
[0017] 图5是根据一个实施例的用于向用户标识相关数据集的方法的流程图。
[0018] 图6是根据一替换实施例的用于标识相关数据集的方法的流程图。
[0019] 图7示出用于使用值集合和示例关系来向用户标识数据集的合适的计算和联网 环境。
[0020] 详细描述
[0021] 在一个实施例中,数据可被存储在关系模型中;然而,将理解,数据集不限于为关 系数据库。在该模型中,为所有列计算出值类型。具有高度相似的值类型的任何列都被认 为是相关的。例如,如果一个列是另一个列的子集,则这些列被认为是相关的。这些列的关 系的强度是从类型方面的相似程度中导出的。例如,可构造列关系图,其中如果两个列共享 一类型或属于同一数据集,则这两个列是相关的。
[0022] 这些类型本身可依据包含关系形成分层结构,使得各类型可具有子类型。共享同 一类型及具有强相似程度的各列可被聚类在一起,以形成列聚类。
[0023] 始于该模型,用户可使用示例来搜索数据。人们以实体和关系来自然地表达他们 的世界,即使在他们没有专门使用那些单词时也是如此。该表达类型可用于搜索数据集。首 先,用户通过给出相同类型的单词集合来搜索各实体。例如,查找国家数据的用户可作为示 例输入"美国",但单独该输入是非常有歧义的。如果添加了示例"加拿大",则域已被缩减, 但这两个单词在一起可能与多个事物相关。如果添加了第三示例(诸如"挪威"),则该搜 索已被显著地缩减为国家。将注意,该技术仅仅通过分析数据集,并且即使该系统没有意识 至IJ "国家"的概念也会发挥作用。
[0024] 如果这些示例是不充分的,则用户可通过呈现替换解释(诸如,附加术语的列表) 来消除该搜索的歧义。例如,"巴西"将导致国家列表以及坚果类型列表。用户可容易地接 受或拒绝所需的实体类型。
[0025] 下一步骤是标识用户已找到的各实体之间的关系。如上所述,该系统计算数据集 模型中的各列的关系图。将通过用户的示例术语所找到的域列表应用于关系图,该系统构 造了连接全部所指定的域的最小的连接子集。每一个这样的连接子集表示将用户所找到的 所有数据联系起来的不同路径。这些连接可例如基于底层关系的组合强度来加权。可使用 单值或多值加权函数。将这些连接子集中的一些或全部呈现给用户。在一个实施例中,示 例值用于将关系或更一般地将连接子集呈现给用户。用户随后选择最佳拟合该查询的连接 子集。
[0026] 与尝试让用户将所需的关系解释给系统(其是当前的搜索方法)相比,使用各示 例来向用户解释各数据集之间的关系容易得多。在本文中描述的系统中,没有假设或要求 各数据集之间的先验模式建模。
[0027] 可使用这个系统来连接不同的值。在以上示例中,国家被标识。在另一查询中,用 户可能想要将国家或城市与货币相关联。例如,为了将"城市名称"连接到"货币",用户将 选取城市的示例值,并遵循如上所述的逻辑。为了将"温哥华"连接到"Loonie (加元)"(1 加元硬币),用户可使用城市数据集和货币数据集,其将加入具有类似类型的国家列。用户 可呈现城市和货币的示例。系统随后将呈现通过不同的值而连接的数据。用户将选择通过 国家值连接的连接数据集。用户的问题可通过使用国家值"加拿大"来链接数据集来回答。
[0028] 如果用户在所提议的连接子集中没有看见所需的连接集,则用户具有两个选项来 影响该系统。第一,用户可添加更多实体。例如,如果以上的"Loonie"示例意指鸟而非货 币,则给出附加的鸟的名称将迫使该系统重新解释该值,以实现包括鸟的低加权连接集。 [0029] 用户控制的顶点是呈现关系示例。例如,如果用户正在查找加拿大获得独立的年 份,则用户可以将"国家"的概念和"年份"的概念解释给系统。用户可能发现在这些数据 集之间存在太多的国家-年份关系。然而,如果用户提供了已知的示例国家-年份对(诸 如,USA-1776),则该系统将基于将该示例包括在期望的连接集中的需要而理解国家-年份 关系的正确解释。因此,该系统将区分满足该"USA-1776"示例的连接子集的优先级,并将 首先将那些连接子集呈现给该用户。
[0030] 图1是根据一个实施例的用于使用示例来搜索数据集的系统的框图。用户想要搜 索数据101的某一整体,数据101可包括具有许多不同格式的数据集。例如,数据101可包 括来自公共源、私有源或企业源的数据库、电子表格或其他数据集。数据101还可包括从其 他数据集导出的数据。爬行器102爬行数据101以标识数据集并找到和提取有关该数据的 元数据,诸如表和列名、各数据集和列之间的关系、数据类型等。爬行器102将这些数据集 和元数据提供给目录103。元数据可包括例如列名、标签、评级等。
[0031] 自动丰富组件104可将附加元数据添加到目录103。爬行器102仅在元数据被呈 现在数据101中的原始数据集中的情况下才标识一些元数据。自动丰富组件104可将来自 不同电子表格的列配对,并可将一列标识成其他列的索引。自动丰富组件104可将与一列 相关联的元数据添加到相关的列中。例如,一个电子表格可具有列导标,并且相关数据集中 的列可不具有导标数据。自动丰富组件104可将导标元数据添加到相关列中。
[0032] 元数据清理组件105向用户提供访问目录103的界面。用户可使用元数据清理组 件105来修正数据集和列名(诸如,误拼写)、删除坏的数据集、以及标识数据集内的特定数 据类型。目录103可通过在用户正在进行搜索时作出纠正来在使用期间进行清理并改善。 替换地,目录103可以通过使用户专门审阅和修改目录103中的数据集和元数据来以更有 意的方式进行清理。
[0033] 用户访问经由搜索界面106来访问数据目录103。取决于应用,搜索界面106可为 用户提供不同的搜索体验。在一个实施例中,搜索界面106提供对目录103的单独访问,诸 如允许用户找到特定数据或回答特定问题的搜索引擎。在另一实施例中,搜索界面106提 供允许用户找到数据或数据文件以供与应用一起使用的"数据开放"功能。在另外的实施 例中,搜索界面106利用用户的当前上下文来改善体验。例如,搜索界面可观察用户正在操 作的数据(诸如电子表格),并随后定制要与那个数据相关的搜索结果(诸如该电子表格的 经更新版本)和/或在已经被开放的上下文中呈现这些结果。
[0034] 一旦用户使用搜索界面106从目录103中选择了数据,该数据就可被提供给业务 智能/分析组件107以供进一步分析和/或处理。
[0035] 图2示出了数据目录中的多个数据集之间的关系。目录200包括电影位置数据集 201,该电影位置数据集201包括电影标题名称的列表和由邮码来标识的拍摄该电影的位 置的列表。该目录还包括演员数据集202,该演员数据集202包括演员名称以及每一演员的 生日和由城市名称标识的出生地的列表。电影信誉数据集202包括电影标题名称以及该电 影中出演的演员的名称、每一演员的相应角色名称以及每一电影被发布的日期的列表。该 目录还包括与娱乐产业无关的其他数据集,诸如指示每一邮政编码的城市和州的邮政编码 (诸如邮编204)的列表。
[0036] 这些数据集可被爬行器或其他装置添加到目录中。数据集中的一些可具有各种级 别的元数据,诸如列名、表格标题或标签。替换地,其他数据集可仅包括数据列而没有任何 相关联的元数据。用户可使用元数据清理组件来访问目录,并将元数据提供给一些数据集 和/或纠正其他数据集上的元数据。
[0037] 自动丰富功能可分析数据集并标识所述数据集之间的关系。例如,自动丰富功能 可认识到电影位置数据集201中的列205是与邮编数据集204的列206相类似的编号的列 表。这些列可不具有导标元数据,或者它们可具有相同的导标元数据(例如,两者都标记了 "邮编")或不同的导标元数据(例如,一个标记了"邮编",另一个标记了"位置")。自动丰 富功能可使用该元数据和/或使用这些列的内容来识别这些列之间的关系21。在所示的示 例中,例如列205可被标识为列206的子集。
[0038] 自动丰富功能可标识附加关系。例如,该系统可标识关系22,其中演员数据集202 的列207中的城市列表被标识为邮编数据集204的列208中的城市列表的子集。同样,自 动丰富功能还标识关系23,其中在演员数据集202的列209以及电影信誉数据集203的列 210中观察到重叠的演员名称。此外,该系统标识关系24,其中在电影位置数据集201的列 211和电影信誉数据集203的列212中观察到重叠的电影名称。
[0039] 将理解,图2中示出的经丰富的目录200是被高度简化的示例。目录中可存在任 何数目的数据集。此外,可在数据集中标识任何数目的关系。这些关系可基于例如重叠值 的数目或元数据的相似性而具有不同的强度。数据集中的一些列可具有多个关系。数据集 213可以是公司的项目名称的列表。该公司可针对这些项目使用城市名称。丰富功能将把 数据集213的列214中的城市/项目名称识别成列208中的城市名称的子集。因此,它将 标识这两个列之间的关系25。
[0040] 其他数据库可被解释为与电影数据集201和203相关或可能与电影数据集201和 203相关。例如,书标题数据集215可列出书标题以及每一本书所发表的日期。丰富功能 可标识书标题数据集215的列216中的书名称与电影数据集201和203中的电影标题的重 叠,因为这些书中的一些可能已被拍成了电影(或者写了关于电影的书)。因此,在这些数 据集和列之间也可标识关系26和27。
[0041] 可使用标识与娱乐相关的域的值的术语来搜索经丰富的数据目录。例如,如果用 户想要标识由出生于温哥华的演员主演的电影,则该用户可搜索经丰富的目录200,而无需 选择特定的表格或数据库来进行搜索,并且无需知道这些数据集的格式。
[0042] 在这个示例中,电影的名称是未知的,因此用户提供已知的随机电影标题的列表 以将"电影标题"类型标识为相关。例如,用户可列出"乱世佳人(图2中的GWTW) ",这可 返回包括电影标题的数据集201和203。然而,如果列出了书"乱世佳人"的话,这个名称可 导致标识可能不想要的附加数据库,诸如书标题数据库215。用户可通过添加不是基于书的 附加电影标题(诸如,作为示例"阿凡达")来消除这些假肯定返回。该经修改的电影标题 列表可以将不想要的书标题数据库215从所建议的数据集结果中消除,或者可导致在所建 议的结果中电影标题数据库201和203的排名比书标题数据库215更高。
[0043] 用户还将城市名称添加到查询中。具体地,用户会把"温哥华"添加到查询术语中。 这可导致项目名称数据集213、邮政编码数据集204和演员数据集207中的命中。这些数据 集可被添加到所建议的结果列表中。表1示出了由根据一个实施例的搜索界面使用搜索术 语"乱世佳人"、"阿凡达"和"温哥华"提供的所建议的结果列表。
[0044]
【权利要求】
1. 一种数据处理系统,包括: 处理器;以及 耦合到所述处理器的存储器,所述存储器被配置成存储所述处理器能够执行的程序指 令,以使得所述数据处理系统: 从用户接收值的集合; 标识所述值中的每一个的数据类型; 标识与所述数据类型相对应的数据集,每一数据集具有所述数据类型中的一个或多 个; 标识所述数据集之间的关系,所述关系对应于不同数据集中的类似数据类型之间的链 接;以及 提供提议数据集分组的列表,其中每一提议分组内的数据集通过一个或多个关系彼此 链接。
2. 如权利要求1所述的数据处理系统,其特征在于,进一步包括: 从所述用户接收示例值集,所述示例值集对应于两个或更多个数据类型之间的已知关 系;以及 为所述用户列出第二提议数据集分组,其中所述第二提议分组内的数据集包括所述示 例值集。
3. -种方法,包括: 由计算机系统中的处理器执行, 标识与值的集合相对应的域的集合; 标识与所述域中的至少一个相对应的数据集; 标识所述数据集之间的关系,所述关系对应于不同数据集中的类似域之间的链接; 标识数据集分组,其中每一提议分组内的数据集通过一个或多个关系彼此链接; 接收示例值集,所述示例值集对应于两个或更多个域之间的已知关系;以及 标识一个或多个提议数据集分组,其中所述示例值集的值在所述提议分组的数据集内 被找到。
4. 如权利要求3所述的方法,其特征在于,所述示例值集的全部值都在所述提议分组 的数据集内被找到。
5. 如权利要求3所述的方法,其特征在于,所述示例值集的值中的至少一个在所述提 议分组的数据集内被找到。
6. 如权利要求3所述的方法,其特征在于,进一步包括: 接收对所述提议数据集分组之一的用户选择;以及 将所选的数据集分组内的各数据集组合成新的数据集。
7. 如权利要求3所述的方法,其特征在于,进一步包括: 接收对所述提议数据集分组之一的用户选择;以及 将所选的数据集分组内的各数据集的子集组合成新的数据集。
8. 如权利要求3所述的方法,其特征在于,所述提议分组中的数据集通过与不包括所 述域的集合中的所述域的中间数据集的关系而彼此链接。
9. 如权利要求3所述的方法,其特征在于,所述提议分组中的数据集包括具有与所述 值的集合相对应的重叠域的数据集。
10.如权利要求3所述的方法,其特征在于,进一步包括: 对所述提议数据集分组进行排名,所述排名基于向所述数据类型、数据集和从所述用 户接收到的值中的一个或多个所分配的权重。
【文档编号】G06F17/30GK104221017SQ201380019331
【公开日】2014年12月17日 申请日期:2013年4月8日 优先权日:2012年4月10日
【发明者】J·C·普拉特, S·乔德里, L·诺维克, H·J·M·梅杰, E·胡迪斯, K·穆克吉, C·A·海斯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1