基于强化学习的语言处理方法及装置制造方法及图纸

技术编号:27247285 阅读:8 留言:0更新日期:2021-02-04 12:22
本申请实施例公开了一种基于强化学习的语言处理方法及装置。所述方法包括:确定SQL语法结构对应的中间表达词集;以及,获取样本自然语言数据;所述中间表达词集中包括多个用于表示各类语法结构的中间表达词;基于所述中间表达词集和所述样本自然语言数据进行强化学习,以得到自然语言处理模型;利用所述自然语言处理模型,确定待处理的目标自然语言数据所对应的目标中间表达序列;所述目标中间序列由多个所述中间表达词组成;根据所述中间表达词集和所述SQL语法结构之间的对应关系,确定所述目标中间表达序列对应的目标SQL语法结构。该技术方案能够提升自然语言转换为SQL语言的效率,且不受限于SQL语言的长度,提升自然语言处理的通用性。处理的通用性。处理的通用性。

【技术实现步骤摘要】
基于强化学习的语言处理方法及装置


[0001]本专利技术涉及自然语言处理
,尤其涉及一种基于强化学习的语言处理方法及装置。

技术介绍

[0002]面向执行的SQL(Structured Query Language,结构化查询语言)查询语句是为了在关系型的数据库中方便查询,而不是为了表示面向语义的自然语言含义,因此,自然语言与SQL语句之间不可避免的存在不匹配的问题。现有技术中,为解决自然语言和SQL查询语句之间不匹配的问题,设计了一种连接自然语言和SQL查询语句的中间表达,称为SemQL,即通过schema linking的步骤得到预测的数据库的列(即预测SQL语句中出现的列),并将列填充到SemQL表达的槽位(即SQL语法结构)中,得到最终的SQL语句。该方法在预测SQL语法结构,需首先对自然语言数据进行标记,标记内容为数据对应的语法结构,然后将自然语言数据中涉及到的语法结构表示为树结构,进而基于该树结构确定自然语言数据对应的SQL查询语句。
[0003]上述方法存在以下缺点:首先,对SQL语法结构的预测效率低,需要重复对数据进行标记,尤其是对于某些用户的SQL数据集中没有SQL语言的个别语法现象(如order by、having、limit、group by等),就需要对数据全部进行标记。其次,SQL语句的输出为有限长度,对于较长的SQL语句的预测能力有限。

技术实现思路

[0004]本申请实施例的目的是提供一种基于强化学习的语言处理方法及装置,用以解决现有的自然语言转化SQL查询语句的效率低、且对于较长的SQL语句局限性较大的问题。
[0005]为解决上述技术问题,本申请实施例是这样实现的:
[0006]一方面,本申请实施例提供一种基于强化学习的语言处理方法,包括:
[0007]确定SQL语法结构对应的中间表达词集;以及,获取样本自然语言数据;所述中间表达词集中包括多个用于表示各类语法结构的中间表达词;所述样本自然语言数据包括用于表示所述样本自然语言数据中的语法结构的标签;
[0008]基于所述中间表达词集和所述样本自然语言数据进行强化学习,以得到自然语言处理模型;
[0009]利用所述自然语言处理模型,确定待处理的目标自然语言数据所对应的目标中间表达序列;所述目标中间序列由多个所述中间表达词组成;
[0010]根据所述中间表达词集和所述SQL语法结构之间的对应关系,确定所述目标中间表达序列对应的目标SQL语法结构;所述目标SQL语法结构用于生成所述目标自然语言数据对应的目标SQL语言。
[0011]另一方面,本申请实施例提供一种基于强化学习的语言处理装置,包括:
[0012]确定及获取模块,用于确定SQL语法结构对应的中间表达词集;以及,获取样本自
然语言数据;所述中间表达词集中包括多个用于表示各类语法结构的中间表达词;所述样本自然语言数据包括用于表示所述样本自然语言数据中的语法结构的标签;
[0013]强化学习模块,用于基于所述中间表达词集和所述样本自然语言数据进行强化学习,以得到自然语言处理模型;
[0014]第一确定模块,用于利用所述自然语言处理模型,确定待处理的目标自然语言数据所对应的目标中间表达序列;所述目标中间序列由多个所述中间表达词组成;
[0015]第二确定模块,用于根据所述中间表达词集和所述SQL语法结构之间的对应关系,确定所述目标中间表达序列对应的目标SQL语法结构;所述目标SQL语法结构用于生成所述目标自然语言数据对应的目标SQL语言。
[0016]再一方面,本申请实施例提供一种基于强化学习的语言处理设备,包括处理器和与所述处理器电连接的存储器,所述存储器存储有计算机程序,所述处理器用于从所述存储器调用并执行所述计算机程序以实现:
[0017]确定SQL语法结构对应的中间表达词集;以及,获取样本自然语言数据;所述中间表达词集中包括多个用于表示各类语法结构的中间表达词;所述样本自然语言数据包括用于表示所述样本自然语言数据中的语法结构的标签;
[0018]基于所述中间表达词集和所述样本自然语言数据进行强化学习,以得到自然语言处理模型;
[0019]利用所述自然语言处理模型,确定待处理的目标自然语言数据所对应的目标中间表达序列;所述目标中间序列由多个所述中间表达词组成;
[0020]根据所述中间表达词集和所述SQL语法结构之间的对应关系,确定所述目标中间表达序列对应的目标SQL语法结构;所述目标SQL语法结构用于生成所述目标自然语言数据对应的目标SQL语言。
[0021]再一方面,本申请实施例提供一种存储介质,用于存储计算机程序,所述计算机程序在被处理器执行时以实现以下流程:
[0022]确定SQL语法结构对应的中间表达词集;以及,获取样本自然语言数据;所述中间表达词集中包括多个用于表示各类语法结构的中间表达词;所述样本自然语言数据包括用于表示所述样本自然语言数据中的语法结构的标签;
[0023]基于所述中间表达词集和所述样本自然语言数据进行强化学习,以得到自然语言处理模型;
[0024]利用所述自然语言处理模型,确定待处理的目标自然语言数据所对应的目标中间表达序列;所述目标中间序列由多个所述中间表达词组成;
[0025]根据所述中间表达词集和所述SQL语法结构之间的对应关系,确定所述目标中间表达序列对应的目标SQL语法结构;所述目标SQL语法结构用于生成所述目标自然语言数据对应的目标SQL语言。
[0026]采用本专利技术实施例的技术方案,通过基于SQL语法结构对应的中间表达词集合样本自然语言数据进行强化学习,以训练自然语言处理模型,从而能够利用该自然语言处理模型确定目标自然语言数据对应的目标中间表达序列,该目标中间表达序列由多个中间表达词组成;进而根据中间表达词集和SQL语法结构之间的对应关系,确定目标中间表达序列对应的目标SQL语法结构。可见,该技术方案通过预先训练自然语言处理模型,使得自然语
言数据转化为中间表达序列时无需依赖人工对数据进行语法标注,从而提升语言转换的效率。并且,SQL语法结构的长度不受限定,即利用自然语言处理模型能够转换任意长度的SQL语法结构所对应的中间表达序列,从而使语言转换不再受限于SQL语法结构的长度,提升自然语言处理的通用性。
附图说明
[0027]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0028]图1是根据本专利技术一实施例的一种基于强化学习的语言处理方法的示意性流程图;
[0029]图2是根据本专利技术一实施例的一种强化学习过程的示意性逻辑图;
[0030]图3是根据本专利技术一实施例的一种训练自然语言处理模型的示意性流程图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于强化学习的语言处理方法,其特征在于,包括:确定SQL语法结构对应的中间表达词集;以及,获取样本自然语言数据;所述中间表达词集中包括多个用于表示各类语法结构的中间表达词;所述样本自然语言数据包括用于表示所述样本自然语言数据中的语法结构的标签;基于所述中间表达词集和所述样本自然语言数据进行强化学习,以得到自然语言处理模型;利用所述自然语言处理模型,确定待处理的目标自然语言数据所对应的目标中间表达序列;所述目标中间序列由多个所述中间表达词组成;根据所述中间表达词集和所述SQL语法结构之间的对应关系,确定所述目标中间表达序列对应的目标SQL语法结构;所述目标SQL语法结构用于生成所述目标自然语言数据对应的目标SQL语言。2.根据权利要求1所述的方法,其特征在于,所述基于所述中间表达词集和所述样本自然语言数据进行强化学习,以得到自然语言处理模型,包括:将所述中间表达词集和所述样本自然语言数据输入预训练语言模型,并利用所述预训练语言模型进行强化学习,以得到所述自然语言处理模型。3.根据权利要求2所述的方法,其特征在于,所述将所述中间表达词集和所述样本自然语言数据输入预训练语言模型,并利用所述预训练语言模型进行强化学习,包括:循环执行以下步骤,直至所述预训练语言模型输出所述样本自然语言数据对应的第一中间表达序列:将所述样本自然语言数据和当前时间步对应的输入表达序列输入所述预训练语言模型;所述输入表达序列为当前已完成的各时间步对应的输出表达词按照各所述时间步的时间先后顺序依次组成;根据上一时间步对应的输出表达词以及所述当前时间步对应的输入表达序列,计算所述当前时间步对应的强化信号;根据所述强化信号,确定所述当前时间步对应的输出表达词;将所述当前时间步对应的输入表达序列和所述输出表达词进行组合,得到下一时间步对应的输入表达序列。4.根据权利要求3所述的方法,其特征在于,所述根据上一时间步对应的输出表达词以及所述当前时间步对应的输入表达序列,计算所述当前时间步对应的强化信号,包括:将所述上一时间步对应的输出表达词和所述样本自然语言数据中对应的所述标签进行比对,得到第一比对结果;根据所述第一比对结果确定所述当前时间步对应的第一强化值;将所述当前时间步对应的输入表达序列转换为对应的第一SQL语法结构,根据所述第一SQL语法结构确定所述当前时间步对应的第二强化值;根据所述第一强化值、所述第二强化值以及各自分别对应的权重,计算所述当前时间步对应的强化信号。5.根据权利要求4所述的方法,其特征在于,所述根据所述第一SQL语法结构确定所述当前时间步对应的第二强化值,包括:确定所述样本自然语言数据对应的样本SQL语言中的样本数据内容;
将所述第一SQL语法结构和所述样本数据内容进行组合,得到第一SQL语言;将所述第一SQL语言输入到指定数据库中,并在所述指定数据库中执行所述第一SQL语言,得到执行结果;所述指定数据库中预存有所述样本自然语言数据对应的样本数据内容和样本数据结构;将所述执行结果与所述样本数据内容和样本数据结构进行比对,得到第二比对结果,并根据所述第二比对结果确定所述当前时间步对应的所述第二强化值。6.根据权利要求5所述的方法,其特征在于,所述将所述执行结果与所述样本数据内容和样本...

【专利技术属性】
技术研发人员:苏萌易显维范秀娟黄骏刘译璟苏海波左云鹏高体伟
申请(专利权)人:百分点江苏数据智能有限公司
类型:发明
国别省市:

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

1