AI Resume Reader is a Machine Learning and Natural Language Processing project that predicts a candidate's job category based on their resume. The project uses an NLP-based Machine Learning Pipeline with TF-IDF and LinearSVC. The trained Pipeline is saved using Pickle and integrated with a Flask web application.
- Python
- Natural Language Processing (NLP)
- Scikit-learn
- TF-IDF
- LinearSVC
- Machine Learning Pipeline
- Pickle
- Flask
- HTML
- CSS
Candidate Resume → NLP Processing → TF-IDF → LinearSVC → Predicted Job Category The TF-IDF vectorizer and LinearSVC classifier are combined into a single Machine Learning Pipeline.
The project uses a resume classification dataset containing:
- 962 resume records
- 25 job categories
- Resume text and corresponding category labels
- Python Developer
- Java Developer
- Data Science
- HR
- Testing
- DevOps Engineer
- Web Designing
- Business Analyst
- Database
- Operations Manager
- Civil Engineer
- Mechanical Engineer
- Electrical Engineering
- Sales
- Hadoop
- Blockchain
- SAP Developer
- Automation Testing
- Network Security Engineer
The project uses a combination of:
- TF-IDF Vectorization for converting resume text into numerical features
- LinearSVC for job category classification
- Scikit-learn Pipeline for combining the text vectorization and classification steps
- Pickle for saving and loading the trained Pipeline The trained Pipeline is stored in the project as a Pickle file.
A Flask-based web interface is included in the project.
Users can:
- Paste a candidate's resume.
- Click Analyze Resume.
- Get the predicted job category.
- Click Clear to remove the current resume and prediction.
- Enter another resume and analyze it again.
- app.py -- Flask application
- resume_reader_pipeline.pkl -- Trained NLP and Machine Learning Pipeline
- templates/index.html -- Web page structure
- static/style.css -- Web page styling
- AI-based resume classification
- NLP text processing
- TF-IDF feature extraction
- LinearSVC classification
- Machine Learning Pipeline
- Flask web interface
- Pickle model serialization
- Multiple job category prediction
- Clear and re-analyze functionality
The current model achieved approximately 83% accuracy on the test dataset.
Model performance can be improved further by using a larger and more balanced dataset, additional text preprocessing, feature engineering, and model tuning.
Install the required Python libraries, run the Flask application, and open the application in a web browser using the local Flask address.
- Upload resumes directly in PDF and DOCX formats
- Automatic resume text extraction
- Prediction confidence scores
- More job categories
- Larger training dataset
- Improved model performance
- Online deployment
This project is developed for educational and demonstration purposes. Predictions generated by the model should be treated as suggestions and should not be used as the sole basis for recruitment decisions.
Author
Vrushali V. Khedkar