基于搜索的数据的检测、链接和获取的方法和系统的制作方法

文档序号:10471166阅读:343来源:国知局
基于搜索的数据的检测、链接和获取的方法和系统的制作方法
【专利摘要】计算装置可以接收自然语言查询。计算装置可以基于该自然语言查询来确定搜索条件集合。计算装置可以至少部分地基于在搜索条件集合和多个数据集合的属性之间的匹配,从多个数据集合中确定与该自然语言查询相关的两个或更多数据集合。计算装置可以联合两个或更多数据集合,包括联合两个或更多数据集合的一个或多个行以及一个或多个列以产生联合数据集合。计算装置可以输出联合数据集合的表示。
【专利说明】
基于搜索的数据的检测、链接和获取的方法和系统
技术领域
[0001] 本公开设及商业智能系统,并且更具体地设及与查询(query)有关的数据的获取。
【背景技术】
[0002] 企业软件系统可能包含财务规划系统、预算规划系统、订单管理系统、库存管理系 统、销售人员管理系统、商业智能工具、企业报告工具、工程和资源管理工具等。企业软件系 统可W维护、链接至或者另外管理相关数据。越来越多地,运样的数据W多种胆存机制和方 案存储在多种数据源中,多种数据源包含在企业软件系统内部的数据源W及在企业软件系 统外部的数据源。例如,企业软件系统可W包含作为企业软件系统的部分的一个或多个数 据库。企业软件系统也可W链接至在企业软件系统外部的数据源,诸如外部网站、远程数据 库等。

【发明内容】

[0003] -般地,本公开的方面指向用于与自然语言查询相关的数据的获取和链接的技 术。企业软件系统可W接收自然语言查询并进行语法分析(parse) W确定捜索条件集合。企 业商业智能系统可W基于数据集合的语义注释确定与捜索条件集合最佳地匹配的多个数 据集合。数据集合可W具有各种数据格式,并且可W存储在企业商业智能系统内部W及在 其外部的各种数据源中。企业商业智能系统可W将多个数据集合组合成组合数据集合,该 组合数据集合可W被返回W提供对自然语言查询的回答。
[0004] 在一方面,本公开指向一种方法。该方法可W包括通过计算装置接收自然语言查 询。该方法还可W包括通过计算装置并且基于自然语言查询来确定捜索条件集合。该方法 还可W包括至少部分地基于在捜索条件集合与存储在一个或多个存储装置中的多个数据 集合的属性之间的匹配,通过计算装置并且从多个数据集合中确定与自然语言查询有关的 两个或更多数据集合。该方法还可W包括通过计算装置来联合两个或更多数据集合,包括 联合两个或更多数据集合的一个或多个行W及一个或多个列W产生联合数据集合。该方法 还可W包括通过计算装置输出联合数据集合的表示。
[0005] 在另一方面,本公开指向一种计算机系统。该计算机系统可W包括一个或多个处 理器、一个或多个计算机可读的存储器、和一个或多个计算机可读的有形存储装置。计算机 系统还可W包括在一个或多个存储装置的至少一个上存储的程序指令,用于通过一个或多 个处理器中的至少一个经由一个或多个存储器中的至少一个执行,W接收自然语言查询。 该计算机系统还可W包括在一个或多个存储装置的至少一个上存储的程序指令,用于通过 一个或多个处理器中的至少一个经由一个或多个存储器中的至少一个执行,W基于自然语 言查询确定捜索条件集合。该计算机系统还可W包括在一个或多个存储装置的至少一个上 存储的程序指令,用于通过一个或多个处理器中的至少一个经由一个或多个存储器中的至 少一个执行,W至少部分地基于在捜索条件集合与在一个或多个存储装置的至少一个中存 储的多个数据集合的属性之间的匹配,从多个数据集合中确定与该自然语言查询相关的两 个或更多数据集合。该计算机系统还可w包括在一个或多个存储装置的至少一个上存储的 程序指令,用于通过一个或多个处理器中的至少一个经由一个或多个存储器中的至少一个 执行,联合两个或更多数据集合,包括联合两个或更多数据集合的一个或多个行W及一个 或多个列,W产生联合数据集合。该计算机系统还可W包括在一个或多个存储装置的至少 一个上存储的程序指令,用于通过一个或多个处理器中的至少一个经由一个或多个存储器 中的至少一个执行,W输出该联合数据集合的表示。
[0006] 在另一方面,本公开设及一种计算机产品,包括在其中包含有程序代码的计算机 可读的存储介质。该程序代码可W由计算装置执行,W接收自然语言查询。该程序代码还可 W由计算装置执行,W基于该自然语言查询来确定捜索条件集合。该程序代码还可W由计 算装置执行,W至少部分地基于在捜索条件集合与多个数据集合的属性之间的匹配,从多 个数据集合中确定与自然语言查询有关的两个或更多数据集合。该程序代码还可W由计算 装置执行,W联合两个或更多数据集合,包括联合两个或更多数据集合的一个或多个行W 及一个或多个列W产生联合数据集合。该程序代码还可W由计算装置执行,W输出联合数 据集合的表示。
[0007] 在附图和下面的描述中阐述了本公开的一个或多个方面的细节。根据该描述、附 图和权利要求书,本公开的其他特征、目的和优点将是显而易见的。
【附图说明】
[000引图1是例示示例企业的方框图,该示例企业具有其中用户与企业商业智能系统进 行交互的计算环境和可通过公共网路访问的数据源。
[0009] 图2是进一步详细例示图1示出的企业商业智能系统的一个实施例的部分的方框 图。
[0010] 图3是例示商业智能系统中在用于返回与自然语言查询有关的联合数据集合的操 作背景下的数据分析器的整体架构的示例的方框图。
[0011] 图4A-4E是例示将两个或更多数据集合联合为联合数据集合的示例的方框图。
[0012] 图5是例示由联合模块使用的示例元数据模型的方框图。
[OOK]图6A和她例示联合数据集合的示例可视化。
[0014] 图7是例示在一个或多个计算装置上执行的数据分析器可W进行的示例处理的流 程图。
[0015] 图8是根据说明性示例可W用于执行数据分析器的计算装置的方框图。
【具体实施方式】
[0016] -般地,本公开的方面指向由企业软件系统对与查询有关的数据进行获取和链接 的技术。考虑到企业软件系统所管理的数据的多种多样性,对于企业软件系统而言有效地 确定其管理的数据中哪些与所接收到的查询有关W及如何将来自于完全不同的数据集合 的相关数据组合成可W由企业软件系统提供W回答查询的联合数据集合可能是一种挑战。
[0017] 为了有可能更好地确定与给定的查询有关的数据,企业软件系统可W将其管理的 数据集合编目录和编索引,包括为每个数据集合进行语义注释。响应于接收到查询,企业软 件系统可W对该查询进行语法分析W确定在该查询中包括的捜索条件集合,并且可W进行 在捜索条件集合和数据集合语义注释之间的匹配w确定与查询最相关的一个或多个数据 集合。如果相关数据集合的组合可W比仅单独的数据集合更好地覆盖查询的捜索条件,贝U 企业软件系统可W基于各种启发式规则来确定如何可W将多个数据集合合并为联合数据 集合。W运种方式,企业软件系统可W有可能呈现单个联合数据集合作为对该查询的响应, 而无需对数据集合的外延先验建模(extensive prior modeling)。
[0018] 图1例示其中可W使用本公开的系统的示例性背景。图1是例示具有计算环境10的 示例性企业4的方框图,在该计算环境10中,多个用户12A-12N(统称"用户12")可W与企业 商业智能(BI)系统14交互。在图1示出的系统中,企业商业智能系统14通过企业网络18通信 禪合至多个客户端计算装置16A-16N(统称"客户端计算装置16"或"计算装置16")。用户12 与其各自的计算装置交互W访问企业商业智能系统14。用户12、计算装置16A-16N、企业网 络18和企业商业智能系统14在不同的示例中可W全部位于单一的设施内或者可W广泛分 布在世界上任何地方的两个或更多位置。
[0019] 出于示例的目的,本公开的技术的各种示例可W容易地应用于各种软件系统,包 括企业商业智能系统或其他大型企业软件系统。企业软件系统的示例包括企业财务或预算 规划系统、订单管理系统、库存管理系统、销售人员管理系统、商业智能工具、企业报告工 具、工程和资源管理系统、和其他企业软件系统。
[0020] 在该示例中,企业BI系统14包括运行BI仪表盘(das化oard)网络应用的服务器,并 且可W提供商业分析软件。用户12可W使用在客户端计算装置16上的BI 口户W便经由其各 自的计算装置16来浏览和操纵诸如商业智能报告(B巧良告)和数据的其他集合和可视化之 类的信息。运可W包括来自各种各样来源中的任意的、包括来自在企业4内的多维数据结构 和关系数据库的数据W及来自可W通过公共网络15访问的多种外部源的数据。
[0021] 用户12可W使用多种不同类型的计算装置16W便与企业商业智能系统14交互,并 且经由企业网络18来访问数据可视化工具和其他资源。例如,企业用户12可W使用可W运 行网络浏览器的膝上型计算机、桌面型计算机等与企业商业智能系统14交互并且运行商业 智能(BI) 口户(例如商业智能仪表盘等)。可替换地,企业用户可W使用在网络浏览器中或 者在专用移动应用中运行商业智能仪表盘的智能电话、平板计算机或者相似的装置用于与 企业商业智能系统14交互。
[0022] 企业网络18和公共网络15可W代表任何通信网络,并且可W包括诸如私有企业内 联网或像因特网之类的公共网络的基于分组的数字网络。W运种方式,计算环境10可W容 易地缩放(scale) W适应大企业。企业用户12可W经由局域网直接访问企业商业智能系统 14,或者经由虚拟专用网络、远程拨号、或相似的远程访问通信机制来远程访问企业商业智 能系统14。
[0023] 根据本公开的方面,企业商业智能系统14可W接收自然语言查询。商业智能系统 14可W基于自然语言查询来确定捜索条件集合。商业智能系统14可W至少部分地基于在捜 索条件集合和多个数据集合的属性之间的匹配,从在一个或多个存储装置中存储的多个数 据集合中确定两个或更多与该自然语言查询相关的数据集合。商业智能系统14可W联合两 个或更多数据集合,运包括将两个或更多数据集合的一个或多个行W及一个或多个列联合 W产生联合数据集合。商业智能系统14可W输出联合数据集合的表示。
[0024] 图2是更详细地例示图1示出的企业商业智能(BI)系统14的一个实施例的部分的 方框图。在该示例实施中,单个客户端计算装置16A被示出用于描述的目的,并且其包括BI 口户24W及一个或多个客户端企业软件应用26,用户可W通过该BI 口户W及应用26输入对 于数据的自然语言查询,并且用户可W通过该BI口户W及应用26浏览由企业商业智能系统 14响应于该自然语言查询而返回的联合数据集合。BI 口户24可W呈现在一般网络浏览器应 用内、在本地主管化ost)的应用或移动应用内、或者其他用户界面内。可W使用对于正在其 上产生BI 口户的计算装置本地的、和/或在一个或多个应用服务器或其他远程资源中远程 主管的应用软件和数据的任意组合来产生或呈现BI 口户24。
[0025] 在一些示例中,BI 口户24可W输出联合数据集合的数据可视化,用于用户根据下 文中更详细阐述的各种技术来浏览和操纵。BI 口户24可W例如W用户可操纵的图表或图形 的形式来呈现数据。BI 口户24可W基于来自于例如可W利用企业商业智能系统14生成的诸 如W报告之类的源的、或另一 BI仪表盘的数据W及通过公共网络15来源于外部资源的其他 类型的数据,呈现数据的可视化。
[0026] 图2描绘企业商业智能系统14的附加细节W及可W如何经由与BI 口户24的交互来 访问该企业商业智能系统14用于查询商业智能系统14W及响应于该查询来描绘和提供商 业数据的可视化。BI 口户24可W接收自然语言查询,并且商业智能系统14可W从任意的各 种类型的数据源提供与该查询有关的数据的指示,该数据源诸如BI报告、软件应用、数据 库、电子表格、数据结构、平面文件、可扩展标记语言("XML")数据、逗号分隔值(CSV)文件、 数据流、未组织的文本或数据、或者其他类型的文件或资源。
[0027] 数据分析器23可W接收自然语言查询,分析该自然语言查询W便确定捜索条件集 合,并且可W基于在数据源中包括的数据集合的语义注释来确定潜在地与该自然语言查询 最相关的数据集合。在一些示例中,数据分析器23可W如在图2中描绘的示例中那样在企业 应用25中被主管,或者可W被在其他地方被主管,包括在客户端计算装置16A上、或者分布 在企业商业智能系统14中的各种计算资源之间。数据分析器23可W被实施为或者采取的形 式为单独的应用、较大应用的一部分或附加项(add-on)、应用代码库、多个应用和/或应用 的部分的集合或者其他形式,并且可W由任何一个或多个服务器、客户端计算装置、处理器 或处理单元或者其他类型的计算装置执行。
[0028] 如图2所描绘的,按照Ξ层架构来实施企业商业智能系统14:(1)一个或多个网路 服务器14A,其提供包括服务器侧BI 口户应用21在内的具有用户界面功能的网络应用23; (2) -个或多个应用服务器14B,其提供用于企业软件应用25和数据访问装置20的操作环 境;和(3)数据库服务器14C,其提供一个或多个数据源38Α、38Β、···、38Ν("数据源38")。企业 软件应用25可W包括数据分析器25,作为企业软件应用25之一或者作为一个或多个企业软 件应用25的一部分或多个部分。数据源38可W包括二维数据库和/或多维数据库或数据立 方(data cube)。可W使用各种供应商平台实现数据源,并且数据源可W遍布企业而分布。 作为一个示例,数据源38可W是被配置用于在线分析处理(0LAP)的多维数据库。作为另一 示例,数据源38可W是被配置W接收和执行某个任意复杂度的多维表达式(MDX)查询的多 维数据库。多维数据结构是"多维"在于每个多维数据元素由多个不同的对象类型定义,其 中每个对象与不同的维度相关联。作为又一示例,数据源38可W是被配置W接收和执行也 具有任意复杂度的S化查询的二维关系数据库。
[0029] 数据源38可W包括结构化或半结构化数据集合,其包括诸如商业信息之类的信 息。下面的数据集合1是包括与加拿大气候历史有关的信息的示例数据集合的样本:
[0030] 数据集合1
[0031]
[0032] 下面的数据集合2是包括与产品销售有关的信息的示例数据集合的样本: '
[0033] 数据集合2
[0034]
[0035] 在客户端计算装置16A上的企业应用26可W向企业商业智能系统14发出商业查询 W建立报告。运些商业查询可W是由计算装置16A的用户输入的自然语言查询。自然语言查 询的一些示例可W包括"2003和2012年花在看电视上的时间"、"我们的客户中有多少出现 在财富500强名单上"、"过去两年里远东办公区销售的产品"和"溫度如何影响产品销售"。 自然语言查询也被称作捜索短语。企业商业智能系统14包括数据分析器23,该数据分析器 分析该捜索短语并且从数据源38中确定用于最佳地回答查询的最相关的数据集合。客户端 计算装置16A可W通过企业网络18将捜索短语发送至数据分析器23。数据分析器23可W将 捜索短语分解为其元素。数据分析器23可W沿着词边界(word boundary)分解捜索短语。数 据分析器23也可W在需要时(as warranted)沿着词组合来将捜索短语分解为捜索条件集 合,比如如果词组合与数据源39中的数据集合的数据项名称或具体值相匹配。数据分析器 23也可W进行所分解的词或词组合的词干提取。
[0036] 数据分析器23可W至少部分地基于数据源39中的每个数据集合的数据项的语义 注释,确定在数据源39中的与捜索短语相关的数据集合。在美国专利No. 13/844,612中描述 了商业智能系统14可W如何进行数据源39中的数据集合的运种语义注释的细节,该专利通 过引用合并于此。数据分析器25可W进行从捜索短语中所确定的条件集合与在数据源39中 的每个数据集合的数据项的语义注释的匹配,W确定在数据源39中的每个数据集合的相关 度得分。数据分析器23可W至少部分地基于该相关度得分来对数据源39中的数据集合进行 排序(rank),并且还可W确定数据集合的组合的覆盖度得分W确定将多个数据集合组合是 否可W提供对该捜索短语的更为相关的答案。
[0037] 如果数据分析器23确定在数据源39中的两个或更多数据集合的组合与在数据源 39中的两个或更多数据集合的其他组合相比较可W提供对捜索短语的最相关的答案,则数 据分析器23可W确定运两个或更多数据集合是否可W联合为联合数据集合W及确定如何 联合运两个或更多数据集合。
[0038] 数据分析器23可W使用数据访问服务20W取回由数据分析器23确定的提供针对 捜索短语的最相关答案的两个或更多数据集合,该数据访问服务提供到数据源38的逻辑接 口。数据访问服务20例如可W在企业软件应用25和在数据库服务器14C中的下层数据源的 中间的应用服务器上运行。数据访问服务20根据查询规范从下层数据源取回数据集合。
[0039] 数据分析器23可W将所取回的两个或更多数据集合联合为联合数据集合,并且可 W经由BI 口户应用21输出该联合数据集合的表示,其中用户可W在用客户端计算装置16A 经由BI 口户24浏览该表示。联合数据集合的表示可W包括数据集合的可视化,比如联合数 据集合的图表、图形等,作为示意性的示例,比如随时间的产品收益趋势或者比较在特定时 间段内的产品收益的图表。
[0040] 图3是例示在商业智能系统中用于返回与自然语言查询相关的联合数据集合的操 作背景中的数据分析器的整体架构的方框图。如图3所示,数据源38可W包括数据库42、数 据立方或多维数据结构44、电子表格46、逗号分隔值(CSV)文件48、简易信息聚合(RSS)馈送 50、W及其他的诸如网页、文本文件、多媒体文件等的数据源52。数据源38可W存储在诸如 在企业智能系统14中所包括的企业存储系统之类的企业存储系统中、W及诸如在外部网络 服务器中存储的网页之类的在商业智能系统14之外的存储系统中。
[0041] 语义索引器22可W对数据源38中的数据集合进行编索引和编目录,W便对数据集 合的数据项进行语义注释并且将运样的语义注释作为数据集合的属性存储在语义索引62 中。语义索引器22可W沿着词汇线索(lexical clues)、语义注释和统计学上重要的样本值 和数据对数据集合进行编目录,并且可W将运样的语义元数据、词汇线索、样本值和数值统 计作为数据源38中的数据集合的属性存储在语义索引62中。对于每个数据集合,语义索引 器22可W将各种项目标题化eading)W其原始形式W及W令牌化形式存储至语义索引62 中,运可W用于通过名称来查找数据集合。对于每个数据项,语义索引器22可W将样本值、 统计值(例如最小/最大值)、唯一值的集合、和值的总数量收集至语义索引62中。对于每个 数据集合,语义索引器22还可W进行语义分析,W便捕获上位概念W及解释数据集合是关 于何的商业概念。例如,对于数据集合1和数据集合2,语义分析可W识别诸如年和月之类的 时间概念、诸如城市之类的地理概念、诸如收益之类的货币度量、和诸如对于降水量的英寸 W及对于平均溫度的华氏溫度之类的测量单位并且将其捕获至语义索引62中。
[0042] 数据分析器23可W经由商业智能口户24接收自然语言查询。例如,用户可W经由 网络浏览器访问商业智能口户24,并且可W向由商业智能口户24呈现的网页的文本输入框 中输入自然语言查询。自然语言查询的示例可W是"溫度如何影响产品销售"或者"过去两 年里远东办公区销售的产品"。
[0043] 查询分析器64可W对自然语言查询进行语法分析,W确定捜索条件集合并且确定 总体希望的分析的估计。对自然语言查询的语法分析可W包括沿着词边界或者词组合将自 然语言查询分解为元素。在"溫度如何影响产品销售化OW does temperature impact product sales)"的自然语言查询的示例中,查询分析器64可W将该查询分解成{溫度,如 何,影响,产品,销售}(化 OW, does, temperature, impact, product, sales})的捜索条件集 合,并且可W确定销售值与溫度的相关性的总体希望的分析。在"过去两年里远东办公区销 售的产品(products sold by 化!· Blast office in last two years)"的自然语言查询的 示例中,查询分析器可W将该查询分解成{过去,两年,里,远东,办公区,销售,产品} ({products, sell, by, 'Far East',off ice, in, last, two, years})的捜索条件集合,并且可 W确定远东办公区销售的产品与过去两年的时间段的相关性的总体希望的分析。
[0044] 匹配模块66可W确定在从自然语言查询得到的捜索条件集合和在数据源38中的 数据集合的语义索引62中所存储的属性之间的匹配。捜索条件集合和数据集合属性之间的 匹配可W包括W下的一个或多个:文字匹配、值匹配、语义匹配或者部分名称匹配。文字匹 配可W是在捜索条件之一与诸如特定行、列、标题等的特定标签之间的文字匹配。例如,捜 索条件"年"可W与"年(YEAR)"数据列文字匹配。值匹配可W是在捜索条件之一与包括数据 项的特定值的数据项集合之间的匹配。例如,"远泉'捜索条件可W与包括"远泉'数据项值 的数据项集合"销售区域"具有值匹配。语义匹配可W是捜索条件之一与概念上相关的数据 项集合之间的匹配。例如,"客户端"捜索条件可W与"CUST0MER_ID"("消费者_ID")或 "CUST0MER_NAME" Γ消费者_名称")数据项具有语义匹配。部分名称匹配可W是捜索条件之 一与数据项集合的名称之间的部分匹配。例如,"TV"捜索条件可W与具有"电视和电影(非 宗教r或者"电视(宗教r标题的数据项具有部分名称匹配。
[0045] 匹配模块66可W将强度的指示与每个匹配相关联。强度的指示可W从文字匹配到 值匹配到语义匹配到部分名称匹配在强度上降低,使得文字匹配可W与比值匹配相对更高 的强度指示相关联,等等。匹配模块66可W至少部分基于与各个匹配相关联的匹配强度指 示来对匹配进行排序。例如,一个数据集合可W包括经由文字匹配、值匹配、语义匹配和/或 部分名称匹配中的一个或多个而与捜索条件相匹配的一组或多组数据项目。可W根据与匹 配相关联的强度指示来对每个匹配进行加权,使得文字匹配可W比值匹配等具有更大的权 重。
[0046] 匹配模块66可W至少部分地基于在捜索条件集合与数据集合属性之间的加权的 各个匹配的综合来确定对于每个数据集合的总体相关性,并且可W至少部分基于每个数据 集合的总体相关性来对数据源38中的数据集合进行排序。W运种方式,匹配模块66可W基 于排序确定哪些数据集合相对而言与捜索条件集合更为相关。
[0047] 匹配模块66可W确定数据源38中的数据集合的覆盖度得分。数据集合的覆盖度得 分可W被确定为联系于(bound to)与数据集合相关联的一个或多个属性的自然语言查询 的百分比。匹配模块66也可W确定对于两个或更多数据集合的一个或多个组合中的每一个 组合的覆盖度得分,W确定两个或更多数据集合的组合是否可W得到比任何单个数据集合 更高的覆盖度得分。例如,考虑自然语言查询"溫度如何影响产品销售",数据集合1可能能 够覆盖捜索条件"溫度",而数据集合2可能能够覆盖捜索条件"产品销售"。通过组合数据集 合1和数据集合2,该数据集合的组合可能能够覆盖"溫度"和"产品销售"两者,由此得到比 数据集合1或2自身更高的覆盖度得分。
[0048] 运样,联合模块68可W至少部分地基于对于两个或更多数据集合的一个或多个组 合中的一个组合确定的覆盖度得分,将两个或更多数据集合的一个或多个组合中的该一个 组合确定为用于联合为联合数据集合的两个或更多数据集合。在图3的示例中,联合模块68 可W至少部分基于由匹配模块66对于数据集合1和2的组合确定的覆盖度得分来确定数据 集合1和数据集合2的组合作为两个或更多用于联合为联合数据集合的两个或更多数据集 厶 1=1 ο
[0049] 如果联合模块6如角定出联合两个或更多数据集合的组合可W提供相对较高的覆 盖度得分,则联合模块68可W确定运两个或更多数据集合是否可W被联合在一起W及如何 联合运两个或更多数据集合。联合模块68可W基于试探规则集合进行操作W确定用于联合 两个或更多数据集合的联合路径,并且可W建立即刻发生的(on the fly)查询W从构成该 联合数据集合的数据源38取回数据项的集合。
[0050] 在两个或更多数据集合之间的联合路径可W是可W被联合在一起W便形成联合 数据项集合的数据组的数据项集合。例如,来自两个或更多数据集合的每一个中的各行的 数据项可W被联合在一起,或者来自两个或更多数据集合的每一个中的各列的数据项可W 被联合在一起。运样,联合两个或更多数据集合可W包括至少部分地基于所确定的用于产 生联合数据路径的联合路径,来联合两个或更多数据集合的一个或多个行和一个或多个 列。
[0051] 联合模块68可W确定在两个或更多数据集合中包括匹配的数据项的两个或更多 数据集合之间的联合路径。例如,来自第一数据集合的年列可W与来自第二数据集合的年 列联合,W产生联合的年列。
[0052] 联合模块68也可W确定在两个或更多数据集合中包括值重叠的两个或更多数据 集合之间的联合路径。在将来自第一数据集合的年列与来自第二数据集合的年列联合的示 例中,当且仅当在相应的年列之间存在值重叠时,联合模块68可W联合相应的年列。例如, 如果第一数据集合的年列的范围为从2005至2008,并且如果第二数据集合的年列的范围为 从2007至2013,则联合模块68能够联合运些年列。相反,如果相应的年列的值并不重叠,比 如如果第一数据集合的年列的范围为从2005到2008,并且第二数据集合的年列的范围为从 2009到2013,则联合模块68可W确定不联合来自第一数据集合的年列与来自第二数据集合 的年列。
[0053] 由于很少希望联合诸如收益、数量或溫度之类的度量项,所W联合模块68可W将 度量项排除而不被包括在联合路径中。
[0054] 联合模块68也可W至少部分地基于概念特定规则确定在两个或更多数据集合之 间的数据项的一个或多个联合路径,该概念特定规则可W是取决于从数据项中检测到的具 体概念而特定的规则。例如,具有诸如日期之类的时间概念的数据项在没有其他也被包括 在联合路径中的数据项的情况下可能其自身并不是良好的联合路径候选者,原因在于,由 于任何具有日期的数据集合都可能潜在地被联合在一起,其可能导致误判(false positive)。但是,如果日期属性是数据集合的唯一关键字化ey),则数据集合很可能是过渡 的(transitional)数据集合,并且在此情况下日期数据可能是良好的联合路径候选者。
[0055] 图4A-4E是例示将两个或更多数据集合联合为联合数据集合的示例的方框图。如 图4A所示,考虑示例性数据集合70和72,其每一个包括两行两列,联合模块68可W确定在包 括一个或多个匹配行的数据集合70和72之间的联合路径。在图4A的示例中,通过确定可W 被联合在一起成为匹配行71的在数据集合70和72中的行,联合模块68可W联合数据集合70 和72。在图1的示例中,匹配行71可W是被包括在联合数据集合中的数据集合70和72的仅一 行。如图4B中所示,在一些示例中,除了匹配行71之外,数据集合70或数据集合72的行可W 被包括在从将数据集合70和72进行联合所得到的联合数据集合中。例如,从将数据集合70 和72进行联合所得到的联合数据集合可W包括匹配行7lW及来自数据集合70的行73。如图 4C所示,在另一示例中,从将数据集合70和72进行联合所得到的联合数据集合可W包括匹 配行71W及来自数据集合72的行75。如图4D所示,在另一示例中,从将数据集合70和72进行 联合所得到的联合数据集合可W包括匹配行71W及来自于数据集合70的行73和来自于数 据集合72的行75。
[0056] 如图4E中所示,联合模块68也可W确定在包括一个或多个匹配列的数据集合之间 的联合路径。列74可W表示数据集合1的列,并且列76可W表示数据集合2的列。列74可W包 括年列78、月列80、城市列82和平均溫度列84,而列76可W包括产品类型列86、年列88、月列 90和城市列92。联合模块68可W联合年列78与年列88、月列80与月列90、W及城市列82与城 市列92。
[0057] 在联合路径中参与的项并不是必须是联系于自然语言查询的相同的项。例如,尽 管自然语言查询"溫度如何影响产品销售"并未提到年、月或城市,但是联合模块86仍可W 将年列78和88、月列80和90、W及城市列82和92包括到用于数据集合1和数据集合2的联合 路径中。
[0058] 联合模块68可W确定在两个或更多数据集合的属性之间的一个或多个候选联合 路径,并且在一些示例中可W将一个或多个候选联合路径呈现给用户用于对在两个或更多 数据集合之间的一个或多个联合路径的用户确认。联合模块68可W接收调整一个或多个候 选联合路径的用户输入,并且可W至少部分地基于该用户输入来调整一个或多个候选联合 路径W便确定在两个或更多数据集合之间的一个或多个联合路径。
[0059] 在确定数据集合之间的联合路径W及产生联合数据集合时,联合模块68可W确定 如何最佳地在数据集合之间正确合并和聚合。下面两个示例的数据集合可W是联合模块68 正试图将其联合为联合数据集合的数据集合:
[0060] 产品销售数据集合
[0061]
[0062]
[0063]产品销售预期数据集合
[0064]
[0066] 如上所示,在收益值在产品销售数据集合中沿着各个项目重复的同时,预期值在 产品销售数据集合中沿着品种重复。如果联合模块68通过将每个数据集合的"行业"和"品 种"列匹配来将产品销售数据集合与产品销售预期数据集合联合,则对于在产品销售预期 数据集合中的"行业"和"品种"列的每一个唯一组合,在产品销售数据集合中存在多个相应 的行。运样,联合模块68可W至少部分地基于用于产品销售数据集合和产品销售预期数据 集合的元数据模型来确定对于每个产品项目显示哪些预期值。
[0067] 图5是例示由联合模块68使用的示例性元数据模型的方框图。如图5所示,元数据 模型94可W是产品销售数据集合的元数据模型,并且元数据模型96可W是产品销售预期数 据集合的元数据模型。语义索引器22可W构造元数据模型94和96,并且可W在语义索引62 中存储元数据模型94和96。。1(16]11:1門61'^]16((3标识符行业)98、(31(16]11:1門6;1"1161]1山标识 符项目)104、cldentifier Brand(c 标识符品种)106、cldentifie;r Line 108、和 cldentifier Brand 114 可 W 是数据项,并且 cP;roduct(c 产品)100、cP;roduct 101、 cP;roductl02、cP;roduct 110和cProduct 112可W是与前述数据项目相关联的产品类别。连 接cProduct lOCKcProduct lOUcProduct 102、cP;roduct 110和cProduct 112的带箭头的 线可W指示数据层级,该数据层级是一对多的关联。联合模块68可W基于元数据模型94和 96来确定产品销售数据集合包含行业-〉品种-〉项目的Ξ级深的层级,而产品销售预期数据 集合包含行业-〉品种的两层深的层级。联合模块68因此可W确定在联合数据集合中对于在 单个品种下的每个项目重复预期值。
[0068] 响应于确定联合数据集合,联合模块68可W比如经由数据访问服务20查询数据源 38W取回包含该联合数据集合的数据项。查询可W指定从数据源38返回哪些数据集合的哪 些数据项,包括指定从数据源38返回的指定数据项的范围。查询还可W指定从数据源38返 回的数据项如何被合并和/或布置。数据分析器23可W经由商业智能口户24输出该联合数 据集合的表示,使得客户端计算装置16A可W访问并且浏览该联合数据集合的表示。通过商 业智能口户24输出的联合数据集合的表示可W是联合数据集合的逻辑合并的视图,比如联 合数据集合的行和列的电子表格。可替换地,联合数据集合的表示可W包括在联合数据集 合中包含的数据的可视化。
[0069] 图6A和6B例示联合数据集合的示例可视化。如图6A中所示,商业智能口户24可W 输出图形116,图形116可W是联合数据集合的图形,该联合数据集合是用于回答自然语言 查询"溫度如何影响产品销售"的数据集合1和数据集合2的组合。如图6B中所示,商业智能 口户24可W输出图形118,图形118是联合数据集合的图形,该联合数据结合是产品销售数 据集合和销售预期数据集合的组合。
[0070] 图7是例示在一个或多个计算装置(例如服务器、计算机、处理器等)上执行的数据 分析器23可W进行的示例处理700的流程图。数据分析器23可W接收自然语言查询(702)。 数据分析器23可W基于该自然语言查询确定捜索条件结合(704)。数据分析器23可W至少 部分地基于在捜索条件集合和在一个或多个存储装置中存储的多个数据集合的属性之间 的匹配,从在多个数据集合中确定与该自然语言查询相关的两个或更多数据集合(706)。数 据分析器23可W联合运两个或更多数据集合,包括联合运两个或更多数据集合的一个或多 个行W及一个或多个列W产生联合数据集合(708)。数据分析器23可W输出联合数据集合 的表示(710)。
[0071] 在一些示例中,在捜索条件集合和多个数据集合的属性之间的匹配包括W下的一 个或多个:文字匹配、值匹配、语义匹配和部分名称匹配,并且其中多个数据集合的属性包 括W下的一个或多个:语义元数据、词汇线索、样本值和数字统计。在一些示例中,数据分析 器23可W将匹配强度d指示与每个匹配相关联,并且可W基于与相应的匹配相关联的匹配 强度的指示来对匹配排序。
[0072] 在一些示例中,数据分析器23可W至少部分地基于匹配的排序来确定多个数据集 合中的两个或更多数据集合的一个或多个组合中的每一个组合的覆盖度得分,并且可W至 少部分地基于对于两个或更多数据集合的一个或多个组合中的一个组合所确定的覆盖度 得分来将该两个或更多数据集合的一个或多个组合中的该一个组合确定为要被联合为联 合数据集合的两个或更多数据集合。在一些示例中,将两个或更多数据集合的一个或多个 组合中的一个组合确定为要联合为联合数据集合的两个或更多数据集合可W包括确定在 运两个或更多数据集合之间的数据项的一个或多个联合路径。在一些示例中,数据分析器 23可W联合两个或更多数据集合,包括联合运两个或更多数据集合的一个或多个行W及一 个或多个列W产生联合数据集合还包括至少部分地基于一个或多个联合路径来联合两个 或更多数据集合。
[0073] 在一些示例中,一个或多个联合路径可W包括在两个或更多数据集合中的值重 叠。在一些示例中,一个或多个联合路径可W包括在两个或更多数据集合中的匹配的数据 项。在一些示例中,确定在两个或更多数据集合之间的数据项的一个或多个联合路径至少 部分地基于概念特定规则。在一些示例中,确定在两个或更多数据集合之间的数据项的一 个或多个联合路径可W包含从一个或多个联合路径中排除度量数据项。在一些示例中,确 定在两个或更多数据集合的数据项的一个或多个联合路径可W包括至少部分地基于用户 输入来调整一个或多个联合路径。
[0074] 图8是根据示意性示例可W用于执行数据分析器23的计算装置800的方框图。计算 装置800可W是如上文参考图2所述的服务器,包括网络服务器14A、应用服务器14B和数据 库服务器14C中的一个或多个。计算装置800也可W是用于在各种示例中提供数据分析器23 的任何服务器,包括可W从任意数量的计算装置运行或并入任意数量的计算装置的虚拟服 务器。计算装置可W作为真实或虚拟服务器的全部或者部分而操作,并且可W是或者可W 并入工作站、服务器、大型计算机、笔记型或膝上型计算机、桌上型计算机、平板、智能电话、 功能电话或者任何类型的其他可编程数据处理设备。计算装置800的其他实现方式可W包 括具有除了或超出在此所述的那些的性能或格式的计算机。
[0075] 在图8的示意性示例中,计算装置800包含通信构造882,其提供在处理器单元884、 存储器886、持久性数据存储装置888、通信单元890和输入/输出(I/O)单元892之间的通信。 通信构造882可W包括专用系统总线、通用系统总线、W层次形式布置的多个总线、任何其 他类型的总线、总线网络、交换构造或者其他互连技术。通信构造882支持在计算装置800的 各种子系统之间传送数据、命令和其他信息。
[0076] 处理器单元884可W是可编程中央处理单元(CPU),其被配置用于执行在存储器 886中存储的编程的指令。在另一示意性示例中,可W使用一个或多个异构处理器系统实现 处理器单元884,在该异构处理器系统中存在主处理器,次级处理器在单个忍片上。在另一 示意性示例中,处理器单元884可W是对称多处理器系统,其包含多个相同类型的处理器。 处理器单元884可W是诸如IBM⑥公司的PowerPC⑧处理器之类的精简指令集计算 (RISC)微处理器、诸如I址el⑧公司的Pentium?处理器之类的χ86兼容处理器、Advanced Micro Devices愈公司的A化Icm愈处理器、或者任何其他合适的处理器。在各种示例中,处 理器单元884例如可W包括诸如双核或四核处理器之类的多核处理器。处理器单元884例如 可W在一个裸忍上包括多个处理忍片、和/或在一个封装或基板上包括多个裸忍。处理器单 元884例如也可W包括一级或多级的集成缓存存储器。在各种示例中,处理器单元884可W 包括在一个或多个地点之间分布的一个或多个CPU。
[0077] 数据存储装置896包括存储器886和持久性数据存储装置888,它们通过通信构造 882来与处理器单元884通信。存储器886可W包括随机存取半导体存储器(RAM),用于存储 用于处理的应用数据、即计算机程序数据。尽管存储器886在概念上被描绘为单个单片实 体,但是在各种示例中,存储器886可W被布置在缓存的层次中W及其他存储器装置中、单 个物理位置上、或者W各种形式分布在多个物理系统之间。尽管存储器886被描述为物理上 与处理器单元884W及计算装置800的其他元件相分离,但是存储器886同样可W指代在整 个计算装置800的任何位置处的任何中间的或缓存存储器,包括接近处理器单元884或者与 处理器单元884集成的缓存存储器或者接近处理器单元884的各个核或与各个核相集成的 缓存存储器。
[0078] 持久性数据存储装置888可W包括一个或多个硬盘驱动器、固态驱动器、快闪驱动 器、可重写光盘驱动器、磁带驱动器或者运些或其他数据存储介质的任何组合。持久性数据 存储装置888可W存储用于操作系统的计算机可执行指令或者计算机可读程序代码、包括 程序代码的应用文件、数据结构或数据文件、和任何其他类型的数据。运些计算机可执行指 令可W从持久性数据存储装置888加载至存储器886中,W由处理器单元884或其他处理器 读取和执行。数据存储装置896也可W包含能够基于临时基础和/或永久基础而存储诸如例 如但不限于数据、函数形式的程序代码和/或其他合适的信息的信息的任何其他硬件元件。
[0079] 持久性数据存储装置888和存储器886是物理的、有形的、非暂时性的计算机可读 数据存储装置的示例。数据存储装置896可W包含任意的各种形式的易失性存储器,其可能 需要被周期性地电刷新W便在存储器中维持数据,而本领域技术人员将认识到,运也构成 物理的、有形的、非暂时性计算机可读数据存储装置的示例。当程序代码被加载、存储、中 继、缓冲或缓存在非暂时性物理介质或装置上、包括只要仅短持续时间或仅W易失性存储 器形式时,可执行的指令可W存储在非暂时性介质上。
[0080] 处理器单元884也可W适当地被编程W读取、加载和执行用于数据分析器23的计 算机可执行指令或计算机可读程序代码,如上文中更详细描述的。改程序代码可W存储在 存储器886、持久性数据存储装置888、或者计算装置800的其他位置上。该程序代码也可W 采取存储在计算机程序产品800中包括的计算机可读介质802上的程序代码804的形式,并 且可W通过任意的各种本地或远程方式从计算机程序产品800传送或传达至计算装置800, W能够被处理器单元884执行,如下文中进一步解释的。
[0081] 操作系统可W提供诸如装置接口管理、存储器管理和多任务管理之类的功能。操 作系统可W是诸如来自描M?公司的AIX?操作系统之类的基于化ix的操作系统、诸如来 自Mic的地ft?公司的Windows?操作系统家族之类的非基于化ix的操作系统、诸如来自 Oracle?公司的JavaOS'i,么类的网络操作系统、或者其他任何合适的操作系统。处理器单 元884可W适当地被编程,W读取、加载和执行操作系统的指令。
[0082] 通信单元890在该示例中提供与其他计算或通信系统或装置的通信。通信单元890 可W通过使用物理的和/或无线的通信链路来提供通信。通信单元890可W包含网络接口 卡,用于与企业网络18、公共网络15、W太网适配器、令牌环适配器、用于连接到诸如电话线 之类的传输系统的调制调解器、或者任何其他类型的通信接口相接口。通信单元890可W用 于操作地将各种类型的外围计算装置连接到计算装置800,比如打印机、总线适配器和其他 计算机。通信单元890可W被实施为扩展卡或者例如内置在母板中。
[0083] 输入/输出单元892可W支持适于通过可W连接到计算装置800的其他装置来输入 和输出数据的装置,比如键盘、鼠标或者其他指示器、触摸屏界面、用于打印机或任何其他 外围装置的接口、可移除磁盘或光盘驱动器(包括CD-ROM、DVD-ROM、或蓝光)、通用串行总线 (USB)接收器、或者任何其他类型的输入和/或输出装置。输入/输出单元892在各种示例中 还可W包括任何类型的用于W任何类型的视频输出协议输出的视频的接口、W及任何类型 的显示器或其他视频显示技术。可W理解的是,运些示例中的一些可W彼此重叠,或者与通 信单元890或数据存储装置896的示例部件重叠。输入/输出单元892还可W包含用于任何类 型的外部装置的合适的装置驱动器,或者运样的装置驱动器可W在适当时驻留于计算装置 800上的其他位置。
[0084] 在该示意性示例中,计算装置800还包括显示适配器894,其提供用于诸如显示装 置898的一个或多个显示装置的一个或多个连接,该显示装置可W包括任意的多种类型的 显示装置。可W理解的是,运些示例中的一些可能与通信单元890或输入/输出单元892中的 示例部件重叠。输入/输出单元892也可W包含用于任意类型的外部装置的合适的装置驱动 器,或者运样的装置驱动器可W在适当时驻留于计算装置800上的其他位置。在各种示例 中,显示适配器894可W包括一个或多个视频卡、一个或多个图形处理单元(GPU)、一个或多 个可视频连接端口、或者能够传送视频数据的任何其他类型的数据连接器。在各种示例中, 显示装置898可W是任何种类的显示装置,比如监视器、电视、或投影仪。
[0085] 输入/输出单元892可W包括用于接收计算机程序产品801的驱动器、插口或出口, 计算机程序产品801包括具有在其上存储的计算机程序代码104的计算机可读介质802。例 如,计算机程序产品801可W是作为示意性示例的CD-ROM、DVD-ROM、蓝光盘、磁盘、USB棒、闪 存盘或者外部硬盘、或者任何其他合适的数据存储技术。
[0086] 计算机可读介质802可W任何类型的光、磁、或者其他物理介质,其将程序代码804 物理地编码为在存储器的每个单元中的不同物理状态的二进制序列,在被计算装置800读 取时引起由处理器884读取的、与存储介质802的基本数据存储元件的物理状态相对应的物 理信号,并且引起处理器单元884的物理状态上的相应改变。该物理程序代码信号可诸 如高级编程语言、汇编语言或者机器语言之类的任意的各种抽象级别建模或者概念化,但 是最终构成一系列物理的电和/或磁相互作用,该相互作用在物理上引起处理器单元884的 物理状态上的改变,因此W物理上W使得计算装置800在物理上采取其直到通过加载在程 序代码804中包含的可执行指令来改变其物理状态时才具备的新性能运种方式,在物理上 引起或者配置处理器单元884W生成与计算机可执行的指令相对应的物理输出。
[0087] 在一些示意性示例中,可W通过网络从另一装置或计算机系统将程序代码804下 载至数据存储装置896, W在计算装置800中使用。包括计算机可执行指令的程序代码804可 W通过到通信单元890的硬线或无线通信链路和/或通过与输入/输出单元892的连接从计 算机可读介质802传送或传输至计算装置800。包括程序代码804的计算机可读介质802可W 位于与计算装置800相分离的位置或者计算装置800的远程位置,并且可W位于包括世界上 任何地方的任何远程地理位置在内的任何地方,并且可W通过诸如因特网和/或其他分组 数据网络之类的任意类型的一个或多个通信链路将程序代码804中继至计算装置800。例 如,程序代码804可W通过无线因特网连接或者通过诸如无线LAN、Bluetooth?、Wi-Fi?或 者红外连接之类的较短距离直接无线连接而传输。在其他实现方式中也可W使用任何其他 的无线或远程通信协议。
[0088] 通信链路和/或连接在各种示意性示例中可W包括有线和/或无线连接,并且可W 通过包含程序代码804的诸如通信链路或无线传输之类的无形介质从源计算机可读的介质 802传输程序代码804。程序代码804可W在从其初始源介质到计算装置800的路途上或多或 少地暂时性地或者长久地存储在任何数量的中间有形的、物理的计算机可读的装置和介质 上,比如任何数量的物理缓冲器、缓存、主存储器、或者服务器的数据存储部件、网关、网络 节点、移动性管理实体、或者其他网络设施。
[0089] 本发明可W是系统、方法和/或计算机程序产品。计算机程序产品可W包括计算机 可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0090] 计算机可读存储介质可W是可W保持和存储由指令执行设备使用的指令的有形 设备。计算机可读存储介质例如可W是一-但不限于一-电存储设备、磁存储设备、光存储 设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的 更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存 储器(ROM)、可擦式可编程只读存储器化PROM或闪存)、静态随机存取存储器(SRAM)、便携式 压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上 存储有指令的打孔卡或凹槽内凸起结构、W及上述的任意合适的组合。运里所使用的计算 机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通 过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输 的电信号。
[0091] 运里所描述的计算机可读程序指令可W从计算机可读存储介质下载到各个计算/ 处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外 部存储设备。网络可W包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关 计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计 算机可读程序指令,并转发该计算机可读程序指令,W供存储在各个计算/处理设备中的计 算机可读存储介质中。
[0092] 用于执行本发明操作的计算机程序指令可W是汇编指令、指令集架构(ISA)指令、 机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者W-种或多种编程语言的 任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言一诸如 Smalltalk、C++等,W及常规的过程式编程语言一诸如"C"语言或类似的编程语言。计算机 可读程序指令可W完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独 立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机 或服务器上执行。在设及远程计算机的情形中,远程计算机可W通过任意种类的网络一包 括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可W连接到外部计算机(例如利 用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令 的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程口阵列(FPGA)或可 编程逻辑阵列(PLA),该电子电路可W执行计算机可读程序指令,从而实现本发明的各个方 面。
[0093] 运里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/ 或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框W及流程图和/ 或框图中各方框的组合,都可W由计算机可读程序指令实现。
[0094] 运些计算机可读程序指令可W提供给通用计算机、专用计算机或其它可编程数据 处理装置的处理器,从而生产出一种机器,使得运些指令在通过计算机或其它可编程数据 处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功 能/动作的装置。也可W把运些计算机可读程序指令存储在计算机可读存储介质中,运些指 令使得计算机、可编程数据处理装置和/或其他设备W特定方式工作,从而,存储有指令的 计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中 规定的功能/动作的各个方面的指令。
[0095] 也可W把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它 设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,W产 生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的 指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0096] 附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程 序产品的可能实现的体系架构、功能和操作。在运点上,流程图或框图中的每个方框可W代 表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用 于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也 可不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可W基本并行地执 行,它们有时也可W按相反的顺序执行,运依所设及的功能而定。也要注意的是,框图和/或 流程图中的每个方框、W及框图和/或流程图中的方框的组合,可W用执行规定的功能或动 作的专用的基于硬件的系统来实现,或者可W用专用硬件与计算机指令的组合来实现。
[0097] 为了例示的目的已经给出了对本发明的各个实施例的描述,但是不意图穷尽或者 限制到所公开的实施例。不脱离所描述的实施例的范围和精神,许多修改和变化对于本领 域技术人员而言将是显而易见的。选择在此使用的技术W最佳地说明实施例的原理、实际 应用或者相比于在市场上找到的技术的技术改进,或者使得本领域技术人员能够理解在此 公开的实施例。
【主权项】
1. 一种方法,包括: 通过计算装置接收自然语言查询; 通过该计算装置并且基于该自然语言查询来确定搜索条件集合; 至少部分地基于在所述搜索条件集合和在一个或多个存储装置中存储的多个数据集 合的属性之间的匹配,通过该计算装置并且从所述多个数据集合中确定与该自然语言查询 相关的两个或更多数据集合; 通过该计算装置联合所述两个或更多数据集合,包括联合所述两个或更多数据集合的 一个或多个行以及一个或多个列,以产生联合数据集合;以及 通过该计算装置输出所述联合数据集合的表示。2. 根据权利要求1所述的方法, 其中,在所述搜索条件集合和所述多个数据集合的属性之间的匹配包括以下的一个或 多个:文字匹配、值匹配、语义匹配或部分名称匹配,并且 其中,所述多个数据集合的属性包括以下的一个或多个:语义元数据、词汇线索、样本 值或数值统计。3. 根据权利要求2所述的方法,还包括: 通过该计算装置将匹配强度的指示与每个匹配相关联;以及 通过该计算装置基于与每个匹配相关联的各自的匹配强度的指示来对匹配排序。4. 根据权利要求3所述的方法,还包括: 通过该计算装置至少部分地基于匹配的排序来确定对于所述多个数据集合中的两个 或更多数据集合的一个或多个组合中的每一个组合的覆盖度得分;以及 至少部分地基于对于两个或更多数据集合的所述一个或多个组合中的一个组合的每 一个的各自确定的覆盖度得分,确定两个或更多数据集合的所述一个或多个组合中的该一 个组合作为要联合为联合数据集合的两个或更多数据集合。5. 根据权利要求4所述的方法,其中, 通过该计算装置确定两个或更多数据集合的所述一个或多个组合中的该一个组合作 为要联合为联合数据集合的两个或更多数据集合还包括:确定在所述两个或更多数据集合 之间的数据项的一个或多个联合路径;以及 通过该计算装置确定所述两个或更多数据集合还包括:至少部分地基于所述一个或多 个联合路径来联合所述两个或更多数据集合。6. 根据权利要求5所述的方法,其中,所述一个或多个联合路径包括在所述两个或更多 数据集合中的值重叠。7. 根据权利要求5所述的方法,其中,所述一个或多个联合路径包括在所述两个或更多 数据集合中的匹配数据项。8. 根据权利要求5所述的方法,其中,至少部分地基于概念特定规则来确定所述一个或 多个联合路径。9. 根据权利要求5所述的方法,其中,确定所述一个或多个联合路径还包括从所述一个 或多个联合路径中排除度量数据项。10. 根据权利要求5所述的方法,其中,确定数据项的一个或多个联合路径还包括至少 部分地基于用户输入来调整所述一个或多个联合路径。11. 一种计算机系统,包括: 一个或多个处理器、一个或多个计算机可读的存储器、以及一个或多个计算机可读的 有形存储装置; 程序指令,存储在一个或多个存储装置中的至少一个上,用于由所述一个或多个处理 器中的至少一个经由一个或多个存储器中的至少一个来执行,以接收自然语言查询; 程序指令,存储在一个或多个存储装置中的至少一个上,用于由所述一个或多个处理 器中的至少一个经由一个或多个存储器中的至少一个来执行,以基于所述自然语言查询来 确定搜索条件集合; 程序指令,存储在一个或多个存储装置中的至少一个上,用于由所述一个或多个处理 器中的至少一个经由一个或多个存储器中的至少一个来执行,以至少部分地基于所述搜索 条件集合与在所述一个或多个存储装置中存储的多个数据集合的属性之间的匹配,从所述 多个数据集合中确定与所述自然语言查询相关的两个或更多数据集合; 程序指令,存储在一个或多个存储装置中的至少一个上,用于由所述一个或多个处理 器中的至少一个经由一个或多个存储器中的至少一个来执行,联合所述两个或更多数据集 合,包括联合所述两个或更多数据集合的一个或多个行以及一个或多个列以产生联合数据 集合;和 程序指令,存储在一个或多个存储装置中的至少一个上,用于由所述一个或多个处理 器中的至少一个经由一个或多个存储器中的至少一个来执行,以输出所述联合数据集合的 表不。12. 根据权利要求11所述的计算机系统,其中,所述搜索条件集合和所述多个数据集合 的属性之间的匹配包括以下的一个或多个:文字匹配、值匹配、语义匹配和部分名称匹配, 并且其中,所述多个数据集合的属性包括以下的一个或多个:语义元数据、词汇线索、样本 值和数值统计。13. 根据权利要求12所述的计算机系统,还包括: 程序指令,存储在一个或多个存储装置中的至少一个上,用于由所述一个或多个处理 器中的至少一个经由一个或多个存储器中的至少一个来执行,以将匹配强度的指示与每个 匹配相关联;和 程序指令,存储在一个或多个存储装置中的至少一个上,用于由所述一个或多个处理 器中的至少一个经由一个或多个存储器中的至少一个来执行,以基于与各个匹配相关联的 匹配强度的指示来对匹配排序。14. 根据权利要求13所述的计算机系统,还包括: 程序指令,存储在一个或多个存储装置中的至少一个上,用于由所述一个或多个处理 器中的至少一个经由一个或多个存储器中的至少一个来执行,以至少部分地基于匹配的排 序确定对于所述多个数据集合中的两个或更多数据集合的一个或多个组合中的每一个组 合的覆盖度得分;和 程序指令,存储在一个或多个存储装置中的至少一个上,用于由所述一个或多个处理 器中的至少一个经由一个或多个存储器中的至少一个来执行,以至少部分地基于对于两个 或更多数据集合的一个或多个组合中的一个组合所确定的覆盖度得分,确定两个或更多数 据集合的一个或多个组合中的所述一个组合作为要联合为联合数据集合的两个或更多数 据集合。15.根据权利要求14所述的计算机系统,其中: 用于确定两个或更多数据集合的一个或多个组合中的一个组合作为要联合为联合数 据集合的两个或更多数据集合的程序指令还包括存储在一个或多个存储装置中的至少一 个上、用于由所述一个或多个处理器中的至少一个经由一个或多个存储器中的至少一个来 执行、以确定在所述两个或更多数据集合之间的数据项的一个或多个联合路径的程序指 令;和 用于联合所述两个或更多数据集合、包括联合所述两个或更多数据集合的一个或多个 行以及一个或多个列以产生所述联合数据集合的程序指令还包括存储在一个或多个存储 装置中的至少一个上、用于由所述一个或多个处理器中的至少一个经由一个或多个存储器 中的至少一个来执行、以至少部分地基于所述一个或多个联合路径来联合所述两个或更多 数据集合的程序指令。
【文档编号】G06F17/30GK105824872SQ201610051916
【公开日】2016年8月3日
【申请日】2016年1月26日
【发明人】M.雷斯-加塞姆, R.N.格罗塞特
【申请人】国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1