While hierarchical semi-supervised classification methods have been previously studied, we still lack an algorithm that can learn a non-predefined categorical hierarchy from multi-labeled data at various levels of specificity. Inspired by human psychology and learning experience, in this paper we propose a semi-supervised learning method that can classify multi-labeled data into a hierarchy based on the label's specificity level such that the separability between each class and its siblings is greater than the separability between each class and its parents. To build the hierarchy we show that a minimum spanning tree minimizes an upper bound on the pairwise Kullback-Liebler divergence between the true and approximated distributions. We show the effectiveness of our method using three types of data sets and draw a comparison between our learned hierarchy and one learned by human subjects using the same data set. We also show the effectiveness of our method compared to hierarchical clustering.