Back to Search Start Over

EnTagRec++: An enhanced tag recommendation system for software information sites.

Authors :
Wang, Shaowei
Lo, David
Vasilescu, Bogdan
Serebrenik, Alexander
Source :
Empirical Software Engineering; Apr2018, Vol. 23 Issue 2, p800-832, 33p
Publication Year :
2018

Abstract

Software engineers share experiences with modern technologies using software information sites, such as Stack Overflow. These sites allow developers to label posted content, referred to as software objects, with short descriptions, known as tags. Tags help to improve the organization of questions and simplify the browsing of questions for users. However, tags assigned to objects tend to be noisy and some objects are not well tagged. For instance, 14.7% of the questions that were posted in 2015 on Stack Overflow needed tag re-editing after the initial assignment. To improve the quality of tags in software information sites, we propose EnTagRec<superscript>++</superscript>, which is an advanced version of our prior work EnTagRec. Different from EnTagRec, EnTagRec<superscript>++</superscript> does not only integrate the historical tag assignments to software objects, but also leverages the information of users, and an initial set of tags that a user may provide for tag recommendation. We evaluate its performance on five software information sites, Stack Overflow, Ask Ubuntu, Ask Different, Super User, and Freecode. We observe that even without considering an initial set of tags that a user provides, it achieves <italic>Recall@5</italic> scores of 0.821, 0.822, 0.891, 0.818 and 0.651, and <italic>Recall@10</italic> scores of 0.873, 0.886, 0.956, 0.887 and 0.761, on Stack Overflow, Ask Ubuntu, Ask Different, Super User, and Freecode, respectively. In terms of <italic>Recall@5</italic> and <italic>Recall@10</italic>, averaging across the 5 datasets, it improves upon TagCombine, which is the prior state-of-the-art approach, by 29.3% and 14.5% respectively. Moreover, the performance of our approach is further boosted if users provide some initial tags that our approach can leverage to infer additional tags: when an initial set of tags is given, <italic>Recall@5</italic> is improved by 10%. [ABSTRACT FROM AUTHOR]

Details

Language :
English
ISSN :
13823256
Volume :
23
Issue :
2
Database :
Complementary Index
Journal :
Empirical Software Engineering
Publication Type :
Academic Journal
Accession number :
128969117
Full Text :
https://doi.org/10.1007/s10664-017-9533-1