Stop words, which are considered non-predictive, are often eliminated in natural language processing tasks. However, the definition of uninformative vocabulary is vague, so most algorithms use general knowledge-based stop lists to remove stop words. There is an ongoing debate among academics about the usefulness of stop word elimination, especially in domain-specific settings. In this work, we investigate the usefulness of stop word removal in a software engineering context. To do this, we replicate and experiment with three software engineering research tools from related work. Additionally, we construct a corpus of software engineering domain-related text from 10,000 Stack Overflow questions and identify 200 domain-specific stop words using traditional information-theoretic methods. Our results show that the use of domain-specific stop words significantly improved the performance of research tools compared to the use of a general stop list and that 17 out of 19 evaluation measures showed better performance.
翻译:停用词,即被认为不具有预测性的词汇,在自然语言处理任务中常被剔除。然而,无信息词汇的定义较为模糊,因此大多数算法采用基于通用知识的停用词列表来移除这些词。学术界对于停用词去除的有效性一直存在争议,特别是在领域特定的场景中。本研究探讨了在软件工程背景下停用词去除的实际效用。为此,我们复现并实验了来自相关工作的三种软件工程研究工具。此外,我们从10,000个Stack Overflow问题中构建了一个软件工程领域相关的文本语料库,并利用传统信息论方法识别出200个领域特定的停用词。结果表明,与使用通用停用词列表相比,使用领域特定停用词显著提升了研究工具的性能,且在19项评估指标中有17项表现出更优效果。