中文

面向代码搜索的自监督查询改写

软件工程 2023-07-04 v1

摘要

自动查询改写是一项被广泛用于丰富用户需求并提升代码搜索结果的技术。它可被概念化为一项机器翻译任务,其目标是将给定查询重述为更全面的替代表述。尽管展现出有前景的结果,训练此类模型通常需要由在线代码搜索引擎保密且未发布的查询对(即原始查询与改写后查询)组成的大规模平行语料库。这限制了其在软件开发过程中的实用性。本文提出 SSQR,一种不依赖任何平行查询语料的自监督查询改写方法。受预训练模型启发,SSQR 将查询改写视为在大规模无标注查询语料上进行的掩码语言建模任务。SSQR 以名为损坏查询补全(CQC)的新预训练目标扩展 T5(基于 Transformer 的序列到序列模型),该目标随机掩码完整查询中的词并训练 T5 预测被掩码内容。随后,对于待改写的给定查询,SSQR 识别潜在的扩展位置,并利用预训练的 T5 模型生成合适内容填补这些空缺。扩展的选择则基于与各候选相关的信息增益。评估结果表明,SSQR 显著优于无监督基线,并与有监督方法取得具有竞争力的性能。

关键词

引用

@article{arxiv.2307.00267,
  title  = {Self-Supervised Query Reformulation for Code Search},
  author = {Yuetian Mao and Chengcheng Wan and Yuze Jiang and Xiaodong Gu},
  journal= {arXiv preprint arXiv:2307.00267},
  year   = {2023}
}

备注

Accepted to be published in ESEC/FSE 2023