语义解析方法、装置、电子设备及存储介质制造方法及图纸

技术编号:30096293 阅读:12 留言:0更新日期:2021-09-18 08:59
本公开提供了语义解析方法、装置、电子设备及存储介质,涉及自然语言处理和深度学习等人工智能领域,其中的方法可包括:对输入的问题与对应的数据库进行编码;根据编码结果生成SQL查询语句,其中,针对任一SQL从句,分别进行以下处理:确定出问题中与该SQL从句对应的问题片段;根据所述问题片段生成该SQL从句。应用本公开所述方案,可提升生成的SQL查询语句的准确性等。准确性等。准确性等。

【技术实现步骤摘要】
语义解析方法、装置、电子设备及存储介质


[0001]本公开涉及人工智能
,特别涉及自然语言处理和深度学习等领域的语义解析方法、装置、电子设备及存储介质。

技术介绍

[0002]语义解析(Text

to

SQL)是语言理解的核心技术,旨在自动地将自然语言问题转换成可与数据库交互的结构化查询语言(SQL,Structured Query Language)查询语句。
[0003]其中,可基于输入的问题和对应的数据库,生成可执行的SQL查询语句。目前,在生成SQL查询语句时,不同的SQL从句参考的信息是相同的,从而导致数据库中与输入的问题匹配度高的元素会被多个文法大概率选中,而应该被选中的元素却未被选中,进而降低了生成的SQL查询语句的准确性等。

技术实现思路

[0004]本公开提供了语义解析方法、装置、电子设备及存储介质。
[0005]一种语义解析方法,包括:
[0006]对输入的问题与对应的数据库进行编码;
[0007]根据编码结果生成结构化查询语言SQL查询语句,其中,针对任一SQL从句,分别进行以下处理:
[0008]确定出所述问题中与所述SQL从句对应的问题片段;
[0009]根据所述问题片段生成所述SQL从句。
[0010]一种语义解析装置,包括:编码模块以及生成模块;
[0011]所述编码模块,用于对输入的问题与对应的数据库进行编码;
[0012]所述生成模块,用于根据编码结果生成结构化查询语言SQL查询语句,其中,针对任一SQL从句,分别进行以下处理:确定出所述问题中与所述SQL从句对应的问题片段;根据所述问题片段生成所述SQL从句。
[0013]一种电子设备,包括:
[0014]至少一个处理器;以及
[0015]与所述至少一个处理器通信连接的存储器;其中,
[0016]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如以上所述的方法。
[0017]一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行如以上所述的方法。
[0018]一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如以上所述的方法。
[0019]上述公开中的一个实施例具有如下优点或有益效果:在生成SQL查询语句时,不同的SQL从句分别选择对应的问题片段进行参考,从而克服了现有技术中存在的问题,提升了
生成的SQL查询语句的准确性等。
[0020]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0021]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0022]图1为本公开所述语义解析方法实施例的流程图;
[0023]图2为本公开所述某一SQL查询语句对应的树的示意图;
[0024]图3为本公开所述数据库的示意图;
[0025]图4为本公开所述语义解析方法的整体实现过程示意图;
[0026]图5为本公开所述语义解析装置实施例500的组成结构示意图;
[0027]图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。
具体实施方式
[0028]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0029]另外,应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0030]图1为本公开所述语义解析方法实施例的流程图。如图1所示,包括以下具体实现方式。
[0031]在步骤101中,对输入的问题与对应的数据库进行编码。
[0032]在步骤102中,根据编码结果生成SQL查询语句,其中,针对任一SQL从句,分别按照步骤103

步骤104所示方式进行处理。
[0033]在步骤103中,确定出问题中与该SQL从句对应的问题片段。
[0034]在步骤104中,根据确定出的问题片段生成该SQL从句。
[0035]可以看出,上述方法实施例中提出了一种基于片段对齐思想的语义解析方式,在生成SQL查询语句时,不同的SQL从句可分别选择对应的问题片段进行参考,从而克服了现有技术中存在的问题,提高了生成的SQL查询语句的准确性等。
[0036]生成的SQL查询语句通常为一个文法序列,所述文法序列可以表示为一棵树,树的深度优先遍历得到的序列就是所述文法序列。
[0037]图2为本公开所述某一SQL查询语句对应的树的示意图,如图2所示,假设SQL查询语句为:珠海的人口密度(SELECT population/area(km2)FROM T1 WHERE name=

珠海

),其中的T1表示数据库中的表1,即关于中国城市(China Cities)的表格。
[0038]图3为本公开所述数据库的示意图。如图3所示,除上述表1外,数据库中还可进一步包括表2(T2)等,即数据库中可包括多个不同的表格。
[0039]针对输入的问题,可首先将其与对应的数据库进行编码。如可将输入的问题与对
应的数据库拼接在一起,进行编码。
[0040]如何进行编码不作限制,比如,可采用长短期记忆网络(LSTM,Long Short

Term Memory)模型或基于转换器(transformer)框架的模型来进行所述编码。其中,基于transformer框架的模型可以是基于预训练模型进行微调(fine

tuning)后得到的模型。所述预训练模型可为任意常用的预训练模型。
[0041]进一步地,可根据编码结果生成SQL查询语句。其中,针对任一SQL从句,可分别确定出输入的问题中与该SQL从句对应的问题片段,进而可根据确定出的问题片段生成该SQL从句。
[0042]为此,本公开的一个实施例中,可对输入的问题进行切分,从而得到至少两个问题片段。每个问题片段通常都具有比较完整的语义。
[0043]另外,不同的问题片段中可以有部分内容发生重复。比如,输入的问题为:给出价格高于2006年生产的任何葡萄酒的葡萄酒名称(Give the names of wines with price本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种语义解析方法,包括:对输入的问题与对应的数据库进行编码;根据编码结果生成结构化查询语言SQL查询语句,其中,针对任一SQL从句,分别进行以下处理:确定出所述问题中与所述SQL从句对应的问题片段;根据所述问题片段生成所述SQL从句。2.根据权利要求1所述的方法,还包括:对所述问题进行切分,得到至少两个问题片段;所述确定出所述问题中与所述SQL从句对应的问题片段包括:从所述至少两个问题片段中选出所述SQL从句对应的问题片段。3.根据权利要求1所述的方法,其中,不同的SQL从句分别对应不同的问题片段。4.根据权利要求1~3中任一项所述的方法,其中,所述根据所述问题片段生成所述SQL从句包括:针对任一SQL从句,将所述SQL从句对应的问题片段作为主要参考对象,将所述问题中的其它问题片段作为辅助参考对象,结合所述主要参考对象以及所述辅助参考对象生成所述SQL从句。5.根据权利要求4所述的方法,其中,所述将所述SQL从句对应的问题片段作为主要参考对象,将所述问题中的其它问题片段作为辅助参考对象包括:设置所述SQL从句对应的问题片段的权重高于所述问题中的其它问题片段的权重。6.一种语义解析装置,包括:编码模块以及生成模块;所述编码模块,用于对输入的问题与对应的数据库进行编码;所述生成模块,用于根据编码结果生成结构化查询语言SQL查询语句,其中,针对任一SQL从句,分别进行以下处理:确定出所述问题中与所述SQL从句对应的问题片段...

【专利技术属性】
技术研发人员:王丽杰肖欣延常月李婷婷
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

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

1