Skip to main content

Elyvvia

Resume Screening System

The Resume Screening System is an AI-powered Machine Learning application designed to automate the initial process of analyzing and categorizing resumes. It uses Natural Language Processing (NLP) techniques to extract meaningful information from unstructured resume text and identify the most relevant professional category.

The system processes resumes through a structured pipeline that includes text preprocessing, TF-IDF feature extraction, model training, classification, and performance evaluation. The final classification model uses Linear SVC (Support Vector Classifier) to identify patterns in resume content and assign resumes to appropriate job categories.

Linear SVC

Regression

Natural Language Processing

99%

Accuracy

0.995

Precision

99%

F1

99%

Recall

Linear Support Vector Classifier (Linear SVC) is the primary machine learning algorithm used in the Resume Screening System to classify resumes into different professional categories.

The model works particularly well with high-dimensional text data generated by TF-IDF vectorization. It learns a decision boundary that separates different resume categories based on the words and phrases present in the resume.

Resume Screening System

The Resume Screening System is an AI-powered Machine Learning application designed to automate the initial process of analyzing and categorizing resumes. It uses Natural Language Processing (NLP) techniques to extract meaningful information from unstructured resume text and identify the most relevant professional category.

The system processes resumes through a structured pipeline that includes text preprocessing, TF-IDF feature extraction, model training, classification, and performance evaluation. The final classification model uses Linear SVC (Support Vector Classifier) to identify patterns in resume content and assign resumes to appropriate job categories.

Linear SVC

Regression

Natural Language Processing

99%

Accuracy

0.995

Precision

99%

F1

99%

Recall

Linear Support Vector Classifier (Linear SVC) is the primary machine learning algorithm used in the Resume Screening System to classify resumes into different professional categories.

The model works particularly well with high-dimensional text data generated by TF-IDF vectorization. It learns a decision boundary that separates different resume categories based on the words and phrases present in the resume.


Project Description

The AI-Powered Resume Screening System is a Natural Language Processing and Machine Learning application developed to automatically classify resumes into predefined professional categories. Resume documents generally contain large amounts of unstructured textual information, including technical skills, education, work experience, certifications, tools, responsibilities, and professional achievements. Manually reviewing and categorizing large numbers of resumes can be time-consuming and inconsistent. This project addresses that challenge by applying text preprocessing, TF-IDF feature extraction, and supervised machine learning classification.

The system begins with a collection of resume records and their corresponding professional categories. Resume text is cleaned and normalized before being transformed into numerical TF-IDF features. These features are then used to train several classification algorithms. Their performance is evaluated using accuracy, precision, recall, and F1-score, followed by stratified cross-validation and hyperparameter tuning. The final trained model can then be used to classify new resumes that were not present in the training dataset.

Problem Statement

Recruitment processes often involve handling a large number of resumes belonging to candidates with different technical and professional backgrounds. Identifying the appropriate job category from unstructured resume text can require significant manual effort. Resumes can contain different writing styles, terminology, technologies, job titles, educational backgrounds, and experience descriptions, making automated categorization a natural language classification problem.

The objective of this project is therefore to develop a machine learning system that can analyze resume text and automatically assign it to an appropriate predefined professional category. The system should preprocess the text, extract meaningful textual features, train multiple classification models, compare their performance, select and optimize an appropriate model, evaluate it on unseen data, and provide predictions for new resumes.

Objectives

    • The major objectives of the project are to perform exploratory analysis of the resume dataset, identify data-quality issues, inspect missing and duplicate records, clean and normalize resume text, and prepare the information for machine learning.

      Another major objective is to convert resume text into numerical representations using TF-IDF, train several classification algorithms, compare their performance using standard classification metrics, perform stratified cross-validation, and optimize the selected model using GridSearchCV.

      The project also focuses on evaluating classification errors, identifying common misclassification patterns, examining important textual features associated with each category, saving the trained model components, and creating a reusable prediction workflow for new resumes.

AI-Powered Insurance Cost Prediction

The system uses Natural Language Processing techniques to transform unstructured resume text into machine-readable features. It is designed to identify textual patterns associated with different professional domains and use those patterns to determine the most appropriate resume category.

Intelligent Data Processing

The project performs several preprocessing operations before model training. Resume text is converted to lowercase, URLs and email addresses are removed, unwanted symbols are eliminated, and multiple spaces are normalized. The preprocessing process is designed to retain useful professional information such as technical terminology, skills, technologies, job-related keywords, and numerical information.

This cleaned text is subsequently passed to the TF-IDF vectorization stage.

Multiple Machine Learning Models

The project uses Term Frequency-Inverse Document Frequency (TF-IDF) to convert resume text into numerical feature vectors. The implementation uses both unigrams and bigrams through an ngram_range of (1, 2), allowing the model to learn individual terms as well as meaningful two-word combinations.

For example, phrases such as “data science”, “machine learning”, “java developer”, “database administrator”, “network security”, and “business analyst” can provide important signals for classification.

The vectorizer is configured with a maximum vocabulary size of 50,000 features, while sublinear_tf=True is used to moderate the influence of very frequent terms.

The project trains and compares four classification algorithms:

  1. Logistic Regression
  2. Linear Support Vector Machine
  3. Multinomial Naive Bayes
  4. Random Forest

All models are trained using the same TF-IDF representation so that their performance can be compared under a consistent feature-extraction process.

Results

Performance Metrics

The Resume Screening project evaluates classification models using multiple performance metrics, including accuracy, precision, recall, F1-score, cross-validation performance, confusion matrix analysis, and category-level performance.

The dataset contains 962 resume records across 25 professional categories. The notebook creates an approximately 80/20 stratified train-test split consisting of 769 training samples and 193 testing samples.

ModelAccuracyPrecisionRecallF1 Score
Logistic Regression99.48%99.57%99.48%99.49%
Linear SVM99.48%99.57%99.48%99.49%
Random Forest99.48%99.57%99.48%99.49%
Multinomial Naive Bayes94.82%94.20%94.82%

93.55%

The test-set results show that Logistic Regression, Linear SVM, and Random Forest achieved the same rounded performance values, while Multinomial Naive Bayes produced lower scores.

Because several models had very similar test-set performance, the project additionally used 5-fold stratified cross-validation to assess model consistency.

🏆 Model Performance

ModelMean AccuracyMean PrecisionMean RecallMean F1
Linear SVM99.48%99.56%99.48%99.48%
Random Forest99.35%99.44%99.35%99.34%
Logistic Regression99.35%99.44%99.35%99.34%
Multinomial Naive Bayes93.89%93.98%93.89%92.98%

1. Introduction

The AI Resume Screening System is a Machine Learning and Natural Language Processing application designed to automatically classify resumes into predefined professional job categories. The system analyzes textual information contained in resumes and identifies patterns associated with different professional domains.

The project demonstrates an end-to-end NLP classification workflow beginning with dataset analysis and text cleaning, followed by TF-IDF feature extraction, machine learning model training, model comparison, cross-validation, hyperparameter optimization, final evaluation, error analysis, and deployment-oriented model persistence.

2. Objectives

The primary objective of this project is to develop an automated resume classification system capable of categorizing resumes based on their textual content.

The project performs exploratory data analysis, examines data quality and duplicate records, cleans resume text, converts textual information into TF-IDF features, trains multiple machine learning classification models, compares their performance, performs stratified cross-validation, and optimizes the selected classifier using GridSearchCV.

The system also evaluates the final model on unseen data, performs category-level analysis, identifies misclassified resumes, extracts important textual features, saves trained model components, and provides a reusable prediction function for new resumes.

3. System Overview

The complete workflow of the system can be represented as:

Resume Dataset → Data Quality Analysis → Duplicate Analysis → Text Cleaning → Label Encoding → Train/Test Split → TF-IDF Feature Extraction → Model Training → Model Comparison → Stratified Cross-Validation → Hyperparameter Tuning → Final Model → Evaluation → Error Analysis → Model Saving → New Resume Prediction

This workflow ensures that the resume text is systematically transformed from raw unstructured information into a format that can be processed by machine learning algorithms.

The final trained components consist of the TF-IDF vectorizer, Linear SVM classifier, and label encoder. These components are saved and can subsequently be loaded by the application for prediction.

4. Technologies Used

CategoryTechnology
Programming LanguagePython
Data ProcessingPandas, NumPy
Data VisualizationMatplotlib, Seaborn
Machine LearningScikit-learn
NLP Feature ExtractionTF-IDF
ClassificationLinear SVM, Logistic Regression, Naive Bayes, Random Forest
Hyperparameter OptimizationGridSearchCV
Model ValidationStratified K-Fold Cross-Validation
Model PersistenceJoblib
Web ApplicationStreamlit
File ProcessingPyPDF / PyPDF2 / PDFPlumber, python-docx
Visualization in AppPlotly
Development EnvironmentJupyter Notebook

 

5. Machine Learning Model

The project evaluates four supervised classification algorithms.

Logistic Regression is used as a linear classification baseline and provides a computationally efficient approach for high-dimensional TF-IDF features.

Linear Support Vector Machine is particularly suitable for sparse, high-dimensional text representations and is used as the final optimized classifier.

Multinomial Naive Bayes provides a probabilistic baseline commonly used for text classification tasks.

Random Forest provides a tree-based ensemble approach and is included to compare a fundamentally different classification methodology against the linear text-classification models.

After cross-validation, Linear SVM was selected for hyperparameter optimization. GridSearchCV evaluated different values of the regularization parameter C and different class-weight configurations. The best configuration was C=0.1 with class_weight='balanced'.

6. Evaluation Metrics

The project uses several classification metrics to assess the final model.

Accuracy measures the proportion of test resumes that were assigned to the correct category.

Precision measures how frequently predictions assigned to a particular category were correct.

Recall measures how effectively the model identifies resumes that actually belong to a particular category.

F1-score combines precision and recall into a single harmonic-mean metric and is particularly useful when both types of errors need to be considered.

Cross-validation performance measures model consistency across multiple training-validation splits.

Confusion Matrix provides a detailed visualization of correct and incorrect predictions across all professional categories.

Misclassification Analysis identifies the resumes that were classified incorrectly and reveals which categories are most frequently confused.

7. Conclusion

  • The final Linear SVM model achieved an accuracy of 99.48%, weighted precision of 99.57%, weighted recall of 99.48%, and weighted F1-score of 99.49% on the held-out test set.

    The model correctly classified 192 of the 193 test samples, with one recorded misclassification between the DevOps Engineer and Automation Testing categories.

    The high performance observed in the evaluation demonstrates that the TF-IDF representation combined with linear classification can effectively capture the terminology and textual patterns present in this particular resume dataset.

  • Although the model produces strong results on the available evaluation data, several limitations should be considered.

    The primary dataset used by the notebook contains 962 records but only 166 unique resume texts, meaning a large number of records contain duplicate resume text. The notebook’s final modeling dataframe does not remove these duplicates before the train-test split. Consequently, duplicate or near-identical resume content can appear across training and testing data, which can make the reported test performance substantially more optimistic than performance on genuinely unseen resumes.

    This is an important point to address if you are presenting the project academically or professionally.

    The model is also dependent on the vocabulary and categories represented in the training dataset. Resumes from industries or professional domains that are not represented in the training data may not be classified reliably.

    TF-IDF is based on statistical word importance and does not fully understand contextual meaning, synonyms, sentence relationships, or the deeper semantics of a resume.

    The current system should therefore be considered a resume-category classification tool, rather than a complete automated hiring or candidate-selection system.