中文

使用 BERT 与查询感知 LSH 改进非正式文档上的代码示例推荐:一项比较研究

软件工程 2023-11-07 v4 人工智能 机器学习

摘要

我们的研究调查代码示例的推荐以辅助软件开发者,该实践通过提供即用代码段为开发者节省大量时间。我们研究的焦点是 Stack Overflow,一个常用于编码讨论与解决方案(尤其在 Java 编程语言背景下)的资源。我们应用 BERT,一个强大的大语言模型(LLM),其使我们能够通过提取语义信息将代码示例转换为数值向量。一旦这些数值表示准备好,我们使用局部敏感哈希(LSH)识别近似最近邻(ANN)。我们的研究采用两种 LSH 变体:基于随机超平面的 LSH 与查询感知 LSH。我们严格比较这两种方法在四个参数上的表现:命中率(HitRate)、平均倒数排名(MRR)、平均执行时间与相关性。我们的研究显示查询感知(QA)方法相对于基于随机超平面(RH)的方法表现出更优性能。具体而言,对于查询对,其命中率相较 RH 方法显著提高了 20% 至 35%。此外,QA 方法被证明显著更省时,其创建哈希表与将数据样本分配至桶的速度至少快四倍。它能在毫秒内返回代码示例,而 RH 方法通常需要数秒来推荐代码示例。由于 QA 方法的优越性能,我们将其与最先进基线 PostFinder 和 FaCoY 进行测试。我们的 QA 方法展现出可比的效率,证明了其用于有效代码推荐的潜力。

关键词

引用

@article{arxiv.2305.03017,
  title  = {Improving Code Example Recommendations on Informal Documentation Using BERT and Query-Aware LSH: A Comparative Study},
  author = {Sajjad Rahmani and AmirHossein Naghshzan and Latifa Guerrouj},
  journal= {arXiv preprint arXiv:2305.03017},
  year   = {2023}
}