CN108027833A - 数据库的自然语言接口 - Google Patents
数据库的自然语言接口 Download PDFInfo
- Publication number
- CN108027833A CN108027833A CN201680053932.XA CN201680053932A CN108027833A CN 108027833 A CN108027833 A CN 108027833A CN 201680053932 A CN201680053932 A CN 201680053932A CN 108027833 A CN108027833 A CN 108027833A
- Authority
- CN
- China
- Prior art keywords
- rule
- entity
- pattern rule
- data
- language
- 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.)
- Granted
Links
Classifications
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
- G06F16/24522—Translation of natural language queries to structured queries
-
- 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/24—Querying
- G06F16/242—Query formulation
- G06F16/243—Natural language query formulation
-
- 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/247—Thesauruses; Synonyms
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Machine Translation (AREA)
Abstract
本发明的实施例提供了一种方法,其中通过接口从用户接收自然语言查询。通过输入端口接收数据库中数据的本体表示,包括概念名称和概念属性名称。模板规则通过输入端口接收,模板规则是依赖于语言而独立于本体的,模板规则包括广泛使用的语言结构。规则是通过规则生成引擎和数据库中数据的本体表示自动生成的,并且模板规则用于识别自然语言查询中的实体和关系。实体和关系是通过处理器来识别的,实体和关系在自然语言查询中通过规则来识别。结构化数据语言查询是利用查询生成引擎从实体和关系生成的。
Description
背景技术
本发明涉及用于数据库的自然语言接口的系统,方法和计算机程序产品。
数据库是计算机化的信息存储和检索系统。关系数据库管理系统是使用关系技术来存储和检索数据的计算机数据库管理系统(DBMS)。最普遍的数据库类型是关系数据库,这是一种表格数据库,其中定义了数据以便可以通过多种不同的方式对数据进行重组和访问。分布式数据库是可以在网络中的不同点之间分散或复制的数据库。面向宾语编程数据库是与宾语类和子类中定义的数据一致的数据库。
无论具体体系结构如何,在DBMS中,请求实体(例如应用程序或操作系统)都要求通过发出数据库访问请求来访问指定的数据库。例如,这样的请求可以包括简单的目录查找请求或者用于读取,更改和添加数据库中的指定记录的事务和事务组合。这些请求使用高级查询语言(如结构化查询语言(SQL))进行。说明性地,SQL用于进行交互式查询以获取来自数据库的信息并更新数据库,例如国际商业机器公司(IBM)微软SQL Server以及来自Oracle,Sybase和Computer Associates的数据库产品。术语“查询”命名用于从存储的数据库检索数据的一组命令。查询采取命令语言的形式,让程序员和程序选择,插入,更新,找出数据的位置等等。(DB2是国际商业机器公司的商标)。
发明内容
根据本发明的一个方面,提供了一种用于创建结构化数据语言查询的方法,其中利用接口从用户接收自然语言查询。数据库中数据的本体表示通过输入端口接收,数据库中数据的本体表示包括概念的名称和概念属性的名称。模板规则通过输入端口接收,模板规则是依赖于语言但是独立于本体的,模板规则包括广泛使用的语言结构。
通过连接到接口和输入端口的规则生成引擎自动生成规则,规则是通过数据库中数据的本体表示以及模版规则生成的,以识别自然语言查询中的实体和关系。实体和关系由连接到规则生成引擎的处理器识别,实体和关系在自然语言查询中用规则识别。结构化数据语言查询是利用连接到处理器的查询生成引擎生成的,结构化数据语言查询是从实体和关系生成的。
根据另一个方面,提供了一种用于创建结构化数据语言查询的方法,所述方法包括:利用接口从用户接收自然语言查询;通过输入端口接收数据库中的数据的本体表示,数据库中的数据的本体表示包括数据库中的表的名称,表中的列名以及表中的行名;用输入端口接收模板规则,模板规则是依赖于语言但是独立于本体的,模板规则包括广泛使用的语言结构;使用连接到接口和输入端口的规则生成引擎自动生成规则,所述规则通过数据库中数据的本体表示以及模版规则生成,以识别自然语言查询中的实体和关系;利用连接至该规则生成引擎的处理器识别实体和关系,所述实体和关系用所述规则在所述自然语言查询中被识别;以及用连接到处理器的查询生成引擎生成结构化数据语言查询,结构化数据语言查询是从实体和关系生成的。
根据另一方面,提供了一种计算机程序产品,包括:计算机可读存储介质,其上存储有:第一程序指令,可由设备执行以使设备从用户接收自然语言查询;第二程序指令,所述第二程序指令可由所述设备执行以使所述设备接收数据库中的数据的本体表示,所述数据库中的数据的本体表示包括数据库中的表的名称,表中的列名以及表中的行名;第三程序指令,所述第三程序指令可由所述设备执行以使所述设备接收模板规则,所述模板规则是依赖于语言但是独立于本体的,所述模板规则包括广泛使用的语言结构;第四程序指令,所述第四程序指令可由所述设备执行以使所述设备自动生成规则以识别所述自然语言查询中的实体和关系,所述规则是利用所述数据库中的所述数据的所述本体表示和所述模板规则生成的;第五程序指令,所述第五程序指令可由所述设备执行以使所述设备用所述规则识别所述自然语言查询中的实体和关系;以及由所述设备可执行的第六程序指令,以使所述设备从所述实体和关系生成所述结构化数据语言查询。
根据另一方面,提供了一种用于创建结构化数据语言查询的系统,所述系统包括:接口,其中所述接口可操作以从用户接收自然语言查询;输入端口,其中所述输入端口可操作以接收:数据库中的数据的本体表示,数据库中的数据的本体表示包括数据库中的表的名称,表中的列名以及表中的行名和模板规则,所述模板规则是依赖于语言但是独立于本体的,模板规则包括广泛使用的语言结构;连接到所述接口和所述输入端口的规则生成引擎,其中所述规则生成引擎可操作以自动生成规则,所述规则是利用数据库中的数据的本体表示以及所述模版规则生成的以识别所述数据库中的实体和关系自然语言查询;连接到所述规则生成引擎的处理器,其中所述处理器可操作以识别实体和关系,所述实体和关系在所述自然语言查询中利用所述规则被识别;以及连接到所述处理器的查询生成引擎,其中所述查询生成引擎可操作以从所述实体和关系生成所述结构化数据语言查询。
附图简要说明
现在将仅作为示例并参考以下附图来描述本发明的优选实施例:
图1是示出根据本发明实施例的从自然语言处理到结构化查询语言到查询结果的搜索查询的流程图。
图2图示了根据本发明实施例的销售仓库数据库的模式。
图3图示了根据本发明实施例的系统界面。
图4A示出了根据本发明实施例的智能手机界面。
图4B是图示根据本发明实施例的从自然语言查询提取关键概念的图。
图4C是示出根据本发明实施例的转换为SQL命令的图。
图4D图示了根据本发明实施例的智能手机界面上显示的搜索结果。
图5示出了根据本发明实施例的用于检测实体和关系的规则。
图6例示了根据本发明实施例的模板规则。
图7示出了根据本发明实施例的模式注释文件。
图8是示出根据本发明实施例的用于使用词汇约束生成规则的方法的流程图。
图9是图示根据本发明实施例的用于自动模式注释文件创建的方法的流程图。
图10A和10B是图示根据本发明实施例的解析自然语言查询的图。
图11是示出根据本发明实施例的解析另一自然语言查询的图。
图12是图示根据本发明实施例的解析又一自然语言查询的图。
图13A图示了根据本发明实施例的智能手机界面。
图13B是图示根据本发明实施例的从自然语言查询中提取关键概念的图。
图13C是图示根据本发明实施例的转换为SQL命令的图。
图13D例示了根据本发明实施例的在智能手机界面上显示的搜索结果。
图14A示出了根据本发明实施例的智能手机界面。
图14B是图示根据本发明实施例的从自然语言查询中提取关键概念的图。
图14C是图示根据本发明实施例的转换为SQL命令的图。
图14D图示了根据本发明实施例的在智能手机界面上显示的搜索结果。
图15是示出根据本发明实施例的用于创建结构化数据语言查询的方法的流程图。
图16是示出根据本发明实施例的用于创建结构化数据语言查询的系统的图。
图17是示出根据本发明实施例的用于查询数据库的方法的流程图。
图18是示出根据本发明实施例的用于查询数据库的系统的图。
图19是示出根据本发明实施例的计算机程序产品的图。
图20描绘了根据本发明实施例的云计算节点。
图21描绘了根据本发明实施例的云计算环境。
图22描绘了根据本发明实施例的抽象模型层。
在附图中,相同的附图标记表示相同或功能相似的元件。
具体实施例
下面详细讨论本发明的示例性,非限制性实施例。虽然讨论了具体配置以提供清楚的理解,但应该理解,所公开的配置仅用于说明的目的。本领域的普通技术人员将认识到,在不脱离本发明的精神和范围的情况下可以使用其他配置。
本发明的至少一个实施例包括利用自然语言处理(NLP)从常规英语句子自动创建结构化查询语言(SQL)查询的系统和方法。图1是示出根据本发明的实施例的从NLP到SQL到查询结果的搜索查询的流程图,其中来自用户110的输入文本在NLP管线120中被接收。来自NLP管线120的检测到的实体和关系以及来自数据库模式130的数据可以用于创建SQL查询140。
来自数据库模式130的数据也可以用在NLP管线120中。具体而言,NLP管线120可以使用数据库模式130到规则的转换来检测实体。SQL查询可以被发送到数据库150;并且查询结果可以从数据库150发送给用户110。
因此,可以通过自动生成用于检测实体和关系的规则来提供独立于域的系统。可以使用模板规则,这些规则是独立于域的,并且是从语言本身派生的。释义生成也可用于自动丰富系统覆盖。通过使用多个解析可以提高稳健性;并且应该在生成的SQL中使用的问题的一部分,但不能自动识别。
以下用例1涉及零售业中的CMO。John是ABC公司的CMO;并且他想知道“2014年10月11日在位于纽约的商店销售的产品类型是什么?”图2图示了根据本发明实施例的销售仓库数据库的示例模式。
图3示出了根据本发明实施例的系统接口300。John可以在搜索框310中输入他的问题(例如,“2014年10月11日在位于纽约的商店销售的产品类型是什么”),并且系统将他的问题转换为SQL。即使John在他的问题中犯了一个错误(例如,“2014年1月11日在已经位于纽约的商店销售的产品类型是什么”),可以生成正确的SQL查询。查询的结果可以显示在搜索结果320中。
诸如营销员,商家,实体店员和现场工作人员等各种业务线可能希望与存储在关系数据库中的数据进行快速交互。为了获得数据,来自各业务线的自然语言查询被转换为SQL。
下面的用例2涉及电话公司的现场工作人员。Jane是美国ABC电信公司的现场工作人员。当她收到工作单时,她会前往现场参观,评估和解决问题。ABC电信公司最近为所有技术人员配备了智能手机。当Jane到达该位置时,她需要知道:1)“线路最后一次被修复的时间?”,2)“线路上最后一个问题是什么?”,3)“线路最初安装的时间?“,4)”线路上的最后一次报告是什么?上一次修复中发生了什么变化?“。Jane必须在室外工作,而现在是非常寒冷的一天。Jane很难打出自己的问题,所以她会对她的智能手机说话,并在屏幕上看到信息。
更具体地说,如图4A所示,Jane对她的智能手机说出她的问题“这条线路最后一次是什么时候修好的?”。在至少一个实施例中,系统驻留在智能手机中并解释说出的句子,解析说出的句子,提取关键概念及其值,并将概念与数据库模式相关联。图4B是示出根据本发明的实施例的从自然语言查询中提取关键概念的图,其中系统提取:单词“什么时候”与我们数据库的模式中的“时间”字段有关,从单词“最后一次”字她想知道与数据库中的线路修复有关的最后一个条目,根据单词“线路”她是询问线路,而不是孔或电缆,以及针对单词“修复”应检查数据库中的状态字段。
系统可以将说出的句子转换为SQL命令并将SQL查询发送到ABC数据库。图。图4C是示出根据本发明实施例的转换为SQL命令的图。系统可以将搜索结果返回到智能手机上运行的应用程序。图4D图示了根据本发明实施例的智能手机界面上显示的搜索结果。
在本发明的至少一个实施例中,实体和关系的检测是基于规则的,其中引擎接收检测规则作为输入并且在依赖树上找到这些规则的匹配。要独立于本体,可以使用模板规则和模式注释文件自动创建检测规则。图5图示了根据本发明实施例的模式注释文件。模式注释文件指示据库包括“Employees”表,其包括具有“employee_id”的列和具有“salary”的列,以及包括具有“department_id”的列的“Departments”的表。
图6例示了根据本发明实施例的模板规则。模板规则要求主语(VAR1)动词(有)宾语(VAR2)。模板规则和模式注释文件可用于自动生成规则以检测自然语言查询中的实体和关系。模板规则可以代表广泛使用的自然语言结构。一个例子是所有权结构:部门有经理员工有工资,客户有地址。这样的结构可以表示为一个动词“有”,该动词具有主语和宾语。主语可以描述谁拥有某件东西,而宾语可以描述该主语拥有的内容。从依赖关系树的角度来看,这个结构可以表示为一个包含3个节点的图:主节点是一个动词,引理形式为“有”,并且有两个子节点连接到它。一个子节点可以通过标有“主语”的边连接到主节点,另一个子节点可以通过标有“宾语”的边连接到主节点。另外,主语节点可以具有特定的引理形式(例如“员工”),并且该宾语也可以具有特定的引理形式(例如“薪水”)。另一种构造可以包括主语——动词——宾语(其中动词是任意动词)或主语——动词——介词——宾语。示例包括:客户购买产品,员工在部门工作等。另一种构造可以包括形容词(最高级)——名词,最高工资,最低工资等。
图7示出了根据本发明实施例的用于检测实体和关系的规则。规则可以要求主语(员工),动词(有)和宾语(工资)。图8是示出根据本发明的实施例的用于生成具有词汇约束的规则(在本文中也被称为“规则”)的方法的流程图。模板规则被接收810。没有词汇约束的模板规则820和模式注释文件830被用来创建具有具体的词汇约束840的规则。这导致带有词汇约束850的规则。
为了自动生成规则,可以使用模式注释文件(SAF)。仅使用数据库及其模式自动生成SAF便可构建一个完整的自动化系统,以从数据库中了解其需要的内容,并准备回答有关数据库中数据的问题。
图9是图示根据本发明实施例的用于自动模式注释文件创建的方法的流程图。可以访问和解析模式模型(也称为数据库模式)910。可以找到(920)列之间的语义关系。了解数据库模式,系统可以找到所有的列名对(也可以是表格到表格以及表格至到列),其根据主/外键关系相互关联。在一个例子中,规则规定“客户购买产品”和“制造商生产产品”。如果输入问题是“John购买产品”,则可以确定John是客户和制造商。没有规则,就无法确定John是谁。
可以执行释义生成930。在一个示例中,SAF包括“员工有薪水”。作为一个强大的自然语言处理(NLP)工具,释义可以产生:“员工赚钱”,“员工赚取$”,“员工薪水”,“员工工资”和/或“员工有薪”。释义可以自动丰富SAF,从而使系统能够回答以各种方式传达相同概念的问题。
实体的检测可以产生实际上是检测过程的副产品的结果,并且不应该被包括在最终的SQL查询中。例如,用户输入自然语言查询“客户在1999年1月25日购买的产品的最高价格是多少?”术语“产品”通过“顾客购买产品”规则来检测,这可以导致创建Products.roduct_ID数据项。但是,此SQL查询可能不会产生最高价格,而是产品价格,因为SQL生成器可能会自动将product_id插入到GROUP BY子句中。为了避免这种情况,焦点检测可以将自然语言查询中的数据项(dataItem)标记为焦点项目。如果数据项没有过滤器,没有聚合函数,也没有焦点,那么在SQL生成过程中可以忽略它。
在至少一个实施例中,自动SQL生成需要知道数据库的模式。SQL生成器可以使用一组数据项作为输入,其中每个数据项是(TableName,ColumnName,Filter,AggregationFunction)中的多个。了解数据库模式并接收一组数据项,SQL生成器生成结果SQL查询。
解析器错误有时可能发生,并且通常依赖树不正确。解析器可以产生多个结果,但应用程序通常只使用由解析器本身最好定义的最佳解析。系统可以使用多个解析,其中每个解析可以有助于正确的实体和关系提取。
图10A和10B是图示根据本发明实施例的自然语言查询的解析(“今天旅行的员工的名字是什么?”)的图。如果用户正在寻找“员工旅行”关系,图10A中所示的解析将具有它,而10B不会。如果仅使用最佳解析(例如,图10B中所示的解析),由于节点“旅行”依赖于节点“名称”而不依赖于节点“员工”,所以不会检测“员工旅行”关系。当至少一个解析具有用户感兴趣的特定关系的正确依赖关系树片段时,使用所有解析可以允许系统检测关系。一个解析可以具有关系#1正确但关系#2错误,而另一个解析可以具有关系#2正确和关系#1错误。使用多个解析可以实现对多个关系的正确检测,其中每个解析有助于检测正确的关系#i。
图11是示出根据本发明的实施例的解析另一自然语言查询(“什么产品的价格高于150美元?”)的图。在这种自然语言查询中,“150美元以上”可以由数字比较注释器注释;并且系统可以检测“>150”这一过滤器附带的“产品具有价格”的关系。使用过滤器进这种成功的关系检测是可能的,因为解析器正确地将“150美元以上”连接到价格上,而价格又通过“具有”正确连接到“产品”。
图12是示出根据本发明实施例的解析又一自然语言查询(“谁购买价格高于150美元的产品?”)的图。在这种自然语言查询中,“150美元以上”可以由数字比较注释器注释,但“产品有价格”关系不会被检测到,因为节点“有”连接到“买”(解析器逻辑是“h用自己的钱买了东西“)。如果数字比较器注释了某些事物(例如,“150美元以上”),则系统可以确定它连接的是什么名词(例如,在这个示例中为“价格”)。为了确定哪些名词可以与“价格”相关联,系统可以使用词汇约束条件遍历规则中的所有名称,以找到既有“价格”又有数字比较器的名称。这个规则可以像在正常的实体和关系检测过程中“被解雇”一样使用。在多个规则的情况下,这个问题可以提出给用户,询问哪个结构更接近用户的意思。
下面的使用案例3示例涉及Carl,他是澳大利亚BCC公司的有线技术人员。BCC收到客户有关其网络速度的电话。卡尔到达该位置并测试信号强度。为了让卡尔充分评估情况,他需要知道:1)“在同一地区是否有任何客户来电和问题类型?”;2)“客户打电话时远测量信号强度是多少?”;3)“线路何时安装?”;以及4)“最近是否有关于客户所在的同一线路上报告的类似问题?”。
图13A示出了根据本发明实施例的Carl的智能手机的界面,其中Carl以口头方式向系统询问他的问题:“在过去的3天中,在这个位置邻居是否报告了任何问题?”卡尔的口头输入可以通过智能手机中的语音处理系统接收和处理。图13B是图示根据本发明实例的从自然语言查询中提取关键概念的图。系统可以解释句子并提取关键概念及其值,并将概念与数据库模式关联起来。例如,系统可以解释卡尔从术语“在那里”要求获知先前事件,从术语“邻居”寻找当前地址周围的地址,并且从术语“过去的3天”执行查询最后3天的情况。因此,在这个例子中,所识别的实体包括术语“在那里”,“邻居”和“过去的3天”。该系统还可以从Carl的智能手机中的其他位置功能或GPS设备获得Carl的位置(例如,经度-纬度)。
图13C是图示根据本发明实施例的转换为SQL命令的图。具体来说,自然语言查询“在过去的3天里,在这个位置有邻居报告的问题吗?”被转换为“SELECT customer_address,issue,location FROM reported_isses_table WHERE distance(location,curr_loc)<100”。系统可以将SQL命令发送到数据库以供执行。图13D例示了根据本发明实施例的在智能手机界面上显示的搜索结果。因此,Carl可以看到过去3天里两个邻居经历了缓慢的连接或没有连接。
以下用例4示例涉及John,他是美国ABC Utility公司的现场工作人员。当约翰收到工作单时,他会去实地考察,评估和解决问题。ABC Utility最近安装了内存数据库管理系统,以提高实地访问期间访问资产历史数据的效率。ABC Utilit希望在访问完成后提高其资产管理系统的数据质量。当John到达这个位置时,他需要知道:1)“线路最后一次被修复的时间?”;2)“线路上最后一个问题是什么?”;3)“线路原来是什么时候安装的?”;4)“关于线路的最新报告是什么?”;5)“上次修复中发生了什么变化?”。在John修复问题后,他可以使用以下信息更新数据库中的资产记录:1)“问题是否已解决或是否需要其他技术人员进行后续访问”;2)“这个问题的根源是什么?”;3)他是否在近期看到需要关注的其他问题(孔/线缆/树木裁剪)。
图14A示出了根据本发明实施例的智能手机界面,其中John以口头方式向系统询问他的问题:“这一线路最后一次何时被修复?”图14B是图示根据本发明实施例的从自然语言查询中提取关键概念的图。系统可以解释句子并提取关键概念及其值,并将概念与数据库模式关联起来。例如,系统可以从术语“何时”解释该查询与数据库模式中的时间域有关,John想从术语“上一次”知道与数据库中的线路修复有关的最后一个条目“,基于术语“这一”,查询涉及当前位置(例如,将通过GPS确定),基于术语“线路”,查询是在询问线路(而不是孔或电缆),基于术语“修复”,查询需要检查数据库中的状态域。因此,在这个例子中,所识别的实体包括术语“何时”,“上一次”,“这一”,“线路”和“修复”。该系统还可以从John的智能手机中的GPS设备获得John的位置(例如,经度-纬度)。
图14C是图示根据本发明实施例的转换为SQL命令的图。具体来说,自然语言查询“这一线路最后一次被修复的时间是?”被转换为“SELECT circuit_name,max(date)FROMASSET_CIRCUIT_TABLE WHERE tatus=”FIXED“AND location=(41.162873,-73.861525)”。系统可以将SQL命令发送到数据库以供执行。图14D例示了根据本发明实施例的在智能手机界面上显示的搜索结果。因此,John可以看到2014年1月4日Peter Smith修复了线路CIU3265FX。
图15是示出根据本发明实施例的用于从自然语言查询创建结构化数据语言(例如,SQL)查询的方法的流程图;并且,图16是示出根据本发明实施例的用于创建结构化数据语言查询的系统1600的图。在图15中示出的方法。可以使用系统1600来执行作。接口1610可以从用户接收自然语言查询(例如,营销部门中的员工的名字是什么?)1510。如本文所使用的,术语“接口”可以包括计算机硬件设备,例如键盘,触摸屏,鼠标或麦克风。
输入端口1620可以接收要查询的数据库中的数据的本体表示1520,其中本体表示可以包括数据库中的表的名称,表中的列名以及表中的行名。例如,本体表示表示数据库中有一个标题为“部门(Departments)”的表格,其中包含以下列名称:部门,经理姓名,电号码,邮寄地址和电子邮件地址,以及以下行名称:市场,法律,会计,广告和人力资源。在另一个示例中,本体表示表示在数据库中有一个标题为“员工(Employees)”的表,其具有以下列名称:员工,员工编号,开始日期,经理姓名,生日,薪水和部门,以及以下行名称:John Doe,Jane Doe,John Smith和Jane Smith。
输入端口1620还可以接收模板规则(例如,root=VAR1_has_VAR2#模板规则)1530,其中模板规则是依赖于语言的但是独立于本体的广泛使用的语言构造。在至少一个实施例中,模板规则包括第一变量,连接器和第二变量,其中第一变是宾语(名词),连接器包括动词(例如“有”)或介词(例如“in”)之一,并且第二个变量是主语(名词)。
规则生成引擎1630可自动生成具有数据库中数据的本体表示的规则(例如root=employee_has_department)以及用于识别自然语言查询1540中的实体和关系的模板规则。如本文所使用的,术语“自动地”可以包括在没有人类交互的情况下行动作(例如,在没有人类的直接和显式提示的情况下执行处理步骤来执行动作)。规则生成引擎1630可以连接到接口1610和/或输入端口1620。在至少一个实施例中,生成规则包括用一个列名称(例如,员工)替换模板规则的第一变量,并将模板规则的第二个变量替换为另一个列名(例如部门)。因此,例如,对于模板规则“root=VAR1_has_VAR2#模板规则”,将“VAR1”和“VAR2”分别替换为列名“employee”和“department”,以生成规则“root=employee_has_department”。
处理器1640可以连接到规则生成引擎1630以使用规则1550来识别自然语言查询中的实体和关系。例如,给定自然语言查询“市场部门中的员工的名称是什么?“,规则生成引擎识别实体”员工“和”部门“以及”表名=员工“和”表名=部门“的关系。
查询生成引擎1650可以连接到处理器1640以从实体和关系1560生成结构化数据语言查询。如本文所使用的,术语“输入端口”,“规则生成引擎”,“处理器”和“查询生成引擎”可以各自包括计算机硬件设备,例如微处理器,中央处理单元(CPU),服务器,电子数库等。
在本发明的至少一个实施例中,查询生成引擎1650自动生成至少一个实体的同义词。例如,查询生成引擎为实体“employee”自动生成同义词“staff”,“worker”和“associate”。查询生成引擎可以从实体的同义词生成结构化数据语言查询。
图17是示出根据本发明实施例的用于查询数据库的方法的流程图。并且,图18是示出根据本发明实施例的用于查询数据库的系统1800的图。在图17中示出的方法可以使用系统1800来执行。接口1810可以从用户1710接收自然语言查。例如,用户可以使用移动设备的触摸屏键入问题。
连接到接口1810的解析器设备1820可以生成自然语言查询1720的多个依赖性解析(例如,图10A,10B)。多个依赖性解析的生成可包括将自然语言查询划分为多个组件1722。例如,自然语言查询“今日旅行的员工的名字是什么”被分成七(7)组组件:“什么”;““是”;“名”;“的”;“员工”;“旅行”;还有“今天”。
多个依赖性解析的生成还可以包括通过将多个组件中的每个组件与多个组件1724中的一个或多个其他组件连接来创建单个依赖性解析。图10A和10B分别说明单个依赖性解析。在图10A中,直接链接在组件“什么”和“是”,“是”和“名称”,“名”和“的”,“的”和“员工”,“员工”和“旅行”以及“旅行”和“今天”之间创建。在图10B中,在组件“什么”和“是”,“是”和“名称”,“名称”和“的”,“的”和“员工”,“名称”和“旅行”以及“旅行”和“今天”之间创建直接链接。生成多个依赖性解析可以包括识别每个组件的词性(例如,名词,动词,副词,形容词)。在至少一个实施例中,每个组件与一个或多个其他组件的连接包括在名词和动词和/或副词(例如“员工”和“旅行”)之间创建直接链接。也可以在动词和两个名词之间建立直接链接。
在本发明的至少一个实施例中,生成自然语言查询的多个依赖性解析可以包括识别自然语言查询中的每个名词,并且在不同的多个依赖性解析中将自然语言查询中的每个名词连接到自然语言查询中的每个其他名词。名词可以通过动词连到其他名词。多个依赖关系解析的数量可以大于自然语言查询中的单词数量。在至少一个实施例中,多个依赖关系解析中没有两个是相同的。
处理器1830可连接到解析器装置1820,其中处理器1830可将规则应用于所有依赖性解析以识别自然语言查询1730中的实体和关系。如本文所使用的,术语“处理器”和“解析器设备”可以各自包括计算机硬件设备,例如微处理器,中央处理单元(CPU)等
为识别自然语言查询中的实体和关系,将规则应用于所有多个依赖性解析可以包括获得具有一个或多个名词和一个或多个动词的规则。当规则的名词与第一个多个依赖关系解析中的名词匹配时,第一个多个依赖关系解析中的名词可以被别为实体。当规则的动词与第一个多个依赖关系解析中的动词相匹配时,第一个多个依赖关系解析中的动词可以被识别为关系。例如,给定图10A和10B所示的解析,对于自然语言查询“今天旅行的员工的名字是什么?”,可以将规则“employee_has_name”和“employee_travels_on_a_date”应用于每个解析以识别实体“员工姓名”和“日期”,以及关系“旅行”。
在本发明的至少一个实施例中,识别未连接到实体的一个或多个依赖关系解析中的限定符,其中限定符包括数字比较(例如,价格大于$100),日期比较(例如,“小部件在2011年1月之后购买”)和/或时间比较(例如,“市场在5:00之前关闭”)。在这样的情况,处理器1830可以自动识别附接到限定符的实体和/或向用户发送问题,请求用户识别附加到限定符的实体。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
计算机程序指令还可以被加载到计算机,其他可编程数据处理设备或其他设备上以使得在计算机,其他可编程装置或其他设备上执行一系列操作步骤以产生计算机实现的过程使得在计算机或其他可编程装置上执行的指令提供用于实现在流程图和/或框图的一个或多个框中指定的功能/动作的过程。
现在参考图19,描绘了用于实践本发明的至少一个实施例的代表性硬件环境。该示意图示出了根据本发明的至少一个实施例的信息处理/计算机系统的硬件配置。该系统包括至少一个处理器或中央处理单元(CPU)710.CPU 710通过系统总线712与各种设备互连接,诸如随机存取存储器(RAM)714,只读存储器(ROM)716和输入/输出(I/O)适配器718.I/O适配器718可以连接到外围设备,诸如磁盘单元711和磁带驱动器713,或系统可读的其他程序存储设备。系统可以读取程序存储设备上的创造性指令并遵循这些指令来执行本发明的至少一个实施例的方法。该系统还包括将键盘715,鼠标717,扬声器724,麦克风722和/或诸如触摸屏设备(未示出)之类的其他用户接口设备连接到总线712以收集用户输入的用户接口适配器719。另外,通信适配器720将总线712连接到数据处理网络725,并且显示适配器721将总线712连接到显示设备723,显示设备723可以体现为诸如监视器,打印机或发送器的输出设备,用于例。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
可以预先理解,虽然本公开包括关于云计算的详细描述,但是本文所记载的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其他类型的计算环境来实现。
云计算是用于实现对可配置计算资源的共享池(例如网络,网络带宽,服务器,处理,存储器,存储器,应用程序,虚拟机和服务)的便利的按需网络访问的服务传送的模型),只需最少的管理工作或与服务提供商的交互即可快速配置和发布。该云模型可以包括至少五个特征,至少个服务模型和至少四个部署模型。
特征如下:
按需自助服务:云用户可以根据需要自动单方面配置计算功能,如服务器时间和网络存储,而不需要人员与服务提供商进行交互。
广泛的网络访问:功能可通过网络访问,并通过标准机制访问,以促进异构瘦客户机或厚客户机平台(例如,手机,笔记本电脑和PDA)的使用。
资源池:将提供商的计算资源集中起来,为使用多租户模型的多个消费者提供服务,并根据需求动态分配和重新分配不同的物理和虚拟资源。由于消费者通常对所提供的资源的确切位置没有控制或知识,但是可能能够在较高抽象级别(例如,国家,州或数据中心)指定位置,所以存在位置独立感。
快速弹性:可以快速弹性地提供功能,在某些情况下可以自动进行快速扩展并快速发布以快速扩展。对于消费者来说,可用于提供的功能通常看起来是无限的,并且可以以任何数量购买任何时候。
测量服务:云系统通过利用适合服务类型(例如存储,处理,带宽和活动用户帐户)的某种抽象级别的计量功能,自动控制和优化资源使用。可以监视,控制和报告资源使用情况,为所用服务的提供者和使用者提供透明度。
服务模型如下:
软件即服务(SaaS):提供给消费者的功能是使用在云基础架构上运行的提供商应用程序。这些应用程序可通过诸如网络浏览器之类的瘦客户端接口(例如,基于网络的电子邮件)从各种客户端设备访问。消费者不管理或控制底层云基础架构,包括网络,服务器,操作系统,存储或甚至是单个应用程序功能,但可能的例外是有限的用户特定应用程序配置设置。
平台即服务(PaaS):向消费者提供的功能是部署到使用由提供商支持的编程语言和工具创建的消费者创建或获取的应用程序的云基础架构上。消费者不管理或控制底层云基础设施,包括网络,服务器,操作系统或存储,但可以控制已部署的应用程序和可能的应用程序托管环境配置。
基础设施即服务(IaaS):提供给消费者的功能是提供处理,存储,网络和其他基本计算资源,供消费者在其中部署和运行任意软件(可包括操作系统和应用程序)。消费者不管理或控制底层云基础架构,但可以控制操作系统,存储,部署的应用程序以及对选定网络组件(例如主机防火墙)的可能有限控制。
部署模型如下:
私有云:云基础架构仅为组织运营。它可能由组织或第三方管理,可能存在于本地或非本地。
社区云:云基础架构由多个组织共享,并支持具有共同关注点(例如任务,安全要求,策略和合规性考虑因素)的特定社区。它可能由组织或第三方管理,可能存在于本地或非本地。
公有云:云基础架构可供公众或大型工业集团使用,并由销售云服务的组织拥有。
混合云:云基础架构是两个或更多云(私有,社区或公共)组成的云,它们仍然是独特的实体,但通过标准或专有技术绑定在一起,从而实现数据和应用程序的可移植性(例如,云爆发以实现负载平衡在云之间)。
云计算环境面向服务,侧重于无状态,低耦合,模块化和语义互操作性。
云计算的核心是一个包含互连节点网络的基础架构。
现在参考图20,示出了云计算节点的示例的示意图。云计算节点10仅是合适的云计算节点的一个示例,并且不旨在对这里描述的本发明的实施例的使用范围或功能提出任何限制。无论如何,云计算节点10都能够被实现和/或执行上文所述的任何功能。
在云计算节点10中,存在计算机系统/服务器12,该计算机系统/服务器12可与许多其他通用或专用计算系统环境或配置一起操作。可以适用于计算机系统/服务器12的公知计算系统,环境和/或配置的示例包括但不限于个人计算机系统,服务器计算机系统,瘦客户机,胖客机,手持式或膝上型设备,多处理器系统,基于微处理器的系统,机顶盒,可编程消费电子产品,网络PC,小型计算机系统,大型计算机系统以及包括任何上述系统或设备的分布式云计算环境等。
计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(例如程序模块)的一般上下文中描述。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程,程序,对象,组件,逻辑,数据结构等等。计算机系统/服务器12可以在分布式云计算境中实施,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质中。
如图20所示,云计算节点10中的计算机系统/服务器12以通用计算设备的形式示出。计算机系统/服务器12的组件可以包括但不限于一个或多个处理器或处理单元16,系统存储器28以及将包括系统存储器28的各种系统组件耦合到处理器16的总线18。
总线18表示几种类型的总线结构中的任何一种总线结构中的一个或多个,包括存储器总线或存储器控制器,外围总线,加速图形端口以及使用各种总线体系结构中的任何一种的处理器或本地总线。作为示例而非限制,这样的体系结构包括工业标准体系结构(ISA)总线,微通道体结构(MCA)总线,增强ISA(EISA)总线,视频电子标准协会(VESA)本地总线以及外围组件互连(PCI)总线。
计算机系统/服务器12通常包括各种计算机系统可读介质。这样的媒体可以是计算机系统/服务器12可访问的任何可用媒体,并且它包括易失性和非易失性媒体,可移动和不可移动媒体。
系统存储器28可以包括诸如随机存取存储器(RAM)30和/或高速缓冲存储器32之类的易失性存储器形式的计算机系统可读介质。计算机系统/服务器12可以进一步包括其他可移动/不可移动的,易失性/非易失性计算机系统存储介质。仅作为示例,可以提供存储系统34以于从不可移动,非易失性磁介质(未示出并且通常称为“硬盘驱动器”)读取和写入。尽管未示出,但是用于从可移动,非易失性磁盘(例如,“软盘”)读取和向其写入的磁盘驱动器以及用于从可移动,非易失性光学器件读取或向其写入的光盘驱动器可以提供诸如CD-ROM,DVD-ROM或其他光学介质的盘。在这种情况下,每个可以通过一个或多个数据媒体接口连接到总线18。如下面将进一步描绘和描述的那样,存储器28可以包括具有被配置为执行本发明的实施例的功能的一组(例如,至少一个)程序模块的至少一个程序产品。
具有一组(至少一个)程序模块42的程序/实用程序40可作为示例而非限制性地存储在存储器28中,以及操作系统,一个或多个应用程序,其他程序模块和程序数据。操作系统,一个或多个应用程序,其他程序模块和程序数据或其一些组合中的每一个可以包括网络环境的实现程序模块42通常执行如本文所述的本发明的实施例的功能和/或方法。
计算机系统/服务器12还可以与一个或多个外部设备14(例如键盘,指点设备,显示器24等等)通信。使用户能够与计算机系统/服务器12交互的一个或多个设备;和/或使计算机系统/服务器12能够与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等。这种通信可以通过输入/输出(I/O)接口22来进行。然而,计算机系统/服务器12可以与诸如局域网(LAN),广域网(WAN)等的一个或多个网络通信。和/或公共网络(例如,因特网)。如图所示,网络适配器20经由总线18与计算机系统/服务器12的其他组件通信。应该理解,尽管未示出,但其他硬件和/或软件组件可以与计算机系统/服务器12结合使用。示例包括但不限于:微码,设备驱动程序,冗余处理单元,外部磁盘驱动器阵列,RAID系统,磁带驱动器和数据存档存储器系统等
现在参考图21,描绘了说明性的云计算环境50。如图所示,云计算环境50包括一个或多个云计算节点10,云消费者使用的本地计算设备(例如个人数字助理(PDA)或蜂窝电话54A,台式计算机54B,膝上型计算机54C,和/或汽车计算机系统54N可以信。节点10可以彼此通信。它们可以物理地或虚拟地在一个或多个网络中分组(未示出),如上文所述的私有,社区,公共或混合云,或其组合。这允许云计算环境50提供作为云消费者不需要在本地计算设备上维护资源的服务的基础设施,平台和/或软件。可以理解的是,图1中所示的计算设备54A-N的类型可以是任意的。图21仅旨在说明并且计算节点10和云计算环境50可以通过任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化设备进行通信。
现在参考图22,示出了由云计算环境50(图21)提供的一组功能抽象层。应该预先理解图1中所示的部件,层和功能。图22仅意在说明,并且本发明的实施例不限于此。如所描绘的,提供以下层和相应的功能:
硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机61;RISC(精简指令集计算机)体系结构的服务器62;服务器63;刀片服务器64;存储设备65;以及网络和网络组件66.在一些实施例中,软件组件包括网络应用服务器软件67和数据库件68。
虚拟化层70提供抽象层,可以从中提供虚拟实体的以下示例:虚拟服务器71;虚拟存储72;虚拟网络73,包括虚拟专用网络;虚拟应用程序和操作系统74;和虚拟客户端75。
在一个示例中,管理层80可以提供下面描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其他资源的动态采购。计量和定价82在云计算环境中利用资源时提供成本跟踪,以及用于消耗这些资源的计费或发票。在一个示例中,这些资源可以包括应用软件许可证安全性为云消费者和任务提供身份验证,并保护数据和其他资源。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务级别管理84提供云计算资源分配和管理,以满足所需的服务级别。服务级别协议(SLA)规划和实现85为根据SLA预期未来要求的云计算资源提供预先安排和采购。
工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:映射和导航91;软件开发和生命周期管理92;虚拟课堂教学交付93;数据分析处理94;交易处理95;并基于认知考虑96增强电子邮件回执。
本文使用的术语仅用于描述特定实施例的目的,而不意图限制本发明。如本文所使用的,除非上下文另外清楚地指出,否则单数形式“一”,“一个”和“该”旨在也包括复数形式。将进一步理解的是,当在本说明书中使用时,根术语“包括”和/或“具有”指定所陈述的特征,整,步骤,操作,元件和/或部件的存在,但不排除存在或添加至少一个其他特征,整数,步骤,操作,元素,组件和/或其组。
下面的权利要求中的所有装置加功能元件的对应结构,材料,动作和等同物旨在包括用于结合具体要求保护的其他要求保护的元件执行功能的任何结构或材料。已经出于说明和描述的目的给出了对本发明的描述,但是并不意图是穷尽的或者以所公开的形式限制本发明。在不脱离本发的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择和描述实施例是为了最好地解释本发明的原理和实际应用,并且使本领域的其他普通技术人员能够理解具有各种修改的各种实施例的本发明,以适合于预期的特定用途。
Claims (26)
1.一种用于创建结构化数据语言查询的方法,所述方法包括:
通过接口接收用户的自然语言查询;
通过输入端口接收数据库中的数据的本体表示,数据库中的数据的本体表示包括数据库中的表的名称,表中的列名以及表中的行名;
通过所述输入端口接收模板规则,模板规则是依赖于语言而独立于本体的,模板规则包括广泛使用的语言结构;
通过连接到接口和输入端口的规则生成引擎自动生成规则,所述规则通过数据库中数据的本体表示生成,所述模板规则用于识别自然语言查询中的实体和关系;
通过连接到所述规则生成引擎的处理器识别实体和关系,所述实体和关系用所述规则在所述自然语言查询中被识别;和
通过连接到处理器的查询生成引擎生成结构化数据语言查询,所述结构化数据语言查询是从所述实体和关系生成的。
2.根据权利要求1所述的方法,其中,所述模板规则中的模板规则包括至少一个变量。
3.根据权利要求1所述的方法,其中所述模板规则中的模板规则包括第一变量,连接器和第二变量。
4.根据权利要求3所述的方法,其中,所述连接器包括动词和介词之一。
5.根据权利要求3所述的方法,其中所述规则的生成包括:
用列名之一替换模板规则的所述第一变量;和
用另一列名替换模板规则的所述第二变量。
6.根据权利要求1所述的方法,进一步包括自动生成释义以丰富所述数据的本体表示,其中所述自动生成用于识别所述自然语言查询中的实体和关系的规则是基于所述释义的。
7.根据权利要求1所述的方法,还包括自动生成至少一个所述实体的同义词,其中所述生成结构化数据语言查询进一步包括从所述实体的同义词生成所述结构化数据语言查询。
8.一种用于创建结构化数据语言查询的方法,所述方法包括:
通过接口接收用户的自然语言查询;
通过输入端口接收数据库中的数据的本体表示,所述数据库中的数据的本体表示包括概念的名称和概念属性的名称;
通过所述输入端口接收模板规则,所述模板规则是依赖于语言而独立于本体的,所述模板规则包括广泛使用的语言结构;
通过连接到所述接口和所述输入端口的规则生成引擎自动生成规则,所述规则通过数据库中数据的本体表示生成,所述模板规则用于识别自然语言查询中的实体和关系;
通过连接到所述规则生成引擎的处理器识别实体和关系,所述实体和关系用所述规则在所述自然语言查询中被识别;和
通过连接到所述处理器的查询生成引擎生成结构化数据语言查询,所述结构化数据语言查询是从所述实体和关系生成的。
9.根据权利要求8所述的方法,其中所述模板规则包括至少一个变量。
10.根据权利要求8所述的方法,其中,所述模板规则包括第一变量,连接器和第二变量。
11.根据权利要求10所述的方法,其中,所述连接器包括动词和介词之一。
12.根据权利要求10所述的方法,其中所述规则的生成包括:
用列名之一替换模板规则的所述第一变量;和
用另一列名替换模板规则的所述第二变量。
13.根据权利要求10所述的方法,其中所述规则的生成包括:
用概念属性之一替换模板规则的所述第一变量;和
用另一概念属性替换模板规则的所述第二变量。
14.根据权利要求8所述的方法,进一步包括自动生成释义以丰富所述数据的本体表示,其中所述自动生成所述规则以识别所述自然语言查询中的实体和关系是基于所述释义的。
15.根据权利要求8所述的方法,还包括:
自动生成至少一个实体的同义词,其中所述生成结构化数据语言查询进一步包括从所述实体的同义词生成结构化数据语言查询。
16.根据权利要求8所述的方法,其中所述概念包括所述数据库中的表。
17.根据权利要求8所述的方法,其中所述概念属性包括所述表中的列的名称。
18.一种计算机程序产品,包括
计算机可读存储介质,其上存储有:
第一程序指令,可由设备执行以使所述设备从用户接收自然语言查询;
第二程序指令,所述第二程序指令可由所述设备执行以使所述设备接收数据库中的数据的本体表示,所述数据库中的数据的本体表示包括数据库中的表的名称,表中的列名以及表中的行名;
第三程序指令,所述第三程序指令可由所述设备执行以使所述设备接收模板规则,所述模板规则是依赖于语言而独立于本体的,所述模板规则包括广泛使用的语言构造;
第四程序指令,所述第四程序指令可由所述设备执行以使所述设备自动生成规则以识别所述自然语言查询中的实体和关系,所述规则是利用所述数据库中的所述数据的所述本体表示和所述模板规则生成的;
第五程序指令,所述第五程序指令可由所述设备执行以使所述设备用所述规则识别所述自然语言查询中的实体和关系;和
第六程序指令可由设备执行以使设备从实体和关系生成结构化数据语言查询。
19.根据权利要求18所述的计算机程序产品,其中所述模板规则包括第一变量,连接器和第二变量,并且其中所述第四程序指令使所述设备:
用列名之一替换模板规则的所述第一变量,
用另一列名替换模板规则的所述第二变量。
20.根据权利要求18所述的计算机程序产品,还包括第七程序指令,所述第七程序指令可由所述设备执行以使所述设备自动生成至少一个所述实体的同义词,其中所述第六程序指令使所述设备从所述实体的同义词生成所述结构化数据语言查询。
21.一种用于创建结构化数据语言查询的系统,所述系统包括:
接口,其中所述接口可操作以从用户接收自然语言查询;
输入端口,其中所述输入端口可操作以接收:
数据库中数据的本体表示,包括数据库中表的名称,表中的列名以及表中的行名,以及模板规则,所述模板规则是依赖于语言而独立于本体的,并且所述模板规则包括广泛使用的语言结构;
连接到所述接口和所述输入端口的规则生成引擎,其中所述规则生成引擎可操作来自动生成规则,所述规则是利用数据库中的数据的本体表示生成的,并且所述模板规则用于识别所述自然语言查询中的实体和关系;
连接到所述规则生成引擎的处理器,其中所述处理器可操作以识别实体和关系,所述实体和关系在所述自然语言查询中利用所述规则被识别;和
连接到所述处理器的查询生成引擎,其中所述查询生成引擎可操作以从所述实体和关系生成所述结构化数据语言查询。
22.根据权利要求21所述的系统,其中所述模板规则中的模板规则包括至少一个变量。
23.根据权利要求21所述的系统,其特征在于,所述模板规则中的模板规则包括第一变量,连接器和第二变量。
24.根据权利要求23所述的系统,其中所述连接器包括动词和介词之一。
25.根据权利要求23所述的系统,其中所述规则生成引擎用列名之一替换模板规则的所述第一变量,并用另一列名替换模板规则的所述第二变量。
26.一种包括程序代码装置的计算机程序,适于当所述程序在计算机上运行时执行权利要求1至17中任一项的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/858,841 US9959311B2 (en) | 2015-09-18 | 2015-09-18 | Natural language interface to databases |
US14/858,841 | 2015-09-18 | ||
PCT/IB2016/055494 WO2017046729A1 (en) | 2015-09-18 | 2016-09-15 | Natural language interface to databases |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108027833A true CN108027833A (zh) | 2018-05-11 |
CN108027833B CN108027833B (zh) | 2022-04-08 |
Family
ID=58282482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680053932.XA Active CN108027833B (zh) | 2015-09-18 | 2016-09-15 | 用于创建结构化数据语言查询的方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9959311B2 (zh) |
JP (1) | JP6736173B2 (zh) |
CN (1) | CN108027833B (zh) |
DE (1) | DE112016003626T5 (zh) |
GB (1) | GB2557535A (zh) |
WO (1) | WO2017046729A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271392A (zh) * | 2018-10-30 | 2019-01-25 | 长威信息科技发展股份有限公司 | 快速判别和抽取关系型数据库实体及属性的方法及设备 |
CN110502739A (zh) * | 2018-05-17 | 2019-11-26 | 国际商业机器公司 | 结构化输入的机器学习模型的构建 |
CN111475526A (zh) * | 2020-03-10 | 2020-07-31 | 平安科技(深圳)有限公司 | 基于oracle数据的时序数据转换方法、及其相关设备 |
CN111813892A (zh) * | 2019-04-11 | 2020-10-23 | 国际商业机器公司 | 自动生成自然语言处理盒的数据驱动方法 |
CN112084346A (zh) * | 2020-09-11 | 2020-12-15 | 上海飞机制造有限公司 | 用于航空线缆连接器的孔位信息采集装置及采集方法 |
WO2021082353A1 (zh) * | 2019-10-28 | 2021-05-06 | 竹间智能科技(上海)有限公司 | 一种语义识别方法及其设备 |
CN112783921A (zh) * | 2021-01-26 | 2021-05-11 | 中国银联股份有限公司 | 一种数据库操作方法及装置 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190102390A1 (en) * | 2017-09-29 | 2019-04-04 | Novabase Sgps, S.A. | Semantic search engine and visualization platform |
US11023461B2 (en) * | 2018-01-19 | 2021-06-01 | Servicenow, Inc. | Query translation |
US20210118556A1 (en) * | 2018-03-30 | 2021-04-22 | Koninklijke Philips N.V. | Systems and methods for dynamic generation of structured quality indicators and management thereof |
WO2020023787A1 (en) * | 2018-07-25 | 2020-01-30 | Oracle International Corporation | Natural language interfaces for databases using autonomous agents and thesauri |
US10977164B2 (en) * | 2018-08-29 | 2021-04-13 | International Business Machines Corporation | Automated generation of test cases for analyzing natural-language-interface-to-database systems |
US10853395B2 (en) * | 2018-09-24 | 2020-12-01 | Salesforce.Com, Inc. | Extraction of keywords for generating multiple search queries |
US11188716B2 (en) | 2019-01-16 | 2021-11-30 | International Business Machines Corporation | Text display with visual distinctions per class |
US11528296B2 (en) | 2019-02-18 | 2022-12-13 | Bank Of America Corporation | Unauthorized data manipulation detection |
US11409959B2 (en) * | 2019-06-14 | 2022-08-09 | Intuit Inc. | Representation learning for tax rule bootstrapping |
US11151131B2 (en) | 2019-07-19 | 2021-10-19 | Bank Of America Corporation | Query generation from a natural language input |
US11789940B2 (en) * | 2019-08-16 | 2023-10-17 | American Express Travel Related Services Company, Inc. | Natural language interface to databases |
US11640398B2 (en) * | 2019-08-16 | 2023-05-02 | Bank Of America Corporation | Method and system for data communication with relational database management |
WO2021035347A1 (en) * | 2019-08-30 | 2021-03-04 | Element Ai Inc. | Decision support system for data retrieval |
US11693855B2 (en) * | 2019-12-20 | 2023-07-04 | International Business Machines Corporation | Automatic creation of schema annotation files for converting natural language queries to structured query language |
CA3172725A1 (en) | 2020-03-23 | 2021-09-30 | Sorcero, Inc. | Feature engineering with question generation |
US20210390099A1 (en) * | 2020-06-10 | 2021-12-16 | Lyngo Analytics Inc. | Method and system for advanced data conversations |
US11934392B2 (en) | 2020-06-10 | 2024-03-19 | Alation, Inc. | Method and system for data conversations |
US11630833B2 (en) | 2020-10-29 | 2023-04-18 | International Business Machines Corporation | Extract-transform-load script generation |
US11977841B2 (en) | 2021-12-22 | 2024-05-07 | Bank Of America Corporation | Classification of documents |
US20230396496A1 (en) * | 2022-06-02 | 2023-12-07 | At&T Intellectual Property I, L.P. | Automated rule generation for network functions |
EP4303719A1 (en) * | 2022-06-30 | 2024-01-10 | Tata Consultancy Services Limited | Automated generation of web applications based on wireframe metadata generated from user requirements |
CN117075966B (zh) * | 2023-08-31 | 2024-04-19 | 中科驭数(北京)科技有限公司 | 指令处理方法、装置、设备及可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136028A (zh) * | 2006-07-10 | 2008-03-05 | 日电(中国)有限公司 | 基于自然语言的位置查询系统以及基于关键词的位置查询系统 |
US20100070500A1 (en) * | 2006-10-31 | 2010-03-18 | Zhan Cui | Data processing |
US20100185643A1 (en) * | 2009-01-20 | 2010-07-22 | Oracle International Corporation | Techniques for automated generation of queries for querying ontologies |
US20110320187A1 (en) * | 2010-06-28 | 2011-12-29 | ExperienceOn Ventures S.L. | Natural Language Question Answering System And Method Based On Deep Semantics |
US20130304758A1 (en) * | 2012-05-14 | 2013-11-14 | Apple Inc. | Crowd Sourcing Information to Fulfill User Requests |
CN103646032A (zh) * | 2013-11-11 | 2014-03-19 | 漆桂林 | 一种基于本体和受限自然语言处理的数据库查询方法 |
CN103999081A (zh) * | 2011-12-12 | 2014-08-20 | 国际商业机器公司 | 生成用于信息领域的自然语言处理模型 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
JP2002342361A (ja) * | 2001-05-15 | 2002-11-29 | Mitsubishi Electric Corp | 情報検索装置 |
US7403938B2 (en) * | 2001-09-24 | 2008-07-22 | Iac Search & Media, Inc. | Natural language query processing |
AU2003211000A1 (en) * | 2002-02-12 | 2003-09-04 | Sandpiper Software, Inc. | Ontology frame-based knowledge representation in the unified modeling language (uml) |
US7752197B2 (en) | 2002-10-03 | 2010-07-06 | International Business Machines Corporation | SQL query construction using durable query components |
US7263517B2 (en) | 2002-10-31 | 2007-08-28 | Biomedical Objects, Inc. | Structured natural language query and knowledge system |
US7747601B2 (en) * | 2006-08-14 | 2010-06-29 | Inquira, Inc. | Method and apparatus for identifying and classifying query intent |
US8612208B2 (en) * | 2004-04-07 | 2013-12-17 | Oracle Otc Subsidiary Llc | Ontology for use with a system, method, and computer readable medium for retrieving information and response to a query |
JP2006004274A (ja) * | 2004-06-18 | 2006-01-05 | Nippon Telegr & Teleph Corp <Ntt> | 対話処理装置、対話処理方法及び対話処理プログラム |
US7853618B2 (en) * | 2005-07-21 | 2010-12-14 | The Boeing Company | Methods and apparatus for generic semantic access to information systems |
US7937402B2 (en) * | 2006-07-10 | 2011-05-03 | Nec (China) Co., Ltd. | Natural language based location query system, keyword based location query system and a natural language and keyword based location query system |
US20160004766A1 (en) * | 2006-10-10 | 2016-01-07 | Abbyy Infopoisk Llc | Search technology using synonims and paraphrasing |
US20080235199A1 (en) | 2007-03-19 | 2008-09-25 | Yunyao Li | Natural language query interface, systems, and methods for a database |
US8983989B2 (en) * | 2010-02-05 | 2015-03-17 | Microsoft Technology Licensing, Llc | Contextual queries |
US8862458B2 (en) * | 2010-11-30 | 2014-10-14 | Sap Ag | Natural language interface |
US9471666B2 (en) * | 2011-11-02 | 2016-10-18 | Salesforce.Com, Inc. | System and method for supporting natural language queries and requests against a user's personal data cloud |
US8935277B2 (en) * | 2012-03-30 | 2015-01-13 | Sap Se | Context-aware question answering system |
US20130311166A1 (en) | 2012-05-15 | 2013-11-21 | Andre Yanpolsky | Domain-Specific Natural-Language Processing Engine |
US20140039878A1 (en) * | 2012-08-01 | 2014-02-06 | Apollo Group, Inc. | Symbolic-To-Natural Language Conversion |
US8996555B2 (en) | 2012-11-26 | 2015-03-31 | Sap Se | Question answering framework for structured query languages |
WO2015051480A1 (en) * | 2013-10-09 | 2015-04-16 | Google Inc. | Automatic definition of entity collections |
US9652451B2 (en) * | 2014-05-08 | 2017-05-16 | Marvin Elder | Natural language query |
US10303798B2 (en) * | 2014-12-18 | 2019-05-28 | Nuance Communications, Inc. | Question answering from structured and unstructured data sources |
US9846901B2 (en) * | 2014-12-18 | 2017-12-19 | Nuance Communications, Inc. | Product recommendation with ontology-linked product review |
CN104657439B (zh) | 2015-01-30 | 2019-12-13 | 欧阳江 | 用于自然语言精准检索的结构化查询语句生成系统及方法 |
-
2015
- 2015-09-18 US US14/858,841 patent/US9959311B2/en active Active
-
2016
- 2016-09-15 GB GB1805522.8A patent/GB2557535A/en not_active Withdrawn
- 2016-09-15 DE DE112016003626.4T patent/DE112016003626T5/de active Pending
- 2016-09-15 CN CN201680053932.XA patent/CN108027833B/zh active Active
- 2016-09-15 WO PCT/IB2016/055494 patent/WO2017046729A1/en active Application Filing
- 2016-09-15 JP JP2018513586A patent/JP6736173B2/ja active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136028A (zh) * | 2006-07-10 | 2008-03-05 | 日电(中国)有限公司 | 基于自然语言的位置查询系统以及基于关键词的位置查询系统 |
US20100070500A1 (en) * | 2006-10-31 | 2010-03-18 | Zhan Cui | Data processing |
US20100185643A1 (en) * | 2009-01-20 | 2010-07-22 | Oracle International Corporation | Techniques for automated generation of queries for querying ontologies |
US20110320187A1 (en) * | 2010-06-28 | 2011-12-29 | ExperienceOn Ventures S.L. | Natural Language Question Answering System And Method Based On Deep Semantics |
CN103999081A (zh) * | 2011-12-12 | 2014-08-20 | 国际商业机器公司 | 生成用于信息领域的自然语言处理模型 |
US20130304758A1 (en) * | 2012-05-14 | 2013-11-14 | Apple Inc. | Crowd Sourcing Information to Fulfill User Requests |
CN103646032A (zh) * | 2013-11-11 | 2014-03-19 | 漆桂林 | 一种基于本体和受限自然语言处理的数据库查询方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502739A (zh) * | 2018-05-17 | 2019-11-26 | 国际商业机器公司 | 结构化输入的机器学习模型的构建 |
CN110502739B (zh) * | 2018-05-17 | 2023-05-30 | 国际商业机器公司 | 结构化输入的机器学习模型的构建 |
CN109271392A (zh) * | 2018-10-30 | 2019-01-25 | 长威信息科技发展股份有限公司 | 快速判别和抽取关系型数据库实体及属性的方法及设备 |
CN109271392B (zh) * | 2018-10-30 | 2022-07-26 | 长威信息科技发展股份有限公司 | 快速判别和抽取关系型数据库实体及属性的方法及设备 |
CN111813892A (zh) * | 2019-04-11 | 2020-10-23 | 国际商业机器公司 | 自动生成自然语言处理盒的数据驱动方法 |
WO2021082353A1 (zh) * | 2019-10-28 | 2021-05-06 | 竹间智能科技(上海)有限公司 | 一种语义识别方法及其设备 |
CN111475526A (zh) * | 2020-03-10 | 2020-07-31 | 平安科技(深圳)有限公司 | 基于oracle数据的时序数据转换方法、及其相关设备 |
CN111475526B (zh) * | 2020-03-10 | 2024-05-28 | 平安科技(深圳)有限公司 | 基于oracle数据的时序数据转换方法、及其相关设备 |
CN112084346A (zh) * | 2020-09-11 | 2020-12-15 | 上海飞机制造有限公司 | 用于航空线缆连接器的孔位信息采集装置及采集方法 |
CN112783921A (zh) * | 2021-01-26 | 2021-05-11 | 中国银联股份有限公司 | 一种数据库操作方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2018533126A (ja) | 2018-11-08 |
GB2557535A (en) | 2018-06-20 |
US20170083569A1 (en) | 2017-03-23 |
US9959311B2 (en) | 2018-05-01 |
CN108027833B (zh) | 2022-04-08 |
JP6736173B2 (ja) | 2020-08-05 |
GB201805522D0 (en) | 2018-05-16 |
WO2017046729A1 (en) | 2017-03-23 |
DE112016003626T5 (de) | 2018-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108027833A (zh) | 数据库的自然语言接口 | |
US10042921B2 (en) | Robust and readily domain-adaptable natural language interface to databases | |
Wazlawick | Object-Oriented Analysis and Design for Information Systems: Agile Modeling with UML, OCL, and IFML | |
US7761478B2 (en) | Semantic business model management | |
US7574379B2 (en) | Method and system of using artifacts to identify elements of a component business model | |
US20220215119A1 (en) | Providing an input dataset into an input slot of a computational step of a data pipeline | |
CN104111966B (zh) | 用于动态地同步技术环境中的元素的方法和系统 | |
US11580096B2 (en) | System for uploading information into a metadata repository | |
JP2018516420A (ja) | 自然言語により機能アーキテクチャ文書及びソフトウェア設計・解析仕様書を自動的に生成するプロセス及びシステム | |
US9542666B2 (en) | Computer-implemented system and methods for distributing content pursuant to audit-based processes | |
Bergener et al. | Detecting potential weaknesses in business processes: An exploration of semantic pattern matching in process models | |
Al-Shardan et al. | Configuration as a service in multi-tenant enterprise resource planning system | |
CN117454278A (zh) | 一种标准企业数字化规则引擎的实现方法和系统 | |
Kim et al. | ISO 15926–based integration of process plant life-cycle information including maintenance activity | |
Park et al. | Towards reliable business process simulation: a framework to integrate ERP systems | |
US8862457B2 (en) | Method and system for smart mark-up of natural language business rules | |
Hauksson | Metamodeling for Business Model Design: Facilitating development and communication of Business Model Canvas (BMC) models with an OMG standards-based metamodel. | |
Hoberman | Data Model Scorecard: Applying the Industry Standard on Data Model Quality | |
Gopisetty | Global pandemic: Business model impact on enterprises reTHINK, reIMAGINE, reINVENT businesses | |
US20160162538A1 (en) | Platform for consulting solution | |
US20140149186A1 (en) | Method and system of using artifacts to identify elements of a component business model | |
Niedermann | Deep Business Optimization: concepts and architecture for an analytical business process optimization platform | |
de Heij | Assessment of business information systems by data structures | |
CN113535687A (zh) | 数据变量管理方法、装置、计算机可读存储介质及处理器 | |
Uriawan et al. | Housing Information System Application Using Agile Development Method |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |