如何将SQL语句进行自动翻译如何将SQL语句进行自动翻译
这里我们利用SQL-to-Text Generation with Graph-to-Sequence Model一文, 给大家简单介绍一下如何对SQL语句进行自动翻译
首先我们来谈谈这个动机 , 我觉得最大的动机可能是为了让非技术人员可以了解SQL语句的意义, 进而提出来一种解决方案, 对SQL语句进行自动化的翻译. IEEE
利用规则的翻译很显然是十分僵硬的, 也就是说, 翻译出来的东西不流畅, 不想自然语言, 那么在神经网络盛行的今天, 很快就有人提出了, 直接使用Seq2Seq模型来进行翻译, 这个Seq就是 图结构
故, 给出这么一个框架:
首先, 我们有SQL语句, 作为输入
将SQL语句转换成一个有向图
再通过Graph2Seq模型, 将有向图翻译出来
利用每个点的k跳个邻居节点进行点嵌入的编码
利用所有点的点嵌入生成全局的嵌入 利用全局嵌入进行解码得到最后的翻译结果
下面我们讲讲如何进行有向图的转换
有向图的转换
将SQL语句转换成有向图其实十分简单, 我们关注于两个句法:
SELECT句法
我们将为SELECT a这样的句子 