Software Entity Recognition with Noise-Robust Learning
Tai Nguyen Yifeng Di Joohan Lee Muhao Chen Tianyi Zhang
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 models,
data, and code for future research.