テキストからSQLへの学習と仕上げ(12)グローバルGNNモデル

一緒に書く習慣を身につけましょう!「ナゲッツデイリーニュープラン・4月アップデートチャレンジ」に参加して16日目です。クリックしてイベントの詳細をご覧ください

論文

  • ¸题:テキストからSQLへの解析のためのデータベース構造に関するグローバルな推論
  • 会議:EMNLP 2019
  • リンク:arxiv.org/abs/1908.11…

序章

前回のブログでは、グラフニューラルネットワークをText-to-SQLタスクに適用する方法を紹介しましたが、このブログでは、引き続きグラフニューラルネットワークの方向性をたどり、GNN--GatingGCNモデルでより最適化された完璧なモデルを紹介します。

序章

Spiderデータセットのクロスドメイン設定では、最も重大な問題の1つは、パーサーがトレーニング中に観察されないスキーマ定数に新しい語彙アイテムをマップする必要があることです。以前のGNNモデルは、主に単語とスキーマ定数の間のローカル類似度関数を介してこれを処理しました。これは、情報のグローバルな考慮を無視して、各単語とスキーマ定数を個別に考慮します。

image.png

上の図に示すように、単語名は質問の質問に表示されますが、この単語は歌手と歌の両方のテーブルに表示されます。ローカル情報のみを考慮した場合、モデルがsinger.nameとsong.nameを選択する確率は同じです。ただし、質問には名前と国が同時に表示されていることがわかります。国はsinger.countryとの類似性が高いだけなので、名前は歌手の表の名前の列を参照していると大まかに判断できます。

この考えに基づいて、この論文はグローバルGCNモデルを提案します。グローバル情報に基づいて最終的なSQLステートメントの生成に役立つスキーマ定数を取得できるため、パフォーマンスが向上します。

方法

GNNモデルと比較すると、このモデルは2つのGCNネットワークを追加します。ゲート付きGCNと再ランク付けGCNです。

  • Gated GCN添加一个新的节点v_global用于做global representation,替换原来输入中的参数 用作Encoder GCN的输入。

  • Re-rank GCN用于对输出的beam进行rerank排序。这样可以确保在Encoder还是Decoder都可以完整获取schema item的信息(用GCN编码的,Encoder看到的是整个图,Decoder设置为子图但也有全局信息 e a l g n e^{align} )。

image.png

上图为整个框架结构,Gating GCN用来表示当前问句对应的SQL语句会跟哪些schema item相关,计算一个相关分数。接着,使用Encoder GCN计算每个schema item的学习表示,然后Decoder使用该表示来预测K个候选查询。最后,重新排序的GCN只根据选定的DB常数对每个候选项进行评分。虚线和箭头表明,在Decoder输出SQL查询时,没有将梯度从Reranking GCN传播到Decoder。

image.png

Reranking模块用于将Decoder输出beam的所有query进行rerank。与gated GCN不同的是,reranking GCN只输入在预测SQL语句 y ^ \hat{y} 中出现过的schema item的节点的子图和 v g l o b a l v_{global} 节点。由于这样只能捕获选定节点的全局属性,但忽略未选定的和可能相关的节点。后面又计算一个新的向量 e a l g n e^{align} 情報を記録する

実験

これら2つのモジュールを追加した後、グローバルGNNモデルはさらに改善されました。実験結果を次の図に示します。

image.png

著者はまた、単一のテーブルと複数のテーブルのパフォーマンスの違いを比較します。

image.png

結論は

グローバルGNNは、元のGNNモデルのいくつかの欠点を補い、類似性計算でのグローバル情報の考慮を最適化し、Spiderデータセットのさらなる改善を実現します。次のブログでは、RATSQLモデルを紹介します。

おすすめ

転載: juejin.im/post/7087001129409576974