Skip to main content
QUICK REVIEW

[論文レビュー] Code to Comment "Translation": Data, Metrics, Baselining & Evaluation

David Gros, Hariharan Sezhiyan|arXiv (Cornell University)|Oct 3, 2020
Natural Language Processing Techniques参考文献 61被引用数 7
ひとこと要約

この論文は、コードからコメントを生成するタスクにおけるニューラル機械翻訳モデルの使用を批判的に評価し、コードコメントが自然言語テキストよりもはるかに繰り返しが多く、BLEUスコアが誇張されていることを明らかにした。また、単純な情報検索ベースラインがしばしば最先端の深層学習モデルを上回ることを示し、分野における現在の評価手法の妥当性に疑問を呈している。

ABSTRACT

The relationship of comments to code, and in particular, the task of generating useful comments given the code, has long been of interest. The earliest approaches have been based on strong syntactic theories of comment-structures, and relied on textual templates. More recently, researchers have applied deep learning methods to this task, and specifically, trainable generative translation models which are known to work very well for Natural Language translation (e.g., from German to English). We carefully examine the underlying assumption here: that the task of generating comments sufficiently resembles the task of translating between natural languages, and so similar models and evaluation metrics could be used. We analyze several recent code-comment datasets for this task: CodeNN, DeepCom, FunCom, and DocString. We compare them with WMT19, a standard dataset frequently used to train state of the art natural language translators. We found some interesting differences between the code-comment data and the WMT19 natural language data. Next, we describe and conduct some studies to calibrate BLEU (which is commonly used as a measure of comment quality). using "affinity pairs" of methods, from different projects, in the same project, in the same class, etc; Our study suggests that the current performance on some datasets might need to be improved substantially. We also argue that fairly naive information retrieval (IR) methods do well enough at this task to be considered a reasonable baseline. Finally, we make some suggestions on how our findings might be used in future research in this area.

研究の動機と目的

  • 類似した深層学習モデルが使用されているにもかかわらず、コードコメント生成が自然言語翻訳と本当に類似しているかどうかを評価すること。
  • コードコメントにおける高い繰り返しの度合が、BLEUなどの評価指標に与える影響を調査すること。
  • 類縁性に基づくメソッドグループを用いてBLEUスコアを補正し、現実的な性能期待値を設定すること。
  • 単純な情報検索手法がコードコメント生成の強力なベースラインとして機能できるかどうかを評価すること。
  • 今後のコードコメント生成研究における標準化された評価およびベースライン手法の導入を提言すること。

提案手法

  • Zipfプロットを用いて、コードコメントデータセット(CodeNN、DeepCom、FunCom、DocString)とWMT19自然言語翻訳データセットとの間で、3-gram頻度分布を比較した。
  • 同じプロジェクト、同じクラス、同じメソッド名を有するメソッドペア(「類縁ペア」として定義)を用い、BLEUスコアの補正と類似性に基づく性能評価を実施した。
  • 異なるデータ分割と前処理手法におけるBLEUスコアの変動と信頼性を評価するために、スコアを測定した。
  • TF-IDFベクトル化とコサイン類似度を用いた単純な情報検索ベースラインを実装し、類似メソッドからのコメントを検索した。
  • 検索ベースのベースラインの性能を、標準データセット上で報告された最先端(SOTA)結果と比較した。
  • 今後の研究において、GLUE や SQuAD のようなNLPベンチマークで用いられるのと同様の標準化された評価プロトコルを採用すべきだと提言した。

実験結果

リサーチクエスチョン

  • RQ1WMT19のような標準翻訳データセットにおける自然言語と比較して、コードコメントの言語的特徴はどのように異なるか?
  • RQ2コードコメントに見られる高い繰り返しの度合が、コメント品質の指標としてのBLEUスコアの信頼性にどの程度歪められるか?
  • RQ3単純な情報検索手法が、コードコメント生成において最先端の深層学習モデルと同等またはそれ以上の性能を達成できるか?
  • RQ4同じクラス、同じプロジェクトなどの異なるレベルのメソッド類縁性が、期待されるBLEUスコアにどのように影響するか。また、それらはベースライン性能をどのように明らかにするか?
  • RQ5公平で再現可能な比較が可能となるよう、コードコメント生成研究における評価手法にどのような改善が必要か?

主な発見

  • Zipfプロットの勾配が急であることに基づき、コードコメントはWMT19の自然言語と比較して顕著に高い3-gram繰り返しを示しており、テンプレート駆動型の言語的特徴が強いことが示された。
  • WMT19データセットでは、類似したドイツ語入力に対して類似した英語出力が得られる強固な入力-出力依存性が見られたが、コードコメントデータセットではこのパターンが弱いか、まったく存在しないことが判明した。
  • BLEUスコアはデータ分割や前処理に極めて敏感であり、一部のケースでは報告されたモデル改善量を上回る変動が生じた。
  • TF-IDFとコサイン類似度を用いた単純な情報検索ベースラインが、複数のデータセットで報告されたSOTAニューラルモデルと同等またはそれ以上の性能を達成した。
  • 同じクラスに属するメソッドからコメントを検索すると、現在の最先端モデルと同等の平均BLEUスコアが得られ、これは強力なベースラインである可能性を示唆している。
  • 本研究は、既存のコードコメントデータセットにおける前処理、分割、評価関数の間で顕著な不整合が存在することを明らかにした。これにより、比較可能性が損なわれている。

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

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

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

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