I am very new to Machine Learning. This is my college project. I want to develop web application of CV RECOMMENDER SYSTEM in Python. I have lots of CVs in the format of .txt.

My questions are following:

  1. What type of learning I can apply? (Supervised/Unsupervised)

  2. I have different file in one folder. So Is there need to make a corpus? If there is a need to make a corpus then can I create a corpus?

I am very confused with the flow of the application.

Can please anyone suggest me the steps how can I start to develop web application?

Your help will be appreciated.


I guess, there are many ways, to recommend CVs, but here is what I would do:

I would use TF-IDF or LSI, so an unsupervised learning approach and I would use a corpus.

I would apply word stemming, create a dictionary containing unique word stems of the CVs, create a corpus containing word stem id from dictionary and word stem count for each word stem in each CV, so the document frequencies (DF) for all word stems, then create TF-IDF (term frequency inverse document frequency) model or an LSI (latent semantic indexing) model from dictionary and corpus. Then you have TF-IDF or LSI vectors for all CVs.

For matching and recommending, you apply word stemming to text input you want to match CVs with, calculate the LSI or TF-IDF vector for this input and match it with the most similar CV by using cosine similarity calculation.

Here and here you can find short Python code examples for the approach I described using LSI or TF-IDF.

  • $\begingroup$ Thanks for response. The folder contains different text files of CV. How to create a corpus of that data? And how can I create a dictionary of the CV? Can you please explain? @Franziska W. $\endgroup$ – Heena Jan 31 '19 at 8:44
  • $\begingroup$ You can read all CV text files to a dictionary named "files", like described here: quora.com/How-do-I-read-mutiple-txt-files-from-folder-in-python. And from this dictionaries values you create a list of training documents, e.g. documents_train = list(files.values()). You can use "documents_train" like in my code examples and proceed with applying word stemming, creating a word stem dictionary from the word stems and creating a corpus from the word stems and the word stem dictionary. $\endgroup$ – Franziska W. Jan 31 '19 at 10:09
  • $\begingroup$ Thank you so much. I will try and I will ask if I have doubt. $\endgroup$ – Heena Jan 31 '19 at 10:16

Not the answer you're looking for? Browse other questions tagged or ask your own question.