CN107016011B - 用于自然语言查询的联接路径的消岐 - Google Patents

用于自然语言查询的联接路径的消岐 Download PDF

Info

Publication number
CN107016011B
CN107016011B CN201610815202.0A CN201610815202A CN107016011B CN 107016011 B CN107016011 B CN 107016011B CN 201610815202 A CN201610815202 A CN 201610815202A CN 107016011 B CN107016011 B CN 107016011B
Authority
CN
China
Prior art keywords
natural language
language query
structured
token
knowledge base
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.)
Active
Application number
CN201610815202.0A
Other languages
English (en)
Other versions
CN107016011A (zh
Inventor
托尔加·博兹卡亚
阿尔曼多·约瑟夫·迪迦姆克
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.)
Google LLC
Original Assignee
Google 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 Google LLC filed Critical Google LLC
Publication of CN107016011A publication Critical patent/CN107016011A/zh
Application granted granted Critical
Publication of CN107016011B publication Critical patent/CN107016011B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24522Translation of natural language queries to structured queries
    • 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/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • 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/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及用于自然语言查询的联接路径的消岐。其中一个方法包括:获得来自用户的自然语言查询;在将自然语言查询转换为要在知识库的结构化应用编程接口(API)上进行的结构化操作时:响应于检测与转换相关联的行文歧义,其中行文歧义标识出自然语言查询中包括的单词的两个以上解释:通过基于已经基于知识库的数据模式生成的一个或多个联接路径从单词的两个以上解释中选择单词的解释,解决行文歧义;根据选择的单词的解释修改自然语言查询,以生成一个或多个结构化操作;对于知识库的结构化API进行一个或多个结构化操作;以及将与自然语言查询结果匹配的搜索结果返回用户。

Description

用于自然语言查询的联接路径的消岐
相关申请的交叉参考
根据35U.S.C.§119(e),本申请要求2015年9月11日提交的美国临时专利申请No.62/217,409“Disambiguating Join Paths for Natural Language Queries”的优先权,通过引用将其合并于此。
技术领域
本说明书涉及用于自然语言查询的联接路径的消岐。
背景技术
辨别进行自然语言查询的行文语境可以改善查询处理。例如,可将查询“calculate the sales of goods produced in Italy”解释为“calculate the salesmade in Italy of goods that have been produced”或者“calculate the sales ofgoods that have been produced in Italy”。发布该查询的语境将有助于理解预期的解释。
发明内容
一般而言,本说明书描述为了自然语言查询将联接路径消岐的技术。
一般而言,本说明书所述主题内容的一个创造性方案可以在包括以下动作的方法中具体实施:获得来自用户的自然语言查询;在将所述自然语言查询转换为要在知识库的结构化应用编程接口(API)上进行的结构化操作时:响应于检测与所述转换相关联的行文歧义,其中所述行文歧义标识出自然语言查询中包括的单词的两个以上解释:通过基于已经基于所述知识库的数据模式生成的一个或多个联接路径从所述单词的两个以上解释中选择所述单词的解释,解决所述行文歧义;根据选择的所述单词的解释修改所述自然语言查询,以生成一个或多个结构化操作;对于所述知识库的所述结构化API进行所述一个或多个结构化操作;以及将与所述自然语言查询结果匹配的搜索结果返回所述用户。
该方法的其他实施例包括对应的计算机系统、设备、以及在一个或多个计算机存储装置上记录的计算机程序,每个被配置为进行该方法的动作。对于要被配置为进行特定操作或动作的一个或多个计算机的系统而言,意味着系统在上面安装了软件、固件、硬件或它们的组合,工作时软件、固件、硬件或它们的组合使得系统进行操作或动作。对于要被配置为进行特定操作或动作的一个或多个计算机程序而言,意味着一个或多个程序包括在通过数据处理设备执行时,使得设备操作或动作的指令。
上述及其他实施例可以分别选择性地包括以下特征的一个或多个,单独地或组合地。具体而言,一个实施例包括组合的所有以下特征。所述联接路径包括共享公共列的至少两个表的标识符。所述联接路径还包括所述公共列的一个或多个标识符。通过基于已经基于所述知识库的数据模式生成的一个或多个联接路径从所述单词的两个以上解释中选择所述单词的解释,解决所述行文歧义包括:确定所述单词与所述至少两个表的第一表的第一列中指定的值匹配;以及基于所述确定,在参考所述至少两个表的第二表的第二列中指定的值时识别所述单词。将所述自然语言查询转换为要在知识库的结构化应用编程接口(API)上进行的结构化操作包括:获得通过分析器生成的分析器输出,所述输出代表所述自然语言查询;以及根据所述分析器输出生成概念树,其中子语境概念节点在所述概念树上所位于的等级不比任何属性节点更靠近所述概念树的根部。获得分析器输出包括将所述自然语言查询处理为标志。基于所述概念树以及选择的所述单词的解释生成所述结构化操作。
本说明书所述主题内容可以在特定实施例中实施,从而实现以下优点的一个或多个。可以减少解决自然语言歧义所需的计算工作量。可以基于预设语境自动解决自然语言查询中出现的歧义,因此不需要用户介入。此外,对于用户提供的自然语言查询中检测的行文歧义,可以在它们出现时就被解决,这消除了基于每个替代性解释而产生搜索结果的需要。
本说明书所述主题内容的一个或多个实施例的细节在附图以及以下描述中给出。根据说明书、附图、以及权利要求书,主题内容的其他特征、方案、以及优点将变得显而易见。
附图说明
图1是示出示例性数据表以及数据表之间的潜在联接的简图。
图2是示出示例性子语境词汇的简图。
图3是示出示例性超图的简图。
图4是示出图3所示超图的示例性表现的简图。
图5是示出示例性概念树的简图。
图6是示出用于自然语言查询的联接路径的消岐的示例性系统的简图。
图7至图8是示出示例性图式词汇的简图。
图9是示出处理联接路径的示例的流程图。
不同的附图中相同的附图标记和指定表示相同的元件。
具体实施方式
自然语言查询处理系统可以基于自然语言查询,利用自然语言处理(NLP)技术来产生能够在基础数据源上操作的结构化查询,并执行结构化查询来获得查询结果。为此,例如需要通过领域专家来指定——在本说明书中被称为图式词汇的——以下信息集合的一个或多个:
根据自然语言查询产生的基础数据源的数据模式——例如列名与标志——例如单词或短语之间的映射;
数据表之间的联接映射,例如表A中哪个列与表B中的“country”列联接;
可识别的域值;例如,应当将单词“Italy”识别为国家;以及
查询过滤器与自然语言查询中包括的单词之间的映射;例如一个或多个国家过滤器所参考的映射,在“what is the revenue in G20countries”这样的查询中的短语“G20countries”。
基于这些图式词汇,在接收自然语言查询之后,询问处理系统可以识别查询中的标志,例如通过利用分析器来分析查询,以及基于图式词汇将标志映射到概念。
分析器可以指定所识别的标志之间的依赖关系,例如利用概念树。因此,分析器输出可包括将所识别的概念作为节点的概念树。
系统可以分析概念树,以生成结构化查询——例如SQL查询,并对基础数据源执行这些结构化查询,以获得搜索结果。
歧义可能由于处理自然语言查询而出现。例如,当自然语言查询中包括的单词可以解释为表示两个不同的可识别图式词汇——例如表示不同表的不同列中包括的值——的时候,歧义可能出现。本说明书描述了当歧义出现时用于检测它们的技术。因此,可以在提交机构化查询以获得搜索结果之前解决歧义。这样可以改善性能,并缩短提供与用户预期相对应的结果所需的时间。例如,当通过用户将输入查询修正一次或多次,以响应于基于有歧义的自然语言查询生成的结果消除歧义的时候,不需要生成多个结构化查询。在一些实施方式中,可以基于本文所述的一个或多个算法来解决歧义,不需要用户介入来简化处理以及合理化用户体验。
例如,在接收到“calculate the sales of goods produced in Italy”的查询之后,自然语言系统可以生成以下三个标志:“sales”、“Italy”和“produced”。通过自然语言系统确定为匹配图式词汇的标志被识别为概念。例如,系统可将“sales”识别为表示图1所示表102的列“sales_usd”的概念;将概念“Italy”识别为用于国家名的反向索引匹配;将概念“produced”识别为图2所示子语境204中包括的n-gram;并且因此,系统将查询识别为包括三个概念。
但是系统可以确定,用于国家“Italy”的概念是有歧义的,因为概念“Italy”可以解释为进行销售所在的国家,也可以解释为生产或制造商品所在的国家。因此系统可以要求附加语境来消岐。
附加语境可以是根据与特定子语境中指定的值匹配的相同自然语言查询产生的另一个概念。
例如,因为概念“produced”与子语境204中包括的其中一个n-gram匹配,如图2所示,所以系统可以依靠子语境204中包括的其他n-gram,例如“production_cost”n-gram以及“manufacture_country_code”n-gram,以解决与概念“Italy”有关的歧义。例如,当两种解释或者同样有可能,或者同样合理时,系统将依靠一个或多个子语境中指定的数据来选择一个解释,并基于所选择的解释来解决自然语言查询。因此,系统会将概念“Italy”解释为生产或制造商品所在的国家,因为概念“produced”具有子语境204而非子语境202中的n-gram匹配。
基于数据模式和联接映射的超图生成
基于其可以进行消岐的子语境是基于超图来产生,超图表示其中数据表相互之间可具有多个联接映射的数据库图式。在一些实施方式中,作为图式词汇的一部分,子语境通过领域专家来产生,以指定特定领域中数据的关系。超图包括一组节点以及一组边,节点表示数据库中存储的数据表的列,边表示列所属的表。如果两个节点表示的列是可以联接的,则通过边将两个节点连接;并且边识别列所属的表。
表的联接系属是导致表从另一个表开始的一系列联接。在两个表之间可以有多个可能的联接系属。如果在A与B之间指定了联接映射(A,x,B,y),那么可将从A开始到B的联接系属表示为“A::x B”。
超边包括:表名、联接系属、以及超节点的列表(通过参考或索引)。节点包括:表名、属性名、以及{a join lineage with the attribute name},又称为属性路径。
在图1所示的示例性表中,FactoryToConsumer表102中的sale_country_code列可以与Geo表104中的country_code列联接,并且因此,用超图上的相同节点来表示这两个列;如同FactoryToConsumer表102中的manufacture_country_code列与Geo表104中的country_code列。换言之,通过其节点集合在公共列上重叠的超边来表示可通过一个或多个公共列联接的表。
但是当两个表可通过两个以上公共列来联接时,需要包括两个以上公共列的表的若干实例来构造超图。
例如,如图1所示,Geo表104可通过以下两种方式与FactoryToConsumer表102联接:通过manufacture_country_code外键以及通过sale_country_code外键。因此,描述FactoryToConsumer表102以及Geo表104的超图300包括Geo表104的两个实例,如图3所示。
因为在超图300中有Geo表104的两个实例,所以自然语言处理系统在处理自然语言查询时需要将它们相互区分。本说明书所述消岐技术使用来自源表的联接路径。或者,可通过参照表名来进行消岐。
在任何联接映射中源表是并非基本表的表。换言之,源表通过其外键的一个或多个与另一个表联接,但不是其主键。在以上示例中,当在manufacture_country_code列和sale_country_code列以及country_code列上将表联接时,FactoryToCustomer表是源表,而Geo表不是源表,manufacture_country_code列和sale_country_code列都不是FactoryToConsumer表的主键,country_code列是Geo表的主键。
联接路径是线性结构,例如描述通过以下foreign_key-primary_key联接映射怎样从源表到达给定表的字符串或列表,例如按照[<table_name>::<foreign_key>]*<table_name>的形式。“*”表示[<table_name>::<foreign_key>]可以重复一次以上。用于图3所示两个Geo表的联接路径是:
“FactoryToConsumer::sale_country_code Geo”;以及
“FactoryToConsumer::manufacture_country_code Geo”。
联接路径也可用于描述超图的节点,例如跨越两个表的公共列或可联接列。例如,用于“FactoryToConsumer::sale_country_code Geo”边的联接路径如下:
“FactoryToConsumer::sale_country_code Geo::country_code”;
“FactoryToConsumer::sale_country_code Geo::country_name”;以及
“FactoryToConsumer::sale_country_code Geo::country_region”。
用于生成联接路径的示例性算法如下:
1.current_tables={Set of(table,join lineage)pairs for tables that donot appear as the Parent table for any join mappings}。用于这些表的“joinlineage”与表匹配。Ex:[(BuyerSeller,“BuyerSeller”)]
2.在current_tables非空时:
a.从current_tables中将(T,T.join_lineage)出列。
b.产生用于该表“instance”的超边并将其添加到超图。Hyperedge(T,T.join_lineage,hypernodes={})
c.对于表T,找到不出现的所有列作为任何联接映射中的主键。对于每个列T.c,产生超节点并将其添加到超图。注意,我们是首次看到这些属性并且这是为什么我们产生用于它们的节点。此外,将超节点添加到超节点的列表,用于在以上步骤中产生的超边。
d.对于表T,找到出现的所有列作为任何联接映射中的主键。当我们在联接系属中处理先前的表时,我们已经基本上产生用于这些的超节点。我们只是将这些现有超节点的参考添加到用于以上步骤中产生的超边的超节点的列表。
e.对于所有联接映射(FT,fk,PT,pk),其中向当前表中Enqueue(PT,Append(T.join_lineage,“::fk PT”)。
以上示例性算法将终止,除非存在循环联接关系。通过检查表是否已经在联接路径中出现,可以容易地检测循环联接关系。在构造联接路径时也允许预定数量的循环,不会导致算法暂停。
下面是以上示例性算法的输出,将图7至-图8所示的图示词汇用作输入。
1.current_tables={(BuyerSeller,“BuyerSeller”)},Hyperedges={},Hypernodes={}
2.在处理(BuyerSeller,“BuyerSeller”)之后:
a.新的超边:
i.E1(BuyerSeller,“BuyerSeller”,{N1,N2,N3,N4,N5})
b.新的超节点:
i.N1(BuyerSeller,sales_usd,“BuyerSeller::sales_usd”)
ii.N2(BuyerSeller,transaction_item,“BuyerSeller::transaction_item”)
iii.N3(BuyerSeller,transaction_date,“BuyerSeller::transaction_date”)
iv.N4(BuyerSeller,buyer_id,“BuyerSeller::buyer_id”)
v.N5(BuyerSeller,seller_id,“BuyerSeller::seller_id”)
c.current_tables
i.(Person,“BuyerSeller::buyer_id Person”)
ii.(Person,“BuyerSeller::seller_id Person”)
3.在处理(Person,“BuyerSeller::buyer_id Person”)之后
a.新的超边:
i.E1(Person,“BuyerSeller::buyer_id Person”,{N4,N6,N7,N8,N9})(注意,N4是对于BuyerSeller而较早产生的,BuyerSeller是联接键)
b.新的超节点:
i.N6(Person,full_name,“BuyerSeller::buyer_id Person::full_name”)
ii.N7(Person,likes,“BuyerSeller::buyer_id Person::likes”)
iii.N8(Person,personal_address_id,“BuyerSeller::buyer_id
Person::personal_address_id”)
iv.N9(Person,business_address_id,“BuyerSeller::buyer_id
Person::business_address_id”)
c.current_tables
i.(Person,“BuyerSeller::seller_id Person”)
ii.(Address,“BuyerSeller::buyer_id Person::personal_address_idAddress”)
iii.(Address,“BuyerSeller::buyer_id Person::business_address_idAddress”)
自然语言查询处理系统可以根据图1所示数据模式100生成图4所示超图400。
子语境的分析
子语境概念变换
一旦生成超图,自然语言查询处理系统就可以分析与特定领域相关联的领域词汇中指定的子语境,并通过子语境传播联接路径。
处理自然语言查询的其中一个挑战来自于自然语言的灵活性,因为可以按照多种不同的行文方式来表达相同的含义。这样会将依赖关系分析复杂化。例如,自然语言处理系统可以根据自然语言查询中包括的短语或单词生成相同的概念,但是这些概念之间的依赖关系可以不同,取决于分析器怎样分析自然语言查询。此外,因为自然语言查询处理系统可以依靠外部分析器提供的分析输出——例如概念树,并且不能控制外部分析器的操作,所以为了传播联接路径,系统需要将它接收的分析器输出变换为可通过系统处理的形式。
为此,自然语言查询处理系统可以利用启发法或变换规则来变换概念树,从而产生其结构可通过系统处理的概念树,以生成联接路径。
例如,以下自然语言查询承载相同的含义:
1.计算买方个人地址在Nevada(内华达)的销售额;
2.计算买方在Nevada有他的个人地址的销售额;以及
3.对于在Nevada有他们的个人地址的买方而言总销售额是多少。
图5是示出示例性概念树502、504和506的简图500。具体而言,分析器可以根据具有不同结构的上述三个自然语言查询来产生三个概念树502、504和506。
作为处理这些概念树的一部分,系统例如可以基于字符串匹配来比较具有领域词汇中指令的值的节点,并将“buyer”节点514和“personal address”节点516识别为子语境节点;将“nevada”节点518识别为反向索引匹配概念;以及将“sale”节点512识别为数据库属性节点,数据库属性节点需要来自两个以上表的数据的集结。
如上所述,可将自然语言查询处理系统限制为基于具有特定格式的概念树来处理联接路径。例如,自然语言查询处理系统可能只能处理子语境节点位于父系等级或者位于从根部到概念节点的“ancestry”(谱系)路径上的概念树,以使得可以正确地建立从该概念到这些节点的依赖性。
例如,考虑概念树502。系统需要确定Nevada节点对应什么。系统可通过查看它谱系中的子语境节点来实现这一点。但是,“personal address”节点516(是子语境节点)并非位于从根部到“nevada”节点的路径上,并且会阻止系统正确地建立“Nevada是买方个人地址的地址所在的州”。对于504中的概念树而言存在类似的问题,但此时系统不一定能够在处理“nevada”节点516时涉及“buyer”子语境节点514。
自然语言查询处理系统可将概念树的原始结构变换为可通过系统处理的不同结构。例如,自然语言查询处理系统可通过在概念树504中将“buyer”节点514移动为更靠近根部一个等级,将概念树504变换为概念树508,这使得“buyer”节点514成为“personaladdress”节点516的父系节点。在经过变换的概念树508中,子语境节点514位于从节点518到根部的路径上,并且系统现在可将514用于处理518。
一个示例性变换算法如下:
对于基于宽度优先遍历的概念树中的每个概念:
1.如果概念并非子语境概念,则跳过。
2.如果概念是子语境概念:
a.如果子语境节点没有任何子节点,或者如果在概念树中它仅有的后代都是子语境节点:
i.将子语境节点上移,成为它父系的父系。
一旦上移子语境节点的变换发生,系统就生成这些子语境所表示的可能联接系属。生成联接系属包括利用另一个变换,另一个变换导致子语境概念节点通过一个或多个可能的联接系属扩增。如果非子语境节点将子语境概念节点作为它的父系,则系统可以核实,是否存在对于节点中参考的属性而言合理的单个联接系属。如果有多个合理的联接系属,则系统可以确定畸形的查询。
生成可能的联接系属的示例性变换示出如下:
对于基于宽度优先遍历的概念树中的每个概念(C):
1.如果概念并非子语境概念,或者并非数据库属性概念,则跳过。
2.如果概念C是数据库属性概念(对数据库属性的直接参考),则进行以下步骤(让我们假定属性是表“T”的“a”)
a.如果属性没有与其相关联的子语境,则跳过。
b.对于(表T的)每个子语境S,属性是:
i.如果S不具有任何外键属性,则跳过
ii.对于子语境S(存在联接映射(T,fk,PT,pk))中的每个外键属性(fk):
1.将联接系属“T::fk PT”添加到C.join_lineages
c.注意,数据库属性只能添加联接系属的第一链接。
3.如果概念C是子语境概念:
a.JoinsForSubcontext={}。C的子语境是S。与该子语境相关的表是T
b.对于概念的子语境(存在联接映射(T,fk,PT,pk))中的每个外键属性(fk),将联接映射添加到JoinsForSubcontext。
c.如果JoinsForSubcontext为空,则我们没有什么可做。该子语境中没有任何外键。
d.检查概念C(PC)的父系是否为子语境节点。
i.对于JoinsForSubcontext中的每个联接映射,如果PC并非子语境,或者如果它没有存储任何join_lineages(T,fk,PT,pk):
1.将联接系属“T::fk PT”添加到C.join_lineages
ii.对于PC.join_lineages中的每个join_lineage(J),如果PC存储了任何join_lineages,:
1.令“T1”成为J中的第一表,令“TN”成为最后一个。(Ex:If join lineage is“A::a B::b C”,T1=A and TN=C)
2.对于JoinsForSubcontext中的每个联接映射(T,fk,PT,pk):
a.如果TN==T,我们通过“TN::fk PT”在末端延伸J,并将其添加到C.join_lineages。
b.如果T1==PT,我们通过“T::fk”在首端延伸J,并将其添加到C.join_lineages。
3.对于JoinsForSubcontext中的每个联接映射(T,fk,PT,pk):
a.将联接系属“T::fk PT”添加到C.join_lineages。
例如,在处理图5所示的概念树506时,自然语言查询处理系统——例如按照根到叶的方式——找到树506中的第一属性语境节点,随后“sale”节点512成为“buyer”节点514。
“buyer”节点514被指定用于BuyerSeller表并且与属性“buyer_id”相关联,属性“buyer_id”是个人表的外键。基于该子语境,系统确定“BuyerSeller::buyer_id Person”是联接路径,并将该联接路径存储在“buyer”节点514中。如果基于用于“buyer”节点514的该子语境可以确定一个以上联接路径,例如,当“buyer”节点514与其他表的外键相关联时,系统也可将这些联接路径存储在“buyer”节点514中。
在处理用于“buyer”节点514的联接路径之后,系统可以处理用于“personaladdress”节点516的联接路径。因为“personal address”节点516被指定用于个人表并且与作为是地址表的外键的列“personal_address_id”相关联,所以系统可以确定是否已经构造这种联接路径,例如“Person::personal_address_id Address”,并存储在“buyer”节点514中。
如果存在现有联接路径,则系统可以延伸现有联接路径,如果在现有联接路径中最后指定的表与新联接路径中指定的子语境表匹配的话。在该示例中,因为在联接路径“BuyerSeller::buyer_id Person”中最后指定的表是个人表(Person table),它与新联接路径“Person::personal_address_id Address”中的子语境表个人匹配,所以可将现有联接路径延伸为“BuyerSeller::buyer_id Person::personal_address_id Address”。当可以类似地延伸一个以上现有路径时,系统也可以延伸这些联接路径。处理联接路径并延伸现有联接路径的以上示例在图9中示出。
用于超图创建的算法基于图式词汇和联接映射经历所有表以及它们的属性。对于具有大量属性的表而言,可以具有非常广泛的词汇覆盖率。但是,给定的查询一般只参考这些词汇的小子集。系统可以对表和属性进行大量修剪,以保证按照它捕捉所有表、属性、以及与原始自然查询相关的联接映射的方式,将生成的超图修剪成完整的形状和形式。修剪可以提供将超图显著简化的优化效果。
修剪的预备步骤包括在概念树中找到所有参考表和属性。可通过进行以下操作来完成这个工作。所得的输出是一组参考表以及一组参考表属性。
1.对于概念树中的每个概念(遍历的顺序没有影响)
a.在概念(如果有的话)中找到参考表并将参考表插入一组参考表。
b.在概念(如果有的话)中找到参考属性并将参考属性插入一组参考表属性。
示例性修剪算法示出如下:
A.修剪联接树(Join tree)的叶节点。
a.bool pruned_node=true
b.当pruned_node:
i.pruned_node=false
ii.如果存在叶节点N,其中N.table不在(通过以上算法计算的)参考表的组中:
1.从树去除到N的所有进入边。这是一个叶节点,所以没有外出边。
2.从树去除节点N;以及
3.pruned_node=true。(注意,算法可以重复,直到它找到未参考的叶节点;以及修剪叶节点会生成新的叶节点作为结果)。
B.修剪树的根节点。
a.当ROOT.table不在参考表的组中并且ROOT只有一个外出边时:
i.令N成为ROOT用它唯一的边所连接的节点。
ii.去除ROOT的外出边以及节点ROOT。
iii.令N成为新的ROOT。
将超图节点与属性参考匹配
基于概念树,自然语言查询处理系统可以构造新的联接路径或延伸现有的联接路径。
系统可以基于与外表的属性相对应的概念,构造新的联接路径或延伸现有的联接路径。在末端,对于正确形成的查询,系统将每个属性概念与单个联接路径匹配,这使得能够通过明确的方式将此属性参考转化为SQL。下面给出用于此的一个示例性处理:
1.产生将属性路径映射到超节点的地图。注意,对于每个超节点而言属性路径是唯一的。让我们称之为NodeMap。
2.为了方便起见,产生另一个地图,其具有超边总数对应于特定表的计数。记住,因为可能有导致该表的多个不同联接路径,所以可能有为了一个表而产生的多个超边。让我们称该地图为HyperedgeCount。
3.对于基于宽度优先遍历的概念树中的每个概念(C):
a.找到在此概念C中参考的属性。(如果参考了一个以上属性,那么我们对每个属性重复以下步骤)。假定这是T.x(表T的属性x)。
b.如果(HyperedgeCount[T]==1),那么这意味着对于属性参考没有歧义。我们找到hyperedge(H)并将用于概念(C)中的属性参考的完整属性路径设置为H.join_lineage+“x”。此外,存在与此属性参考匹配的单个超节点。
c.如果(HyperedgeCount[T]>1),则我们需要找到哪一个是相关的。我们前往概念C的父系节点。让我们称父系节点为PC。
i.如果PC.join_lineages为空,那么我们将不能唯一地识别完整的属性路径。这意味着查询是畸形的,生成错误消息并将其提供给用户。
ii.如果PC.join_lineages非空,那么我们尝试找到与用于属性参考的超节点的唯一匹配。
1.hypernode_matches={}
2.对于以T结束的PC.join_lineages中的每个join_lineage(当我们尝试检查用于T.x的可能属性路径时,我们忽略其他)
a.生成用于T.x的的attribute_path作为(join_lineage+“x”)。在NodeMap中查找该属性,以检查它是否实际上对应于超节点。如果是,则将该节点添加到hypernode_matches。
3.如果hypernode_matches仍然为空,那么这意味着我们将不能唯一地识别完整的属性路径。这意味着查询是畸形的,生成错误消息并将其提供给用户。
4.如果hypernode_matches有一个以上元素,那么这意味着系统不能唯一地识别完整的属性路径。这意味着查询是畸形的,生成错误消息并将其提供给用户。
5.如果hypernode_matches有单个元素,则我们唯一地找到了我们的匹配超节点。
返回上述“对于在Nevada有他们的个人地址的买方而言总销售额是多少?”的示例性查询,在应用所有概念树变换之后,其导致图5所示概念树的元素508。节点512对应于BuyerSeller表的明确的“sale”属性。节点514和节点516是通过联接系属扩增的子语境概念节点。节点518是用于地址表中的State列的反向索引匹配。这里,有地址表的多个实例,例如买方个人地址、卖方个人地址、买方公司地址及卖方公司地址,且节点518可将状态属性与这些表实例的其中任何一个匹配。
系统确定实际上参考这些地址表实例的哪一个。这是通过检查父系节点(516)是否具有可以使用的联接路径来实现的。节点516具有联接路径“BuyerSeller::buyer_idPerson::personal_address_id Address”,这允许系统识别对于节点518而言与买方个人地址的状态的唯一匹配,消除了与用于“nevada”的概念相关联的歧义。
所得的查询是:
SELECT SUM(BuyerSeller.sales_usd)AS alias0_sales_usd
FROM BuyerSeller
INNER JOIN Person ON(BuyerSeller.buyer_id=Person.person_id)
INNER JOIN Address ON(Person.personal_address_id
=Address.address_id)
WHERE Address.state=Nevada.
在一些实施方式中,为了自然语言查询将联接路径消岐的方法包括以下步骤:
1.首先,应用子语境变换
a.子语境叶节点上移变换(Moving Subcontext Leaf Nodes Up Transform)
b.子语境联接系属变换(Subcontext Join Lineage Transform)
2.找到所有参考表和属性(Finding All Referenced Tables and Attributes)。
3.生成用于表的联接树(Generating the Join Tree for Tables)。
4.修剪联接树(Pruning the Join Tree)。
5.仅对于联接树(Join Tree)中的剩余表以及该组中的表之间的联接映射进行超图创建(Hypergraph Creation)。
a.对于步骤(2.c),我们仅对于在查询中参考的列生成节点
6.将超图节点与属性参考匹配(Matching Hypergraph Nodes to AttributeReferences)。
7.标记匹配的超节点并运行超图缩减(利用公知技术),以进一步修剪超图。
8.为每个超边生成表别名,然后根据超图生成联接。
图6是示出为了自然语言查询将联接路径消岐的示例性系统600的简图。系统600包括自然语言(NL)查询处理系统620和知识库630。在一些实施方式中,知识库630是对其执行自然语言查询的数据源。
NL查询处理系统620包括:可选择的词法分析器和语法分析器622、消岐子系统624、以及查询执行子系统626;知识库630包括知识获取模块632和实体数据库634。
系统600接收源自一个或多个用户装置610——例如智能电话610-B或膝上型电脑610-A——的自然语言查询,并将自然语言查询转换为要在知识库630的应用编程接口(API)上进行的结构化操作——例如编程语句。在获得查询结果之后,系统600将它们回送到一个或多个用户装置610。
NL查询处理系统620将从用户装置610接收的自然语言查询——例如简明英语查询——处理为结构化操作,例如SQL查询,在知识库630的API上执行这些操作,以产生查询结果,并将查询结果返回用户装置610。
可选择的词法分析器和语法分析器622将自然语言查询处理为标志,进而处理为语法树,在本说明书中语法树又称为概念树。此外,词法分析器和语法分析器622可将概念树变换为具有不同结构的另一个概念树,例如改变概念树的结构。
消岐子系统624基于概念树的节点上存储的联接路径将自然语言查询消岐。
查询执行子系统626基于消岐子系统624以及词法分析器和语法分析器622的输出生成结构化查询。此外,查询执行子系统626对于知识库630的API执行结构化查询,以产生查询结果。
知识库630将结构化API提供给用户使用,以查询和更新实体数据库634。
知识获取子系统632从外源——例如互联网——获得附加实体信息,并且与实体数据库634中的现有实体信息相关联地、根据知识库的数据模式存储它。知识获取子系统可以直接与外源通信,避开NL前端620。
实体数据库634存储实体信息,例如关于实体的信息,例如人们的生日、公司的地址,以及多个组织之间的关系。实体信息根据数据模式存储在实体数据库634中。在一些实施方式中,实体数据库634利用表结构存储实体信息。在其他实施方式中,实体数据库634将实体信息存储在图结构中。
通常,利用实体数据库的数据库管理系统(DBMS)支持的形式语言来表达数据模式。当在实体数据库中通过逻辑方式构造实体信息时,数据模式指定实体信息的组织,例如,当实体数据库是关系数据库时将实体信息划分为数据库表。
数据模式可包括表示专用于应用的完全性约束条件的数据,例如,在表中应用可以访问哪些列,以及应当怎样组织输入参数来查询某个表。在关系数据库中,数据模式例如可以限定表、字段、关系、视图、索引、包、过程、函数、队列、触发器、类型、序列、物化视图、同义词、数据库链接、目录、XML图式、以及其他元素。
主题内容的实施例以及本说明书中所述功能操作可以在数字电子电路中、在通过有形方式具体实施的计算机软件或固件中、在计算机硬件中实施,包括本说明书中公开的结构以及它们的结构等同物,或者在它们的一个或多个的组合中实施。本说明书所述主题内容的实施例可以被实施为一个或多个计算机程序,即,在有形的非瞬时存储介质上编码的计算机程序指令的一个或多个模块,用于通过数据处理设备执行,或者控制数据处理设备的操作。计算机存储介质可以是机器可读存储装置、机器可读存储衬底、随机存储器装置或串行访问存储器装置、或者它们的一个或多个的组合。替代性或附加性地,可以在人为生成的传播信号——例如机器生成的电信号、光信号或电磁信号——上将程序指令编码,传播信号被生成为将信息编码,用于传输到适当的接收器设备,以通过数据处理设备执行。
术语“数据处理设备”表示数据处理硬件并涵盖用于处理数据的所有类型设备、装置和机器,作为示例,包括可编程处理器、计算机、或多个处理器或计算机。此外,设备可以是专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路),或进一步包括专用逻辑电路。除了硬件之外,设备可以选择性地包括为计算机程序创造执行环境的代码,例如构成处理器固件、协议堆栈、数据库管理系统、操作系统、或者它们的一个或多个的组合的代码。
计算机程序——又称为或者被描述为程序、软件、软件应用、app、模块、软件模块、脚本或代码——可以按照任何形式的编程语言编写,包括编译或解释语言、说明性或程序性语言;并且可以按照任何形式部署,包括作为独立程序或者作为模块、组件、子例程、或适合于在计算环境中使用的其它单元。程序可以但是不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据的一部分文件中——例如在标记语言文档中存储的一个或多个脚本,存储在专用于所考虑的程序的单个文件、或者存储在多个协调文件中——例如存储一个或多个模块、子程序、或一部分代码的文件。计算机程序可以部署为在一个计算机上执行,也可以部署为在位于一个地点或者分布于多个地点并通过数据通信网络互连的多个计算机上执行。
本说明书所述处理和逻辑流程可通过执行一个或多个计算机程序的一个或多个可编程计算机进行,以通过操作输入数据并产生输出来进行功能。处理和逻辑流程也可通过专用逻辑电路——例如FPGA或ASIC——进行,或者通过专用逻辑电路以及一个或多个编程计算机的组合进行。
适合于执行计算机程序的计算机可以基于通用微处理器或专用微处理器或二者、或者任何其他类型的中央处理器。一般而言,中央处理器从只读存储器或随机访问存储器或二者接收指令和数据。计算机的核心元件是用于进行或执行指令的中央处理器以及用于存储指令和数据的一个或多个存储器装置。中央处理器和存储器可通过专用逻辑电路来补充,或者合并在专用逻辑电路中。一般而言,计算机还包括用于存储数据的一个或多个大型存储装置——例如磁盘、磁光盘、或光盘,或者可以操作性地连接为往来于大型存储装置接收或传送数据或二者兼有。但是,计算机不需要有这些装置。此外,可以在其他装置中嵌入计算机,例如在移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器、或便携存储装置——例如通用串行总线(USB)闪存驱动中,不一而足。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器装置,作为示例,包括半导体存储器装置——例如EPROM、EEPROM、以及闪存装置;磁盘——例如内部硬盘或移动硬盘;磁光盘;以及CD-ROM和DVD-ROM盘。
为了提供与用户的交互,本说明书所述主题内容的实施例可以在具有显示装置以及键盘和点击装置的计算机上实施,显示装置例如是CRT(阴极射线管)或LCD(液晶显示器)监视器,用于向用户显示信息,键盘和点击装置例如是鼠标或轨迹球,用户可以由其向计算机提供输入。也可以使用其他类型的装置来提供与用户的交互;例如,向用户提供的反馈可以是任何形式的传感器反馈,例如视觉反馈、听觉反馈、或触觉反馈;可以按照任何形式接收来自用户的输入,包括声音、语音、或触觉输入。此外,计算机可通过向用户使用的装置发送文档以及从用户使用的装置接收文档,与用户交互;例如,通过响应于从网络浏览器接收的请求,向用户装置上的网络浏览器发送网页。
本说明书所述主题内容的实施例可以在这样的计算系统中实施:所述计算系统包括后端组件——例如作为数据服务器,或者所述计算系统包括中间组件——例如作为应用服务器,或者所述计算系统包括前端组件——例如客户端计算机,该客户端计算机具有图形用户交互界面、网络浏览器、或用户可以按照与本说明书所述主题内容的实施方式来交互的app,或者所述计算系统在包括这种后端组件、中间组件或前端组件的一个或多个的任意组合的计算系统中实施。系统组件可通过数字数据通信——例如通信网络——的任何形式或介质互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如互联网。
计算系统可包括客户端和服务器。客户端和服务器通常相互远离,一般通过通信网络交互。客户端与服务器的关系由于在各个计算机上运行且相互具有客户端-服务器关系的计算机程序而出现。在一些实施例中,服务器向用户装置传输数据——例如HTML网页,例如为了向与充当客户端的装置交互的用户显示数据以及接收来自用户的用户输入。在用户装置产生的数据——例如用户交互的结果——可以在服务器从装置接收。
虽然本说明书包含很多特定实施方式细节,但是它们不应视为对任何发明范围或者权利要求书所主张的范围的限制,而是对于特定发明的特定实施例所具体化的特征的描述。在单独实施例背景下本说明书所述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例背景下所述的各种特征也可以单独地或者按照任何合适的子组合在多个实施例中实施。此外,虽然上面将特征描述为按照某些组合动作,甚至一开始也这样主张,但是有时候来自所主张的组合的一个或多个特征可以从组合中删除,并且所主张的组合可以指向子组合或者子组合的变型。
类似地,虽然按照特定顺序在附图中示出操作,但是不应将其理解为要求按照所示的特定顺序或者按照连续顺序进行这些操作,或者要求进行所有所示的操作,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中各种系统模块和组件的分离不应当理解为在所有实施例中要求这种分离,而是应当理解为通常可将所述程序组件和系统一起集成在单个软件产品中或者封装在多个软件产品中。
已经描述了主题内容的特定实施例。其他实施例均落入后附权利要求书的范围。例如,可以按照不同的顺序进行权利要求中引用的动作,仍然实现期望的结果。作为一个示例,附图中所示的处理不一定要求所示的特定顺序、或连续顺序来实现期望的结果。在一些情况下,多任务和并行处理可能是有利的。

Claims (20)

1.一种用于对自然语言查询进行消岐的方法,包括:
获得来自用户的自然语言查询;
将所述自然语言查询转换为要在知识库的结构化应用编程接口上进行的结构化操作,包括:
识别所述自然语言查询中的一个或多个标志;
生成指定所述自然语言查询中所识别的标志之间的依赖关系的概念树,其中,子语境概念节点在所述概念树上所处的等级不比任何属性节点更靠近于所述概念树的根部;
基于所述概念树和所述知识库的数据模式生成图,该图具有均指定与所述自然语言查询中所识别的标志相对应的所述知识库内的元素之间的方向关系的多个联接路径;
响应于检测到由于在所述图中的多个联接路径中包括特定识别的标志而导致的行文歧义,其中,所述自然语言查询中包括的标志具有两个以上解释:
通过选择由所述图指定的所述多个联接路径中的一个联接路径来解决所述行文歧义,其中,所选择的联接路径与来自所述标志的所述两个以上解释中的所述标志的解释相对应;
根据所选择的所述标志的解释,使用所述自然语言查询,以生成一个或多个结构化操作;
通过对于所述知识库的所述结构化应用编程接口进行所述一个或多个结构化操作来识别搜索结果;以及
响应于所述自然语言查询将所述搜索结果返回到所述用户;
其中,在一个或多个计算机以及存储有指令的一个或多个存储装置上实施所述知识库,以基于结构化操作产生操作结果;以及
其中,所述知识库根据所述数据模式来存储与实体相关联的信息,并且具有用于程序的所述结构化应用编程接口,以查询所述知识库。
2.根据权利要求1所述的方法,其中,
所述联接路径包括共享公共列的至少两个表的标识符。
3.根据权利要求2所述的方法,其中,
所述联接路径还包括所述公共列的一个或多个标识符。
4.根据权利要求3所述的方法,其中,通过基于由所述图指定的所述多个联接路径而从所述标志的所述两个以上解释中选择所述标志的解释来解决所述行文歧义包括:
确定所述标志与在所述至少两个表中的第一表的第一列中指定的值相匹配;以及
基于所述确定,在参考所述至少两个表中的第二表的第二列中指定的值时识别所述标志。
5.根据权利要求1所述的方法,其中,将所述自然语言查询转换为要在知识库的结构化应用编程接口上进行的结构化操作包括:
获得通过分析器生成的分析器输出,所述分析器输出代表所述自然语言查询;以及
其中,所述概念树根据所述分析器输出来生成。
6.根据权利要求5所述的方法,其中,获得分析器输出包括:
将所述自然语言查询处理为标志。
7.根据权利要求5所述的方法,其中,
基于所述概念树以及所选择的所述标志的解释,来生成所述结构化操作。
8.一种用于对自然语言查询进行消岐的计算系统,包括:
一个或多个计算机;以及
一个或多个存储单元,其存储有指令,当通过所述一个或多个计算机执行时,所述指令使得所述计算系统进行包括以下方面的操作:
获得来自用户的自然语言查询;
将所述自然语言查询转换为要在知识库的结构化应用编程接口上进行的结构化操作,包括:
识别所述自然语言查询中的一个或多个标志;
生成指定所述自然语言查询中所识别的标志之间的依赖关系的概念树,其中,子语境概念节点在所述概念树上所处的等级不比任何属性节点更靠近于所述概念树的根部;
基于所述概念树和所述知识库的数据模式生成图,该图具有均指定与所述自然语言查询中所识别的标志相对应的所述知识库内的元素之间的方向关系的多个联接路径;
响应于检测到由于在所述图中的多个联接路径中包括特定识别的标志而导致的行文歧义,其中,所述自然语言查询中包括的标志具有两个以上解释:
通过选择由所述图指定的所述多个联接路径中的一个联接路径来解决所述行文歧义,其中,所选择的联接路径与来自所述标志的所述两个以上解释中的所述标志的解释相对应;
根据所选择的所述标志的解释,使用所述自然语言查询,以生成一个或多个结构化操作;
通过对于所述知识库的所述结构化应用编程接口进行所述一个或多个结构化操作来识别搜索结果;以及
响应于所述自然语言查询将所述搜索结果返回到所述用户;
其中,在一个或多个计算机以及存储有指令的一个或多个存储装置上实施所述知识库,以基于结构化操作产生操作结果;以及
其中,所述知识库根据所述数据模式来存储与实体相关联的信息,并且具有用于程序的所述结构化应用编程接口,以查询所述知识库。
9.根据权利要求8所述的系统,其中,
所述联接路径包括共享公共列的至少两个表的标识符。
10.根据权利要求9所述的系统,其中,
所述联接路径还包括所述公共列的一个或多个标识符。
11.根据权利要求10所述的系统,其中,通过基于由所述图指定的所述多个联接路径而从所述标志的所述两个以上解释中选择所述标志的解释来解决所述行文歧义包括:
确定所述标志与在所述至少两个表中的第一表的第一列中指定的值相匹配;以及
基于所述确定,在参考所述至少两个表中的第二表的第二列中指定的值时识别所述标志。
12.根据权利要求8所述的系统,其中,将所述自然语言查询转换为要在知识库的结构化应用编程接口上进行的结构化操作包括:
获得通过分析器基于所述自然语言查询而生成的分析器输出;以及
其中,所述概念树根据所述分析器输出来生成。
13.根据权利要求12所述的系统,其中,获得分析器输出包括:
将所述自然语言查询处理为标志。
14.根据权利要求12所述的系统,其中,
基于所述概念树以及所选择的所述标志的解释,来生成所述结构化操作。
15.一种通过计算机程序编码的非暂时性计算机存储介质,所述计算机程序包括指令,当通过系统执行时,所述指令使得所述系统进行包括以下方面的操作:
获得来自用户的自然语言查询;
将所述自然语言查询转换为要在知识库的结构化应用编程接口上进行的结构化操作,包括:
识别所述自然语言查询中的一个或多个标志;
生成指定所述自然语言查询中所识别的标志之间的依赖关系的概念树,其中,子语境概念节点在所述概念树上所处的等级不比任何属性节点更靠近于所述概念树的根部;
基于所述概念树和所述知识库的数据模式生成图,该图具有均指定与所述自然语言查询中所识别的标志相对应的所述知识库内的元素之间的方向关系的多个联接路径;
响应于检测到由于在所述图中的多个联接路径中包括特定识别的标志而导致的行文歧义,其中,所述自然语言查询中包括的标志具有两个以上解释:
通过选择由所述图指定的所述多个联接路径中的一个联接路径来解决所述行文歧义,其中,所选择的联接路径与来自所述标志的所述两个以上解释中的所述标志的解释相对应;
根据所选择的所述标志的解释,使用所述自然语言查询,以生成一个或多个结构化操作;
通过对于所述知识库的所述结构化应用编程接口进行所述一个或多个结构化操作来识别搜索结果;以及
响应于所述自然语言查询将所述搜索结果返回到所述用户;
其中,在一个或多个计算机以及存储有指令的一个或多个存储装置上实施所述知识库,以基于结构化操作产生操作结果;以及
其中,所述知识库根据所述数据模式来存储与实体相关联的信息,并且具有用于程序的所述结构化应用编程接口,以查询所述知识库。
16.根据权利要求15所述的非暂时性计算机存储介质,其中,
所述联接路径包括共享公共列的至少两个表的标识符。
17.根据权利要求16所述的非暂时性计算机存储介质,其中,
所述联接路径还包括所述公共列的一个或多个标识符。
18.根据权利要求17所述的非暂时性计算机存储介质,其中,通过基于由所述图指定的所述多个联接路径而从所述标志的所述两个以上解释中选择所述标志的解释来解决所述行文歧义包括:
确定所述标志与在所述至少两个表中的第一表的第一列中指定的值相匹配;以及
基于所述确定,在参考所述至少两个表中的第二表的第二列中指定的值时识别所述标志。
19.根据权利要求15所述的非暂时性计算机存储介质,其中,将所述自然语言查询转换为要在知识库的结构化应用编程接口上进行的结构化操作包括:
获得通过分析器基于所述自然语言查询而生成的分析器输出;以及
其中,所述概念树根据所述分析器输出来生成。
20.根据权利要求19所述的非暂时性计算机存储介质,其中,获得分析器输出包括:将所述自然语言查询处理为标志。
CN201610815202.0A 2015-09-11 2016-09-09 用于自然语言查询的联接路径的消岐 Active CN107016011B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562217409P 2015-09-11 2015-09-11
US62/217,409 2015-09-11

Publications (2)

Publication Number Publication Date
CN107016011A CN107016011A (zh) 2017-08-04
CN107016011B true CN107016011B (zh) 2021-03-30

Family

ID=57083062

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610815202.0A Active CN107016011B (zh) 2015-09-11 2016-09-09 用于自然语言查询的联接路径的消岐

Country Status (3)

Country Link
US (2) US10282444B2 (zh)
EP (1) EP3142029A1 (zh)
CN (1) CN107016011B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3142028A3 (en) * 2015-09-11 2017-07-12 Google, Inc. Handling failures in processing natural language queries through user interactions
US10229195B2 (en) * 2017-06-22 2019-03-12 International Business Machines Corporation Relation extraction using co-training with distant supervision
JP6973515B2 (ja) * 2018-02-07 2021-12-01 日本電気株式会社 情報処理装置、情報処理方法及びプログラム
CN110162408B (zh) * 2018-02-11 2023-09-05 斑马智行网络(香港)有限公司 一种数据处理方法、装置、设备和机器可读介质
WO2020023787A1 (en) * 2018-07-25 2020-01-30 Oracle International Corporation Natural language interfaces for databases using autonomous agents and thesauri
US10728307B2 (en) * 2018-10-08 2020-07-28 Sonrai Security Inc. Cloud intelligence data model and framework
US10872083B2 (en) * 2018-10-31 2020-12-22 Microsoft Technology Licensing, Llc Constructing structured database query language statements from natural language questions
US11494377B2 (en) * 2019-04-01 2022-11-08 Nec Corporation Multi-detector probabilistic reasoning for natural language queries
US11789945B2 (en) * 2019-04-18 2023-10-17 Sap Se Clause-wise text-to-SQL generation
US11216473B2 (en) * 2019-09-30 2022-01-04 Lenovo (Singapore) Pte. Ltd. Qualitative modifier in query input
US11347800B2 (en) 2020-01-02 2022-05-31 International Business Machines Corporation Pseudo parse trees for mixed records
CN113033205B (zh) * 2021-03-24 2023-07-25 北京百度网讯科技有限公司 实体链接的方法、装置、设备以及存储介质
CN117608764B (zh) * 2024-01-18 2024-04-26 成都索贝数码科技股份有限公司 一种容器平台运维方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7027974B1 (en) * 2000-10-27 2006-04-11 Science Applications International Corporation Ontology-based parser for natural language processing
US7596568B1 (en) * 2004-04-12 2009-09-29 Microsoft Corporation System and method to resolve ambiguity in natural language requests to determine probable intent
CN104252533A (zh) * 2014-09-12 2014-12-31 百度在线网络技术(北京)有限公司 搜索方法和搜索装置

Family Cites Families (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5197005A (en) * 1989-05-01 1993-03-23 Intelligent Business Systems Database retrieval system having a natural language interface
US5454106A (en) * 1993-05-17 1995-09-26 International Business Machines Corporation Database retrieval system using natural language for presenting understood components of an ambiguous query on a user interface
US5848406A (en) * 1996-09-03 1998-12-08 Matsushita Electric Industrial Co., Ltd. Method for presenting information on display devices of varying sizes
US5873075A (en) 1997-06-30 1999-02-16 International Business Machines Corporation Synchronization of SQL actions in a relational database system
US6460029B1 (en) * 1998-12-23 2002-10-01 Microsoft Corporation System for improving search text
US7725307B2 (en) * 1999-11-12 2010-05-25 Phoenix Solutions, Inc. Query engine for processing voice based queries including semantic decoding
US6665640B1 (en) 1999-11-12 2003-12-16 Phoenix Solutions, Inc. Interactive speech based learning/training system formulating search queries based on natural language parsing of recognized user queries
US6701294B1 (en) * 2000-01-19 2004-03-02 Lucent Technologies, Inc. User interface for translating natural language inquiries into database queries and data presentations
US6711561B1 (en) * 2000-05-02 2004-03-23 Iphrase.Com, Inc. Prose feedback in information access system
US6714905B1 (en) * 2000-05-02 2004-03-30 Iphrase.Com, Inc. Parsing ambiguous grammar
US6999963B1 (en) * 2000-05-03 2006-02-14 Microsoft Corporation Methods, apparatus, and data structures for annotating a database design schema and/or indexing annotations
US6993475B1 (en) * 2000-05-03 2006-01-31 Microsoft Corporation Methods, apparatus, and data structures for facilitating a natural language interface to stored information
US7136854B2 (en) * 2000-07-06 2006-11-14 Google, Inc. Methods and apparatus for providing search results in response to an ambiguous search query
US7010539B1 (en) * 2000-09-08 2006-03-07 International Business Machines Corporation System and method for schema method
US7013308B1 (en) * 2000-11-28 2006-03-14 Semscript Ltd. Knowledge storage and retrieval system and method
US6714939B2 (en) * 2001-01-08 2004-03-30 Softface, Inc. Creation of structured data from plain text
US7136846B2 (en) * 2001-04-06 2006-11-14 2005 Keel Company, Inc. Wireless information retrieval
US6643636B1 (en) 2001-06-05 2003-11-04 Ncr Corporation Optimizing a query using a non-covering join index
US7430562B1 (en) 2001-06-19 2008-09-30 Microstrategy, Incorporated System and method for efficient date retrieval and processing
US7263517B2 (en) * 2002-10-31 2007-08-28 Biomedical Objects, Inc. Structured natural language query and knowledge system
US20050050042A1 (en) * 2003-08-20 2005-03-03 Marvin Elder Natural language database querying
US20070136251A1 (en) * 2003-08-21 2007-06-14 Idilia Inc. System and Method for Processing a Query
GB0407816D0 (en) * 2004-04-06 2004-05-12 British Telecomm Information retrieval
US7630967B1 (en) * 2005-11-22 2009-12-08 At&T Intellectual Property Ii, L.P. Join paths across multiple databases
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
CN101286151A (zh) * 2007-04-13 2008-10-15 国际商业机器公司 建立多维模型和数据仓库模式的映射的方法及相关系统
US7917490B2 (en) * 2007-07-09 2011-03-29 Google Inc. Interpreting local search queries
US8838659B2 (en) * 2007-10-04 2014-09-16 Amazon Technologies, Inc. Enhanced knowledge repository
US8140335B2 (en) * 2007-12-11 2012-03-20 Voicebox Technologies, Inc. System and method for providing a natural language voice user interface in an integrated voice navigation services environment
US8423523B2 (en) 2008-11-13 2013-04-16 SAP France S.A. Apparatus and method for utilizing context to resolve ambiguous queries
CN101872349B (zh) * 2009-04-23 2013-06-19 国际商业机器公司 处理自然语言问题的方法和装置
US8161048B2 (en) * 2009-04-24 2012-04-17 At&T Intellectual Property I, L.P. Database analysis using clusters
US10276170B2 (en) * 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US9110882B2 (en) * 2010-05-14 2015-08-18 Amazon Technologies, Inc. Extracting structured knowledge from unstructured text
US9495477B1 (en) * 2011-04-20 2016-11-15 Google Inc. Data storage in a graph processing system
US8311973B1 (en) * 2011-09-24 2012-11-13 Zadeh Lotfi A Methods and systems for applications for Z-numbers
US20130080472A1 (en) * 2011-09-28 2013-03-28 Ira Cohen Translating natural language queries
US8949264B2 (en) * 2012-01-30 2015-02-03 Hewlett-Packard Development Company, L.P. Disambiguating associations
US9183511B2 (en) * 2012-02-24 2015-11-10 Ming Li System and method for universal translating from natural language questions to structured queries
US9223776B2 (en) * 2012-03-27 2015-12-29 The Intellectual Group, Inc. Multimodal natural language query system for processing and analyzing voice and proximity-based queries
US9406020B2 (en) * 2012-04-02 2016-08-02 Taiger Spain Sl System and method for natural language querying
US9411890B2 (en) * 2012-04-04 2016-08-09 Google Inc. Graph-based search queries using web content metadata
US8825633B2 (en) * 2012-05-15 2014-09-02 Sas Institute Inc. System, method, and data structure for automatically generating database queries which are data model independent and cardinality independent
US9152623B2 (en) * 2012-11-02 2015-10-06 Fido Labs, Inc. Natural language processing system and method
US8996555B2 (en) * 2012-11-26 2015-03-31 Sap Se Question answering framework for structured query languages
GB2513537A (en) * 2012-12-20 2014-11-05 Ibm Natural language processing
CN103914476B (zh) * 2013-01-05 2017-02-01 北京百度网讯科技有限公司 搜索引导方法和搜索引擎
US20140201241A1 (en) * 2013-01-15 2014-07-17 EasyAsk Apparatus for Accepting a Verbal Query to be Executed Against Structured Data
DE102013003055A1 (de) * 2013-02-18 2014-08-21 Nadine Sina Kurz Verfahren und Vorrichtung zum Durchführen von Suchen in natürlicher Sprache
US8818795B1 (en) * 2013-03-14 2014-08-26 Yahoo! Inc. Method and system for using natural language techniques to process inputs
US10474961B2 (en) * 2013-06-20 2019-11-12 Viv Labs, Inc. Dynamically evolving cognitive architecture system based on prompting for additional user input
US20140379753A1 (en) * 2013-06-25 2014-12-25 Hewlett-Packard Development Company, L.P. Ambiguous queries in configuration management databases
US20150026153A1 (en) * 2013-07-17 2015-01-22 Thoughtspot, Inc. Search engine for information retrieval system
WO2015053861A2 (en) * 2013-10-09 2015-04-16 Viv Labs, Inc. Dynamically evolving cognitive architecture system based on a natural language intent interpreter
US9477760B2 (en) * 2014-02-12 2016-10-25 Facebook, Inc. Query construction on online social networks
US20170116260A1 (en) * 2014-02-25 2017-04-27 Google Inc. Using a dimensional data model for transforming a natural language query to a structured language query
US9652451B2 (en) * 2014-05-08 2017-05-16 Marvin Elder Natural language query
US9338493B2 (en) * 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9507824B2 (en) * 2014-08-22 2016-11-29 Attivio Inc. Automated creation of join graphs for unrelated data sets among relational databases
CN105528349B (zh) * 2014-09-29 2019-02-01 华为技术有限公司 知识库中问句解析的方法及设备
US20160328443A1 (en) * 2015-05-06 2016-11-10 Vero Analytics, Inc. Knowledge Graph Based Query Generation
US10545956B2 (en) * 2015-06-05 2020-01-28 Insight Engines, Inc. Natural language search with semantic mapping and classification
US10719667B1 (en) * 2015-06-30 2020-07-21 Google Llc Providing a natural language based application program interface
US10867256B2 (en) * 2015-07-17 2020-12-15 Knoema Corporation Method and system to provide related data
US10631057B2 (en) * 2015-07-24 2020-04-21 Nuance Communications, Inc. System and method for natural language driven search and discovery in large data sources
US10795889B2 (en) * 2015-08-06 2020-10-06 Micro Focus Llc Query path with aggregate projection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7027974B1 (en) * 2000-10-27 2006-04-11 Science Applications International Corporation Ontology-based parser for natural language processing
US7596568B1 (en) * 2004-04-12 2009-09-29 Microsoft Corporation System and method to resolve ambiguity in natural language requests to determine probable intent
CN104252533A (zh) * 2014-09-12 2014-12-31 百度在线网络技术(北京)有限公司 搜索方法和搜索装置

Also Published As

Publication number Publication date
US10997167B2 (en) 2021-05-04
US20190278771A1 (en) 2019-09-12
US20170075891A1 (en) 2017-03-16
EP3142029A1 (en) 2017-03-15
US10282444B2 (en) 2019-05-07
CN107016011A (zh) 2017-08-04

Similar Documents

Publication Publication Date Title
CN107016011B (zh) 用于自然语言查询的联接路径的消岐
US10776189B2 (en) API query
CN109947998B (zh) 跨异构系统的网络的计算数据沿袭
US9959311B2 (en) Natural language interface to databases
Bikakis et al. The XML and semantic web worlds: technologies, interoperability and integration: a survey of the state of the art
CN107257973B (zh) 查询网络上的数据源
Habernal et al. SWSNL: semantic web search using natural language
Zou et al. Graph-based RDF data management
US20110219360A1 (en) Software debugging recommendations
Lehmann et al. Deqa: deep web extraction for question answering
WO2014093951A2 (en) Graph query processing using plurality of engines
US10642897B2 (en) Distance in contextual network graph
US9892191B2 (en) Complex query handling
US20170083615A1 (en) Robust and Readily Domain-Adaptable Natural Language Interface to Databases
Wielemaker et al. ClioPatria: a SWI-Prolog infrastructure for the Semantic Web
Bikakis et al. The SPARQL2XQuery interoperability framework: Utilizing Schema Mapping, Schema Transformation and Query Translation to Integrate XML and the Semantic Web
Curé et al. Ontology based data integration over document and column family oriented NOSQL
Hoang et al. Retracted: Semantic information integration with linked data mashups approaches
Lomotey et al. Analytics-as-a-service (aaas) tool for unstructured data mining
US9081873B1 (en) Method and system for information retrieval in response to a query
Tran et al. Linked data mashups: A review on technologies, applications and challenges
Neznanov et al. Advancing FCA workflow in FCART system for knowledge discovery in quantitative data
Nicklas et al. A schema-based approach to enable data integration on the fly
Palaniappan et al. An ontology-based question answering method with the use of query template
Čerāns et al. A UML-style visual query environment over DBPedia

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
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant