An NLP-powered Resume Classification & Ranking System built with Flask, Scikit-learn, and BERT-based experiments.
The system automatically preprocesses resumes, classifies them into professional domains, and supports resume ranking workflows for intelligent recruitment assistance.
- Resume text preprocessing & cleaning
- Tokenization and normalization
- Stopword removal
- Text feature extraction
- Resume classification pipeline
- Resume ranking module
Automatically classifies resumes into domains such as:
- Data Science
- HR
- Java Developer
- Testing
- DevOps
- Web Designing
- Sales
- Mechanical Engineering
- Baseline ML models
- TF-IDF vectorization
- BERT experimentation
- Performance evaluation & comparison
- Notebook-based experimentation workflow
- Flask application interface
- Resume upload workflow
- Prediction results page
- Ranking visualization
Dataset includes resumes from multiple professional domains:
Resume.csv
cleaned_resume.csv
Processed datasets are stored after preprocessing for model training and evaluation.
| Layer | Technology |
|---|---|
| Backend | Python · Flask |
| NLP | NLTK · Scikit-learn |
| Deep Learning | Transformers / BERT |
| Data Processing | Pandas · NumPy |
| Visualization | Matplotlib |
| Frontend | HTML · CSS · Jinja2 |
- Python 3.10+
- pip
- Virtual Environment
git clone https://github.com/Youssif71/Resume-Classification-System.git
cd Resume-Classification-SystemWindows:
python -m venv .venv
.venv\Scripts\activateLinux / macOS:
python -m venv .venv
source .venv/bin/activatepip install -r requirements.txtpython app.pyOpen:
http://127.0.0.1:5000
Resume-Classification-System/
├── app.py
├── requirements.txt
├── README.md
├── LICENSE
│
├── data/
│ ├── Resume.csv
│ └── cleaned_resume.csv
│
├── docs/
│ ├── NLP Resume Classification Project Report.docx
│ └── NLP Resume Classification Project Report.pdf
│
├── notebooks/
│ ├── preprocessing.ipynb
│ ├── Final_Preprocessing.ipynb
│ ├── baseline_model.ipynb
│ └── bert_model.ipynb
│
├── templates/
│ ├── layout.html
│ ├── index.html
│ └── results.html
│
├── static/
│ └── style.css
│
└── utils/
├── preprocessing.py
├── inference.py
├── ranking.py
└── __init__.py
- Traditional ML classifiers
- TF-IDF representations
- Comparative evaluation
- Transformer experimentation
- Context-aware embeddings
- Performance benchmarking
Resume Input
↓
Text Cleaning
↓
Preprocessing
↓
Feature Extraction
(TF-IDF / BERT)
↓
Classification
↓
Ranking
↓
Prediction Output
Project reports available:
- PDF Report
- DOCX Documentation
- Experimental notebooks
- Built for educational and research purposes
- Supports experimentation with traditional ML and transformer models
- Can be extended for ATS / recruitment systems
Youssif Magdi Ahmed Assem Adel Akram
Data Science & Artificial Intelligence Student
Zewail City of Science & Technology
Educational use only.