Resume Analyzer and Skill Enhancement Recommender System
Resume Analyzer and Skill Enhancement Recommender System
Abstract—The research “Resume Parsing and Job experience, and projects, predict a suitable job role using
Prediction” mainly deals with prediction of an appropriate job machine learning models.
title for a person based on their resume. Due to rapid increase
in job applicants, companies find it difficult to manually read Score each resume based on their skills, experience, and
every resume as this work requires tremendous amounts of education. Check compatibility between a resume of a
time and effort. Hence the resume parser has gained a lot of person and a companies Job Description and provide curated
importance in recent years. Here we use a custom CNN model feedback to land the desired job.
to predict the job role suitable for an applicant based on their
resume. We also compare the model’s performance with other
Sort all applicants applied for a specific job based on the
machine learning models Random Forest and SVM and neural resume’s score and compatibility for a company to find the
network models like custom CNN and a pre trained BERT most suitable applicant.
model. Job applicants also find it difficult to check how The rest of the paper is divided into sections as follows.
compatible they would be for a job. Hence, we use a word2vec Section 2 Literature Survey. Section 3 Methodology used.
vectorization technique and cosine similarity and find the Section 4 Result and Analysis. Sections 5 and 6 include the
similarity between the resume and a company’s job description.
Future Scope and conclusion of this research.
This application also includes a scoring and a feedback system
that provides personalized feedback for the applicant’s resume
and scores it based on important contents like their education, II. LITERATURE SURVEY
skills, experience. Research on resume parsing and information extraction
has yielded promising advancements. Sajid et al. [1]
Keywords—resume, CNN, word2vec, cosine similarity,
presented an accurat and robust framework for resume
resume scoring, feedback, sentiment analysis.
parsing in e-recruitment that handles diverse formats and
leverages NER for improved candidate profiling.
I. INTRODUCTION Channabasamma et al. [2] developed a contextual model
A resume is said to be more than just a mere paper and is using SpaCy's NLP capabilities that captures semantic
the most important document for an applicant to land a job relationships in resume text for more accurate extraction.
and for a company to judge the applicant. In recent years and Sinha et al. [3] proposed techniques to break down resumes
with advancements in Natural Language Processing and and perform text analysis with Python to reveal insights into
Machine Learning, extraction of important information of candidates. Tikhonova and Gavrishchuk [4] explored NLP
data from a resume has become widely popular and time methods involving classification and heuristics to
saving. automatically segment candidate CVs. Additionally,
Gunaseelan et al. [5] implemented a system that effectively
A resume is a document that lacks a proper structure. The extracts segment details from resumes using a novel multi-
headings to be included in a resume are not strict and each level classification approach that achieved state-of-the-art
resume varies with another in its format, headings, style and accuracy. These works demonstrate the potential for
even choice of words used and hence resume parsing has automated resume parsing and analysis to transform
always been an area under study. recruiting.[14] This paper focuses on utilizing data mining
This research aims to build a comprehensive resume techniques in e-commerce service recommendations. It
analysis tool and the objectives of this research are: emphasizes the use of these techniques to enhance user
experience by personalizing service offerings based on user
Given a resume, extract all the text from the document. preferences and behaviors. [15] explores the application of
Filter out unnecessary details and retain necessary ones for data mining in analyzing social awareness on platforms like
job role prediction. Using details like education, skills, Twitter and Facebook. It employs natural language
processing to extract and analyze wearable technology-
2
Authorized licensed use limited to: Amrita School of Engineering. Downloaded on September 19,2024 at 03:08:03 UTC from IEEE Xplore. Restrictions apply.
The training and testing data were split in ratio of 0.8 to
0.2 and uses a One vs Rest classifier that fits one classifier
per class while considering rest of the classes as negative.
The number of decision trees is set to 100 for this
experiment.
2) K Nearest Neighbours (KNN)
The KNN model is a machine learning model that
predicts the class of a resume by comparing its distance with
its neighbours and thus assigning the class of a resume to the
class where the distance is less for majority data points. The
KNN model is a light weight and easy to understand and
easy to run model that can be used when the dataset size is
limited.
The training and testing data were split in ratio of 0.8 to
0.2 and the KNN model uses the Euclidean distance for
distance calculations.
Fig. 1. Job Role Distribution.
3) Support Vector Machine (SVM)
content of the resumes was cleaned by removing bulletin The SVM belongs to the machine learning set of models,
points and arrows. Since headings play an important role in works by finding the best hyperplane that separates the data
extraction of useful content, all headings were obtained, and into its various classes also by increasing the margins
a colon was added after them. Finally, all the text in the between them. The SVM model is a robust model that aims
resume was made to lower case which is important for generalises well to new data and hence reduces overfitting.
pattern matching. The training and testing data were split as 80% to 20%
for better training and the SVM uses a linear kernel.
C. Features extracted
4) Custom CNN
The resume contains all the important details of an The Convolutional Neural Network (CNN) model
applicant, yet all these details are not necessary for job role belongs to the class of neural network models that is suitable
prediction like their name, sex, phone number. Hence only for complex tasks and for training large datasets and natural
some of the resume’s content was extracted namely content language processing (NLP) tasks.
falling under headings like Education, Skills,
Work/Experience, Projects/Internships, Certification. The The CNN model is effective in capturing words or
extraction of necessary details and removal of others also phrases which are local patterns. This CNN model also
helped in reducing computation time and memory. works well in finding specific word combinations and
identifying proper semantic structure.
To obtain the contents under these headings, 2 main
approaches were used 1) Regular Expression (Regex) and 2) The custom CNN model shown in Fig.2 has the
spaCy. following structure. The model has an embedding layer to
convert the text to integers. This model also has 1
The Regex worked using basic regular expression convolutional 1D layer with 128 filters using a ReLU
technique where each heading was found if the word was activation function. This is followed by a max pooling layer
followed by a colon while the more advanced spaCy which is used to capture the important data and reduces the
technique was able to find the necessary headings even if dimensionality. This model also contains 2 dense layers and a
those headings were not necessarily followed by a colon : dropout layer with 50% dropout to reduce overfitting.
D. Job role prediction 5) BERT
Prediction of a suitable job role from a resume is an The Bidirectional Encoder Representations from
important task as it would give the applicant more insights Transformer (BERT) is a transformer-based model developed
on which role would be more suitable to them and which in 2018 by Google designed for NLP tasks. It understands
jobs, they would be more inclined towards past data. This the context in a better manner based on its neighbouring
would help them to prepare better and apply for suitable words in both directions.
openings. The BERT model is trained on the resume dataset and the
To perform this prediction, various models have been training and testing is split into 0.8 to 0.2 ratio for better
studied and compared. training.
3
Authorized licensed use limited to: Amrita School of Engineering. Downloaded on September 19,2024 at 03:08:03 UTC from IEEE Xplore. Restrictions apply.
This similarity calculation is done using the common B. Hyper Parameters
cosine similarity. First, both the resume and the job Table 1 shows the hyper parameters used in the custom
description and converted to vectors using the Word2Vec CNN model. The Adam optimizer helps to adjust the
vectorization technique and then the similarity between the learning rate for the parameters used and the ReLU
two documents are evaluated. A threshold of 0.5 is kept as a activation function is helpful as it adds nonlinearity thus
minimum threshold and when the similarity exceeds this helping it to learn complex patterns in the data.
threshold, the person is very suitable for the job role.
Scoring of resumes is a very crucial task as it provides a EPOCHS ACTIVATION OPTIMIZER BATCH
FUNCTION SIZE
score for each resume based on its content.
30 ReLU Adam 32
The process of scoring is done by providing weights for
educational degrees like Batchelors, Masters, PhD and skills Fig 3 shows the training and validation loss of the custom
and certifications with the weight being higher for more CNN model.
difficult and rare degrees, skills, and certification.
It is seen from this fig 3 that, the training loss initially is
This score can be useful for the applicant as they can see around 3 and higher than the validation loss. But then at
their score and improvise their skills and thus their resume around the 20th epoch, the validation loss which was lower
accordingly. crosses the training loss graph. The validation loss trends
downwards indicate that the model is generalizing well to
new data and unseen data. However, since the validation loss
continuous to decrease after the graphs meet, indicate that
model might be overfitting to the training data.
Feedback System
The feedback system provides personalised feedback for
an applicant’s resume using job description and the content
of the resume.
When the similarity between the resume and the job
description is lesser than the threshold of 0.5, we recommend
courses for those skills not present in the resume but required
for the job role. The courses recommended are mainly of
beginner level so that the applicant can quickly learn them
and increase their score and compatibility. Fig. 3. Loss plot for the CNN model.
When the similarity exceeds the threshold of 0.5, the Fig 4 shows the accuracy plot for the CNN model for the
applicant is already in line with the job description. Hence, training and validation sets. The training accuracy increases
we recommend courses of intermediate and advanced level, sharply and quickly reaches an accuracy of 1.0 at around the
to boost their skillset and to help them land that job by 20th epoch which shows that the model is learning very
increasing their score. quickly. The validation accuracy on the other hand, increases
This feedback system also identifies the tone and the more rapidly and reaches an accuracy of 1.0 and plateaus
sentiment used in the resume and recommends usage of more much earlier at around the 5th epoch.
positive words if the overall tone of the resume is found to be This indicates that the model might not be learning on
negative as the use of positive words increases the chance of new and unseen data and thus after the 20th epoch, the model
the resume having more score and importance. doesn’t learn well. This also suggests that the model might
be overfitting the training data as it doesn’t generalize as
IV. EXPERIMENTATION AND RESULTS effectively as the validation data.
4
Authorized licensed use limited to: Amrita School of Engineering. Downloaded on September 19,2024 at 03:08:03 UTC from IEEE Xplore. Restrictions apply.
A similar increase in F1 score is observed through the
10th, 20th and 30th epoch but the F1 score remains constant in
the 40th epoch.
This indicates that the 30th epoch is a good number to
stop training the CNN model and the model might overfit the
data after this epoch.
V. CONCLUSION
This research concludes that the extraction of important
details from a resume like education, skills, experience etc
help in obtaining a high accuracy. The custom CNN model
works the best and gives the highest accuracy of 99.48% and
its performance is also comparable with pre trained models
like BERT.
Fig. 4. Accuracy plot for the CNN model These machine learning models work very well and give
high accuracy when the size of the dataset is limited. But if
the size of the dataset were to be increased to a bigger
C. Results number, the pre trained model and heavier models like CNN
Table 2 shows the accuracy and F1 score of the 5 models would work better.
evaluated. The custom CNN model works the best among the
other models as it gives high accuracy and F1 score. The feedback system that provides appropriate courses
helps to improve the score of the applicant’s resume and the
The high accuracy and F1 score shown by the CNN compatibility with the job description thus improving their
model indicates that the CNN model can perform well even chances of landing the job.
in the case of new and unseen data.
The machine learning models like KNN, SVM and VI. FUTURE SCOPE
Random Forest also give high and similar accuracy and F1 Increase in the size of dataset and training the CNN
score values when the dataset size is limited but when the model on a greater number of resumes would give a better
dataset size is increased, the neural network models perform understanding of the exact working of the model and would
better and give better results. help to compare it with a pre trained model like BERT.
The CNN and the BERT model show very similar results Resumes lack a proper syntax and format, and the usage
in terms of accuracy and f1 score but the custom CNN model of words and headings differ. Using more sophisticated
works faster than the pre trained BERT model and thus gives pattern matching techniques could be used to find and extract
results with lesser time needed for processing. content under headings with similar meanings when the
match isn’t exact.
TABLE II. ACCURACY AND F1 SCORE OF THE MODELS EVALUATED.
A more sophisticated scoring technique can be employed
MODEL ACCURACY F1 SCORE with more skills and certifications being included so that the
CNN 99.48% 0.9950 resume score would include more scenarios and thus
Random Forest 99% 0.9932 improve the scoring.
SVM 98.23% 0.9949
The model works accurately and predicts the job
KNN 98.44% 0.9839
precisely when the resume is in English. More languages can
BERT 99.48% 0.9950
be supported so that the model works accurately when the
resume is written in another language.
TABLE III. ACCURACY AND F1 SCORE FOR CNN MODELS FOR
VARIOUS EPOCH.
5
Authorized licensed use limited to: Amrita School of Engineering. Downloaded on September 19,2024 at 03:08:03 UTC from IEEE Xplore. Restrictions apply.
[6] A. Jivtode, K. Jadhav, and D. Kandhare, “Resume Analysis using Computational Vision and Biomechanics, Springer Netherlands, Page
Machine Learning and NLP,” in International Research Journal of No.227 – 237, ISSN: 22129391.
Modernization in Engineering Technology and Science, 2023.
[7] U. Goyal, A. Negi, A. Adhikari et al., “Resume Data Extraction Using
NLP,” in Journal Innovations in Cyber Physical Systems, 2020.[11:54
PM]
[8] S. Pudasaini, S. Shakya, S. Lamichhane et al., “Scoring of Resume
and Job Description Using Word2vec and Matching Them Using
Gale–Shapley Algorithm,” in Lecture Notes in Networks and
Systems,vol 209, 2022.
[9] A. K. Sinha, M. A. K. Akhtar, and A. Kumar, “Resume Screening
Using Natural Language Processing and Machine Learning: A
Systematic Review,” Machine Learning and Information Processing.
Advances in Intelligent Systems and Computing, vol 1311 , 2020.
[10] M. Harshada, A. N. Kshirsagar, N. Sonali, and A. Pimparkar, “NLP
Based Resume Parser Analysis,” Journal of Emerging Technologies
and Innovative Research, vol. 1, no. 1, pp. 1-10, May 2023.
[11] [E. Khan, H. Patel, A. Shaikh et al., “Resume Parser and
Summarizer,” International Journal of Advanced Research in Science,
Communication and Technology, vol. 2, no. 2, pp. 11-20, Apr. 2023.
[12] P. Das, M. Pandey, and S. S. Rautaray, “A CV parser Model using
Entity Extraction Process and Big Data Tools,” International Journal
of Information Technology and Computer Science, vol. 10, no. 9, pp.
21-31, Sep. 2018.
[13] V. R. Kudatarkar, M. M. Ramannavar, and N. Sidnal, “An
Unstructured Text Analytics Approach for Qualitative Evaluation of
Resumes,” International Journal of Information Technology &
Computer Science, vol. 7, no. 4, pp. 49-80, 2015.
[14] SriUsha, K. Rasmitha Choudary, Kavitha C. R., T. Sasikala, Data
Mining Techniques used in the Recommendation of E-commerce
services, Proceedings of 2nd International Conference on Electronics,
Communication and Aerospace Technology (ICECA 2018), March
2018, pp: 379 – 382.
[15] Vidya Kumari K. R., Kavitha C. R., Data Mining for the Social
Awareness of the Social Networks, 3rd International Conference on
Computational System and Information Technology Sustainable
Solutions (CSITSS 2018), December 2018, pp: 7-17.
[16] Kavitha C.R., Rajarajan S. J., R. Jothilakshmi, Kamal Alaskar,
Mohammad Ishrat, V. Chithra, Study of Natural Language Processing
for Sentiment Analysis, 2023 3rd International Conference on
Pervasive Computing and Social Networking (ICPCSN), 19- 20 June
2023.
[17] Tamizharasan, M., Shahana, R.S., Subathra, P.“Topic modeling-based
approach for word prediction using automata”,Journal of Critical
Reviews,PP 744-749,2020.
[18] Bindu K.R., Aakash C., Orlando B., Latha Parameswaran .p, “An
algorithm for text prediction using neural networks”, Lecture Notes in
Computational Vision and Biomechanics, Springer Netherlands, Page
No.186 – 192, ISSN: 22129391.
[19] Murali, S., Swapna, T.R.”An empirical evaluation of temporal
convolutional network for offensive text classification”
2019,’International Journal of Innovative Technology and Exploring
Engineering,Volume8, ,Issue 8,PP-2179-2184,Article,Scopus
[20] Radhika. G., Narasimha Prasath, K., Rajasundari, T., “Sentimental
analysis on Tamil news feed,”Journal of Advanced Research in
Dynamical and Control Systems,Journal of Advanced Research in
Dynamical and Control Systems,Volume 9 ,Issue 11,Page no : 397-
399,Scopus – October 2017,ISSN:1943-023X,Publisher: Institute of
Advanced Scientific Research.
[21] Sini Raj P,Raj Vikram R.,Swathi Lakshmi. B, “Sentiment analysis
using deep learning technique CNN with K Means,”International
Journal of Pure and Applied Mathematics,Volume 114, Issue 11,Page
no: 47-57,Scopus -September 2017,ISSN: 13118080,Publisher:
Academic Press.
[22] Vamsee Krishna Kiran., Vinodhini, R.E., Archanaa, R., Vimalkumar,
K.,” User specific product recommendation and rating system by
performing sentiment analysis on product reviews,” 2017 4th
International Conference on Advanced Computing and
Communication Systems, ICACCS 2017., 6-7 Jan. 2017, Venue:
Coimbatore, India, Publisher: IEEE, Scopus – November 2017, ISBN:
978-1-5090-4559-4, Article number :8014640.
[23] Dhanya N.M, Harish U.C., “Sentiment analysis of twitter data on
demonetization using machine learning techniques”, Lecture Notes in
6
Authorized licensed use limited to: Amrita School of Engineering. Downloaded on September 19,2024 at 03:08:03 UTC from IEEE Xplore. Restrictions apply.