一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

结构化查询语言的翻译方法、装置、计算设备及可读存储介质与流程

2021-10-23 00:34:00 来源:中国专利 TAG:自然语言 结构化 装置 可读 翻译


1.本发明涉及自然语言处理技术领域,尤其涉及结构化查询语言的翻译方法、装置、计算设备及可读存储介质。


背景技术:

2.随着互联网技术的发展和普及,越来越多的数据都是以电子化的形式在网络中存储和使用。结构化查询语言sql是一种对于关系数据库的标准查询语言,在数据搜索方面具有强大功能。然而结构化查询语言本身十分复杂,缺乏描述能力,因此对于非技术人员来说难以理解。
3.为了方便团队的沟通与协作,有必要对结构化查询语言的查询语句进行自然语言的翻译,从而方便非技术人员的理解。并且,结构化查询语言的查询语句及其自然语言的翻译还可以作为训练数据来辅助基于自然语言生成结构化查询语言的查询语句的任务,一定程度上克服标注数据不足的问题。
4.然而,传统的端到端模型在进行sql语言的查询语句翻译时,往往需要先将查询语句序列化,这种序列化的后果就是忽视了查询语句本身的结构化信息,不够准确。
5.因此,需要一种更先进的结构化查询语言的翻译方案以及翻译模型组件。


技术实现要素:

6.为此,本发明实施例提供一种结构化查询语言的翻译方法、装置、计算设备及可读存储介质,以力图解决或者至少缓解上面存在的至少一个问题。
7.根据本发明实施例的一个方面,提供了一种结构化查询语言的翻译方法,包括:为结构化查询语言的查询语句构建结构图,结构图包括多个节点和连接节点的边;生成结构图的特征矩阵,特征矩阵包括各节点的节点特征;将结构图的特征矩阵和多个不同阶数的邻接矩阵输入图编码器,以便图编码器输出得到结构图的融合特征矩阵;以及将融合特征矩阵输入解码器,以便解码器输出得到查询语句到自然语言的翻译。
8.可选地,在根据本发明实施例的方法中,图编码器包括多个图卷积层,图卷积层适于接收多个不同阶数的邻接矩阵;接收特征矩阵或者上一个图卷积层输出的融合特征矩阵;输出当前图卷积层的融合特征矩阵。
9.可选地,在根据本发明实施例的方法中,图卷积层包括对应于各个不同阶数的邻接矩阵的多个图卷积模块,图卷积模块适于接收与图卷积模块对应的邻接矩阵;接收特征矩阵或者上一个图卷积层的输出。
10.可选地,在根据本发明实施例的方法中,多个图卷积模块具有相同的权重参数。
11.可选地,在根据本发明实施例的方法中,图卷积层包括融合模块,融合模块适于将多个图卷积模块的输出进行融合,得到当前图卷积层的融合特征矩阵。
12.可选地,在根据本发明实施例的方法中,图卷积层表达为以下公式:
[0013][0014]
其中,h
l 1
为图卷积层的输出,h
l
为图卷积层的输入,为图卷积层上k阶邻接矩阵的门控矩阵,*表示元素相乘,φ表示relu函数,σ表示sigmoid函数,λ为标量,k为邻接矩阵的最高阶数,w
l
为图卷积层的权重参数,b
l
为图卷积层的偏置参数。
[0015]
可选地,在根据本发明实施例的方法中,翻译包括多个自然语言的词,解码器基于图编码器输出的融合特征矩阵和解码器之前输出的词来生成当前输出的词。
[0016]
可选地,在根据本发明实施例的方法中,解码器包括transformer模型或者具有注意力机制的长短时记忆模型。
[0017]
可选地,在根据本发明实施例的方法中,生成结构图的特征矩阵的步骤包括:基于图嵌入算法生成节点的节点特征,以得到特征矩阵。
[0018]
可选地,在根据本发明实施例的方法中,生成结构图的特征矩阵的步骤包括:基于节点的独热编码、或者概率分布、或者文本属性生成节点的节点特征,以得到特征矩阵。
[0019]
可选地,在根据本发明实施例的方法中,查询语句用于执行预定操作,为结构化查询语言的查询语句构建结构图的步骤包括:为预定操作创建节点;为预定操作针对的操作对象创建节点,操作对象对应的节点连接至预定操作对应的节点。
[0020]
可选地,在根据本发明实施例的方法中,查询语句包括功能函数,为结构化查询语言的查询语句构建结构图的步骤包括:为功能函数创建节点,功能函数对应的节点连接至功能函数针对的操作对象对应的节点。
[0021]
可选地,在根据本发明实施例的方法中,查询语句包括一个或者多个条件,条件包括条件对象和条件约束,为结构化查询语言的查询语句构建结构图的步骤包括:为条件对象和条件约束分别创建节点,条件对象对应的节点连接至条件约束对应的节点;合并条件约束相同的节点。
[0022]
可选地,在根据本发明实施例的方法中,查询语句包括多个条件之间的逻辑运算符,为结构化查询语言的查询语句构建结构图的步骤包括:为逻辑运算符创建节点,逻辑运算符对应的节点分别连接至与逻辑运算符相关联的条件对象对应的节点以及预定操作对应的节点。
[0023]
根据本发明实施例的另一个方面,提供了一种结构图的翻译方法,结构图包括多个节点和连接节点的边,方法包括:生成结构图的特征矩阵,特征矩阵包括各节点的节点特征;将结构图的特征矩阵和多个不同阶数的邻接矩阵输入图编码器,以便图编码器输出得到结构图的融合特征矩阵;以及将融合特征矩阵输入解码器,以便解码器输出得到结构图到自然语言的翻译。
[0024]
根据本发明实施例的另一个方面,提供了一种结构化查询语言的翻译装置,包括:图构建单元,适于为结构化查询语言的查询语句构建结构图,结构图包括多个节点和连接节点的边;矩阵生成单元,适于生成结构图的特征矩阵,特征矩阵包括各节点的节点特征;
以及包括图编码器和解码器的翻译模型组件,其中,图编码器适于接收结构图的特征矩阵和多个不同阶数的邻接矩阵,输出得到结构图的融合特征矩阵,解码器适于接收图编码器输出的融合特征矩阵,输出得到查询语句到自然语言的翻译。
[0025]
可选地,在根据本发明实施例的装置中,图编码器包括多个图卷积层,图卷积层适于接收多个不同阶数的邻接矩阵;接收特征矩阵或者上一个图卷积层输出的融合特征矩阵;输出当前图卷积层的融合特征矩阵。
[0026]
可选地,在根据本发明实施例的装置中,图卷积层包括对应于各个不同阶数的邻接矩阵的多个图卷积模块,图卷积模块适于接收与图卷积模块对应的邻接矩阵;接收特征矩阵或者上一个图卷积层的输出。
[0027]
可选地,在根据本发明实施例的装置中,多个图卷积模块具有相同的权重参数。
[0028]
可选地,在根据本发明实施例的装置中,图卷积层包括融合模块,融合模块适于将多个图卷积模块的输出进行融合,得到当前图卷积层的融合特征矩阵。
[0029]
可选地,在根据本发明实施例的装置中,图卷积层表达为以下公式:
[0030][0031]
其中,h
l 1
为图卷积层的输出,h
l
为图卷积层的输入,为图卷积层上k阶邻接矩阵的门控矩阵,*表示元素相乘,φ表示relu函数,σ表示sigmoid函数,λ为标量,k为邻接矩阵的最高阶数,w
l
为图卷积层的权重参数,b
l
为图卷积层的偏置参数。
[0032]
可选地,在根据本发明实施例的装置中,翻译包括多个自然语言的词,解码器基于图编码器输出的融合特征矩阵和解码器之前输出的词来生成当前输出的词。
[0033]
可选地,在根据本发明实施例的装置中,解码器包括transformer模型或者具有注意力机制的长短时记忆模型。
[0034]
根据本发明实施例的另一个方面,提供了一种结构图的翻译装置,结构图包括多个节点和连接节点的边,装置包括:矩阵生成单元,适于生成结构图的特征矩阵,特征矩阵包括各节点的节点特征;以及包括图编码器和解码器的翻译模型组件,其中,图编码器适于接收结构图的特征矩阵和多个不同阶数的邻接矩阵,输出得到结构图的融合特征矩阵,解码器适于接收图编码器输出的融合特征矩阵,输出得到结构图到自然语言的翻译。
[0035]
根据本发明实施例的另一个方面,提供了一种图卷积网络,包括多个图卷积模块,分别对应于结构图不同阶数的邻接矩阵,图卷积模块适于接收与图卷积模块对应的邻接矩阵,接收结构图的特征矩阵或者上一个图卷积层输出的结构图的融合特征矩阵;以及融合模块,适于将多个图卷积模块的输出进行融合,得到当前图卷积层的融合特征矩阵。
[0036]
根据本发明实施例的另一个方面,提供了一种计算设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,该一个或多个程序包括用于执行根据本发明实施例的结构化查询语言的翻译方法中的任一方法的指令。
[0037]
根据本发明实施例的还有一个方面,提供了一种存储程序的可读存储介质,该程序包括指令,该指令当由计算设备执行时,使得计算设备执行根据本发明实施例的结构化查询语言的翻译方法的中任一方法。
[0038]
根据本发明实施例的翻译方案可以通过为查询语句生成结构图而应用于结构化查询语言的翻译,还可以应用于其他结构图的翻译。其中,通过将该结构图的多个不同阶数的邻接矩阵输入包括图卷积层的翻译模型组件,实现了结构图的自然语言翻译。该翻译模型组件不对查询语句进行变形(传统翻译模型通常会将查询语句序列化),直接保留和表征查询语句包含的结构化信息,提高了翻译的准确度。并且,该翻译模型组件基于卷积和自注意力神经网络模型,使整个模型可以进行多gpu并行训练,极大提高了运算效率,翻译效率更高。
[0039]
进一步地,根据本发明实施例的图卷积层不局限于一阶邻接信息,通过门控融合机制融合不同阶数的邻接信息(从低阶到高阶),相比于传统的图卷积网络,具有更宽的信息感知域,可以捕捉到不同阶邻居节点之间的特征差异,更好地获取和表征图信息。该图卷积层不仅可以应用于翻译任务,还可以广泛应用于其他自然语言处理任务(例如情感分析,关系和实体抽取和自动问答等)。
附图说明
[0040]
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
[0041]
图1示出了根据本发明一个实施例的结构化查询语言的翻译系统100的示意图;
[0042]
图2示出了根据本发明一个实施例的结构化查询语言的翻译装置200的结构框图;
[0043]
图3示出了根据本发明一个实施例的结构图300的示意图;
[0044]
图4示出了根据本发明一个实施例的翻译模型组件400的示意图;
[0045]
图5示出了根据本发明一个实施例的图卷积层500的示意图;
[0046]
图6示出了根据本发明一个实施例的计算设备600的示意图;
[0047]
图7示出了根据本发明一个实施例的结构化查询语言的翻译方法700的流程图;
[0048]
图8示出了根据本发明一个实施例的结构图的翻译方法800的流程图;以及
[0049]
图9示出了根据本发明一个实施例的结构图的翻译装置900的示意图。
具体实施方式
[0050]
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0051]
图1示出了根据本发明一个实施例的结构化查询语言的翻译系统100的示意图。如图1所示,翻译系统100包括处理前端110和结构化查询语言的翻译装置200。结构化查询语
言sql是一种对于关系数据库的标准查询语言,可以使用结构化查询语言的查询语句来查询关系数据库中的数据。以下是查询语句的一个示例:
[0052]
select company where assets>val0 and sales>val0
[0053]
and industry<=val2 and profits=val3
[0054]
该示例查询语句的自然语言翻译为:选择同时满足assets>val0、sales>val0、industry<=val2以及profits=val3的列名为company的数据。
[0055]
处理前端110是任何需要将查询语句进行翻译的请求方。例如,在一种方式中,处理前端110可以是一个即时通信系统的一部分。即时通信系统可以接收发送方(例如是技术人员)输入的查询语句,将查询语句传递给接收方(例如是非技术人员)。如果接收方指示需要翻译,即时通信系统可以将查询语句发送到结构化查询语言的翻译装置200进行翻译。
[0056]
本发明不受限于处理前端110的具体形式。结构化查询语言的翻译装置200可以以各种方式接收处理前端110的请求。例如结构化查询语言的翻译装置200可以提供具有预定格式定义的应用程序接口(api),以方便处理前端110根据定义来组织翻译请求,并发送到结构化查询语言的翻译装置200。结构化查询语言的翻译装置200接收翻译请求,从请求中获取sql查询语句,采用基于神经网络的翻译模型来将查询语句翻译为自然语言。
[0057]
图2示出了根据本发明一个实施例的结构化查询语言的翻译装置200的结构框图。如图2所示,结构化查询语言的翻译装置200包括图构建单元210、矩阵生成单元220、以及翻译模型组件400。
[0058]
图构建单元210适于为待翻译的结构化查询语言的查询语句构建结构图(graph),该结构图包括多个节点和连接节点的边。边可以是有向或者无向的。
[0059]
查询语句可以是用于执行诸如查询、更新、插入和删除之类的预定操作的查询语句,例如select语句、update语句、delete语句、insert into语句等。在一些实施例中,可以为该查询语句的预定操作创建节点,为该预定操作针对的操作对象创建节点,该操作对象对应的节点连接至该预定操作对应的节点。
[0060]
查询语句还可以包括用于计数和计算的功能函数,该功能函数包括合计函数(aggregate函数)和/或标量函数(scalar函数)。合计函数的操作面向一系列的值,并返回一个单一的值。例如avg()、count()、max()等函数。标量函数面向某个单一的值,并返回基于输入值的一个单一的值,例如len()、ucase()、lcase()等函数。在一些实施例中,可以为查询语句包含的各功能函数创建节点,该功能函数对应的节点连接至该功能函数针对的操作对象对应的节点。
[0061]
查询语句还可以包括条件子句,例如where子句。条件子句可以包括一个或者多个条件,各个条件可以包括条件对象和条件约束。在一些实施例中,对于各个条件,可以为该条件的条件对象和条件约束分别创建节点,条件对象对应的节点连接至条件约束对应的节点。并且,合并条件约束相同的那些节点。
[0062]
由于多个条件通过诸如and、or、not之类的逻辑运算符相关联,因此还可以为各逻辑运算符创建节点,逻辑运算符对应的节点连接至与该逻辑运算符相关联的条件对应的节点、还连接至查询语句的预定操作对应的节点。
[0063]
此外,所创建的节点可以具有文本属性,该文本属性为节点在查询语句中的对应文本。例如,预定操作对应的节点的文本属性为预定操作的文本(通常为预定操作名称),操
作对象对应的节点的文本属性为操作对象的文本(通常为操作对象名称),功能函数对应的节点的文本属性为功能函数的文本(通常为功能函数名称),条件对象对应的节点的文本属性为条件对象的文本(通常为条件对象内容),条件约束对应的节点的文本属性为条件约束的文本(通常为条件约束内容),逻辑运算符对应的节点的文本属性为逻辑运算符的文本,等等。
[0064]
查询语句还可以包括其他子句,对其他子句均可以按照上述节点和边的创建方法进行类似处理,此处不再赘述。
[0065]
图3示出了根据本发明一个实施例的查询语句的结构图300的示意图。如图3所示,为查询语句“select company where assets>val0 and sales>val0 and industry<=val2 and profits=val3”构建了结构图300。其中,为select操作创建节点310,节点310的文本属性为select。为select操作的操作对象company创建节点320,节点320的文本属性为company。在节点310与节点320之间创建边。
[0066]
该查询操作包括四个通过逻辑运算符and相关联的条件:assets>
[0067]
val0、sales>val0、industry<=val2和profits=val3。对于条件assets>val0,为条件对象assets创建节点330,节点330的文本属性为assets,为条件约束>val0创建节点340,节点340的文本属性为>val0,在节点340与节点330之间创建边。对于条件sales>val0,为条件对象sales创建节点350,节点350的文本属性为sales。由于已经存在条件约束>val0对应的节点340,则在节点340与节点350之间创建边。对于条件industry<=val2,为条件对象industry创建节点360,节点360的文本属性为industry,为条件约束<=val2创建节点370,节点370的文本属性为<=val2,在节点360与节点370之间创建边。对于条件profits=val3,为条件对象profits创建节点380,节点380的文本属性为profits,为条件约束=val3创建节点390,节点390的文本属性为=val3,在节点380与节点390之间创建边。最后,为逻辑运算符and创建节点391,节点391的文本属性为and,在节点391与节点330、节点350、节点360、节点380以及节点310之间均创建边。
[0068]
虽然连接节点的边在图3中显示为具有方向,但边也可以不具有方向。本发明实施例对结构图中的边是否具有方向不做限制。
[0069]
在构建好结构图之后,与图构建单元210相连接的矩阵生成单元220可以生成该结构图的特征矩阵,该特征矩阵包括各节点的节点特征。
[0070]
可以采用本领域的任何图嵌入方法来生成节点的节点特征,以得到结构图的特征矩阵,例如deepwalk算法、line(large-scale information network embedding)算法、sdne算法等等。或者,还可以基于节点的独热编码(one-hot encoding)、或者概率分布、或者文本属性等来生成节点的节点特征,以得到结构图的特征矩阵。本发明实施例对特征矩阵的具体生成方法不做限制。
[0071]
例如,对于结构图g=(v,e),v为结构图g中节点的集合,e为结构图g中边的集合,节点i具有节点特征x
i
。基于节点的节点特征,可以得到结构图的特征矩阵x,x∈r
n*d
,n为结构图g中节点的数量,d为节点特征x
i
的维度。
[0072]
矩阵生成单元220还可以生成结构图的多个不同阶数的邻接矩阵,例如一阶邻接矩阵、二阶邻接矩阵、三阶邻接矩阵等。邻接矩阵(adjacency matrix)用数字方阵记录各节点之间是否有边相连。
[0073]
例如,结构图g=(v,e)的一阶邻接矩阵a(也记作a1)是n*n的。如果节点j和节点j相邻(即存在边),也就是(i,j)∈e,那么a
ij
=1,否则a
ij
=0。在一些实施例中,也可以用大于0的值表示边的权值,例如可以用边的权值表示一个节点到另一个节点的距离。此外,k(1≤k≤k)阶邻接矩阵a
k
为一阶邻接矩阵a的k次连乘。
[0074]
矩阵生成单元220可以将结构图的特征矩阵x和多个不同阶数的邻接矩阵a1~a
k
输入翻译模型组件400,以便翻译模型组件400输出上述查询语句到自然语言的翻译,该翻译可以包括多个自然语言的词。
[0075]
图4示出了根据本发明一个实施例的翻译模型组件400的示意图。如图4所示,翻译模型组件400包括图编码器410和解码器420。
[0076]
图编码器410适于接收结构图的特征矩阵x和多个不同阶数的邻接矩阵a1~a
k
,并输出结构图的融合特征矩阵,该融合特征矩阵混合了多个不同阶数的邻接信息。
[0077]
在一些实施例中,图编码器410包括多个依次连接的图卷积层500。各图卷积层500是一种图卷积网络,其适于接收多个不同阶数的邻接矩阵,以及接收结构图的特征矩阵(例如第一个图卷积层)或者上一个图卷积层输出的融合特征矩阵(例如除第一个图卷积层之外的其他图卷积层),输出当前层的融合特征矩阵。
[0078]
图5示出了根据本发明一个实施例的图卷积层500的示意图。如图5所示,图卷积层500包括多个图卷积模块510和融合模块520,其中多个图卷积模块510分别与多个不同阶数的邻接矩阵一一对应。多个图卷积模块510具有相同的权重参数w
l
。l表示图卷积层500的位置,即图5所示的图卷积层500为第l个图卷积层500。
[0079]
图卷积层500经由该层的多个图卷积模块510接收多个不同阶数的邻接矩阵a1~a
k
,接收结构图的特征矩阵x(l=1时)或者上一个图卷积层(第l-1个)输出的融合特征矩阵h
l
(l>1时),经由融合模块520输出当前层的融合特征矩阵h
l 1

[0080]
各图卷积模块510适于接收与该图卷积模块510对应的邻接矩阵a
k
(1≤k≤k),接收结构图的特征矩阵x(l=1时)或者上一个图卷积层输出的融合特征矩阵h
l
(l>1时)。融合模块520可以为门控(gated)融合模块,其分别与多个图卷积模块510相连接,适于对多个图卷积模块510的输出进行融合,得到融合特征矩阵h
l 1
,并输出到下一个图卷积层(如果存在下一个图卷积层的话)。这样,根据本发明实施例的图卷积层500得到的融合特征矩阵可以混合多个不同阶数的邻居节点信息(邻接信息),相比传统的图卷积网络更容易感知结构图的整体信息。
[0081]
第l个图卷积层500可以表示为以下公式:
[0082][0083]
其中,h
l 1
为该层的输出,h
l
为该层的输入。l=1时h
l
=x。为该层上k阶邻接矩阵的门控矩阵。*表示元素相乘,φ表示relu函数,σ表示sigmoid函数,λ为标量,k为信息聚合的最高阶数(即邻接矩阵的最高阶数),w
l
为该层被不同阶数的邻接矩阵a
k
共享的权重参
数。b
l
为该层的偏置参数。λ和k均为超参数。
[0084]
基于这种非线性混合,融合模块520能够融合从不同阶数指向特定节点的信息。融合模块520保留了该层的非线性功能同时允许梯度通过线性单元无缩放地传播。
[0085]
此外,根据本发明的另一个实施方式,为了实现类似的技术效果,上述图编码器410还可以实现为自注意力神经网络模型,例如transformer模型。其中,由于自注意力神经网络模型是全连接网络(full-connected networks),因此可以通过mask机制让注意力只集中在结构图的显性结构信息(也就是上述一阶邻居矩阵表示的信息)。
[0086]
解码器420与图编码器410相连接,适于接收图编码器410输出的融合特征矩阵,并基于该融合特征矩阵以及解码器420之前输出的词,生成当前输出的词。
[0087]
在一些实施例中,解码器420可以实现为自注意力神经网络模型,例如transformer模型。这样,翻译模型组件400可以更好地保留和表征查询语句中的信息,从而输出可读性更好的自然语言的翻译。并且,基于卷积和自注意力神经网络模型的翻译模型组件400能够进行多gpu并行训练,可以极大地提高运算效率。
[0088]
应当指出,可以采用本领域任何合适的损失函数和训练算法来训练上述翻译模型组件400。例如,可以采用最大似然估计、交叉熵、均方误差等函数为损失函数,采用adam、sgd等训练算法来进行训练。本发明实施例对具体损失函数和训练算法不做限制。
[0089]
在其他实施方式中,解码器420可以实现为其他循环神经网络模型,例如采用注意力机制的长短时记忆模型(lstm)。本发明实施例对实现解码器的具体模型不做限制,任何可以实现类似解码功能的神经网络模型均在本发明的保护范围之内。
[0090]
下面将结合图6和图7来对在上文中提及的各个装置及其单元中执行的相应方法进行描述。
[0091]
根据本发明的实施方式,上述翻译系统100中的各种部件,如各种装置等均可以通过如下所述的计算设备600来实现。图6示出了根据本发明一个实施例的计算设备600的示意图。
[0092]
如图6所示,在基本的配置602中,计算设备600典型地包括系统存储器606和一个或者多个处理器604。存储器总线608可以用于在处理器604和系统存储器606之间的通信。
[0093]
取决于期望的配置,处理器604可以是任何类型的处理,包括但不限于:微处理器(μp)、微控制器(μc)、数字信息处理器(dsp)或者它们的任何组合。处理器604可以包括诸如一级高速缓存610和二级高速缓存612之类的一个或者多个级别的高速缓存、处理器核心614和寄存器616。示例的处理器核心614可以包括运算逻辑单元(alu)、浮点数单元(fpu)、数字信号处理核心(dsp核心)或者它们的任何组合。示例的存储器控制器618可以与处理器604一起使用,或者在一些实现中,存储器控制器618可以是处理器604的一个内部部分。
[0094]
取决于期望的配置,系统存储器606可以是任意类型的存储器,包括但不限于:易失性存储器(诸如ram)、非易失性存储器(诸如rom、闪存等)或者它们的任何组合。系统存储器606可以包括操作系统620、一个或者多个应用622以及程序数据624。在一些实施方式中,应用622可以布置为在操作系统上由一个或多个处理器604利用程序数据624执行指令。
[0095]
计算设备600还可以包括有助于从各种接口设备(例如,输出设备642、外设接口644和通信设备646)到基本配置602经由总线/接口控制器630的通信的接口总线640。示例的输出设备642包括图形处理单元648和音频处理单元650。它们可以被配置为有助于经由
一个或者多个a/v端口652与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口644可以包括串行接口控制器654和并行接口控制器656,它们可以被配置为有助于经由一个或者多个i/o端口658和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备646可以包括网络控制器660,其可以被布置为便于经由一个或者多个通信端口664与一个或者多个其他计算设备662通过网络通信链路的通信。
[0096]
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以是这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(rf)、微波、红外(ir)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
[0097]
计算设备600可以实现为服务器,例如数据库服务器、应用程序服务器和web服务器等,也可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。当然,计算设备600也可以实现为小尺寸便携(或者移动)电子设备的一部分。
[0098]
在根据本发明的实施例中,计算设备600被实现为结构化查询语言的翻译装置200,并被配置为执行根据本发明实施例的结构化查询语言的翻译方法700。其中,计算设备600的应用622中包含执行根据本发明实施例的结构化查询语言的翻译方法700的多条指令,而程序数据624还可以存储翻译系统100的配置信息等。
[0099]
图7示出了根据本发明一个实施例的结构化查询语言的翻译方法700的流程图。如图7所示,结构化查询语言的翻译方法700始于步骤s710。
[0100]
在步骤s710中,为结构化查询语言的查询语句构建结构图,该结构图包括多个节点和连接节点的边。具体地,查询语句用于执行预定操作,可以为预定操作创建节点,为预定操作针对的操作对象创建节点,操作对象对应的节点连接至预定操作对应的节点。查询语句还包括功能函数,可以为功能函数创建节点,功能函数对应的节点连接至功能函数针对的操作对象对应的节点。查询语句还包括一个或者多个条件,条件包括条件对象和条件约束,可以为条件对象和条件约束分别创建节点,条件对象对应的节点连接至条件约束对应的节点,并且合并条件约束相同的节点。查询语句还包括多个条件之间的逻辑运算符,可以为逻辑运算符创建节点,逻辑运算符对应的节点分别连接至与逻辑运算符相关联的条件对象对应的节点以及预定操作对应的节点。
[0101]
而后,在步骤s720中,生成结构图的特征矩阵,该特征矩阵包括各节点的节点特征。在一些实施例中,可以基于图嵌入算法生成节点的节点特征,以得到特征矩阵。也可以基于节点的独热编码、或者概率分布、或者文本属性生成节点的节点特征,以得到特征矩阵。
[0102]
而后,在步骤s730中,将结构图的特征矩阵和多个不同阶数的邻接矩阵输入图编码器410,以便图编码器410输出得到结构图的融合特征矩阵。
[0103]
具体地,图编码器410包括多个图卷积层500,图卷积层500适于接收多个不同阶数的邻接矩阵,接收结构图的特征矩阵或者上一个图卷积层输出的融合特征矩阵,输出当前
图卷积层的融合特征矩阵。
[0104]
在一些实施例中,图卷积层500包括对应于各个不同阶数的邻接矩阵的多个图卷积模块510,图卷积模块510适于接收与图卷积模块510对应的邻接矩阵,接收上述特征矩阵或者上一个图卷积层的输出。其中,多个图卷积模块具有相同的权重参数。图卷积层还包括融合模块520,融合模块520适于将多个图卷积模块的输出进行融合,得到当前图卷积层的融合特征矩阵。
[0105]
最后,在步骤s740中,可以将图编码器410输出的融合特征矩阵输入解码器420,以便解码器420输出得到上述查询语句到自然语言的翻译。翻译可以包括多个自然语言的词,解码器420可以基于图编码器410输出的融合特征矩阵和解码器410之前输出的词来生成当前输出的词。
[0106]
以上在结合图1~图6说明结构化查询语言的翻译系统100以及翻译装置200的具体描述中已经对结构化查询语言的翻译方法700各步骤中的相应处理进行了详细解释,这里不再对重复内容进行赘述。
[0107]
此外,应当指出,根据本发明实施例的翻译模型组件不仅可以应用于sql查询语句的结构图、完成sql查询语句到自然语言的自动翻译任务,也可以应用于其他结构图,完成其他结构图到自然语言的翻译任务,例如,完成知识图谱到自然语言的翻译任务和基于依存关系图(dependency graph)的翻译任务。并且,根据本发明实施例的图卷积层还可以广泛应用其他自然语言处理的任务,例如情感分析,关系和实体抽取和自动问答等任务。
[0108]
图8示出了根据本发明一个实施例的结构图的翻译方法800的流程图。如图8所示,结构图的翻译方法800始于步骤s810,该结构图包括多个节点和连接节点的边。
[0109]
在步骤s810中,生成结构图的特征矩阵,该特征矩阵包括各节点的节点特征。而后,在步骤s820中,将结构图的特征矩阵和多个不同阶数的邻接矩阵输入图编码器,以便图编码器输出得到结构图的融合特征矩阵。
[0110]
最后,在步骤s830中,可以将图编码器输出的融合特征矩阵输入解码器,以便解码器输出得到上述结构图到自然语言的翻译。翻译可以包括多个自然语言的词,解码器可以基于图编码器输出的融合特征矩阵和解码器之前输出的词来生成当前输出的词。
[0111]
以上在结合图1~图6说明结构化查询语言的翻译系统100以及翻译装置200的具体描述中已经对结构图的翻译方法800各步骤中的相应处理进行了详细解释,这里不再对重复内容进行赘述。
[0112]
相应地,图9示出了根据本发明一个实施例的结构图的翻译装置900的示意图。结构图包括多个节点和连接节点的边,如图9所示,结构图的翻译装置900包括矩阵生成单元910和翻译模型组件920。翻译模型组件910与前文前文所描述的翻译模型组件400具有相同或相似的结构和功能。
[0113]
矩阵生成单元910适于生成结构图的特征矩阵,特征矩阵包括各节点的节点特征。翻译模型组件920与矩阵生成单元910相连接,并包括图编码器911和解码器912。图编码器911适于接收结构图的特征矩阵和多个不同阶数的邻接矩阵,输出得到结构图的融合特征矩阵,解码器912适于接收图编码器911输出的融合特征矩阵,输出得到结构图到自然语言的翻译。
[0114]
以上在结合图1~图6说明结构化查询语言的翻译系统100以及翻译装置200的具
体描述中已经对结构图的翻译装置900各单元中的相应处理进行了详细解释,这里不再对重复内容进行赘述。
[0115]
综上,根据本发明实施例的翻译方案可以通过为查询语句生成结构图而应用于结构化查询语言的翻译,还可以应用于其他结构图的翻译。其中,通过将该结构图的多个不同阶数的邻接矩阵输入包括图卷积层的翻译模型组件,实现了结构图的自然语言翻译。该翻译模型组件不对查询语句进行变形(传统翻译模型通常会将查询语句序列化),直接保留和表征查询语句包含的结构化信息,提高了翻译的准确度。并且,该翻译模型组件基于卷积和自注意力神经网络模型,使整个模型可以进行多gpu并行训练,极大提高了运算效率,翻译效率更高。
[0116]
进一步地,根据本发明实施例的图卷积层不局限于一阶邻接信息,通过门控融合机制融合不同阶数的邻接信息(从低阶到高阶),相比于传统的图卷积网络(传统图卷积网络将信息传递范围限制在一阶邻居节点,并通过迭代多层来进行远距离信息传播。然而无论传播多少层,这样的机制都不能捕捉到不同阶邻居节点之间的特征差异),具有更宽的信息感知域,可以捕捉到不同阶邻居节点之间的特征差异,更好地获取和表征图信息。该图卷积层不仅可以应用于翻译任务,还可以广泛应用于其他自然语言处理任务(例如情感分析,关系和实体抽取和自动问答等)。
[0117]
应当理解,这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、cd-rom、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被该机器执行时,该机器变成实践本发明的设备。
[0118]
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的该程序代码中的指令,执行本发明的各种方法。
[0119]
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
[0120]
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0121]
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备
不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
[0122]
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0123]
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0124]
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
[0125]
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
[0126]
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜