說人話,搜代碼,Facebook發佈神經代碼搜索數據集+benchmark

郭一璞 發自 中關村

量子位 報道 | 公眾號 QbitAI

怎麼才能方便的找自己需要的代碼?

最好是能用人話來直接搜索、說什麼就給什麼那種。

Facebook剛剛發佈了新benchmark和數據集,用於評估神經代碼搜索模型。

說人話,搜代碼,Facebook發佈神經代碼搜索數據集+benchmark

比如在去年滑鐵盧大學、Facebook和UC伯克利的研究者發佈的NCS模型,還有MIT、Facebook和UC伯克利發佈的UNIF這個模型上,都可以運行。

在這類模型上,給到一個自然語言的query,比如:

How can I convert a stack trace to a string?
如何將棧追蹤轉化為字符串?”

代碼搜索模型就會在整個語料庫裡搜索相關的代碼片段。

因此,Facebook此次推出的數據集包含以下三個部分:

總共包含3個部分:

GitHub存儲庫

由GitHub上近24549個星數最高的Android庫的代碼片段組成的搜索語料庫,包含Python腳本。

搜索語料庫

依靠前面的24549個庫,解析其中的方法主體,總共包括4,716,814個。給到自然語言query後,代碼搜索模型從中搜索出需要的代碼片段。

每個方法主體已經給到了包括它的ID、文件路徑、起始行、結束行、url等在內的相關信息。

評估數據集

包含287個堆棧溢出問答對,包括其ID、問題、答案url、答案几個部分,這些問題來自Stack Exchange。

在NCS和UNIF兩個模型和他們的變體上的運行結果如下:

說人話,搜代碼,Facebook發佈神經代碼搜索數據集+benchmark

傳送門

論文

Neural Code Search Evaluation Dataset

Hongyu Li, Seohyun Kim, Satish Chandra

https://arxiv.org/abs/1908.09804

GitHub

https://github.com/facebookresearch/Neural-Code-Search-Evaluation-Dataset

NCS模型

Retrieval on source code: a neural code search

Saksham Sachdev, Hongyu Li, Sifei Luan, Seohyun Kim, Koushik Sen, Satish Chandra

https://dl.acm.org/citation.cfm?id=3211353

UNIF模型

When Deep Learning Met Code Search

Jose Cambronero, Hongyu Li, Seohyun Kim, Koushik Sen, Satish Chandra

https://arxiv.org/abs/1905.03813

— 完 —

誠摯招聘

量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界面,回覆“招聘”兩個字。

量子位 QbitAI · 頭條號簽約作者

վ'ᴗ' ի 追蹤AI技術和產品新動態


分享到:


相關文章: