中文

基于预训练模型的 Stack Overflow 帖子标签推荐:PTM4Tag+

软件工程 2024-08-06 v1

摘要

Stack Overflow 是最具影响力的软件问答(SQA)网站之一,拥有数百万与编程相关的提问和回答。标签在高效组织 Stack Overflow 内容方面发挥着关键作用,是支持多项站点操作(如查询相关内容)的关键因素。标签选择不当常常引发标签模糊和标签膨胀等问题。因此,对精准、准确的自动化标签推荐技术迫切需求。灵感来源于最近在自然语言处理(NLP)中预训练模型(PTMs)的成功,我们提出 PTM4Tag+,一个针对 Stack Overflow 帖子的标签推荐框架,利用 PTMs 进行语言建模。PTM4Tag+ 采用三段体结构,考虑帖子的三个关键组成部分,即标题、描述和代码,分别使用独立的 PTMs。我们利用众多流行的预训练模型,包括基于 BERT 的模型(如 BERT、RoBERTa、CodeBERT、BERTOverflow 和 ALBERT),以及编码器-解码器模型(如 PLBART、CoTexT 和 CodeT5)。我们的结果表明,在 PTM4Tag+ 框架下利用 CodeT5 可在所考察的八个 PTMs 中获得最佳性能,相较于基于卷积神经网络的方法在平均 Precision@k、Recall@k 和 F1-score@k(k 范围为 1 到 5)上均显著提升。具体而言,CodeT5 在 F1-score@1-5 提升了 8.8%、12.4%、15.3%、16.4% 和 16.6%。此外,为解决推理延迟问题,我们实验 PTM4Tag+ 使用较小的 PTMs(即 DistilBERT、DistilRoBERTa、CodeBERT-small 和 CodeT5-small)。我们发现尽管较小的 PTMs无法超越较大的 PTMs,但它们仍在平均性能上保持超过 93.96%,同时将平均推理时间缩短超过 47.2%。

关键词

引用

@article{arxiv.2408.02311,
  title  = {PTM4Tag+: Tag Recommendation of Stack Overflow Posts with Pre-trained Models},
  author = {Junda He and Bowen Xu and Zhou Yang and DongGyun Han and Chengran Yang and Jiakun Liu and Zhipeng Zhao and David Lo},
  journal= {arXiv preprint arXiv:2408.02311},
  year   = {2024}
}

备注

arXiv admin note: substantial text overlap with arXiv:2203.10965