CodeSearchNetチャレンジ:意味的コード検索の現状評価
CodeSearchNetチャレンジは、コードの意味的理解に基づく検索技術の現状を評価する取り組みで、自然言語クエリによるコード検索の精度向上を目指しています。
キーポイント
CodeSearchNet Challengeと大規模コーパス(6百万関数、6言語)を公開し、意味的コード検索の進捗評価を可能にした
自然言語クエリとコードのギャップを埋める研究を促進するため、99のクエリと専門家による関連性アノテーションを提供
自動生成された自然言語クエリ(2百万関数分)を含むデータセットとベースラインソリューションを提示し、研究コミュニティへの貢献を目指す
影響分析・編集コメントを表示
影響分析
この研究は、自然言語によるコード検索という実用的な課題に対して、大規模で多言語のベンチマークデータセットを提供することで、AI研究コミュニティの進展を加速させる可能性がある。特に、開発者の生産性向上やコード理解支援ツールの発展に寄与し、ソフトウェア工学と機械学習の融合領域における重要な基盤整備と言える。
編集コメント
研究の再現性と進捗の測定可能性を高める良質なベンチマーク提供は、AIコミュニティ全体の健全な発展に不可欠な取り組みだ。
本記事は、自然言語のクエリから関連するコードを検索するタスク「意味的コード検索」の進展を評価するために、「CodeSearchNet Challenge」とそれに関連する大規模なデータセットを公開したことを報告するものである。
意味的コード検索は、一般的な情報検索とは異なり、曖昧な概念やアイデアを表現する自然言語と、省略的で技術的なコードの言語との間にある隔たりを埋める必要がある、重要な課題である。この課題への取り組みを促進し、進捗を適切に評価するため、研究チームは2つの主要なリソースを構築した。
第一に、「CodeSearchNet コーパス」である。これは、Go、Java、JavaScript、PHP、Python、Rubyの6つのプログラミング言語にわたる約600万個のオープンソース関数から構成される大規模なデータセットである。さらに、関数のドキュメントを機械的に収集・前処理することで、約200万の関数に対して、クエリのような自然言語の記述を自動生成して付与している。これにより、教師あり学習のための訓練データを提供する。
第二に、「CodeSearchNet チャレンジ」である。これは、上記コーパスから抽出された可能性のある結果に対して、専門家による関連性のアノテーション(注釈)を約4,000件施した、99個の自然言語クエリで構成される評価用ベンチマークである。この厳密にラベル付けされたクエリセットにより、異なるコード検索モデルの性能を公平に比較・評価することが可能となる。
記事では、このコーパスと専門家ラベルの作成方法に加えて、このタスクに対するいくつかのシンプルなベースライン手法も提示している。研究チームは、このチャレンジと公開データセットが、研究者や実践者による意味的コード検索のさらなる研究を促進することを期待している。また、進捗を可視化するために、競争コンテストとリーダーボードをホストする予定であり、将来的にはクエリ数やプログラミング言語の拡充も計画している。
要約すると、本取り組みは、意味的コード検索という難しい課題に対して、初めての大規模で多言語にわたる評価基盤を整備し、研究コミュニティの集中的な取り組みを呼びかけることを目的としている。
原文を表示
--> Computer Science > Machine Learning
[Submitted on 20 Sep 2019 (v1), last revised 8 Jun 2020 (this version, v3)] Title:CodeSearchNet Challenge: Evaluating the State of Semantic Code Search
Abstract:Semantic code search is the task of retrieving relevant code given a natural language query. While related to other information retrieval tasks, it requires bridging the gap between the language used in code (often abbreviated and highly technical) and natural language more suitable to describe vague concepts and ideas. To enable evaluation of progress on code search, we are releasing the CodeSearchNet Corpus and are presenting the CodeSearchNet Challenge, which consists of 99 natural language queries with about 4k expert relevance annotations of likely results from CodeSearchNet Corpus. The corpus contains about 6 million functions from open-source code spanning six programming languages (Go, Java, JavaScript, PHP, Python, and Ruby). The CodeSearchNet Corpus also contains automatically generated query-like natural language for 2 million functions, obtained from mechanically scraping and preprocessing associated function documentation. In this article, we describe the methodology used to obtain the corpus and expert labels, as well as a number of simple baseline solutions for the task. We hope that CodeSearchNet Challenge encourages researchers and practitioners to study this interesting task further and will host a competition and leaderboard to track the progress on the challenge. We are also keen on extending CodeSearchNet Challenge to more queries and programming languages in the future.
Focus to learn more arXiv-issued DOI via DataCite Submission history
Bibliographic and Citation Tools
Code, Data and Media Associated with this Article
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み