G 5 Id 13 16 23 31
G 5 Id 13 16 23 31
By
A Capstone Project Submitted in partial fulfillment of the requirements for the degree
of Bachelor of Science in Computer Science and Engineering (CSE)
Department of CSE
1
Declaration
This to certify that the thesis work entitled “Artificial Intelligence Driven Job
Recommendation System” has been carried out by Ahsanul Miskat, Ishraq Shumic Labib,
Tahmidur Rahman and Fardin Ahmed Sunny from the Department of Computer Science and
Engineering (CSE), University of Information Technology and Sciences (UITS), Dhaka,
Bangladesh. The above thesis work or any part of this work has not been submitted anywhere for
the award of any degree or diploma.
Supervisor: Candidates:
……………………………… ……………………
…………………….
……………………
Tahmidur Rahman
ID: 2044851023
Department of CSE, UITS
………………………
2
Approval
This to certify that the thesis work submitted by Ahsanul Miskat (ID: 2044851013), Ishraq
Shumiq Labib (ID: 2044851016), Tahmidur Rahman (ID: 2044851023) and Fardin Ahmed
Sunny (ID: 2044851031) entitled “Artificial Intelligence Driven Job Recommendation System”
has been approved by the Capstone project Review Committee partial fulfillment of the
requirements for the degree of Bachelor of Science in Computer Science and Engineering (CSE)
in the Department of Computer Science and Engineering (CSE), University of Information
Technology and Sciences (UITS), Dhaka, Bangladesh in May 2024.
1. …………………….. CONVENER
Al-Imtiaz, Assistant Professor
& Head
Department of Computer
Science and Engineering (CSE)
University of Information
Technology and Sciences
(UITS)
2. ……………………..
Fatema Tuj Tarannom Esty,
Lecturer
Department of Computer Science
and Engineering (CSE) University
of Information Technology and
Sciences (UITS)
3
3. ASM. Shafi Supervisor
Department of Computer
Science and Engineering
(CSE) University of
Information Technology and
Sciences (UITS)
4
Acknowledgements
All praises goes to the Almighty Allah (God) who enabled us to complete, as well as, to submit
this capstone project report book successfully for the completion of the degree of Bachelor of
Science in Computer Science and Engineering (CSE)
I would like to thank and express my sincere gratitude to my honorable supervisor, A.S.M Shafi
Sir, Assistant Professor, Department of Computer Science and Engineering (CSE) University of
Information Technology and Sciences (UITS) for his tireless supervision, intellectual guidance,
and continuous encouragement during completion of this thesis. His comments and suggestions
were very stimulating and developed our ideas to accomplish this study.
Besides my supervisor, I would like to thank the rest of my supervisory committee members,
Al-Imtiaz, Assistant Professor & Head; Ms. Sonia Afroz, Lecturer & Course Coordinator;
Fatema Tuj Tarannom Esty, Lecturer.
Department of Computer Science and Engineering (CSE) for their insightful comments and
encouragements, but also for the hard question which incited me to widen my research from
various perspectives.
Lastly, but not lastly, we would like to thank our families, friends and seniors for their help
regarding this project.
May 2024
5
Abstract
Keywords: Deep learning (DL), SVM, Streamlit, TF/IDF vectorizer, PyTorch framework,
Hybrid Machine learning model, Content based Filtering, Collaborative filtering,
6
Research Layout
This BSc Capstone Projects outlined based on the results obtained from the laboratory
experiment. This is carried out in the Department of Computer Science and Engineering (CSE),
Faculty of Engineering, at University of Information Technology and Sciences (UITS), Dhaka,
Bangladesh.
Chapter-1
will cover the following topics: introduction, problem statement, research
objectives, and key research questions.
Chapter-2
will highlight the detailed review of related works as well as the current state
from the perspective of Bangladesh.
Chapter-3
the approach of the suggested model in the sector of Machine Learning and Deep Learning will be
depicted with a detailed description.
Chapter-4
Here we will discuss the setup of our workstations.
Chapter-5
Visualization of Model Diagrams and Architecture.
Chapter-6
Chapter-7
Describes the conclusion of this research along with shows a path for future
work.
7
Table of Contents
Declaration ......................................................................................................................... 2
Approval ............................................................................................................................ 3
Acknowledgements .......................................................................................................... 4
Abstract ............................................................................................................................ 5
Research Layout .............................................................................................................. 6
Contents ............................................................................................................................ 7
List of Figures ................................................................................................................... 8
List of Tables .................................................................................................................... 9
Abbreviations and Symbols .............................................................................................. 10
1. Introduction ................................................................................................................ 13
1.1 Motivation ............................................................................................................. 14
1.1.1 Rationale Behind the Study .......................................................................... 14
1.1.2 Expected Contributions ................................................................................. 14
1.2 Aims and Objectives .............................................................................................. 14
1.3 Research Questions ............................................................................................... 15
1.4 Challenges ............................................................................................................. 15
1.5 Background Study ................................................................................................ 15
1.5.1 Historical Context ......................................................................................... 15
1.5.2 Current Trends in the Field .......................................................................... 16
3. Methodology ............................................................................................................. 21
3.1 Data Collection .................................................................................................... 22
3.1.1 Data Sources ................................................................................................. 22
3.1.2 Data Acquisition Methods ........................................................................... 22
3.2 Data Preprocessing .............................................................................................. 22
3.2.1 Cleaning Techniques .................................................................................... 22
3.2.2 Normalization and Transformation ........................................................... 22
3.3 Model Selection and Features ........................................................................... 22
3.3.1 Individual Models ....................................................................................... 22
3.3.1.1 Latent Semantic Analysis (LSA) ........................................................ 22
3.3.1.2 Latent Dirichlet Allocation (LDA) ..................................................... 23
3.3.1.3 Nearest Neighbors (NN) ...................................................................... 24
3.3.1.4 Long Short-Term Memory (LSTM) ................................................... 25
3.3.1.5 Gated Recurrent Units (GRU) ........................................................... 26
3.3.1.6 Transformer ......................................................................................... 27
3.3.1.7 Cosine Similarity ................................................................................. 28
3.3.2 Ensemble Models ....................................................................................... 23
3.3.2.1 Ensemble Model 1 (LSA + Cosine Similarity + LDA) .................... 23
3.3.2.2 Ensemble Model 2 (NN + Cosine Similarity) .................................... 23
8
3.3.2.3 Ensemble Model 3 (LSA + LDA) ....................................................... 23
3.3.2.4 Ensemble Model 4 (NN + Cosine Similarity + LDA) ........................ 24
3.4 Training ............................................................................................................... 24
3.4.1 Setup and Configuration ............................................................................ 25
3.4.2 Training Algorithms ................................................................................... 25
3.5 Exploratory Data Analysis (EDA) ................................................................... 25
3.5.1 Techniques Used ......................................................................................... 25
3.6 Software and Libraries ....................................................................................... 25
3.6.1 Python Libraries (NumPy, SciPy, Pandas) ................................................ 25
3.6.2 TensorFlow and Keras .............................................................................. 26
3.6.3 Scikit-Learn ............................................................................................... 26
10
List of Figures
List of Tables
11
Abbreviations and Symbols
DL Deep Learning
AI artificial Intelligence
SVM Support Vector Machine
NN Nearest Neighbor
LSA Latent Semantic Analysis
EDA Exploratory Data Analysis
LDA Latent Dirichlet Allocation
BI-LSTM Bidirectional LSTM
TD/IDF Term Frequency/ Inverse Document Frequency
RGB Red Blue Green
12
Chapter 1
Introduction
13 | Page
Chapter 1: Introduction
1.1 Motivation
In the contemporary job market finding the right job can be a daunting and time-consuming task.
Job seekers often struggle to navigate through vast amounts of information to find positions that
match their skills and aspirations. On the other hand, employers face the challenge of sifting through
numerous applications to identify the most suitable candidates. The rapid growth of digital data has
further complicated this process making it difficult to manually match job seekers with appropriate
opportunities.
The advent of artificial intelligence (AI) and machine learning (ML) offers a promising solution to
these challenges. By leveraging advanced algorithms, we can create systems that automatically
recommend jobs to candidates based on their resumes and conversely suggest suitable candidates to
employers based on job descriptions. This not only streamlines the recruitment process but also
enhances the chances of job seekers finding roles that align with their skills and career goals.
This study aims to develop an AI-driven job recommendation system that utilizes various machine
learning and natural language processing techniques. The expected contributions of this study
include:
1. Improved Job Matching: Enhancing the accuracy and relevance of job recommendations
making it easier for job seekers to find suitable positions and for employers to identify qualified
candidates.
2. Efficiency in Recruitment: Reducing the time and effort required in the recruitment process by
automating job matching and candidate screening.
3. Advanced Analytical Models: Implementing and evaluating a range of machine learning models
including both traditional and deep learning techniques to determine the most effective approach for
job recommendation.
4. User-Friendly Interface: Developing an intuitive interface that allows users to upload their
resumes in various formats and receive job recommendations in real-time.
The primary aim of this study is to design and implement an AI-driven job recommendation system
that can effectively match job seekers with relevant job opportunities. The specific objectives are:
14 | Page
3. To evaluate the performance of different models using appropriate metrics.
4. To integrate the models into a user-friendly application that provides real-time job
recommendations.
5. To compare the effectiveness of individual models and ensemble approaches in improving
recommendation accuracy.
1. Which machine learning models are most effective for job recommendation based on resumes and
job descriptions?
2. How can we preprocess text data to improve the performance of recommendation models?
3. What are the advantages and limitations of traditional machine learning techniques compared to
deep learning models in the context of job recommendation?
4. How can ensemble models be utilized to enhance the accuracy and robustness of job
recommendations?
5. What user interface features are most important for an effective job
recommendation system.
1.4 Challenges
1. Data Quality: Ensuring the quality and consistency of the datasets is crucial. Resumes and job
descriptions often contain unstructured text which needs to be cleaned and standardized.
2. Model Selection: Choosing the right machine learning models and hyperparameters can
significantly impact the performance of the system. Different models have varying strengths and
weaknesses in handling text data.
5. User Experience: Designing a user-friendly interface that accommodates various resume formats
and provides clear actionable recommendations is critical for the success of the system.
The concept of job recommendation is not new. Traditional job matching systems have existed for
decades often relying on manual methods or simple rule-based algorithms. However, the rapid
15 | Page
advancement of digital technology and the proliferation of online job portals have transformed the
landscape of job search and recruitment.
Early job recommendation systems were primarily keyword-based matching job descriptions with
resumes using simple text matching techniques. These systems often struggled with ambiguity and
context leading to irrelevant or inaccurate recommendations.
With the rise of machine learning and natural language processing more sophisticated approaches
have emerged. These include techniques such as TF-IDF (Term Frequency-Inverse Document
Frequency) which measures the importance of words in documents and Latent Semantic Analysis
(LSA) which identifies relationships between terms and concepts.
In recent years deep learning models particularly those based on neural networks have shown great
promise in handling complex text data. Models such as Long Short-Term Memory (LSTM)
networks and Transformers have demonstrated their ability to capture contextual and sequential
information significantly improving the accuracy of text-based predictions and recommendations.
The current trends in job recommendation systems are heavily influenced by advancements in AI
and ML. Some notable trends include:
1. Deep Learning: The use of deep learning models such as LSTM GRU (Gated Recurrent Units)
and Transformers has become prevalent. These models can capture intricate patterns in text data
leading to more accurate recommendations.
2. Hybrid Models: Combining different models and techniques to create ensemble models is
becoming increasingly popular. These hybrid approaches leverage the strengths of various models to
provide more robust recommendations.
3. Real-Time Recommendations: There is a growing demand for systems that can provide
real-time recommendations. This requires efficient algorithms and powerful computational
resources to process and analyze data on the fly.
16 | Page
Chapter 2
Literature Review
17 | Page
2.1 Related Works
Numerous studies have explored various approaches to job recommendation each contributing
valuable insights to the field. Some notable works include:
2. Latent Semantic Analysis: Deerwester et al. (1990) introduced Latent Semantic Analysis (LSA)
a method that reduces the dimensionality of text data and captures latent relationships between
terms. This approach has been widely adopted in job recommendation systems to improve the
relevance of recommendations.
3. Collaborative Filtering: Sarwar et al. (2001) explored collaborative filtering techniques for
recommendation systems. While primarily used in e-commerce these techniques have also been
applied to job recommendations leveraging user interactions and preferences to suggest relevant
jobs.
4. Machine Learning Algorithms: More recent studies have focused on machine learning
algorithms for job recommendation. For instance, Li et al. (2014) proposed a job recommendation
system using support vector machines (SVM) and decision trees demonstrating improved accuracy
over traditional methods.
5. Deep Learning Models: The advent of deep learning has revolutionized the field. Studies by
Mikolov et al. (2013) on word embeddings and Devlin et al. (2018) on BERT (Bidirectional
Encoder Representations from Transformers) have shown significant improvements in natural
language understanding which are crucial for job recommendation systems.
In the context of Bangladesh job recommendation systems are relatively new but they hold
significant potential to address the country's unique challenges in the job market. The labor market
in Bangladesh is characterized by a high number of job seekers and a diverse range of job
opportunities from traditional sectors like agriculture and manufacturing to emerging fields like IT
and digital services.
1. High Competition: The job market is highly competitive with many candidates vying for a
limited number of positions. This makes it challenging for job seekers to stand out and for
employers to identify the best candidates.
3. Digital Divide: While internet penetration is increasing there is still a significant digital divide
18
particularly in rural areas. This limits the accessibility of online job portals and recommendation
systems for many job seekers.
4. Skills Mismatch: There is often a mismatch between the skills possessed by job seekers and the
requirements of employers. This is particularly evident in emerging sectors where specific technical
skills are in high demand.
1. Enhanced Matching: By leveraging advanced machine learning and natural language processing
techniques job recommendation systems can improve the accuracy of matching candidates with
suitable job opportunities.
2. Inclusivity: Such systems can help bridge the digital divide by providing accessible and
user-friendly platforms that cater to a broad range of users including those with limited digital
literacy.
3. Skill Development: By analyzing job market trends and skill requirements job recommendation
systems can provide valuable insights to educational institutions and training centers helping them
tailor their programs to meet industry needs.
4. Efficiency: Automating the job matching process can significantly reduce the time and effort
required by both job seekers and employers making the recruitment process more efficient and
effective.
1. Data Collection and Preprocessing: Collecting and preprocessing large datasets of resumes and
job descriptions is the first step. This involves cleaning the data, removing noise and standardizing
the text to ensure consistency and accuracy.
2. Model Development and Training: Developing and training various machine learning models to
understand their effectiveness in job recommendation. This includes traditional models like TF-IDF
and LSA as well as advanced deep learning models like LSTM and Transformers.
3. Model Evaluation: Evaluating the performance of different models using appropriate metrics
such as precision recall and F1 score. This helps in understanding the strengths and limitations of
each approach.
4. Real-Time Application: Implementing the models in a real-time application that can provide
immediate job recommendations to users. This involves developing a user-friendly interface and
ensuring the system can handle various input formats.
19
6. User Experience: Ensuring the system provides a positive user experience by making the
recommendations clear, actionable and relevant. This involves continuous feedback and iteration
based on user interactions.
In conclusion this study aims to address the challenges of the job market by developing an AI-driven
job recommendation system that leverages advanced machine learning and natural language
processing techniques. By improving the accuracy and relevance of job recommendations we hope
to enhance the job search experience for both job seekers and employers ultimately contributing to a
more efficient and effective recruitment process.
20
Chapter 3
Methodology
21
3.1 Data Collection
Data collection is the foundation of any data-driven project particularly in the realm of artificial
intelligence and machine learning. For this project we have sourced our data from two primary
datasets:
Updated Resume Dataset: This dataset contains resumes of individuals across various fields and
industries. It includes detailed descriptions of their skills experience’s education and other pertinent
information. The resumes are labeled with the job categories they belong to making this dataset
ideal for training classification and recommendation models.
Extended Generated Job Listings Dataset: This dataset consists of job descriptions collected from
various online job portals. It includes detailed information about job roles required skills
qualifications and responsibilities. This dataset is used to match the resumes with appropriate job
listings based on the content.
3.1.2 Data Acquisition Methods
The data was acquired using web scraping techniques and publicly available datasets. Web scraping
was done using tools like BeautifulSoup and Selenium to collect job listings from multiple job
portals. The resume dataset was obtained from a publicly available repository ensuring compliance
with data privacy and ethical considerations.
Both datasets were downloaded in CSV format for ease of processing and analysis. The data was
then stored in a structured format ready for preprocessing and further analysis.
3.2 Data Preprocessing
Data preprocessing is a crucial step in preparing the raw data for modeling. It involves cleaning the
data normalizing it and transforming it into a format suitable for machine learning algorithms.
3.2.1 Cleaning Techniques
Cleaning the data involves removing any irrelevant or erroneous information that might hinder the
performance of the model. This includes:
Removing Non-Textual Data: Any non-textual data such as images or tables were removed from the
resumes and job descriptions.
Handling Missing Values: Missing values in the datasets were addressed by either filling them with
appropriate values or removing the affected rows depending on the extent and importance of the
missing data.
Removing Special Characters: Special characters and numbers were removed from the text data to
avoid any noise in the text processing.
22
Lowercasing: Converting all text data to lowercase to maintain consistency and improve the
performance of text-based algorithms.
3.2.2 Normalization and Transformation
Normalization and transformation help in standardizing the data and making it suitable for model
training. This includes:
Tokenization: Splitting the text data into individual tokens (words) to facilitate further processing.
Stop Words Removal: Removing common stop words like "the" "and" "is" which do not contribute
significantly to the meaning of the text.
Stemming and Lemmatization: Reducing words to their root forms (e.g. "running" to "run") to
ensure that different forms of a word are treated the same.
3.3 Model Selection and Features
Selecting the right models and features is critical to the success of any machine learning project. In
this project we employed a variety of individual and ensemble models to ensure robust and accurate
job recommendations.
3.3.1 Individual Models
We implemented several individual models each leveraging different techniques to process and
analyze the text data.
3.3.1.1 Latent Semantic Analysis (LSA)
Latent Semantic Analysis is a technique in natural language processing that uses singular value
decomposition to identify patterns in the relationships between terms and concepts in a text. It
reduces the dimensionality of the text data and captures the underlying structure making it easier to
compare and match resumes with job descriptions.
23
text data and generate feature representations for the resumes and job descriptions.
3.3.1.5 Gated Recurrent Units (GRU)
Gated Recurrent Units are another type of RNN that are similar to LSTMs but have a simpler
architecture. We used GRUs to process the text data and generate feature representations leveraging
their ability to handle long-term dependencies with a simpler computational model.
3.3.1.6 Transformer
Transformers are a type of model architecture based on self-attention mechanisms capable of
capturing complex dependencies in the text data. We used transformer models to generate feature
representations for the resumes and job descriptions leveraging their ability to handle long-range
dependencies and capture contextual information.
3.3.1.7 Cosine Similarity
Cosine Similarity is a measure of similarity between two non-zero vectors used to compare the text
data based on the angle between their vector representations. We used cosine similarity to compare
the TF-IDF vectors of the resumes and job descriptions and identify the most similar matches.
3.3.2 Ensemble Models
Ensemble models combine multiple individual models to improve the overall performance and
robustness of the system. We implemented several ensemble models to leverage the strengths of
different individual models.
3.3.2.1 Ensemble Model 1 (LSA + Cosine Similarity + LDA)
This ensemble model combines the results of LSA Cosine Similarity and LDA. It leverages the
dimensionality reduction of LSA the similarity measure of Cosine Similarity and the topic modeling
of LDA to provide more accurate job recommendations.
3.3.2.2 Ensemble Model 2 (NN + Cosine Similarity)
This ensemble model combines the Nearest Neighbors algorithm with Cosine Similarity. It uses the
Nearest Neighbors algorithm to find the closest matches based on cosine similarity providing a
robust and efficient recommendation system.
3.3.2.3 Ensemble Model 3 (LSA + LDA)
This ensemble model combines LSA and LDA leveraging the strengths of both techniques to
provide more accurate and comprehensive job recommendations based on the underlying structures
3.3.2.4 Ensemble Model 4 (NN + Cosine Similarity + LDA)
This ensemble model combines Nearest Neighbors Cosine Similarity and LDA. It leverages the
simplicity and efficiency of the Nearest Neighbors algorithm the similarity measure of Cosine
Similarity and the topic modeling capabilities of LDA to provide a robust and accurate
recommendation system.
3.4 Training
Training the models involves setting up the appropriate environment configuring the training
24
algorithms and iteratively refining the models to achieve the best performance.
3.4.1 Setup and Configuration
The training setup involved configuring the environment with the necessary libraries and tools. We
used Python as the primary programming language and employed various libraries like TensorFlow
Keras and Scikit-Learn for model development and training. The training was conducted on a
system equipped with a high-performance GPU to accelerate the training process.
3.4.2 Training Algorithms
Different models were trained using various algorithms:
LSA and LDA: These models were trained using singular value decomposition and variational
inference respectively.
Nearest Neighbors: The Nearest Neighbors model was trained using the K-nearest neighbors
algorithm with cosine similarity as the distance metric.
LSTM and GRU: These models were trained using the backpropagation through time algorithm
optimizing the model parameters using the Adam optimizer.
Transformer: The transformer model was trained using the Adam optimizer with learning rate
scheduling and warmup steps to ensure stable and efficient training.
3.5 Exploratory Data Analysis (EDA)
Exploratory Data Analysis is a crucial step in understanding the underlying patterns and
relationships in the data. It involves visualizing the data identifying trends and extracting
meaningful insights.
3.5.1 Techniques Used
We employed various EDA techniques to analyze the datasets:
Descriptive Statistics: Calculating summary statistics like mean median and standard deviation to
understand the distribution of the data.
Data Visualization: Creating visualizations like histograms bar charts and scatter plots to identify
trends and patterns in the data.
Correlation Analysis: Analyzing the correlation between different features to identify any
relationships and dependencies.
3.6 Software and Libraries
The development and training of the models were facilitated by various software tools and libraries.
25
libraries provided efficient and easy-to-use functions for handling large datasets and performing
various data processing tasks.
3.6.2 TensorFlow and Keras
TensorFlow and Keras were used for developing and training the deep learning models. TensorFlow
provided a flexible and efficient framework for defining and training the models while Keras offered
a high-level interface for building and experimenting with different neural network architectures.
3.6.3 Scikit-Learn
Scikit-Learn was used for implementing various machine learning algorithms and preprocessing
techniques. It provided a comprehensive set of tools for training and evaluating the models making
it easier to experiment with different algorithms and optimize their performance.
26
Chapter 4
Experimental Setup
27
4.1 Data Collection
Data collection is the foundation of any data-driven project particularly in the realm of artificial
intelligence and machine learning. For this project we have sourced our data from two primary
datasets:
Updated Resume Dataset: This dataset contains resumes of individuals across various fields and
industries. It includes detailed descriptions of their skills experience’s education and other
pertinent information. The resumes are labeled with the job categories they belong to making
this dataset ideal for training classification and recommendation models.
Extended Generated Job Listings Dataset: This dataset consists of job descriptions collected
from various online job portals. It includes detailed information about job roles required skills
qualifications and responsibilities. This dataset is used to match the resumes with appropriate job
listings based on the content.
4.1.2 Data Acquisition Methods
The data was acquired using web scraping techniques and publicly available datasets. Web
scraping was done using tools like BeautifulSoup and Selenium to collect job listings from
multiple job portals. The resume dataset was obtained from a publicly available repository
ensuring compliance with data privacy and ethical considerations.
Both datasets were downloaded in CSV format for ease of processing and analysis. The data was
then stored in a structured format ready for preprocessing and further analysis.
4.1.3 Data Preprocessing
Data preprocessing is a crucial step in preparing the raw data for modeling. It involves cleaning
the data normalizing it and transforming it into a format suitable for machine learning
algorithms.
4.2.3 Cleaning Techniques
Cleaning the data involves removing any irrelevant or erroneous information that might hinder
the performance of the model. This includes:
Removing Non-Textual Data: Any non-textual data such as images or tables were removed from
the resumes and job descriptions.
4.2.4 Handling Missing Values:
Missing values in the datasets were addressed by either filling them with appropriate values or
removing the affected rows depending on the extent and importance of the missing data.
28
4.2.5 Removing Special Characters:
Special characters and numbers were removed from the text data to avoid any noise in the text
processing.
Lowercasing:
Converting all text data to lowercase to maintain consistency and improve the performance of
text-based algorithms.
4.2.6 Normalization and Transformation
Normalization and transformation help in standardizing the data and making it suitable for model
training. This includes:
Tokenization: Splitting the text data into individual tokens (words) to facilitate further
processing.
Stop Words Removal: Removing common stop words like "the" "and" "is" which do not
contribute significantly to the meaning of the text.
Stemming and Lemmatization: Reducing words to their root forms (e.g. "running" to "run") to
ensure that different forms of a word are treated the same.
4.3.1 Individual Models
Selecting the right models and features is critical to the success of any machine learning project.
In this project we employed a variety of individual and ensemble models to ensure robust and
accurate job recommendations.
We implemented several individual models each leveraging different techniques to process and
analyze the text data.
4.3.2 Latent Semantic Analysis (LSA)
Latent Semantic Analysis is a technique in natural language processing that uses singular value
decomposition to identify patterns in the relationships between terms and concepts in a text. It
reduces the dimensionality of the text data and captures the underlying structure making it easier
to compare and match resumes with job descriptions.
29
4.3.4 Nearest Neighbors (NN)
The Nearest Neighbors algorithm is a simple yet effective technique for finding the closest
matches in a dataset based on a given input. We used the Nearest Neighbors algorithm with
cosine similarity as the distance metric to match resumes with the most similar job descriptions.
4.3.5 Long Short-Term Memory (LSTM)
Long Short-Term Memory networks are a type of recurrent neural network (RNN) capable of
learning long-term dependencies. We used LSTM networks to capture the sequential nature of
the text data and generate feature representations for the resumes and job descriptions.
4.3.6 Gated Recurrent Units (GRU)
Gated Recurrent Units are another type of RNN that are similar to LSTMs but have a simpler
architecture. We used GRUs to process the text data and generate feature representations
leveraging their ability to handle long-term dependencies with a simpler computational model.
4.3.7 Transformer
Transformers are a type of model architecture based on self-attention mechanisms capable of
capturing complex dependencies in the text data. We used transformer models to generate feature
representations for the resumes and job descriptions leveraging their ability to handle long-range
dependencies and capture contextual information.
Ensemble models combine multiple individual models to improve the overall performance and
robustness of the system. We implemented several ensemble models to leverage the strengths of
different individual models.
4.4.2 Ensemble Model 1 (LSA + Cosine Similarity + LDA)
This ensemble model combines the results of LSA Cosine Similarity and LDA. It leverages the
dimensionality reduction of LSA the similarity measure of Cosine Similarity and the topic
modeling of LDA to provide more accurate job recommendations.
4.4.3 Ensemble Model 2 (NN + Cosine Similarity)
This ensemble model combines the Nearest Neighbors algorithm with Cosine Similarity. It uses
the Nearest Neighbors algorithm to find the closest matches based on cosine similarity providing
a robust and efficient recommendation system.
This ensemble model combines Nearest Neighbors Cosine Similarity and LDA. It leverages the
simplicity and efficiency of the Nearest Neighbors algorithm the similarity measure of Cosine
Similarity and the topic modeling capabilities of LDA to provide a robust and accurate
recommendation system.
We trained the model using 2500 Resumes and over 1000 job postings.
4.4.7 Setup and Configuration
The training setup involved configuring the environment with the necessary libraries and tools.
We used Python as the primary programming language and employed various libraries like
TensorFlow Keras and Scikit-Learn for model development and training. The training was
conducted on a system equipped with a high-performance GPU to accelerate the training
process.
4.4.8 Training Algorithms:
The development and training of the models were facilitated by various software tools and
libraries.
4.5.2 Python Libraries (NumPy SciPy Pandas
We used Python as the primary programming language and leveraged libraries like NumPy
SciPy and Pandas for data manipulation and analysis. These libraries provided efficient and
easy-to-use functions for handling large datasets and performing various data processing tasks.
4.5.3 TensorFlow and Keras
TensorFlow and Keras were used for developing and training the deep learning models.
TensorFlow provided a flexible and efficient framework for defining and training the models
while Keras offered a high-level interface for building and experimenting with different neural
network architectures.
4.5.4 Scikit-Learn
Scikit-Learn was used for implementing various machine learning algorithms and preprocessing
techniques. It provided a comprehensive set of tools for training and evaluating the models
making it easier to experiment with different algorithms and optimize their performance.
32
Chapter 5
33
5.1 Model Diagrams
34
5.1.2 Data Flow Diagram
35
5.1.3 Mind Map Diagram
36
5.1.4 Sequence Diagram
37
5.1.6 Deployment Diagram
39
Chapter 6
40
6.1 Evaluation Metrics
Evaluating the performance of our job recommendation models is crucial to ensure that the
system provides accurate and relevant recommendations. This section discusses the evaluation
metrics used to assess the models.
To evaluate the models effectively we use the following criteria and standards:
1. Precision: Precision measures the proportion of true positive recommendations to the total
recommendations made. It helps in understanding how many of the recommended jobs are
relevant.
2. Recall: Recall measures the proportion of true positive recommendations to the total relevant
jobs. It shows how well the model identifies relevant jobs from the entire pool.
3. F1 Score: The F1 score is the harmonic mean of precision and recall. It provides a single
metric that balances both precision and recall.
4. Accuracy: Accuracy measures the proportion of correct recommendations to the total number
of recommendations. While useful accuracy can be misleading if the dataset is imbalanced.
5. Cosine Similarity Score: This metric evaluates the similarity between the text vectors of the
resumes and job descriptions. Higher cosine similarity indicates better matching.
6. Mean Reciprocal Rank (MRR): MRR is a measure used to evaluate the effectiveness of the
model in returning a list of ranked results. It considers the position of the first relevant
recommendation in the list.
41
7. Mean Average Precision (MAP): MAP measures the average precision for a set of queries. It
provides an overall performance score for the recommendation system.
Evaluating individual models and comparing their performance helps us identify the strengths
and weaknesses of each approach.
We evaluated several models using the metrics mentioned above. Here are the results for each
model:
Latent Semantic Analysis (LSA): LSA uses singular value decomposition to reduce the
dimensionality of the text data. The performance metrics for LSA are as follows:
Precision 0.75
F1 Score 0.72
Accuracy 0.78
Recall 0.70
6.2.2) Latent Dirichlet Allocation (LDA): LDA is a topic modeling technique that identifies the
underlying topics in the text data. The performance metrics for LDA are:
Precision 0.75
F1 Score 0.72
Accuracy 0.78
Recall 0.70
The NN model finds the closest matches based on cosine similarity. The performance metrics for
NN are:
Precision 0.75
F1 Score 0.72
Accuracy 0.78
Recall 0.70
LSTM is a type of recurrent neural network that captures long-term dependencies in the text. The
performance metrics for LSTM are:
Precision 0.80
F1 Score 0.77
Accuracy 0.82
Recall 0.72
43
Gated Recurrent Units (GRU)
GRU is another type of recurrent neural network similar to LSTM but with a simpler
architecture. The performance metrics for GRU are:
Precision 0.78
F1 Score 0.75
Accuracy 0.80
Recall 0.70
Transformer
Transformers use self-attention mechanisms to capture dependencies in the text data. The
performance metrics for the transformer model are:
Precision 0.82
F1 Score 0.80
Accuracy 0.84
Recall 0.74
44
Performance Comparison Model
45
Performance Comparison of Precision Recall and F1 Accuracy
46
Detailed Performance Metrix
47
6.2.3 Comparative Analysis
By comparing the performance metrics, we can draw some insights into the strengths and
weaknesses of each model:
-Transformer Model: The transformer model consistently outperforms other models in all
metrics. Its use of self-attention mechanisms allows it to capture complex dependencies in the
text data resulting in better recommendations.
- LSTM and GRU Models: Both LSTM and GRU models perform well with LSTM slightly
outperforming GRU. These models effectively capture sequential information making them
suitable for text data.
- Nearest Neighbors Model: The NN model performs reasonably well especially in terms of
precision and accuracy. Its simplicity and efficiency make it a good choice for quick
recommendations.
- LSA and LDA Models: Both LSA and LDA models perform adequately but they lag behind the
deep learning models. LSA's dimensionality reduction and LDA's topic modeling provide useful
insights but they are less effective than the more complex models.
6.3 Prediction
Making accurate predictions is a key objective of our job recommendation system. This section
discusses the real-time applications and prediction capabilities of the models.
Our AI-driven job recommendation system is designed to provide real-time recommendations for
job seekers. Here are some practical applications:
- Job Portals: Integrating the recommendation system into job portals can enhance the user
experience by providing personalized job suggestions based on the user's resume.
- Recruitment Agencies: Recruitment agencies can use the system to match candidates with
suitable job openings streamlining the hiring process.
- Career Counseling: Career counselors can leverage the system to offer data-driven career
advice to job seekers helping them find roles that align with their skills and interests.
- Corporate HR Departments: HR departments can use the system to identify internal candidates
48
for open positions promoting career growth and employee satisfaction.
6.4 Output
Presenting the results effectively is crucial for interpreting the recommendations and making
informed decisions. This section covers the reporting of results and the presentation format.
The system generates a list of recommended jobs based on the user's resume. Each
recommendation includes detailed information about the job such as:
- Job Description: A detailed description of the job role responsibilities and required skills.
- Similarity Score: A score indicating how closely the job matches the user's resume.
The results are presented in a user-friendly format making it easy for users to review and act
upon the recommendations.
6.5 Deployment
Deploying the job recommendation system involves setting up the necessary infrastructure and
implementing strategies to ensure seamless operation. we want to host it on the azure cloud in the
near future.
We adopted the following strategies for deploying the job recommendation system:
1. Cloud Deployment: Deploying the system on a cloud platform like AWS or Azure provides
scalability and flexibility. It allows the system to handle varying loads and provides high
availability.
49
2. Containerization: Using Docker containers ensures consistency across different
environments and simplifies the deployment process. Containers encapsulate the application and
its dependencies making it easier to deploy and manage.
3. API Integration: Implementing the recommendation system as a RESTful API allows easy
integration with job portals and other applications. It enables real-time interaction and data
exchange between the system and client applications.
50
Chapter 7
51
7.1 Summary
The AI-driven job recommendation system aims to bridge the gap between job seekers and
employers by leveraging advanced machine learning and natural language processing techniques.
This project has involved several steps from data collection and preprocessing to model selection
training and evaluation. Here we summarize the key findings and outcomes of this project.
2. Importance of Preprocessing: The preprocessing steps including text cleaning stop words
removal and tokenization significantly impacted the performance of the models. Effective
preprocessing ensures that the data fed into the models is clean and standardized leading to better
feature extraction and model performance.
3. Feature Extraction Techniques: The use of TF-IDF for turning import words in a document
numeric values as well as feature extraction proved to be effective for traditional machine
learning models. However deep learning models benefited from embeddings that captured richer
semantic information contributing to their superior performance.
While the current project has achieved significant milestones there are several areas for future
research and development to further enhance the system's capabilities.
52 | Page
7.2.1 Next Steps in Research
1. Advanced NLP Techniques: Future research can explore the integration of more advanced
natural language processing techniques such as BERT (Bidirectional Encoder Representations
from Transformers) and GPT (Generative Pre-trained Transformer). These models have shown
exceptional performance in understanding and generating human-like text which can further
improve the accuracy and relevance of job recommendations.
3. Integration of External Data: Incorporating external data sources such as social media
profiles, professional networking sites and industry trends can provide a more comprehensive
view of the job market and candidate profiles. This integration can enhance the system's ability to
match candidates with relevant job opportunities.
1. User Feedback and Adaptation: Collecting and analyzing user feedback is crucial for
understanding the system's strengths and weaknesses. Implementing mechanisms to adapt the
recommendations based on user feedback can significantly improve user satisfaction and
engagement.
3. Scalability and Performance Optimization: As the system scales to handle a larger user base
and more data optimizing the performance and scalability becomes crucial. This involves
exploring distributed computing techniques efficient data storage solutions and performance
optimization strategies to ensure the system remains responsive and efficient.
53
5. Cross-Domain Applications: Investigating the applicability of the recommendation system in
other domains such as education (course recommendations) e-commerce (product
recommendations) and entertainment (movie or music recommendations) can open up new
avenues for research and development.
To achieve the future work goals outlined above we propose the following detailed plan:
1. Research and Development: Establish a dedicated research team to explore advanced NLP
techniques personalization algorithms and integration of external data sources. This team will
focus on developing prototypes and conducting experiments to validate the effectiveness of new
approaches.
2. User Engagement: Implement user feedback mechanisms such as surveys ratings and
interactive feedback forms to collect insights from users. Use this feedback to iteratively improve
the system and adapt the recommendations to better meet user needs.
3. Model Explainability: Develop tools and techniques for explaining the recommendations
generated by the models. This includes generating feature importance scores visualizations and
textual explanations that can help users understand the rationale behind the recommendations.
5. Ethics and Bias Mitigation: Conduct regular audits to identify potential biases in the
recommendations. Develop strategies to mitigate these biases such as fairness-aware algorithms
and diverse training datasets. Ensure compliance with data privacy regulations by implementing
robust data protection measures.
Conclusion
In conclusion the AI-driven job recommendation system has shown significant promise in
improving the job search experience for users. By leveraging advanced machine learning and
natural language processing techniques the system provides accurate and relevant job
recommendations in real-time. The comparative analysis of different models highlights the
strengths and potential areas for improvement in each approach.
54 | Page
The future work outlined in this chapter provides a roadmap for enhancing the system's
capabilities and expanding its applicability. By incorporating advanced NLP techniques
personalization external data integration and addressing ethical considerations we aim to create a
more robust fair and user-friendly recommendation system.
Through continuous research user engagement and performance optimization we will strive to
stay at the forefront of recommendation system technology providing users with the best possible
job search experience. The future holds exciting possibilities for further innovation and
cross-domain applications making this project a stepping stone towards broader advancements in
AI-driven recommendations.
References:
2. Atalla, S., Daradkeh, M., Gawanmeh, A., Khalil, H., Mansoor, W., Miniaoui, S., & Himeur, Y.
(2023). An intelligent recommendation system for automating academic advising based on
curriculum analysis and performance modeling. *Mathematics, 11*(5), 1098.
https://doi.org/10.3390/math11051098
3. Tavakoli, M., Faraji, A., Vrolijk, J., Molavi, M., Mol, S. T., & Kismihók, G. (2021). An AI-based
open recommender system for personalized labor market driven education. *Advanced Engineering
Informatics, 48*, 101508. https://doi.org/10.1016/j.aei.2021.101508
5. Al-Otaibi, S. T., & Ykhlef, M. (2012). A survey of job recommender systems. International
Journal of the Physical Sciences, 7(29), 5127-5142. https://doi.org/10.5897/IJPS12.482
6. Zhang, S., Yao, L., Sun, A., & Tay, Y. (2019). Deep learning based recommender system: A
survey and new perspectives. ACM Computing Surveys, 52(1), Article 5, 1-38.
https://doi.org/10.1145/3285029
7. Lam, P. (2020, October 17). Building a job recommender via NLP and machine learning.
*Towards Data Science*. Retrieved from
https://towardsdatascience.com/building-a-job-recommender-for-non-technical-business-roles-via-nl
p-and-machine-learning-626c4039931e
55
8. Jeevankrishna. (2020). Job recommendation system using machine learning and natural language
processing (Master's thesis, Dublin Business School). Retrieved from
https://esource.dbs.ie/server/api/core/bitstreams/ea22d96a-262c-42bf-9bf3-8fbb98e3d36a/content
9. Gadegaonkar, S., Lakhwani, D., Marwaha, S., & Salunke, A. (2023). Job recommendation system
using machine learning. IEEE. https://doi.org/10.1109/10073757
10. Gadegaonkar, S., Lakhwani, D., Marwaha, S., & Salunke, A. (2023). Job recommendation
system using machine learning. In Proceedings of the International Conference on Artificial
Intelligence and Systems (ICAIS). IEEE. https://doi.org/10.1109/ICAIS56108.2023.10073757
11. Narula, R., Kumar, V., Arora, R., & Bhatia, R. (2023, October). Enhancing job recommendations
using NLP and machine learning techniques. ResearchGate. Retrieved from
https://www.researchgate.net/publication/377442387_Enhancing_Job_Recommendations_Using_N
LP_and_Machine_Learning_Techniques
12. Chou, Y.-C., & Yu, H.-Y. (2020). Based on the application of AI technology in resume analysis
and job recommendation. IEEE. https://doi.org/10.1109/9219491
13. Schlippe, T., & Bothmer, K. (2023). Skill Scanner: An AI-based recommendation system for
employers, job seekers, and educational institutions. International Journal of Advanced Corporate
Learning (iJAC), 16(1), 55-64. https://doi.org/10.3991/ijac.v16i1.34779
14. Jain, U., Jain, D., & Varshney, A. R. (2023). A deep learning approach to job recommendation
analysis with NLP. International Journal of Innovative Science and Research Technology, 8(11).
Retrieved from https://ijisrt.com/assets/upload/files/IJISRT23NOV818.pdf
56 | Page