论文部分内容阅读
自然语言转结构化查询语言(Nature Language To Structured Query Language,NL2SQL)是自然语言接口领域的热点问题之一。当前,由于含嵌套查询SQL语法结构难构建,这一领域研究多针对不含嵌套的简单语句,对于含嵌套子句的复杂查询,处理过程并不理想。然而在日常生活中,含有语义嵌套的查询普遍存在,因此,嵌套查询的SQL语法结构构建,对于NL2SQL技术的工程化具有重要意义。针对NL2SQL任务中,含嵌套查询SQL语法结构构建的问题,本文展开相关研究,并提出相关解决方案。本文一方面基于实体关系的思想,对嵌套查询SQL语法结构进行表示,将语法解析问题转为关系抽取问题;另一方面针对实体关系判定问题,提出基于Bi-LSTM(Bidirectional Long Short-Term Memory)网络的关系抽取模型,同时设计基于SQL语法的关系修正算法,以提升SQL语法结构的准确率。本文主要研究工作包括:(1)针对直接解析嵌套SQL语法结构较困难的问题,提出基于实体关系的SQL语法结构表示方法。设计3类实体间无向连接关系表示SQL语法结构,借助关系抽取算法预测实体关系以构建SQL语法结构,避免直接解析的困难,提升预测准确率。每条查询语句可构建多个关系抽取样本,降低了数据采集和标注成本。(2)针对查询语句中实体关系预测问题,提出基于Bi-LSTM网络的关系抽取模型。模型输入查询语句和数据表的特征表示,采用结合注意力机制的Bi-LSTM网络捕捉双向关键语义信息。实验结果表明,该模型针对嵌套查询中的实体关系抽取效果良好。(3)针对查询语句中词汇表达的多义性问题,提出基于权重的列名向量化表示方法。以列名常用词向量加权平均替代常规列名表示,相比较常规列名向量表示方式,基于权重的列名向量化方法在查准率、查全率和F1值等指标上,有着更高的性能表现。(4)提出基于SQL语法的关系修正算法。在关系连接定义和SQL语法结构的基础上,构造2种语义约束,将查询语句中不同的实体关系进行综合分析,修正部分预测错误的实体关系。实验分析表明,修正算法处理后,针对多条件含嵌套语句,语法结构预测准确率提升了1.3%。