  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 $152$K 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 a correct and complete set of topics. Finally, we use our models
to develop an online tool named \texttt{Repository Catalogue}, that
automatically predicts topics for GitHub repositories and is publicly
available.
