一种中文自然语言的SQL语句生成方法和装置

文档序号:37160853发布日期:2024-02-26 17:30阅读:60来源:国知局
一种中文自然语言的SQL语句生成方法和装置

本发明涉及sql生成,尤其涉及一种中文自然语言的sql语句生成方法和装置。


背景技术:

1、大数据时代,大量信息以结构化和半结构化的形式存储在数据库中,需要使用编程语言(例如 sql数据库查询语句)与数据库交互来获取和分析数据,text-to-sql旨在自动地将用户输入的自然语言问题转成可与数据库交互的sql查询语句,一般方法为:自然语言与数据库查询转换器将接收的自然语言查询和数据库模式作为输入,并生成与输入的自然语言查询等效并符合数据库模式的sql查询语句,在数据库上执行该查询语句可得到问题答案。数据库模式定义了存储在数据库中的数据结构,例如,数据库模式可以标识存储在数据库中的各种表、每个表的列、表之间的关系(例如外键关系)、与表相关联的任何约束等等。该技术对数据分析工具赋予了人工智能技术与自然语言理解能力,能够有效地辅助人们使用海量数据库进行查询和分析,在降低数据库使用门槛和人力成本的同时将人们从繁重的编程语言学习和编写中解放出来。text-to-sql技术已经落地于许多实际应用场景,如信息检索、智能客服、商业智能等,引起了学术界和工业界的广泛关注。

2、目前 text-to-sql的主要方法包括基于模板规则的方法、基于多任务分类的方法、基于语义解析树的方法、基于预训练语言模型的方法等,但大多方法都是基于英文自然语言转sql数据集,中文text-to-sql方法在实际应用中数据库模式仍然采用英文,而用户的问题为中文,由于中、英文之间语法结构的差异,导致模型通常不能理解用户的意图,难以在中文场景下进行使用。


技术实现思路

1、本发明提供一种中文自然语言的sql语句生成方法、装置、电子设备和计算机存储介质,以解决依赖英文数据库模式的中文text-to-sql模型不能正确理解中文用户意图的问题。

2、本发明通过下述技术方案实现:

3、本发明的第一方面,提供了一种中文自然语言的sql语句生成方法,包括:

4、通过跨语言学习模型得到中文问题的文本特征;

5、对所述中文问题的文本进行语义角色分析,得到语义角色嵌入特征;

6、将所述文本特征、语义角色嵌入特征和数据库模式进行拼接,得到拼接特征;

7、通过编码器对所述拼接特征进行编码,得到所述中文问题和数据库模式的联合编码特征;

8、通过解码器对所述联合编码特征进行解码,得到所述中文问题对应的sql语句。

9、本发明针对中文text-to-sql任务,结合文本语义角色分析和跨语言学习技术,使基于英文数据库模式的sql语句生成在中文模式下适配。通过语义角色分析对问题进行增强,能够使模型学习到用户查询句子中词语和词语间的语义依赖关系和各句子成份之间的关系,从而更好地理解中文查询意图,提升sql生成模型在中文text-to-sql任务上的预测性能。

10、在一种实施方式中,所述将所述文本特征、语义角色嵌入特征和数据库模式进行拼接,得到拼接特征,包括:

11、将所述文本特征和语义角色嵌入特征进行拼接,得到问题拼接特征;

12、将数据库模式按照预设顺序进行排序,依据所述排序依次将数据库模式中的表名称和列名称与所述问题拼接特征进行连接,得到所述拼接特征。

13、在一种实施方式中,对所述中文问题的文本进行语义角色分析,得到语义角色嵌入特征,包括:

14、构建以现代汉语动词和形容词为核心词的基础句模,将所述基础句模进行规则处理和逻辑表示,所述基础句模的逻辑表示包括一个核心词和多个语义角色;

15、基于所述基础句模的逻辑表示对所述中文问题的文本进行语义角色识别,基于识别结果得到语义角色嵌入特征。

16、在一种实施方式中,所述通过解码器对所述联合编码特征进行解码之前,所述方法还包括:

17、通过中间表示学习函数将所述联合编码特征转换为中间表示,通过信息瓶颈正则化器对所述中间表示添加信息瓶颈正则项,得到第一增强特征;

18、所述通过解码器对所述联合编码特征进行解码,包括:通过解码器对所述第一增强特征进行解码。

19、在一种实施方式中,所述通过解码器对所述第一增强特征进行解码之前,所述方法还包括:

20、通过局部稳定特征正则化器对所述第一增强特征添加局部稳定特征正则项,得到第二增强特征;

21、所述通过解码器对所述第一增强特征进行解码,包括:通过解码器对所述第二增强特征进行解码。

22、在一种实施方式中,所述解码器包括骨架解码器和尾解码器;

23、所述通过解码器对所述联合编码特征进行解码,得到所述中文问题对应的sql语句,包括:

24、通过所述骨架解码器基于所述联合编码特征输出查询骨架,通过所述尾解码器输出数据库模式中的表和列来填充所述查询骨架中缺失的细节,生成所述中文问题对应的sql语句。

25、在一种实施方式中,所述跨语言学习模型由因果语言模型、掩蔽语言模型和翻译语言模型进行多任务学习得到。

26、本发明的第二方面,提供了一种中文自然语言的sql语句生成装置,包括:

27、文本特征提取模块,用于通过跨语言学习模型获得中文问题的文本特征;

28、语义角色分析模块,用于对所述中文问题的文本进行语义角色分析,得到语义角色特征;

29、特征拼接模块,用于将所述文本特征、语义角色嵌入特征和数据库模式进行拼接,得到拼接特征;

30、sql生成模块,用于通过编码器对所述拼接特征进行编码,得到所述中文问题和数据库模式的联合编码特征;

31、所述sql生成模块还用于通过解码器对所述联合编码特征进行解码,得到所述中文问题对应的sql语句。

32、本发明的第三方面,提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明任一项实施例所述的中文自然语言的sql语句生成方法。

33、本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明任一项实施例所述的中文自然语言的sql语句生成方法。

34、本发明与现有技术相比,具有如下的优点和有益效果:

35、1、通过语义角色分析对问题进行增强,能够使模型学习到用户查询句子中词语和词语间的语义依赖关系和各句子成份之间的关系,从而更好地理解中文查询意图,提升sql生成模型在中文text-to-sql任务上的预测性能。

36、2、通过跨语言学习技术使基于英文数据库模式的sql语句生成在中文模式下适配,通过跨语言学习模型对中文自然语言问题进行跨语言的文本特征提取,将该文本特征、语义角色迁入特征和数据库模式进行联合编码,学习到中文问题的跨语言特征、语义角色特征和sql语句之间的关联关系,为进一步解码得到准确的sql语句提供基础。

37、3、通过加入信息瓶颈正则项对联合编码特征的中间表示进行增强,抑制输入特征和特征表达之间的有噪互信息,使得中间表示包含足够的信息用来推断目标标签,提高模型预测的准确性。

38、4、加入局部稳定特征正则项增加了局部稳定特征和全局特征的互信息,利用互信息的方式约束局部稳定特征(词级表示)和全局特征(句级表示)的信息,进一步增强了特征表达的鲁棒性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1