論文の概要: LAMNER: Code Comment Generation Using Character Language Model and Named
Entity Recognition
- arxiv url: http://arxiv.org/abs/2204.09654v1
- Date: Tue, 5 Apr 2022 20:53:06 GMT
- ステータス: 処理完了
- システム内更新日: 2022-04-24 21:56:19.810799
- Title: LAMNER: Code Comment Generation Using Character Language Model and Named
Entity Recognition
- Title(参考訳): LAMNER:文字言語モデルと名前付きエンティティ認識を用いたコードコメント生成
- Authors: Rishab Sharma and Fuxiang Chen and Fatemeh Fard
- Abstract要約: LANguage Model と Named Entity Recognition (LAMNER) を提案する。
LAMNERは、コード構造を効果的に符号化し、コードトークンの構造的特性をキャプチャできるコードコメント生成装置である。
LAMNERや他のベースラインから生成されたコメントを、一般的な4つのメトリクスを持つ人気のあるJavaデータセットで評価する。
- 参考スコア(独自算出の注目度): 0.7894331610810762
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Code comment generation is the task of generating a high-level natural
language description for a given code method or function. Although researchers
have been studying multiple ways to generate code comments automatically,
previous work mainly considers representing a code token in its entirety
semantics form only (e.g., a language model is used to learn the semantics of a
code token), and additional code properties such as the tree structure of a
code are included as an auxiliary input to the model. There are two
limitations: 1) Learning the code token in its entirety form may not be able to
capture information succinctly in source code, and 2) The code token does not
contain additional syntactic information, inherently important in programming
languages.
In this paper, we present LAnguage Model and Named Entity Recognition
(LAMNER), a code comment generator capable of encoding code constructs
effectively and capturing the structural property of a code token. A
character-level language model is used to learn the semantic representation to
encode a code token. For the structural property of a token, a Named Entity
Recognition model is trained to learn the different types of code tokens. These
representations are then fed into an encoder-decoder architecture to generate
code comments. We evaluate the generated comments from LAMNER and other
baselines on a popular Java dataset with four commonly used metrics. Our
results show that LAMNER is effective and improves over the best baseline model
in BLEU-1, BLEU-2, BLEU-3, BLEU-4, ROUGE-L, METEOR, and CIDEr by 14.34%,
18.98%, 21.55%, 23.00%, 10.52%, 1.44%, and 25.86%, respectively. Additionally,
we fused LAMNER's code representation with the baseline models, and the fused
models consistently showed improvement over the non-fused models. The human
evaluation further shows that LAMNER produces high-quality code comments.
- Abstract(参考訳): コードコメント生成は、与えられたコードメソッドや関数の高レベルな自然言語記述を生成するタスクである。
研究者は、コードコメントを自動的に生成する方法をいくつか研究しているが、以前の研究は主に、コードトークンを全体意味論形式で表現すること(例えば、コードトークンの意味を学ぶために言語モデルが使用される)を検討しており、コードのツリー構造のような追加的なコードプロパティがモデルの補助入力として含まれている。
制限は2つある。
1)全形式のコードトークンを学習しても,ソースコード内で簡潔に情報を取得できない場合がある。
2) コードトークンには、本質的にプログラミング言語で重要な構文情報が含まれない。
本稿では、コード構造を効果的に符号化し、コードトークンの構造特性をキャプチャできるコードコメント生成装置であるLAnguage Model and Named Entity Recognition (LAMNER)を提案する。
文字レベルの言語モデルは、コードトークンをエンコードする意味表現を学ぶために使用される。
トークンの構造特性については、異なるタイプのコードトークンを学ぶために、名前付きエンティティ認識モデルを訓練する。
これらの表現はエンコーダ-デコーダアーキテクチャに入力され、コードコメントを生成する。
LAMNERや他のベースラインから生成されたコメントを、一般的な4つのメトリクスを持つ人気のあるJavaデータセットで評価する。
LAMNERは, BLEU-1, BLEU-2, BLEU-3, BLEU-4, ROUGE-L, METEOR, CIDErにおいて, それぞれ14.34%, 18.98%, 21.55%, 23.00%, 10.52%, 1.44%, 25.86%のベースラインモデルに対して有効であり, 改善されている。
さらに、LAMNERのコード表現をベースラインモデルと融合させ、融合モデルは非融合モデルよりも一貫して改善した。
人的評価により、lamnerは高品質のコードコメントを生成する。
関連論文リスト
- Code Execution with Pre-trained Language Models [88.04688617516827]
コードインテリジェンスのトレーニング済みモデルのほとんどは実行トレースを無視しており、ソースコードと構文構造のみに依存している。
我々は,大規模かつ現実的なPythonデータセットとコード実行タスクを作成するために,突然変異に基づくデータ拡張手法を開発した。
次に、コード実行事前学習とカリキュラム学習を活用して意味理解を強化するトランスフォーマーモデルであるCodeExecutorを提案する。
論文 参考訳(メタデータ) (2023-05-08T10:00:05Z) - Outline, Then Details: Syntactically Guided Coarse-To-Fine Code
Generation [61.50286000143233]
ChainCoderは、Pythonコードを段階的に生成するプログラム合成言語モデルである。
自然言語記述と構文的に整合したI/Oデータサンプルを共同で符号化するために、カスタマイズされたトランスフォーマーアーキテクチャを利用する。
論文 参考訳(メタデータ) (2023-04-28T01:47:09Z) - CodeBERTScore: Evaluating Code Generation with Pretrained Models of Code [75.08995072899594]
コード生成のための評価指標であるCodeBERTScoreを提案する。
CodeBERTScoreは生成されたコードの前に入力された自然言語をエンコードする。
CodeBERTScoreは、既存のすべての指標よりも、人間の嗜好と機能的正しさとの相関性が高いことがわかった。
論文 参考訳(メタデータ) (2023-02-10T22:12:05Z) - Unveiling Code Pre-Trained Models: Investigating Syntax and Semantics Capacities [34.27541293716398]
コードモデルがどのようにコード構文とセマンティクスを表現するかを調べるため、7つのコードモデルを広範囲に分析する。
コード構文とセマンティクスを学習するモデルの能力を評価するための4つの探索タスクを開発した。
コード構文とセマンティクスを習得する際の様々なコードモデルの長所と短所を強調した。
論文 参考訳(メタデータ) (2022-12-20T06:15:17Z) - CodeRetriever: Unimodal and Bimodal Contrastive Learning [128.06072658302165]
関数レベルのコードセマンティック表現を訓練するために,一様および二様のコントラスト学習を組み合わせたCodeRetrieverモデルを提案する。
ノンモーダルなコントラスト学習のために、文書と関数名に基づいてポジティブなコードペアを構築するためのセマンティックガイド付き手法を設計する。
バイモーダルなコントラスト学習では、コードのドキュメンテーションとインラインコメントを活用して、テキストコードペアを構築します。
論文 参考訳(メタデータ) (2022-01-26T10:54:30Z) - Contrastive Learning for Source Code with Structural and Functional
Properties [66.10710134948478]
本稿では,ソースコードの特徴に基づいて事前学習に焦点を当てた,新たな自己教師型モデルBOOSTを提案する。
私たちは、機能的に等価なコードを生成する自動化された構造誘導型コード変換アルゴリズムを採用しています。
私たちは、対照的な学習目標を通じて、機能的に等価なコードをより近く、異なるコードに近づける方法で、モデルをトレーニングします。
論文 参考訳(メタデータ) (2021-10-08T02:56:43Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。