論文の概要: Outline, Then Details: Syntactically Guided Coarse-To-Fine Code
Generation
- arxiv url: http://arxiv.org/abs/2305.00909v2
- Date: Mon, 8 May 2023 19:17:20 GMT
- ステータス: 処理完了
- システム内更新日: 2023-05-10 15:19:37.481872
- Title: Outline, Then Details: Syntactically Guided Coarse-To-Fine Code
Generation
- Title(参考訳): 概要と詳細:構文的にガイドされた粗いコード生成
- Authors: Wenqing Zheng, S P Sharan, Ajay Kumar Jaiswal, Kevin Wang, Yihan Xi,
Dejia Xu, Zhangyang Wang
- Abstract要約: ChainCoderは、Pythonコードを段階的に生成するプログラム合成言語モデルである。
自然言語記述と構文的に整合したI/Oデータサンプルを共同で符号化するために、カスタマイズされたトランスフォーマーアーキテクチャを利用する。
- 参考スコア(独自算出の注目度): 61.50286000143233
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: For a complicated algorithm, its implementation by a human programmer usually
starts with outlining a rough control flow followed by iterative enrichments,
eventually yielding carefully generated syntactic structures and variables in a
hierarchy. However, state-of-the-art large language models generate codes in a
single pass, without intermediate warm-ups to reflect the structured thought
process of "outline-then-detail". Inspired by the recent success of
chain-of-thought prompting, we propose ChainCoder, a program synthesis language
model that generates Python code progressively, i.e. from coarse to fine in
multiple passes. We first decompose source code into layout frame components
and accessory components via abstract syntax tree parsing to construct a
hierarchical representation. We then reform our prediction target into a
multi-pass objective, each pass generates a subsequence, which is concatenated
in the hierarchy. Finally, a tailored transformer architecture is leveraged to
jointly encode the natural language descriptions and syntactically aligned I/O
data samples. Extensive evaluations show that ChainCoder outperforms
state-of-the-arts, demonstrating that our progressive generation eases the
reasoning procedure and guides the language model to generate higher-quality
solutions. Our codes are available at:
https://github.com/VITA-Group/ChainCoder.
- Abstract(参考訳): 複雑なアルゴリズムでは、人間のプログラマによる実装は通常、粗い制御フローの概要から始まり、反復的な拡張が続き、最終的に階層内の注意深く生成された構文構造と変数が生成される。
しかし、最先端の大規模言語モデルは「アウトライン・then-detail」という構造化思考過程を反映する中間的なウォームアップを伴わず、単一のパスでコードを生成する。
近年のchain-of-thought プロンプトの成功に触発されて,python コードを段階的に生成するプログラム合成言語モデル chaincoder を提案する。
まず、ソースコードを抽象構文木解析によりレイアウトフレームコンポーネントとアクセサリコンポーネントに分解し、階層表現を構築する。
次に、予測対象をマルチパス対象に再構成し、各パスがサブシーケンスを生成し、階層構造に連結する。
最後に、自然言語記述と構文的に整合したI/Oデータサンプルを共同符号化するために、カスタマイズされたトランスフォーマーアーキテクチャを利用する。
大規模な評価では、ChainCoderは最先端技術よりも優れており、我々の進歩的な生成が推論手順を緩和し、言語モデルに高品質なソリューションを生成することを実証している。
私たちのコードは、https://github.com/VITA-Group/ChainCoder.comで利用可能です。
関連論文リスト
- SparseCoder: Identifier-Aware Sparse Transformer for File-Level Code
Summarization [51.67317895094664]
本稿では,大規模なソースコードプロジェクトの理解と維持を支援するファイルレベルのコード要約について検討する。
長いコードシーケンスを効果的に処理するための識別子対応スパース変換器であるSparseCoderを提案する。
論文 参考訳(メタデータ) (2024-01-26T09:23:27Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z) - Contrastive Learning for Source Code with Structural and Functional
Properties [66.10710134948478]
本稿では,ソースコードの特徴に基づいて事前学習に焦点を当てた,新たな自己教師型モデルBOOSTを提案する。
私たちは、機能的に等価なコードを生成する自動化された構造誘導型コード変換アルゴリズムを採用しています。
私たちは、対照的な学習目標を通じて、機能的に等価なコードをより近く、異なるコードに近づける方法で、モデルをトレーニングします。
論文 参考訳(メタデータ) (2021-10-08T02:56:43Z) - Autoencoders as Tools for Program Synthesis [0.43012765978447565]
本稿では,業界グレードプログラミング言語のプログラム合成のための変分オートエンコーダモデルを提案する。
本モデルでは,ソースコードの内部階層構造を組み込んで解析木で動作する。
論文 参考訳(メタデータ) (2021-08-16T14:51:11Z) - Improving Code Summarization with Block-wise Abstract Syntax Tree
Splitting [15.28941592388958]
ソースコードの構文構造を表現した抽象構文木(AST)がコード要約の生成をガイドするために組み込まれている。
既存のastベースのメソッドはトレーニングが困難で、不適切なコード要約を生成する。
ASTのリッチツリー形式の構文構造をフル活用したBlock-wise Abstract Syntax Tree Splitting法(BASTS)を提案する。
論文 参考訳(メタデータ) (2021-03-14T05:04:06Z) - Hierarchical Poset Decoding for Compositional Generalization in Language [52.13611501363484]
出力が部分的に順序付けられた集合(命題)である構造化予測タスクとして人間の言語理解を形式化する。
現在のエンコーダ・デコーダアーキテクチャは意味論のポーズ構造を適切に考慮していない。
本稿では,言語における合成一般化のための新しい階層型ポーズデコーディングパラダイムを提案する。
論文 参考訳(メタデータ) (2020-10-15T14:34:26Z) - GraphCodeBERT: Pre-training Code Representations with Data Flow [97.00641522327699]
本稿では,コード固有の構造を考慮したプログラミング言語の事前学習モデルであるGraphCodeBERTを提案する。
これは変数間の"where-the-value-comes-from"の関係をエンコードするコードのセマンティックレベルの構造です。
コード検索,クローン検出,コード翻訳,コード改良の4つのタスクにおいて,本モデルを評価する。
論文 参考訳(メタデータ) (2020-09-17T15:25:56Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。