論文の概要: Building A Coding Assistant via the Retrieval-Augmented Language Model
- arxiv url: http://arxiv.org/abs/2410.16229v1
- Date: Mon, 21 Oct 2024 17:34:39 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-10-22 13:13:10.931422
- Title: Building A Coding Assistant via the Retrieval-Augmented Language Model
- Title(参考訳): Retrieval-Augmented Language Modelによる符号化アシスタントの構築
- Authors: Xinze Li, Hanbin Wang, Zhenghao Liu, Shi Yu, Shuo Wang, Shuo Wang, Yukun Yan, Yukai Fu, Yu Gu, Ge Yu,
- Abstract要約: 本研究では,コーディング中の人間の知識探索行動を模倣してコードアシスタントを構築するための検索補助言語モデル(CONAN)を提案する。
コード構造対応検索器(CONAN-R)とデュアルビューコード表現に基づく検索拡張生成モデル(CONAN-G)で構成される。
- 参考スコア(独自算出の注目度): 27.473480856389145
- License:
- Abstract: Pretrained language models have shown strong effectiveness in code-related tasks, such as code retrieval, code generation, code summarization, and code completion tasks. In this paper, we propose COde assistaNt viA retrieval-augmeNted language model (CONAN), which aims to build a code assistant by mimicking the knowledge-seeking behaviors of humans during coding. Specifically, it consists of a code structure aware retriever (CONAN-R) and a dual-view code representation-based retrieval-augmented generation model (CONAN-G). CONAN-R pretrains CodeT5 using Code-Documentation Alignment and Masked Entity Prediction tasks to make language models code structure-aware and learn effective representations for code snippets and documentation. Then CONAN-G designs a dual-view code representation mechanism for implementing a retrieval-augmented code generation model. CONAN-G regards the code documentation descriptions as prompts, which help language models better understand the code semantics. Our experiments show that CONAN achieves convincing performance on different code generation tasks and significantly outperforms previous retrieval augmented code generation models. Our further analyses show that CONAN learns tailored representations for both code snippets and documentation by aligning code-documentation data pairs and capturing structural semantics by masking and predicting entities in the code data. Additionally, the retrieved code snippets and documentation provide necessary information from both program language and natural language to assist the code generation process. CONAN can also be used as an assistant for Large Language Models (LLMs), providing LLMs with external knowledge in shorter code document lengths to improve their effectiveness on various code tasks. It shows the ability of CONAN to extract necessary information and help filter out the noise from retrieved code documents.
- Abstract(参考訳): 事前訓練された言語モデルは、コード検索、コード生成、コード要約、コード補完タスクなど、コード関連タスクにおいて大きな効果を示している。
本稿では,コーディング中の人間の知識探索行動を模倣してコードアシスタントを構築することを目的とした,COde assistaNt viA search-augmeNted Language Model (CONAN)を提案する。
具体的には、コード構造対応検索器(CONAN-R)と、デュアルビューコード表現に基づく検索拡張生成モデル(CONAN-G)から構成される。
CONAN-RはCode-Documentation AlignmentとMasked Entity Predictionタスクを使用してCodeT5を事前トレーニングし、言語モデルにコード構造を認識し、コードスニペットとドキュメントの効果的な表現を学ぶ。
次に、CONAN-Gは、検索拡張コード生成モデルを実装するための二重ビューコード表現機構を設計する。
CONAN-Gは、コードドキュメンテーションの記述をプロンプトとみなし、言語モデルがコードセマンティクスをよりよく理解するのに役立つ。
実験の結果, CONANは様々なコード生成タスクにおいて説得力のある性能を実現し, 従来の検索拡張コード生成モデルよりも大幅に優れていた。
コードスニペットとドキュメンテーションの両方に対して,コード文書データペアの整列と,コードデータ内のエンティティのマスキングと予測による構造的セマンティクスのキャプチャによって,CONANが適切な表現を学習していることを示す。
さらに、検索されたコードスニペットとドキュメントは、コード生成プロセスを支援するために、プログラム言語と自然言語の両方から必要な情報を提供する。
CONANはLarge Language Models (LLMs) のアシスタントとしても使用することができ、LLMに短いコード文書の長さの外部知識を提供することで、様々なコードタスクの有効性を向上させることができる。
これは、CONANが必要な情報を抽出し、取得したコード文書からノイズを除去する機能を示している。
関連論文リスト
- SparseCoder: Identifier-Aware Sparse Transformer for File-Level Code
Summarization [51.67317895094664]
本稿では,大規模なソースコードプロジェクトの理解と維持を支援するファイルレベルのコード要約について検討する。
長いコードシーケンスを効果的に処理するための識別子対応スパース変換器であるSparseCoderを提案する。
論文 参考訳(メタデータ) (2024-01-26T09:23:27Z) - Code Execution with Pre-trained Language Models [88.04688617516827]
コードインテリジェンスのトレーニング済みモデルのほとんどは実行トレースを無視しており、ソースコードと構文構造のみに依存している。
我々は,大規模かつ現実的なPythonデータセットとコード実行タスクを作成するために,突然変異に基づくデータ拡張手法を開発した。
次に、コード実行事前学習とカリキュラム学習を活用して意味理解を強化するトランスフォーマーモデルであるCodeExecutorを提案する。
論文 参考訳(メタデータ) (2023-05-08T10:00:05Z) - Generation-Augmented Query Expansion For Code Retrieval [51.20943646688115]
本稿では,次世代のクエリ拡張フレームワークを提案する。
人間の検索プロセスにインスパイアされた – 検索前に回答をスケッチする。
CodeSearchNetベンチマークで、最先端の新たな結果を得る。
論文 参考訳(メタデータ) (2022-12-20T23:49:37Z) - Unveiling Code Pre-Trained Models: Investigating Syntax and Semantics Capacities [34.27541293716398]
コードモデルがどのようにコード構文とセマンティクスを表現するかを調べるため、7つのコードモデルを広範囲に分析する。
コード構文とセマンティクスを学習するモデルの能力を評価するための4つの探索タスクを開発した。
コード構文とセマンティクスを習得する際の様々なコードモデルの長所と短所を強調した。
論文 参考訳(メタデータ) (2022-12-20T06:15:17Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z) - CodeRetriever: Unimodal and Bimodal Contrastive Learning [128.06072658302165]
関数レベルのコードセマンティック表現を訓練するために,一様および二様のコントラスト学習を組み合わせたCodeRetrieverモデルを提案する。
ノンモーダルなコントラスト学習のために、文書と関数名に基づいてポジティブなコードペアを構築するためのセマンティックガイド付き手法を設計する。
バイモーダルなコントラスト学習では、コードのドキュメンテーションとインラインコメントを活用して、テキストコードペアを構築します。
論文 参考訳(メタデータ) (2022-01-26T10:54:30Z) - CLSEBERT: Contrastive Learning for Syntax Enhanced Code Pre-Trained
Model [23.947178895479464]
CLSEBERTは,構文強化符号事前学習モデルのための構築学習フレームワークである。
事前学習段階では、抽象構文木(AST)に含まれるコード構文と階層について検討する。
ひとつは抽象構文木内のノード間のエッジを予測することであり、もう一つはコードトークンの型を予測することである。
論文 参考訳(メタデータ) (2021-08-10T10:08:21Z) - GraphCodeBERT: Pre-training Code Representations with Data Flow [97.00641522327699]
本稿では,コード固有の構造を考慮したプログラミング言語の事前学習モデルであるGraphCodeBERTを提案する。
これは変数間の"where-the-value-comes-from"の関係をエンコードするコードのセマンティックレベルの構造です。
コード検索,クローン検出,コード翻訳,コード改良の4つのタスクにおいて,本モデルを評価する。
論文 参考訳(メタデータ) (2020-09-17T15:25:56Z) - Self-Supervised Contrastive Learning for Code Retrieval and
Summarization via Semantic-Preserving Transformations [28.61567319928316]
Corderは、ソースコードモデルのための自己教師付きコントラスト学習フレームワークである。
重要なイノベーションは、ソースコードモデルをトレーニングし、類似した、異種のコードスニペットを認識するように要求することです。
Corderで事前訓練されたコードモデルは、コード・ツー・コード検索、テキスト・ツー・コード検索、およびコード・ツー・テキスト要約タスクにおいて、他のベースラインを大幅に上回っていることを示す。
論文 参考訳(メタデータ) (2020-09-06T13:31:16Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。