Topic recommendation for software repositories using multi-label classification algorithms

被引:0
作者
Maliheh Izadi
Abbas Heydarnoori
Georgios Gousios
机构
[1] Sharif University of Technology,
[2] Facebook Inc.,undefined
来源
Empirical Software Engineering | 2021年 / 26卷
关键词
Topic tag recommendation; Multi-label classification; Recommender systems; Mining software repositories; GitHub;
D O I
暂无
中图分类号
学科分类号
摘要
Many platforms exploit collaborative tagging to provide their users with faster and more accurate results while searching or navigating. Tags can communicate different concepts such as the main features, technologies, functionality, and the goal of a software repository. Recently, GitHub has enabled users to annotate repositories with topic tags. It has also provided a set of featured topics, and their possible aliases, carefully curated with the help of the community. This creates the opportunity to use this initial seed of topics to automatically annotate all remaining repositories, by training models that recommend high-quality topic tags to developers. In this work, we study the application of multi-label classification techniques to predict software repositories’ topics. First, we map the large-space of user-defined topics to those featured by GitHub. The core idea is to derive more information from projects’ available documentation. Our data contains about 152K GitHub repositories and 228 featured topics. Then, we apply supervised models on repositories’ textual information such as descriptions, README files, wiki pages, and file names. We assess the performance of our approach both quantitatively and qualitatively. Our proposed model achieves Recall@5 and LRAP scores of 0.890 and 0.805, respectively. Moreover, based on users’ assessment, our approach is highly capable of recommending correct and complete set of topics. Finally, we use our models to develop an online tool named Repository Catalogue, that automatically predicts topics for GitHub repositories and is publicly available1.
引用
收藏
相关论文
共 43 条
[1]  
Friedman M(1940)A comparison of alternative tests of significance for the problem of m rankings Ann Math Stat 11 86-92
[2]  
Golder SA(2006)Usage patterns of collaborative tagging systems J Inf Sci 32 198-208
[3]  
Huberman BA(2012)Learning by foraging: The impact of individual knowledge and social tags on web navigation processes Comput Hum Behav 28 34-40
[4]  
Held C(2020)Autorank: A python package for automated ranking of classifiers J Open Source Softw 5 2173-74024
[5]  
Kimmerle J(2018)Evaluating collaborative filtering recommender algorithms: a survey IEEE Access 6 74003-2071
[6]  
Cress U(2016)An in-depth study of the promises and perils of mining github Empir Softw Eng 21 2035-953
[7]  
Herbold S(2006)Mudablue: An automatic categorization system for open source repositories J Syst Softw 79 939-618
[8]  
Jalili M(2014)On using machine learning to automatically classify software applications into domain categories Empir Softw Eng 19 582-701
[9]  
Ahmadian S(2018)Fasttagrec: fast tag recommendation for software information sites Autom Softw Eng 25 675-168
[10]  
Izadi M(2000)Boostexter: A boosting-based system for text categorization Mach Learn 39 135-82