SQLNet论文解读

           SQLNet是一种将自然语言问句转化为SQL的深度学习模型,它应用在wiki数据集上,能够实现select(可以加聚合函数),where功能,其中where预测的好坏决定了整个模型的好坏。如:

        在SQLNet之前人们主要用seq2seq+attention网络进行NL2SQL任务解析,但seq2seq存在一个问题:即seq2seq对序列的前后顺序要求极为严格,但SQL语句对顺序要求没那么严格,例如:

      上述两个SQL语句的执行结果相同,但seq2seq模型认为这是两个SQL语句。

      SQLNet针对上述问题提出三个创新点:

      1   seq2set   seq即指问句序列与表头信息,set指的是预测出的select列名集合、聚合函数、条件约束等

      2  网络结构:

    SQLNet将任务解析为select和where两部分,其中聚合函数的预测依赖于select columns,where字句中op与value依赖与where columns。

   3  列注意机制

    该机制主要是为了提高where 字句中columns的预测准确率,

     

     该公式用来预测该列是否属于where字句中的columns,其中u分别代表网络中模型的参数,E代表模型对col和Q进行编码。从该公式可以看出,select字句中的columns与where字句中的columns的权重相同,该公式并不能将两者区分开来。

     当计算出上述p值后,即该列属于where字句columns的概率。该模型并不是设置阈值取高于阈值作为where colmns,而是再设置一个任务来预测包含的条件个数k,然后取p值的最高的前k作为where columns。

    预测生成where columns后,op的预测即为一个分类问题,从[>,<,=]集合中取一个,value的预测变为了一个预测问句字串的问题,即序列标注问题。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值