論文の概要: DocCGen: Document-based Controlled Code Generation
- arxiv url: http://arxiv.org/abs/2406.11925v1
- Date: Mon, 17 Jun 2024 08:34:57 GMT
- ステータス: 処理完了
- システム内更新日: 2024-06-20 00:46:12.046782
- Title: DocCGen: Document-based Controlled Code Generation
- Title(参考訳): DocCGen: ドキュメントベースの制御コード生成
- Authors: Sameer Pimparkhede, Mehant Kammakomati, Srikanth G. Tamilselvam, Prince Kumar, Ashok Pon Kumar, Pushpak Bhattacharyya,
- Abstract要約: DocCGenは、構造化コード言語のためのNL-to-Code生成タスクを2段階のプロセスに分解することで、豊富な知識を活用できるフレームワークである。
実験の結果,DocCGenは6つの評価指標すべてで,言語モデルのサイズを常に改善していることがわかった。
- 参考スコア(独自算出の注目度): 30.038603598682435
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Recent developments show that Large Language Models (LLMs) produce state-of-the-art performance on natural language (NL) to code generation for resource-rich general-purpose languages like C++, Java, and Python. However, their practical usage for structured domain-specific languages (DSLs) such as YAML, JSON is limited due to domain-specific schema, grammar, and customizations generally unseen by LLMs during pre-training. Efforts have been made to mitigate this challenge via in-context learning through relevant examples or by fine-tuning. However, it suffers from problems, such as limited DSL samples and prompt sensitivity but enterprises maintain good documentation of the DSLs. Therefore, we propose DocCGen, a framework that can leverage such rich knowledge by breaking the NL-to-Code generation task for structured code languages into a two-step process. First, it detects the correct libraries using the library documentation that best matches the NL query. Then, it utilizes schema rules extracted from the documentation of these libraries to constrain the decoding. We evaluate our framework for two complex structured languages, Ansible YAML and Bash command, consisting of two settings: Out-of-domain (OOD) and In-domain (ID). Our extensive experiments show that DocCGen consistently improves different-sized language models across all six evaluation metrics, reducing syntactic and semantic errors in structured code. We plan to open-source the datasets and code to motivate research in constrained code generation.
- Abstract(参考訳): 近年の進歩により、Large Language Models (LLM) は、C++、Java、Pythonといったリソースに富む汎用言語のためのコード生成に、自然言語(NL)で最先端のパフォーマンスをもたらすことが示されている。
しかし、YAMLやJSONのような構造化ドメイン固有言語(DSL)に対する実践的な利用は、事前トレーニング中に一般的にLLMによって見つからないドメイン固有スキーマ、文法、カスタマイズによって制限される。
この課題を、関連する例や微調整を通じて、コンテキスト内学習を通じて軽減する努力がなされている。
しかし、DSLサンプルの制限や迅速な感度といった問題に悩まされているが、企業はDSLの優れたドキュメントを維持している。
そこで我々は,構造化コード言語のためのNL-to-Code生成タスクを2段階のプロセスに分解することで,このような豊富な知識を活用できるフレームワークDocCGenを提案する。
まず、NLクエリに最もよくマッチするライブラリドキュメントを使用して、正しいライブラリを検出する。
次に、これらのライブラリのドキュメントから抽出したスキーマルールを使用して、デコードを制限する。
我々は、Ansible YAML と Bash という2つの複雑な構造化言語に対して、アウト・オブ・ドメイン(OOD)とイン・ドメイン(ID)の2つの設定からなるフレームワークを評価した。
我々の広範な実験により、DocCGenは6つの評価指標のすべてで異なるサイズの言語モデルを一貫して改善し、構造化コードにおける構文的および意味的誤りを低減します。
制約付きコード生成の研究を動機付けるために、データセットとコードをオープンソース化する予定です。
関連論文リスト
- Retrieval-augmented generation in multilingual settings [23.71228116313947]
Retrieval-augmented Generation (RAG)は,大規模言語モデル(LLM)に最新ないしドメイン固有知識を組み込むための,有望なソリューションとして登場した。
我々は、ユーザクエリと13言語のデータストアを備えたマルチ言語設定(mRAG)におけるRAGについて検討する。
この結果から,高品質なオフザシェルフ多言語レトリバーとジェネレータが利用可能であるにもかかわらず,タスク固有のプロンプトエンジニアリングがユーザ言語の生成に必要であることがわかった。
論文 参考訳(メタデータ) (2024-07-01T16:56:50Z) - CodeGRAG: Extracting Composed Syntax Graphs for Retrieval Augmented Cross-Lingual Code Generation [60.799992690487336]
単一ラウンドのコード生成タスクにおいて,LLMの性能を向上させるための構文グラフ検索コード生成(CodeGRAG)を提案する。
CodeGRAGはLLMのコード生成能力を大幅に改善し、言語間コード生成のパフォーマンス向上も実現している。
論文 参考訳(メタデータ) (2024-05-03T02:48:55Z) - IRCoder: Intermediate Representations Make Language Models Robust Multilingual Code Generators [49.903001442804594]
本研究では、コンパイラ中間表現(IR)を活用して、Code-LMの多言語機能を改善する可能性について検討する。
まず,約400万のソースコードファイルからなる並列データセットであるSLTransをコンパイルする。
次に、SLTransにおける因果言語モデリングトレーニングを継続して実施し、Code-LMはIR言語を学習せざるを得なかった。
IRCoderと呼ばれる結果のモデルは、さまざまなコード生成タスクやメトリクスに対して、サイズと一貫性のあるゲインを表示します。
論文 参考訳(メタデータ) (2024-03-06T17:52:08Z) - COMEX: A Tool for Generating Customized Source Code Representations [7.151800146054561]
COMEXは、研究者と開発者が複数のコードビューを作成し、組み合わせることを可能にするフレームワークである。
プロシージャ内スニペットとプロシージャ間スニペットの両方を使用して、メソッドレベルのスニペットとプログラムレベルのスニペットの両方を分析することができる。
これは40以上の言語をサポートする、広く使われているインクリメンタル分析ツールであるtree-sitter上に構築されている。
論文 参考訳(メタデータ) (2023-07-10T16:46:34Z) - Multi-lingual Evaluation of Code Generation Models [82.7357812992118]
本稿では,MBXPとMultilingual HumanEval,MathQA-Xという,評価コード生成モデルに関する新しいベンチマークを提案する。
これらのデータセットは10以上のプログラミング言語をカバーする。
コード生成モデルの性能を多言語で評価することができる。
論文 参考訳(メタデータ) (2022-10-26T17:17:06Z) - DocCoder: Generating Code by Retrieving and Reading Docs [87.88474546826913]
コードマニュアルとドキュメントを明示的に活用するアプローチであるDocCoderを紹介します。
我々のアプローチは一般的に、どんなプログラミング言語にも適用でき、基礎となるニューラルモデルとは無関係です。
論文 参考訳(メタデータ) (2022-07-13T06:47:51Z) - LiLT: A Simple yet Effective Language-Independent Layout Transformer for
Structured Document Understanding [33.78249073009646]
構造化文書理解のための単純で効果的な言語非依存型レイアウト変換器(LiLT)を提案する。
LiLTは単一の言語の構造化ドキュメント上で事前訓練され、その後、他の言語で直接微調整される。
8言語の実験結果から、LiLTは様々なダウンストリームベンチマークにおいて、競争力や優れたパフォーマンスを達成可能であることが示されている。
論文 参考訳(メタデータ) (2022-02-28T10:33:01Z) - Cross-Domain Deep Code Search with Meta Learning [14.618183588410194]
ドメイン固有のコード検索のための新しいアプローチであるCroCSを提案する。
CroCSは、プログラム表現モデルを一般的なプログラミング言語の大規模なコーパス上で事前訓練するトランスファーラーニングフレームワークを採用している。
論文 参考訳(メタデータ) (2022-01-01T09:00:48Z) - Deep Graph Matching and Searching for Semantic Code Retrieval [76.51445515611469]
本稿では,グラフニューラルネットワークに基づくエンドツーエンドのディープグラフマッチングと探索モデルを提案する。
まず、自然言語クエリテキストとプログラミング言語のコードスニペットをグラフ構造化データで表現する。
特に、DGMSは、個々のクエリテキストやコードスニペットのより構造的な情報をキャプチャするだけでなく、それらの微妙な類似性も学習する。
論文 参考訳(メタデータ) (2020-10-24T14:16:50Z) - Incorporating External Knowledge through Pre-training for Natural
Language to Code Generation [97.97049697457425]
オープンドメインコード生成は、自然言語(NL)の意図から汎用プログラミング言語でコードを生成することを目的としている。
オンラインプログラミングQAフォーラムStackOverflowとプログラミング言語APIドキュメントからNL-codeペアを自動的にマイニングする。
評価の結果,2つのソースとデータ拡張と検索ベースデータ再サンプリングを組み合わせることで,コード生成テストベッドCoNaLa上でのBLEUスコアが最大2.2%向上することがわかった。
論文 参考訳(メタデータ) (2020-04-20T01:45:27Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。