加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

怎样晋升代码搜刮结果?GitHub团队打造代码搜刮规模的GLUE数据集

发布时间:2019-10-01 07:23:36 所属栏目:移动互联 来源:机器之心编译
导读:想晋升代码搜刮结果?起首你得知道怎么才算晋升。GitHub 团队建设 CodeSearchNet 语料库,旨在为代码搜刮规模提供基准数据集,晋升代码搜刮功效的质量。 搜刮代码举办重用、挪用,可能借此查察别人处理赏罚题目的方法,是软件开拓者一般事变中最常见的使命之一

为了进修这些嵌入函数,GitHub 团队在架构中插手了尺度序列编码器模子,如图 3 所示。起首,按照输入序列的语义对其执行预处理赏罚:将代码 token 中的标识符支解为子 token(如变量 camelCase 酿成了两个子 token:camel 和 case),行使字节对编码(byte-pair encoding,BPE)支解天然说话 token。

如何提升代码搜索效果?GitHub团队打造代码搜索领域的GLUE数据集

图 3:模子架构概览。

然后行使以下架构之一处理赏罚 token 序列,以得到(语境化的)token 嵌入。

  • 神经词袋模子:每个(子)token 都被转换为可进修嵌入(向量暗示)。
  • 双向 RNN 模子:操作 GRU 单位总结输入序列。
  • 一维卷积神经收集:用于处理赏罚输入 token 序列。
  • 自留意力模子:其多头留意力用于计较序列中每个 token 的暗示。

之后,行使池化函数将这些 token 嵌入组合为一个序列嵌入,GitHub 团队已经实现了 mean/max-pooling 和类留意力的加权和机制。

下图展示了基线模子的通用架构:

如何提升代码搜索效果?GitHub团队打造代码搜索领域的GLUE数据集

CodeSearchNet 挑衅赛

为了评估代码搜刮模子,GitHub 团队网络了一组代码搜刮 query,并让措施员标注 query 与也许功效的关联水平。他们起首从必应中网络了一些常见搜刮 query,团结 StaQC 中的 query 一共得到 99 个与代码观念相干的 query(GitHub 团队删除了 API 文档查询方面的题目)。

如何提升代码搜索效果?GitHub团队打造代码搜索领域的GLUE数据集

图 1:标注者指导声名。

之后,GitHub 团队行使尺度 Elasticsearch 和基线模子,从 CodeSearchNet 语料库中为每个 query 得到 10 个也许的功效。最后,GitHub 团队请措施员、数据科学家和呆板进修研究者凭证 [0, 3] 的尺度标注每个功效与 query 的关联水平(0 暗示「完全不相干」,3 暗示「完全匹配」)。

将来,GitHub 团队想在该评估数据齐集纳入更多说话、query 和标注。接下来几个月,他们将一连添加新的数据,为下一个版本的 CodeSearchNet Challenge 建造扩展版数据集。

【编辑保举】

  1. TextMate免费开源的老牌代码编辑器
  2. Github 上很是适用的 Vue 开源库
  3. 进步开拓职员的事变服从,请紧记这些小贴士
  4. GitHub万星NLP资源大进级:Pytorch和TF深度互操纵,32个最新模子
  5. 四年完成400万行Python代码搜查,乃至随手写了个编译器
【责任编辑:张燕妮 TEL:(010)68476606】
点赞 0

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读