Labeled LDA (D. Ramage, D. Hall, R. Nallapati and C.D. Manning; EMNLP2009) is a supervised topic model derived from LDA (Blei+ 2003). While LDA's estimated topics don't often equal to human's expectation because it is unsupervised, Labeled LDA is to treat documents with multiple labels. I implemented Labeled LDA in python.
J. Eisenstein, B. O'Connor, N. Smith, and E. Xing. Proceedings of the 2010 Conference on Empirical Methods in Natural Language Processing, page 1277--1287. Stroudsburg, PA, USA, Association for Computational Linguistics, (2010)