Skip to main content
QUICK REVIEW

[論文レビュー] Bridging Semantic Gaps between Natural Languages and APIs with Word Embedding

Xiaochen Li, He Jiang|arXiv (Cornell University)|Oct 23, 2018
Software Engineering Research参考文献 51被引用数 4
ひとこと要約

この論文では、単語とAPIを共有のベクトル空間内で同時にモデル化することで、自然言語クエリとAPIの間の意味的ギャップを埋めるWord2APIという手法を提案する。GitHubのソースコードとコメントから数百万件の単語-APIペアをマイニングし、それらを整列させるためにシャッフル戦略を適用することで、関連性推定の精度とNDCGが10%〜49.6%向上し、ベースラインを上回る性能を示した。コード検索やAPIドキュメントリンクのタスクにおいても優れた性能を発揮した。

ABSTRACT

Developers increasingly rely on text matching tools to analyze the relation between natural language words and APIs. However, semantic gaps, namely textual mismatches between words and APIs, negatively affect these tools. Previous studies have transformed words or APIs into low-dimensional vectors for matching; however, inaccurate results were obtained due to the failure of modeling words and APIs simultaneously. To resolve this problem, two main challenges are to be addressed: the acquisition of massive words and APIs for mining and the alignment of words and APIs for modeling. Therefore, this study proposes Word2API to effectively estimate relatedness of words and APIs. Word2API collects millions of commonly used words and APIs from code repositories to address the acquisition challenge. Then, a shuffling strategy is used to transform related words and APIs into tuples to address the alignment challenge. Using these tuples, Word2API models words and APIs simultaneously. Word2API outperforms baselines by 10%-49.6% of relatedness estimation in terms of precision and NDCG. Word2API is also effective on solving typical software tasks, e.g., query expansion and API documents linking. A simple system with Word2API-expanded queries recommends up to 21.4% more related APIs for developers. Meanwhile, Word2API improves comparison algorithms by 7.9%-17.4% in linking questions in Question&Answer communities to API documents.

研究の動機と目的

  • ソフトウェア工学分野における効果的な情報検索を阻害する、自然言語クエリとAPIの間の意味的ギャップを解消すること。
  • 単語やAPIを個別にモデル化する従来の手法の限界を克服し、関連性推定の正確性を向上させること。
  • 実世界のコードリポジトリから大規模かつ多様な単語-APIペアを取得するスケーラブルなアプローチを開発すること。
  • クエリ拡張やAPIドキュメントリンクといったソフトウェア工学タスクにおける、より正確で効果的な手法を可能にすること。
  • 単語とAPIを共有のベクトル空間内で同時にモデル化することで、意味的関連性推定を向上させること。

提案手法

  • Word2APIは、GitHubのソースコードとメソッドコメントから数百万件の単語-APIペアを収集することで、データ収集の課題に対処する。
  • ヒューリスティックルールを用いてメソッドコメントから単語、ソースコードからAPIを抽出することで、意味的関連性を保証する。
  • 同じメソッドに属する単語とAPIを組み合わせて単語-APIタプルを形成することで、文脈的な関係を保持する。
  • 各タプル内の単語とAPIをランダムに再順序することで、多様な訓練サンプルを生成し、整列を向上させるシャッフル戦略を適用する。
  • シャッフルされたタプルを用いて共同埋め込みモデルを学習し、単語とAPI間の意味的類似性を捉える低次元のベクトルを学習する。
  • 単語埋め込み(Word2Vec)に類似したスキップグラム+ネガティブサンプリング手法を用いて、単語-API関連性を最適化する埋め込み空間を学習する。

実験結果

リサーチクエスチョン

  • RQ1共同埋め込みモデルは、自然言語の単語とAPIの間の意味的関連性を効果的に推定できるか?
  • RQ2複数の評価指標において、Word2APIは従来の手法と比較して、関連性推定でどの程度優れているか?
  • RQ3Word2APIは、コード検索やAPI推薦タスクにおけるクエリ拡張をどの程度向上できるか?
  • RQ4Word2APIは、Q&Aコミュニティにおけるソフトウェアの質問を関連するAPIドキュメントにリンクする際の精度を向上させられるか?
  • RQ5シャッフル戦略は、単語とAPIの関係の整列と表現をどの程度向上させるか?

主な発見

  • Word2APIは、ベースライン手法と比較して、精度とNDCGにおいて10%〜49.6%の関連性推定の向上を達成した。
  • クエリ拡張のタスクでは、Word2APIを用いたシステムが、ベースラインシステムと比較して最大21.4%も関連性の高いAPIを推薦できた。
  • Stack Overflowの質問を関連するAPIドキュメントにリンクするタスクにおいて、Word2APIは既存の比較アルゴリズムを7.9%〜17.4%向上させた。
  • 単語-API関連性推定および下流のソフトウェア工学タスクの両方で、優れた性能を発揮した。
  • シャッフル戦略は、単語とAPIの間の整列を顕著に向上させ、意味的関係の共同モデリングをより効果的に可能にした。
  • Word2APIは、コード検索やAPI推薦を含む多様なプログラミングタスクに強く一般化する能力を示した。

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

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

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

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