郭一璞 發自 中關村
量子位 報道 | 公眾號 QbitAI
怎麼才能方便的找自己需要的代碼?
最好是能用人話來直接搜索、說什麼就給什麼那種。
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兩個模型和他們的變體上的運行結果如下:
傳送門
論文
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技術和產品新動態
閱讀更多 量子位 的文章