怎样晋升代码搜刮结果?GitHub团队打造代码搜刮规模的GLUE数据集
为了进修这些嵌入函数,GitHub 团队在架构中插手了尺度序列编码器模子,如图 3 所示。起首,按照输入序列的语义对其执行预处理赏罚:将代码 token 中的标识符支解为子 token(如变量 camelCase 酿成了两个子 token:camel 和 case),行使字节对编码(byte-pair encoding,BPE)支解天然说话 token。 图 3:模子架构概览。 然后行使以下架构之一处理赏罚 token 序列,以得到(语境化的)token 嵌入。
之后,行使池化函数将这些 token 嵌入组合为一个序列嵌入,GitHub 团队已经实现了 mean/max-pooling 和类留意力的加权和机制。 下图展示了基线模子的通用架构: CodeSearchNet 挑衅赛 为了评估代码搜刮模子,GitHub 团队网络了一组代码搜刮 query,并让措施员标注 query 与也许功效的关联水平。他们起首从必应中网络了一些常见搜刮 query,团结 StaQC 中的 query 一共得到 99 个与代码观念相干的 query(GitHub 团队删除了 API 文档查询方面的题目)。 图 1:标注者指导声名。 之后,GitHub 团队行使尺度 Elasticsearch 和基线模子,从 CodeSearchNet 语料库中为每个 query 得到 10 个也许的功效。最后,GitHub 团队请措施员、数据科学家和呆板进修研究者凭证 [0, 3] 的尺度标注每个功效与 query 的关联水平(0 暗示「完全不相干」,3 暗示「完全匹配」)。 将来,GitHub 团队想在该评估数据齐集纳入更多说话、query 和标注。接下来几个月,他们将一连添加新的数据,为下一个版本的 CodeSearchNet Challenge 建造扩展版数据集。 【编辑保举】
点赞 0 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |