使用自然语言输入生成查询制造技术

技术编号:31902095 阅读:29 留言:0更新日期:2022-01-15 12:38
本文描述了用于基于自然语言输入生成符合数据库模式的搜索查询的方法和系统。可以从计算设备接收自然语言输入。自然语言输入可以与对数据库的多个搜索请求相关联。可以将自然语言输入解析成多个段。多个段可以是例如文本串的一个或多个单词。多个段的至少一个标识符可以与一个或多个置信度值相关联。可以基于置信度值和/或基于一组规则将自然语言输入转换为单个搜索查询。可以针对数据库发起单个搜索查询。单个搜索查询可以比多个搜索请求更有效地获取内容。地获取内容。地获取内容。

【技术实现步骤摘要】
【国外来华专利技术】使用自然语言输入生成查询
[0001]相关申请的交叉引用
[0002]本申请要求于2019年7月24日提交的且题为“使用自然语言输入生成查询(Query Generation Using Natural Language Input)”的美国非临时申请第16/520,512号的优先权,其全部内容通过引用明确地并入本文。


[0003]本文描述的各方面总体上涉及计算机数据库、搜索查询、语言处理以及与其相关的硬件和软件。更具体地,本文描述的一个或多个方面提供了对计算机数据库的搜索查询的改进处理。

技术介绍

[0004]数据库用于各种商业和个人目的。随着存储变得更便宜和更容易获得,用户越来越多地以更复杂的方式存储更多的数据,这使得存储和检索这些数据的方法越来越重要。例如,许多公司现在为在远程数据库(通常称为云存储)的网络上存储内容的权利付费,因为这样的服务通常显着地更实惠和更具可扩展性。

技术实现思路

[0005]下文呈现本文描述的各个方面的简化概述。本概述不是广泛的概述,并且不旨在标识所需的或关键的元素或者描绘权利要求的范围。以下概述仅以简化形式呈现一些概念,作为以下提供的更详细描述的介绍性序言。
[0006]本文描述的各方面针对基于自然语言输入确定对数据库的查询。可以从第一计算设备接收自然语言输入。自然语言输入可能已经由用户提供(例如,输入),并且可能旨在针对数据库执行。自然语言输入可以被划分成一个或多个段,并且一个或多个段可以各自对应于自然语言输入中的一个或多个单词。一个或多个段可以对应于数据库的特定段(例如,列、表)。一个或多个段可以对应于被授权针对数据库执行的预定义操作。一个或多个段可以对应于搜索子句,诸如“andwhere”、“orwhere”、“order by”等。一个或多个段可能没有任何意义,并且可能被丢弃。可以通过统计模型对这些段进行评估,并且可以确定对应于这些段的置信水平。例如,可以基于对数据库的查询历史(例如,通过特定用户账户)训练统计模型,使得可以基于最近用户对同一数据库的查询历史修改一个或多个段。基于确定置信水平满足阈值,可以基于与数据库相关联的数据库模式(例如,GraphQL数据库模式)生成查询(例如,GraphQL兼容的查询)。可以基于数据库模式对所生成的查询进行验证,并且如果验证成功,则可以针对数据库执行查询。例如,所生成和验证的查询可以传输到数据库以供执行。
[0007]例如,计算设备可以接收与用于与第二计算设备相关联的数据库的自然语言输入相关联的一个或多个单词。计算设备可以确定与数据库中的列相关联的一个或多个单词中的第一单词。计算设备还可以确定与数据库所允许的预定义搜索操作相关联的一个或多个
单词中的第二单词。计算设备然后可以基于对数据库的查询历史生成符合由与数据库相关联的数据库模式定义的一个或多个规则的查询。所生成的查询可以将第一单词与一个或多个属性相关联,并且可以将第二单词与一个或多个符号相关联。可以针对数据库执行所生成的查询。
[0008]作为另一实例,计算设备可以使用统计模型来确定对应于数据库中的列的自然语言输入的一个或多个第一部分。可以基于自然语言输入中的一个或多个单词并基于与数据库相关联的数据库模式确定一个或多个第一部分。计算设备还可以确定自然语言输入的对应于数据库所允许的预定义搜索操作的一个或多个第二部分。可以确定一个或多个部分的第一置信水平和一个或多个第二部分的第二置信水平。然后,计算设备可以基于确定置信水平满足阈值而生成包括一个或多个第一部分和一个或多个第二部分的查询。所生成的查询可能符合数据库模式的一个或多个规则。然后可以针对数据库执行所生成的查询。
[0009]这些和附加的方面将受益于下面进一步详细讨论的公开内容而得到理解。
附图说明
[0010]通过参考考虑附图的以下描述,可以获得对本文描述的各方面及其优点的更完整的理解,在附图中,相同的附图标记指示相同的特征,并且其中:
[0011]图1描绘了可以根据本文描述的一个或多个示例性方面使用的示例性计算机系统架构。
[0012]图2描绘了可以根据本文描述的一个或多个示例性方面使用的示例性远程访问系统架构。
[0013]图3a示出了可以经由服务器向数据库传输查询的客户端。
[0014]图3b示出了可以经由服务器向数据库传输查询的客户端,其中客户端和服务器均参考数据库模式进行验证。
[0015]图4示出了自然语言处理引擎,其可以由客户端和服务器用于根据数据库模式来处理查询。
[0016]图5示出了由数据库存储的示例性数据库表。
[0017]图6示出了响应于查询的来自数据库的示例性结果。
[0018]图7是具有可被执行以基于自然语言输入生成查询的步骤的流程图。
[0019]图8是描绘客户端、服务器和自然语言处理引擎如何可以基于自然语言输入共同生成查询的示图。
具体实施方式
[0020]鉴于数据库的数量和复杂性的增长,在查询数据库和传递这些数据库结果的方式方面需要不断改进。例如,查询可以被格式化为仅从数据库请求所需的信息,使得这些查询不会产生不必要的处理或带宽成本。作为另一实例,数据库可以复制到世界范围内的不同服务器上,以便更迅速地将数据库内容传递给世界范围内的用户,这意味着用户查询应该不仅仅传递到任何数据库,而是传递到最接近用户的数据库。许多现有的数据库系统使用对服务器的多个请求来获取所需的数据。例如,具有多个其中(wherein)子句的单个查询可能需要对服务器的多个请求,每个请求对应于多个其中子句中的一个。这可能是低效的,并
且会导致大量的延迟。
[0021]已经开发了各种应用程序编程接口(API)和工具来改进查询数据库的方式和传递数据库查询结果的方式。例如,由加利福尼亚州门洛帕克的脸书公司(Facebook,Inc.of Menlo Park,California)开发的GraphQL数据查询和操作语言为程序员提供了一种方法,以例如在数据库示意图中定义数据库的结构,并允许基于该结构配置对数据库的查询。因此,GraphQL使得程序能够智能地查询所需的数据,这可以大大提高效率,特别是在通过带宽有限的网络传递查询结果的情况下。
[0022]虽然GraphQL数据查询和操作语言可以有利地避免上述多个请求中的一些,但GraphQL是一种强类型的语言,因此用户难以手动输入。换言之,GraphQL查询具有特定的要求(例如,格式化要求),这使得它们不便于被用户使用。因此,GraphQL查询可能限于可以仔细引导用户完成查询输入过程的情况,诸如查询输入包括从菜单中的一组有限选项中进行选择的情况。
[0023]本文描述的各方面呈现了许多优点,包括实现强类型的数据查询和诸如GraphQL之类的操纵语言的优点(例如,包括避免对数据库的不期望的多个请求),同时避免其缺点(例如,用户在格式化符合要求的查询时遇到的困难)。如下文将进一步详细描述的,通过将自然语言输入格式化为与强类本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种方法,包括:由计算设备从客户端设备接收自然语言输入,其中所述自然语言输入包括文本串;由所述计算设备将所述文本串解析成多个段;由所述计算设备确定所述多个段的至少一个标识符,其中所述至少一个标识符与一个或多个置信度值相关联;响应于确定所述置信度值的至少一个子集等于或大于阈值,并且基于一组规则,由所述计算设备将所述自然语言输入转换为单个搜索查询;以及由所述计算设备并且响应于转换而发起所述单个搜索查询以从数据库获取内容,从而防止所述客户端设备响应于所述自然语言输入而传输多个搜索请求。2.根据权利要求1所述的方法,还包括:基于确定所述一个或多个置信度值中的第一置信度值满足第二阈值,丢弃所述多个段中的一个或多个。3.根据权利要求1所述的方法,还包括:由所述计算设备确定所述一个或多个置信度值。4.根据权利要求1所述的方法,其中将所述自然语言输入转换为所述单个搜索查询还基于,基于所述一组规则确定所述多个段中的一个或多个对应于搜索操作。5.根据权利要求1所述的方法,还包括:从所述文本串并基于停顿词列表移除一个或多个单词。6.根据权利要求1所述的方法,还包括:基于检测到所述数据库的变化而更新所述一组规则。7.根据权利要求1所述的方法,其中所述多个段的第一段与一个或多个属性相关联。8.根据权利要求1所述的方法,其中所述一个或多个置信度值对应于所述多个段中的两个或更多个,并且其中确定所述置信度值的至少所述子集等于或大于所述阈值是基于将所述一个或多个置信度值的组合值与所述阈值进行比较。9.一种装置,包括:一个或多个处理器;以及存储器,其存储指令,所述指令在由所述一个或多个处理器执行时使所述装置:从客户端设备接收自然语言输入,其中所述自然语言输入包括文本串;将所述文本串解析成多个段;确定所述多个段的至少一个标识符,其中所述至少一个标识符与一个或多个置信度值相关联;响应于确定所述置信度值的至少一个子集等于或大于阈值,并且基于一组规则,将所述自然语言输入转换为单个搜索查询;以及响应于转换而发起所述单个搜索查询以从数据库获取内容,从而防止所述客户端设备响应于所述自然语言输入而传输多个搜索请求。10.根据权利要求9所述的装置,其中所述指令在由所述一个或多个处理器执行时还使...

【专利技术属性】
技术研发人员:希夫
申请(专利权)人:思杰系统有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1