My favorite method is [LDA][1], you can see [here][2] a tutorial using python packages. You can also look at much simpler methods like [this][3]. [1]: http://en.m.wikipedia.org/wiki/Latent_Dirichlet_allocation [2]: https://radimrehurek.com/gensim/wiki.html [3]: http://scikit-learn.org/stable/auto_examples/applications/topics_extraction_with_nmf.html