中文

Siamese 网络用于语义代码搜索的评估

软件工程 2020-11-03 v1 人工智能 计算与语言

摘要

随着开放仓库和讨论论坛数量的增加,使用自然语言进行语义代码搜索已变得越来越普遍。然而,此类系统返回结果的准确性可能较低,原因在于 1)代码与用户查询之间共享词汇有限,以及 2)对用户查询及其与代码语法关系的语义理解不足。Siamese 网络非常适合于学习数据之间的此类联合关系,但尚未在代码搜索背景下被探索。在本工作中,我们通过探索多种提取网络架构来评估 Siamese 网络在该任务上的表现。这些网络独立处理代码和文本描述,然后将它们传递给 Siamese 网络以学习公共空间中的嵌入。我们在两个不同数据集上实验,发现 Siamese 网络可以作为从代码和文本中提取丰富信息的网络上的强正则化器,这反过来有助于在代码搜索上取得令人印象深刻的性能,在 22 种编程语言上击败先前的基线。我们还分析了这些网络的嵌入空间,并给出了充分利用 Siamese 网络用于语义代码搜索能力的方向。

关键词

引用

@article{arxiv.2011.01043,
  title  = {Evaluation of Siamese Networks for Semantic Code Search},
  author = {Raunak Sinha and Utkarsh Desai and Srikanth Tamilselvam and Senthil Mani},
  journal= {arXiv preprint arXiv:2011.01043},
  year   = {2020}
}