Skip to main content
QUICK REVIEW

[論文レビュー] JuICe: A Large Scale Distantly Supervised Dataset for Open Domain Context-based Code Generation

Rajas Agashe, Srinivasan Iyer|arXiv (Cornell University)|Oct 5, 2019
Software Engineering Research参考文献 33被引用数 6
ひとこと要約

本稿では、150万件のJupyterノートブック例から構成される大規模で、遠隔教師ありのデータセットであるJuICeを紹介する。これは、オープンドメインで文脈に基づくコード生成を目的としており、高品質な評価のためのキュレート済みnbgraderノートブックを用いている。実験の結果、文脈長と学習データ量の両方がモデル性能に顕著な影響を及ぼすことが示されたが、現在のモデルは複雑な推論や長文脈依存性に対して依然として困難を抱えている。

ABSTRACT

Interactive programming with interleaved code snippet cells and natural language markdown is recently gaining popularity in the form of Jupyter notebooks, which accelerate prototyping and collaboration. To study code generation conditioned on a long context history, we present JuICe, a corpus of 1.5 million examples with a curated test set of 3.7K instances based on online programming assignments. Compared with existing contextual code generation datasets, JuICe provides refined human-curated data, open-domain code, and an order of magnitude more training data. Using JuICe, we train models for two tasks: (1) generation of the API call sequence in a code cell, and (2) full code cell generation, both conditioned on the NL-Code history up to a particular code cell. Experiments using current baseline code generation models show that both context and distant supervision aid in generation, and that the dataset is challenging for current systems.

研究の動機と目的

  • インタラクティブなコンピューティング環境(例:Jupyterノートブック)における、オープンドメインで文脈に基づくコード生成のための、大規模かつ高品質なデータセットの不足に対処すること。
  • 自然言語とコード履歴が交互に混在する文脈に条件づけられたコード生成に関する研究を可能とすること。これは、既存のデータセットでは十分にサポートされていない設定である。
  • 本物のプログラミング課題から抽出されたキュレート済みのテストセットを提供することで、コード生成モデルの信頼性の高い評価を可能とすること。
  • 文脈長と学習データ量が、2つのコード生成タスク(APIシーケンス生成および完全コード生成)におけるモデル性能に与える影響を調査すること。

提案手法

  • データセットJuICeは、65万9千件の公開済みGitHub Jupyterノートブックから構築され、ターゲットコードセルが、それ以前の自然言語およびコードの文脈とペアにされている。
  • 1万3905件のnbgraderノートブックから、教員が作成した課題で、学生の解答用に空欄のコードセルが用意されたものから、3718件のキュレート済みテストセットを抽出した。
  • 2つのタスクを定義した:(1) 目的を達成するために必要なAPIコールのシーケンスを生成すること、(2) 完全で実行可能なコードセルを生成すること。
  • LSTMやリtrieーブベースラインを含むニューラルシーケンス・トゥ・シーケンスモデルを、異なる文脈長と学習データ量を用いて学習・評価した。
  • 正確一致(EM)、BLEU、適合率、再現率を用いて性能を測定し、人間による評価で性能の上限を推定した。
  • 50件のモデル予測に対してエラー解析を実施し、意図の誤解、引数の欠落、または長文脈の推論に失敗するなど、失敗モードを特定した。

実験結果

リサーチクエスチョン

  • RQ1文脈に基づくコード生成における学習データ量の増加が性能に与える影響はいかほどか?
  • RQ2直前の自然言語およびコード文脈の長さを延長することで、コード生成の正確性はどの程度向上するか?
  • RQ3現在のニューラルモデルは、リtrieーブベースラインと比較して、オープンドメインでインタラクティブなコード生成においてどの程度の性能を示すか?
  • RQ4長文脈履歴に基づいてコードを生成する際、現在のモデルの主な失敗モードは何か?
  • RQ5人間のアノテーターによる推定で、この設定におけるコード生成の性能上限はどの程度か?

主な発見

  • 両方のコード生成およびAPIシーケンスタスクにおいて、より多くの学習データが使用されると性能が顕著に向上し、約20万件の例でピークに達した後、頭打ちになる。
  • 文脈長を延ばすことでモデル性能が向上し、3つの直前セルまで向上するが、それ以上になると長文脈の推論が困難であるため、性能は頭打ちになる。
  • 最も優れたLSTMモデルは、150万件の例と3の文脈長で学習させた結果、完全コード生成タスクでテストセットで23%のEMおよび60%のBLEUを達成した。
  • リtrieーブベースラインは、全文脈にアクセス可能であったにもかかわらず、ニューラルモデルより2%以上のBLEUで劣位にあり、正しいコードを生成するにはリtrieーブを超えた推論が必要であることが示唆された。
  • 人間の性能は、コード生成タスクで60%のBLEUおよび23%のEMと推定され、現在のモデルと比較して大幅な改善の余地があることが示された。
  • 30%を超えるモデルの誤りは、自然言語指示の核心的な意図を誤って解釈していることに起因しており、文脈的推論と意味理解の課題が浮き彫りになった。

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

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

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

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