
摘要
语义代码搜索旨在为给定的自然语言查询找到语义相关的代码片段。在当前最先进的方法中,代码与查询之间的语义相似性通过它们在共享向量空间中表示之间的距离来量化。本文中,为优化向量空间表示,我们对简化形式的抽象语法树(AST)引入了树序列化方法,并构建了代码数据的多模态表示。我们在一个大规模、多语言的单一语料库——CodeSearchNet上进行了大量实验。实验结果表明,所提出的树序列化表示方法以及多模态学习模型均显著提升了代码搜索的性能。最后,我们定义了直观的量化指标,用于评估代码数据在语义与语法信息完整性方面的表现,以帮助深入理解实验结果。
代码仓库
jianguda/mrncs
官方
tf
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| code-search-on-codesearchnet-ruby | Uni-SBT | MRR: 0.3639 |