Topic Modelling is a popular unsupervised machine learning approach that is used to discover hidden sementic structures in a document. The structures are observed as a bunch of words called 'topics' which are detected based on Term Frequency (TF) and Inverse Document Frequency (IDF). The two well-known approaches used for Topic modelling are LDA (Latent Dirichlet Allocation) and NMF (Non-negative Matrix Factorization). Both these techiniques have deep mathematical background, but they can be easily implemented in Python using Scikit Learn.