YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
Resume Classification using RNN
This project implements an end-to-end Recurrent Neural Network (RNN) to classify resumes into different job categories based on their content.
Project Structure
resume-classifier/
βββ data/
β βββ resume_dataset.csv
βββ models/
β βββ resume_model.pth
β βββ model_config.pkl
β βββ preprocessor.pkl
β βββ training_history.npy
βββ src/
β βββ __init__.py
β βββ data_preprocessing.py
β βββ model.py
β βββ train.py
β βββ predict.py
βββ templates/
β βββ index.html
βββ app.py
βββ main.py
βββ requirements.txt
Installation
pip install -r requirements.txt
Usage
Training
python main.py --mode train \
--data-dir data \
--epochs 20 \
--batch-size 32 \
--model-type rnn \
--use-attention \
--bidirectional
Web Interface (Flask)
python app.py
Then open http://localhost:5000 in your browser.
The web interface provides a clean, modern UI for classifying resumes with visual feedback and confidence scores.
Dataset
The model expects a CSV file with at least two columns:
Resume: The text content of the resumeCategory: The job category/label
Model Architecture
RNN Model (LSTM/GRU)
- Embedding Layer
- Bidirectional LSTM/GRU Layer(s) with optional attention
- Fully Connected Output Layer
CNN Model (Alternative)
- Embedding Layer
- Multiple Convolutional layers with different kernel sizes
- Max Pooling
- Fully Connected Output Layer
Features
- Text Preprocessing: Cleaning, tokenization, vocabulary building
- Attention Mechanism: Improved text representation
- Early Stopping: Prevent overfitting
- Learning Rate Scheduling: Adaptive learning rate
- Top-k Predictions: Get multiple predicted categories with probabilities
- Modern Web UI: Clean, responsive interface for easy predictions
Inference Providers NEW
This model isn't deployed by any Inference Provider. π Ask for provider support