一句话:提出自正则化噪声鲁棒学习方法,并构建大规模软件实体词典与数据集,提升自由文本中的软件实体识别。
软件实体识别(如库名)对可追溯性恢复、自动文档和 API 推荐等软件工程任务至关重要。现有方法受限于实体词汇量小或训练数据噪声大,难以识别复杂叙述中的软件实体。本文利用 Wikipedia taxonomy 构建包含 12 种细粒度类型、79K 唯一软件实体的综合词典,以及超过 170 万句的大型标注数据集。提出 self-regularization 噪声鲁棒学习策略,在训练软件实体识别(SER)模型时考虑大量 dropout。实验表明,在 Wikipedia 基准和两个 Stack Overflow 基准上,采用自正则化的模型优于普通版本和当前最优方法。作者发布了模型、数据和代码。
Recognizing software entities such as library names from free-form text is essential to enable many software engineering (SE) technologies, such as traceability link recovery, automated documentation, and API recommendation. While many approaches have been proposed to address this problem, they suffer from small entity vocabularies or noisy training data, hindering their ability to recognize software entities mentioned in sophisticated narratives. To address this challenge, we leverage the Wikipedia taxonomy to develop a comprehensive entity lexicon with 79K unique software entities in 12 fine-grained types, as well as a large labeled dataset of over 1.7M sentences. Then, we propose self-regularization, a noise-robust learning approach, to the training of our software entity recognition (SER) model by accounting for many dropouts. Results show that models trained with self-regularization outperform both their vanilla counterparts and state-of-the-art approaches on our Wikipedia benchmark and two Stack Overflow benchmarks. We release our models11https://huggingface.co/taidng/wikiser-bert-base; https.//huggingface.co/taidng/wikiser-bert-large., data, and code for future research.22https://github.com/taidnguyen/software_entity_recognition