CN115982204A - 查询语句转换方法、装置、电子设备和存储介质 - Google Patents

查询语句转换方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN115982204A
CN115982204A CN202211566455.0A CN202211566455A CN115982204A CN 115982204 A CN115982204 A CN 115982204A CN 202211566455 A CN202211566455 A CN 202211566455A CN 115982204 A CN115982204 A CN 115982204A
Authority
CN
China
Prior art keywords
query
statement
information
tree
node
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.)
Pending
Application number
CN202211566455.0A
Other languages
English (en)
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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN202211566455.0A priority Critical patent/CN115982204A/zh
Publication of CN115982204A publication Critical patent/CN115982204A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开涉及一种查询语句转换方法、装置、电子设备和存储介质,通过获取包括至少一类查询信息的候选查询语句,并解析其中包括的至少一类查询信息得到语句解析树。将语句解析树中每个信息节点中的查询信息插入目标查询语言对应的查询语句模板即可得到目标查询语句。本公开通过解析特定语言表示候选查询语句得到解析树,再根据解析树内容和语句生成规则自动转换为其他语言的图查询语句,解决了跨语言数据互用性的问题。还能够通过将自然语言表述的查询语句解析到中间表示,通过中间表示语句解析树和语句生成规则,自动生成需要的图查询语言表述的目标查询语句,实现以自然语言查询数据库。

Description

查询语句转换方法、装置、电子设备和存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及一种查询语句转换方法、装置、电子设备和存储介质。
背景技术
随着RDF图和属性图等图数据模型的兴起,图数据库(Graph database)在许多重要领域的应用越来越多,如搜索引擎、虚拟助手、推荐系统和社会网络挖掘等等。为了简化终端用户的交互操作,减轻对用户在特定图查询语言方面的专业知识的依赖,许多数据库系统开发了自然语言界面,接受用自然语言表达的查询。从自然语言问题到特定图查询语言的翻译,即语义解析,通常构成了这些自然语言界面背后的核心功能。然而,目前的自然语言到图查询语言的解析方法在处理复杂的查询时很困难,并且可能对新的领域或语言的泛化能力很差。同时,相关技术中没有公开可用的工具支持多种图查询语言之间的转换。由于缺乏跨语言的互操作性,许多建立在RDF数据库或属性图数据库上的应用无法利用来自异构图数据库的数据。
发明内容
有鉴于此,本公开提出了一种查询语句转换方法、装置、电子设备和存储介质,旨在不增加额外装置以及开销的前提下,将自然语言或其他查询语言准确的转换为需要的查询语言。
根据本公开的第一方面,提供了一种查询语句转换方法,所述方法包括:
获取待转换的候选查询语句;
解析所述候选查询语句中包括的至少一类查询信息,得到语句解析树,所述语句解析树中包括内容为一类所述查询信息的信息节点;
确定目标查询语言对应的语句生成规则,所述语句生成规则中包括与每个所述信息节点对应的查询语句模板;
将所述语句解析树中每个所述信息节点中的查询信息插入对应的查询语句模板,得到目标查询语句。
在一种可能的实现方式中,所述解析所述候选查询语句中包括的至少一类查询信息,得到语句解析树,包括:
响应于所述待转换的候选查询语句为自然语句,提取所述自然语句中的查询信息生成对应的中间表示序列;
通过对所述中间表示序列进行词法分析解析其中包括的至少一类查询信息,并根据所述至少一类查询信息构造语句解析树。
在一种可能的实现方式中,所述提取所述自然语句中的查询信息生成对应的中间表示序列,包括:
将所述自然语句输入训练得到的语句转换模型,得到对应的中间表示序列。
在一种可能的实现方式中,所述解析所述候选查询语句中包括的至少一类查询信息,得到语句解析树,包括:
响应于所述待转换的候选查询语句为查询语言语句,根据所述候选查询语句生成对应的代码解析树,所述代码解析树中包括用于表征每类查询信息的代码节点,每个所述代码节点包括对应的查询信息和查询语句模板;
根据所述查询语言语句对应的语句生成规则,确定所述代码解析树中每个所述代码节点中查询语句模板对应的信息节点;
根据每个所述代码节点中查询语句模板与信息节点的对应关系,将所述代码解析树中每个所述代码节点对其到对应的信息节点,得到语句解析树。
在一种可能的实现方式中,所述信息节点中还包括至少一个子节点,所述子节点分别包括同一类查询信息中的不同内容。
在一种可能的实现方式中,所述目标查询语句为图查询语句,所述查询信息包括实体、关系、实体类型、实体属性、关系属性中的至少一种。
在一种可能的实现方式中,所述将所述语句解析树中每个所述信息节点中的查询信息插入对应的查询语句模板,得到目标查询语句,包括:
通过将所述语句解析树中每个所述信息节点中的查询信息插入对应的查询语句模板,将所述语句解析树对齐到所述目标查询语言的代码解析树;
根据所述目标查询语言的代码解析树确定对应的目标查询语句。
根据本公开的第二方面,提供了一种查询语句转换装置,所述装置包括:
语句获取模块,用于获取待转换的候选查询语句;
语句解析模块,用于解析所述候选查询语句中包括的至少一类查询信息,得到语句解析树,所述语句解析树中包括内容为一类所述查询信息的信息节点;
规则确定模块,用于确定目标查询语言对应的语句生成规则,所述语句生成规则中包括与每个所述信息节点对应的查询语句模板;
语句生成模块,用于将所述语句解析树中每个所述信息节点中的查询信息插入对应的查询语句模板,得到目标查询语句。
在一种可能的实现方式中,所述语句解析模块,包括:
序列生成子模块,用于响应于所述待转换的候选查询语句为自然语句,提取所述自然语句中的查询信息生成对应的中间表示序列;
第一解析子模块,用于通过对所述中间表示序列进行词法分析解析其中包括的至少一类查询信息,并根据所述至少一类查询信息构造语句解析树。
在一种可能的实现方式中,所述序列生成子模块,包括:
模型提取单元,用于将所述自然语句输入训练得到的语句转换模型,得到对应的中间表示序列。
在一种可能的实现方式中,所述语句解析模块,包括:
解析树生成子模块,用于响应于所述待转换的候选查询语句为查询语言语句,根据所述候选查询语句生成对应的代码解析树,所述代码解析树中包括用于表征每类查询信息的代码节点,每个所述代码节点包括对应的查询信息和查询语句模板;
节点匹配子模块,用于根据所述查询语言语句对应的语句生成规则,确定所述代码解析树中每个所述代码节点中查询语句模板对应的信息节点;
第二解析子模块,用于根据每个所述代码节点中查询语句模板与信息节点的对应关系,将所述代码解析树中每个所述代码节点对其到对应的信息节点,得到语句解析树。
在一种可能的实现方式中,所述信息节点中还包括至少一个子节点,所述子节点分别包括同一类查询信息中的不同内容。
在一种可能的实现方式中,所述目标查询语句为图查询语句,所述查询信息包括实体、关系、实体类型、实体属性、关系属性中的至少一种。
在一种可能的实现方式中,所述语句生成模块,包括:
信息插入子模块,用于通过将所述语句解析树中每个所述信息节点中的查询信息插入对应的查询语句模板,将所述语句解析树对齐到所述目标查询语言的代码解析树;
语句生成子模块,用于根据所述目标查询语言的代码解析树确定对应的目标查询语句。
根据本公开的第三方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为在执行所述存储器存储的指令时,实现上述方法。
根据本公开的第四方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。
根据本公开的第五方面,提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
在本公开实施例中,通过获取包括至少一类查询信息的候选查询语句,并解析其中包括的至少一类查询信息得到语句解析树。其中,语句解析树中包括内容为一类查询信息的信息节点。确定目标查询语言对应的语句生成规则,语句生成规则中包括与每个信息节点对应的查询语句模板。将语句解析树中每个信息节点中的查询信息插入对应的查询语句模板即可得到目标查询语句。本公开实施例通过解析待转换的候选查询语句得到解析树,再根据解析树内容和语句生成规则自动生成需要的目标查询语句,使自然查询语句或其他图查询语句均可以准确转换为需要的图查询语句,解决了跨语言数据互用性的问题。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出根据本公开实施例的一种查询语句转换方法的流程图;
图2示出根据本公开实施例的一种生成目标查询语句过程的示意图;
图3示出根据本公开实施例的一种查询语句转换方法的示意图;
图4示出根据本公开实施例的一种查询语句转换装置的示意图;
图5示出根据本公开实施例的一种电子设备的示意图;
图6示出根据本公开实施例的另一种电子设备的示意图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
在一种可能的实现方式中,本公开实施例的查询语句转换方法可以由处理器、终端设备或服务器等电子设备执行。其中,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal DigitalAssistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。固定或移动终端。服务器可以为单独的服务器或多个服务器组成的服务器集群。电子设备可以通过处理器调用存储器中存储的计算机可读指令的方式来实现本公开实施例的查询语句转换方法。
可选地,本公开实施例可以用于将任意查询语言表示的查询语句转换为需要的目标查询语言表示的查询语句。例如,可以将用户输入的自然语言表征的查询语句转换成图数据库能够识别的图查询语言表示的查询语句。或者,还可以将图数据库无法识别的图查询语言表示的查询语句转换成图数据库能够识别的图查询语言表示的查询语句。
图1示出根据本公开实施例的一种查询语句转换方法的流程图。如图1所示,本公开实施例的查询语句转换方法可以包括以下步骤S10-S40。
步骤S10、获取待转换的候选查询语句。
在一种可能的实现方式中,可以通过电子设备获取需要进行格式转换的候选查询语句,候选查询语句中可以包括至少一类查询信息,可以用于查询图数据库中的数据。其中,候选查询语句可以为任意类型的查询语句,例如自然语句或查询语言语句。自然语句为通过自然语言表述的语句,自然语言是人类交流和思维的主要工具例如可以是中文、英语或者任意生活中应用的语言。在图数据库的应用过程中,自然语句可以为用户通过数据库交互界面输入的查询语句。查询语言语句可以为任意能够直接对图数据库进行查询的图查询语言表征的语句,例如Cypher查询语言、Gremlin查询语言、SPARQL查询语言和Lambda-DCS查询语言等语言表征的语句,可以通过用户输入的自然语言进行转换的方式得到,或者由开发人员输入。电子设备可以通过人机交互的方式接收候选查询语句,或者还可以接收其他电子设备传输的候选查询语句。
可选地,候选查询语句中的查询信息可以根据需要查询的数据确定。示例性地,在候选查询语句用于查询图数据库中数据时,可以包括实体、关系、实体类型、实体属性、关系属性中的至少一种,其中实体表征需要查询数据在图数据库中的节点,关系用于表征需要查询数据在图数据库中节点的边,实体类型用于表征需要查询数据在图数据库中节点的类型信息,实体属性用于表征需要查询数据在图数据库中节点的属性信息,关系属性用于表征需要查询数据在图数据库中边的属性信息。每一类查询信息中可以包括至少一个信息。
步骤S20、解析所述候选查询语句中包括的至少一类查询信息,得到语句解析树。
在一种可能的实现方式中,电子设备在获取到候选查询语句后,通过解析候选查询语句中包括的查询信息的方式得到语句解析树。其中,语句解析树用于以树形结构表征至少一类查询信息,可以包括多个通过边连接的信息节点,每个信息节点可以包括一类查询信息。可选地,每个信息节点可以直接记录对应类别查询信息,或者延申出多个子节点,通过每个字节点包括对应类别查询信息中的部分信息。即信息节点中还可以包括至少一个子节点,每个子节点分别包括同一类查询信息中的不同内容。
可选地,对于不同类型的候选查询语句,本公开实施例可以通过不同的方式进行解析,得到对应的语句解析树。即电子设备可以通过不同的解析方式解析自然语句和查询语言语句。例如,响应于待转换的候选查询语句为自然语句,提取自然语句中的查询信息生成对应的中间表示序列。通过对中间表示序列进行词法分析解析其中包括的至少一类查询信息,并根据至少一类查询信息构造语句解析树。响应于待转换的候选查询语句为查询语言语句,根据候选查询语句生成对应的代码解析树,代码解析树中包括用于表征每类查询信息的代码节点,每个代码节点包括对应的查询信息和查询语句模板。根据查询语言语句对应的语句生成规则,确定代码解析树中每个代码节点中查询语句模板对应的信息节点。根据每个代码节点中查询语句模板与信息节点的对应关系,将代码解析树中每个代码节点对其到对应的信息节点,得到语句解析树。
可选地,在候选查询语句为自然语句的情况下,可以通过将自然语句输入训练得到的语句转换模型的方式,由语句转换模型提取自然语句中的查询信息,并生成对应的中间表示序列后输出。可选地,中间表示序列中每一个中间表示用于表征一类查询信息,分别根据对应的语法生成规则基于对应类别的查询信息生成。为了弥合语义鸿沟且便于语句转换模型的训练,中间表示的语法生成规则应当使得生成的中间表示尽可能贴近自然语言。为了使得中间表示更贴近自然语言,结构应该与用户输入的自然语句的形式相匹配。因此,我们将图查询语言中基于三元组的结构更自然的表示为主-谓-宾结构的简单句。多跳关系和属性查询则借助类自然语言的关系从句实现复杂的嵌套表示。其次,中间表示的句法结构中还应该避免出现形式语言中与自然语言输入无法很好一一对应的变量和运算符。同时,为了降低语义解析的复杂度,中间表示可以设计明确且正交的数据类型、运算符、表达式规则,在有限标注下实现自然语言与中间表示语法规则的满射关系。这样不仅降低了用户以及神经语义解析器理解中间表示的难度,也便于接下来由中间表示到下游形式语言的编译。
进一步地,为了与下游图查询语言无损转换,中间表示还可以保留与形式化语言等价的语义信息,包括查询信息类型、子图结构关系等。例如,中间表示可以与下游形式语言一样,对图结构元素的查询信息类型进行标记。在本公开实施例中,可以将自然语言对应的中间表示设计为强类型语言,并显式地利用特定符号表示不同终结符号的查询信息类型。示例性地,可以用<E>表示实体(节点),<R>表示关系(边),<A>表示实体属性等等。此外,相同查询信息类型中不同的数值类型也同样被显式地区分,例如string,number,date,time等。此外,中间表示还可以保留对复杂图查询结构至关重要的层次性依赖关系。例如引入<ES>作为范围标记,以明确EntitySet子句之间的结构关系。借助范围标记,编译器前端可以得到查询的层次结构关系,进而将中间表示序列形式化地转换到下游的图查询语言。
在本公开实施例用于查询图数据库中数据的情况下,由于图数据库的基本结构即属性图,指带标签的有向多重图,通常由顶点、边,以及各自的标签和属性构成。基于上述设计规则,本公开实施例的中间表示序列可以被形式定义为一组上下文无关文法的(V,Σ,S,P),如下表所示。
Figure BDA0003986246580000061
可选地,可以通过编译器中的前端模组对自然语句的中间表示序列进行词法和语法分析,该分析过程为获取中间表示序列中查询信息的原始字符,并将其分解为语法规则中定义的词汇得到语句解析树。例如,在中间表示序列为“MATCH(n1)WHERE n1.name="Helen Mack"RETURN DISTINCT n1.birth_date”时,电子设备可以通过词法分析切分中间表示序列得到MATCH、n1、WHERE等查询信息。随后,这些查询信息根据预定义的语法和预设的解析策略被构造成语句解析树。上述解析方式为中间表示序列中每类查询信息构造一个确定性有限自动机(DFA),再自顶向下、从左到右地处理中间表示序列输入的查询信息得到语句解析树。
在一种可能的实现方式中,在待转换的候选查询语句为查询语言语句的情况下,可以先解析候选查询语句的代码,生成对应的代码解析树。其中,代码解析树中包括用于表征每类查询信息的代码节点,每个代码节点包括对应的查询信息和查询语句模板,即每个代码节点中的内容为对应的查询信息插入到查询语句模板中对应空白位置生成的信息。可选地,电子设备还确定查询语言语句对应的语句生成规则。语句生成规则中包括查询语句模板和信息节点的对应关系,即可以根据语句生成规则确定查询语言语句的代码解析树中每个代码节点中查询语句模板在语句解析树中对应的信息节点。电子设备可以直接根据每个代码节点中查询语句模板与信息节点的对应关系,将代码解析树中每个代码节点对其到对应的信息节点,即可得到对应的语句解析树。
步骤S30、确定目标查询语言对应的语句生成规则。
在一种可能的实现方式中,电子设备确定查询操作需要的语言为目标查询语言,例如在进行图数据库查询的应用场景下确定一类图数据库能够识别的图查询语言作为目标查询语言。其中,目标查询语言具有对应的语句生成规则,其中包括与每个信息节点对应的查询语句模板,该查询语句可以为包括空白位置的语句模板,电子设备可以通过将对应信息节点中包括的内容插入空白位置生成通过目标查询语言表征的查询语句。
步骤S40、将所述语句解析树中每个所述信息节点中的查询信息插入对应的查询语句模板,得到目标查询语句。
在一种可能的实现方式中,电子设备在确定语句解析树和语句生成规则后,可以根据语句生成规则中信息节点和查询语句的对应关系,将每个信息节点中包括的查询信息插入对应的查询语句模板,再确定每个信息节点中查询信息插入对应查询语句得到的查询语句序列为目标查询语句。其中每个查询语句中插入的查询信息可以包括信息节点中的查询信息以及信息节点的子节点中的查询信息。
可选地,每个查询语句模板中具有对应的空白位置,将查询信息插入到对应的空白位置后生成的语句可以作为目标查询语言的代码解析树中的一个代码节点,因此,电子设备确定目标查询语句的过程可以为通过将语句解析树中每个信息节点中的查询信息插入对应的查询语句模板,将语句解析树对齐到目标查询语言的代码解析树,根据目标查询语言的代码解析树确定对应的目标查询语句。目标查询语句可以通过编译器的后端模块生成,编译器为电子设备中将候选查询语句转换为目标查询语句的模块。再生成目标查询语句的过程中,编译器后端可以遍历语句解析树上的每个信息节点生成对应的查询语句模板得到目标查询语句,这个语句生成过程可以被形式化为从候选查询语句的语句解析树到目标查询语言的代码解析树的树映射。其中,两种解析树种携带等价信息的子树也可以根据预定义的转换规则对齐。
可选地,在遍历语句解析树的过程中,每个信息节点对应子节点中包含的查询信息被向上传递。如果语句解析树中的一个子树(一个信息节点和子节点组成的局部树)被检查出含有目标查询语言的语法生成规则所要求的等价信息,可以收集这些查询信息并将它们转化为目标语言,并将生成的查询语句进一步向目标查询语言的代码解析树的父节点传递,直到整个语句解析树均被对齐到目标查询语言的代码解析树,将生成的查询语句序列作为目标查询语句。
图2示出根据本公开实施例的一种生成目标查询语句过程的示意图。如图2所示,左侧为语句解析树,右侧为该信息节点对应的查询语句模板的代码解析树。电子设备可以自左向右衍生并遍历Cypher查询语言代码解析树中的子树。在到达“constraint”信息节点时,在其所有子节点被遍历后确定其中的查询信息收集完毕,推断出具有变量标识符“n1”的子节点中包括一个内容为“Helen Mack”的属性“name”。在这个信息被传递到“matchClause”节点后,这个子树可以与代码解析树中一个“entitySetAtom”子树对齐,得到对应的中间表示代码片段为“<E>Helen Mack</E>”。该信息进一步向上传递,直到整个语句解析树与目标查询语言的代码解析树对齐,将生成的查询语句序列作为目标查询语句。
图3示出根据本公开实施例的一种查询语句转换方法的示意图。如图3所示,在候选查询语句为自然语言表述的自然语句的情况下,本公开实施例的电子设备先将自然语句转换成GraphQ IR中间表示序列,将中间表示序列输入编译器,由编译器前端解析中间表示序列并生成对应的语句解析树,再通过编译器后端基于语句解析树转换为目标查询语言表述的目标查询语句。
基于上述技术特征,本公开实施例能够通过解析待转换的候选查询语句得到解析树,再根据解析树内容和语句生成规则自动生成需要的目标查询语句,使自然查询语句或其他图查询语句均可以准确转换为需要的图查询语句,解决了跨语言数据互用性的问题。同时,再候选查询语句为自然查询语句的情况下,本公开实施例将其转换为尽可能贴近自然语言语法表达,同时保留与形式化语言等价的中间表示序列再进行内容解析,实现了自然语言与图查询语言之间的无损转换。同时,本公开实施例还能够将其他图查询语句转换为需要的图查询语句,实现不同图查询语言之间相互的无损转换。
图4示出根据本公开实施例的一种查询语句转换装置的示意图。如图4所示,本公开实施例的查询语句转换装置可以包括:
语句获取模块40,用于获取待转换的候选查询语句;
语句解析模块41,用于解析所述候选查询语句中包括的至少一类查询信息,得到语句解析树,所述语句解析树中包括内容为一类所述查询信息的信息节点;
规则确定模块42,用于确定目标查询语言对应的语句生成规则,所述语句生成规则中包括与每个所述信息节点对应的查询语句模板;
语句生成模块43,用于将所述语句解析树中每个所述信息节点中的查询信息插入对应的查询语句模板,得到目标查询语句。
在一种可能的实现方式中,所述语句解析模块41,包括:
序列生成子模块,用于响应于所述待转换的候选查询语句为自然语句,提取所述自然语句中的查询信息生成对应的中间表示序列;
第一解析子模块,用于通过对所述中间表示序列进行词法分析解析其中包括的至少一类查询信息,并根据所述至少一类查询信息构造语句解析树。
在一种可能的实现方式中,所述序列生成子模块,包括:
模型提取单元,用于将所述自然语句输入训练得到的语句转换模型,得到对应的中间表示序列。
在一种可能的实现方式中,所述语句解析模块41,包括:
解析树生成子模块,用于响应于所述待转换的候选查询语句为查询语言语句,根据所述候选查询语句生成对应的代码解析树,所述代码解析树中包括用于表征每类查询信息的代码节点,每个所述代码节点包括对应的查询信息和查询语句模板;
节点匹配子模块,用于根据所述查询语言语句对应的语句生成规则,确定所述代码解析树中每个所述代码节点中查询语句模板对应的信息节点;
第二解析子模块,用于根据每个所述代码节点中查询语句模板与信息节点的对应关系,将所述代码解析树中每个所述代码节点对其到对应的信息节点,得到语句解析树。
在一种可能的实现方式中,所述信息节点中还包括至少一个子节点,所述子节点分别包括同一类查询信息中的不同内容。
在一种可能的实现方式中,所述目标查询语句为图查询语句,所述查询信息包括实体、关系、实体类型、实体属性、关系属性中的至少一种。
在一种可能的实现方式中,所述语句生成模块43,包括:
信息插入子模块,用于通过将所述语句解析树中每个所述信息节点中的查询信息插入对应的查询语句模板,将所述语句解析树对齐到所述目标查询语言的代码解析树;
语句生成子模块,用于根据所述目标查询语言的代码解析树确定对应的目标查询语句。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为在执行所述存储器存储的指令时,实现上述方法。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
图5示出根据本公开实施例的一种电子设备800的示意图。例如,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图5,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出接口812(I/O接口),传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
输入/输出接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器804,上述计算机程序指令可由电子设备800的处理器820执行以完成上述方法。
图6示出根据本公开实施例的另一种电子设备1900的示意图。例如,电子设备1900可以被提供为一服务器或终端设备。参照图6,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出接口1958(I/O接口)。电子设备1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (10)

1.一种查询语句转换方法,其特征在于,所述方法包括:
获取待转换的候选查询语句;
解析所述候选查询语句中包括的至少一类查询信息,得到语句解析树,所述语句解析树中包括内容为一类所述查询信息的信息节点;
确定目标查询语言对应的语句生成规则,所述语句生成规则中包括与每个所述信息节点对应的查询语句模板;
将所述语句解析树中每个所述信息节点中的查询信息插入对应的查询语句模板,得到目标查询语句。
2.根据权利要求1所述的方法,其特征在于,所述解析所述候选查询语句中包括的至少一类查询信息,得到语句解析树,包括:
响应于所述待转换的候选查询语句为自然语句,提取所述自然语句中的查询信息生成对应的中间表示序列;
通过对所述中间表示序列进行词法分析解析其中包括的至少一类查询信息,并根据所述至少一类查询信息构造语句解析树。
3.根据权利要求2所述的方法,其特征在于,所述提取所述自然语句中的查询信息生成对应的中间表示序列,包括:
将所述自然语句输入训练得到的语句转换模型,得到对应的中间表示序列。
4.根据权利要求1-3中任意一项所述的方法,其特征在于,所述解析所述候选查询语句中包括的至少一类查询信息,得到语句解析树,包括:
响应于所述待转换的候选查询语句为查询语言语句,根据所述候选查询语句生成对应的代码解析树,所述代码解析树中包括用于表征每类查询信息的代码节点,每个所述代码节点包括对应的查询信息和查询语句模板;
根据所述查询语言语句对应的语句生成规则,确定所述代码解析树中每个所述代码节点中查询语句模板对应的信息节点;
根据每个所述代码节点中查询语句模板与信息节点的对应关系,将所述代码解析树中每个所述代码节点对其到对应的信息节点,得到语句解析树。
5.根据权利要求1-4中任意一项所述的方法,其特征在于,所述信息节点中还包括至少一个子节点,所述子节点分别包括同一类查询信息中的不同内容。
6.根据权利要求1-5中任意一项所述的方法,其特征在于,所述目标查询语句为图查询语句,所述查询信息包括实体、关系、实体类型、实体属性、关系属性中的至少一种。
7.根据权利要求1-6中任意一项所述的方法,其特征在于,所述将所述语句解析树中每个所述信息节点中的查询信息插入对应的查询语句模板,得到目标查询语句,包括:
通过将所述语句解析树中每个所述信息节点中的查询信息插入对应的查询语句模板,将所述语句解析树对齐到所述目标查询语言的代码解析树;
根据所述目标查询语言的代码解析树确定对应的目标查询语句。
8.一种查询语句转换装置,其特征在于,所述装置包括:
语句获取模块,用于获取待转换的候选查询语句;
语句解析模块,用于解析所述候选查询语句中包括的至少一类查询信息,得到语句解析树,所述语句解析树中包括内容为一类所述查询信息的信息节点;
规则确定模块,用于确定目标查询语言对应的语句生成规则,所述语句生成规则中包括与每个所述信息节点对应的查询语句模板;
语句生成模块,用于将所述语句解析树中每个所述信息节点中的查询信息插入对应的查询语句模板,得到目标查询语句。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为在执行所述存储器存储的指令时,实现权利要求1至7中任意一项所述的方法。
10.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至7中任意一项所述的方法。
CN202211566455.0A 2022-12-07 2022-12-07 查询语句转换方法、装置、电子设备和存储介质 Pending CN115982204A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211566455.0A CN115982204A (zh) 2022-12-07 2022-12-07 查询语句转换方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211566455.0A CN115982204A (zh) 2022-12-07 2022-12-07 查询语句转换方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN115982204A true CN115982204A (zh) 2023-04-18

Family

ID=85969058

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211566455.0A Pending CN115982204A (zh) 2022-12-07 2022-12-07 查询语句转换方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN115982204A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116991877A (zh) * 2023-09-25 2023-11-03 城云科技(中国)有限公司 一种结构化查询语句的生成方法、装置及应用

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116991877A (zh) * 2023-09-25 2023-11-03 城云科技(中国)有限公司 一种结构化查询语句的生成方法、装置及应用
CN116991877B (zh) * 2023-09-25 2024-01-02 城云科技(中国)有限公司 一种结构化查询语句的生成方法、装置及应用

Similar Documents

Publication Publication Date Title
US20210232847A1 (en) Method and apparatus for recognizing text sequence, and storage medium
EP3117345A1 (en) Natural language question answering method and apparatus
CN111611468B (zh) 页面交互方法、装置和电子设备
CN108595171B (zh) 对象的模型生成方法、装置、设备及存储介质
US9311058B2 (en) Jabba language
CN111736840A (zh) 小程序应用的编译方法、运行方法、存储介质及电子设备
CN112416962A (zh) 数据查询方法、装置以及存储介质
CN110096599B (zh) 知识图谱的生成方法及装置
CN108345625B (zh) 一种信息挖掘方法和装置、一种用于信息挖掘的装置
CN111666372B (zh) 解析查询词query的方法、装置、电子设备和可读存储介质
CN111860000A (zh) 文本翻译编辑方法、装置、电子设备及存储介质
CN115982204A (zh) 查询语句转换方法、装置、电子设备和存储介质
US9003316B2 (en) Entering technical formulas
CN110232181B (zh) 评论分析方法及装置
CN109977390B (zh) 一种生成文本的方法及装置
CN111079421A (zh) 一种文本信息分词处理的方法、装置、终端及存储介质
CN110473551B (zh) 一种语音识别方法、装置、电子设备及存储介质
KR102327790B1 (ko) 정보 처리 방법, 장치 및 저장 매체
CN114089980A (zh) 编程处理方法、装置、解释器及非易失性存储介质
Vu et al. GPTVoiceTasker: LLM-Powered Virtual Assistant for Smartphone
CN111414766B (zh) 一种翻译方法及装置
CN108008947B (zh) 一种编程语句的智能提示方法、装置、服务器及存储介质
CN113420531B (zh) 一种代码文本的转换方法、装置及存储介质
US11994980B2 (en) Method, device and computer program product for application testing
CN113609309B (zh) 知识图谱构建方法、装置、存储介质及电子设备

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