Skip to main content
QUICK REVIEW

[論文レビュー] Abstract Syntax Networks for Code Generation and Semantic Parsing

Maxim Rabinovich, Mitchell Stern|arXiv (Cornell University)|Apr 25, 2017
Natural Language Processing Techniques参考文献 25被引用数 38
ひとこと要約

この論文は、動的で文法に準拠した再帰的デコードを通じて、整合性のある抽象構文木(AST)を生成するモジュラーなエンコーダ・デコーダフレームワークである抽象構文ネットワーク(ASNs)を導入する。このアプローチは、タスク固有の設計を施さずに、コード生成(Hearthstoneで79.2 BLEU、22.7%の正確一致)と意味解析ベンチマークで最先端の結果を達成し、競争力ある性能を示す。

ABSTRACT

Tasks like code generation and semantic parsing require mapping unstructured (or partially structured) inputs to well-formed, executable outputs. We introduce abstract syntax networks, a modeling framework for these problems. The outputs are represented as abstract syntax trees (ASTs) and constructed by a decoder with a dynamically-determined modular structure paralleling the structure of the output tree. On the benchmark Hearthstone dataset for code generation, our model obtains 79.2 BLEU and 22.7% exact match accuracy, compared to previous state-of-the-art values of 67.1 and 6.1%. Furthermore, we perform competitively on the Atis, Jobs, and Geo semantic parsing datasets with no task-specific engineering.

研究の動機と目的

  • コード生成および意味解析タスクにおける整合的で実行可能な出力を生成するという課題に対処すること。
  • 整合性のある型付けや実行可能性といった、複雑な文法的・意味的制約を満たす構造的出力をモデル化すること。
  • 抽象構文木(AST)の再帰的構造を反映する柔軟でモジュラーなデコードフレームワークを構築すること。
  • タスク固有のアーキテクチャ変更なしに、コード生成および意味解析における汎化性能と性能を向上させること。
  • 多様なデータセットにわたる強い汎化性能を維持しながら、構造的出力のエンドツーエンド学習を可能にすること。

提案手法

  • モデルは、入力シーケンスをエンコードするためのアテンション機構を備えた、シーケンス・ツー・シーケンスのエンコーダ・デコーダアーキテクチャを採用する。
  • デコーダは、文法に従って特定のASTノードタイプを生成する各サブモデルから構成される。
  • デコードは、ASTの再帰的構造を模倣するように、サブモデル間の動的で相互再帰的な呼び出しによって進行する。
  • 各サブモデルは、トップダウンかつ階層的な方法で、その対応するASTノードの子ノードと属性を予測することで、ノードを生成する。
  • 生成中に関連する入力トークンに注目するため、グリーディデコードとアテンションを用いる。
  • アーキテクチャは、ゴールスタンダードのASTを用いたクロスエントロピー損失により、エンドツーエンドで学習される。

実験結果

リサーチクエスチョン

  • RQ1モジュラーで再帰的なデコーダアーキテクチャは、コードおよび意味解析のための整合的で構造的な抽象構文木を効果的に生成できるか?
  • RQ2標準的なシーケンス・ツー・シーケンスモデルと比較して、デコーダ内の動的再帰がAST内の構造的依存関係をよりよく捉えられるか?
  • RQ3同じフレームワークが、最小限の適合で多様な構造的予測タスクで優れた性能を発揮できるか?
  • RQ4先行の最先端手法と比較して、コード生成タスクにおけるモデルの性能はいかがなものか?
  • RQ5コードにおけるどの種類の構造的・文法的パターンが、モデルにとって最も生成が困難であるか?

主な発見

  • Hearthstoneコード生成ベンチマークでは、79.2 BLEUと22.7%の正確一致精度を達成し、以前の最先端(67.1 BLEU、6.1%正確一致)を大きく上回った。
  • Jobsデータセットでは、92.9%の正確一致精度を達成し、以前の最先端(90.7%)を上回った。
  • ATISおよびGeoデータセットでも、競争力ある性能を示し、DongとLapata(2016)の結果と同等またはそれを上回った正確一致性能を達成した。
  • 複雑な制御構造、変数スコープ、非自明な論理を含む命令型コードでは、特に困難を示し、重要な文を欠落させるか、微細な文法的誤りを犯す傾向があった。
  • 構造的パターンが予測可能で再利用可能な単純な関数呼び出しベースのコードでは、一般的に良好な性能を発揮した。
  • BLEUや正確一致といった評価指標は、機能的同等性の代替指標として不完全であることが判明し、より良い評価手法の必要性が浮き彫りになった。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。