怎么才能方便的找自己需要的代码?
最好是能用人话来直接搜索、说什么就给什么那种。
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/facebookre...
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.c...
UNIF模型
When Deep Learning Met Code Search
Jose Cambronero, Hongyu Li, Seohyun Kim, Koushik Sen, Satish Chandra
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。