Project Report2
Project Report2
1. Introduction
Recruitment is a fundamental part of any organization. However, screening hundreds of resumes
manually can be time-consuming and inefficient. Our project, the "Resume Analyzer for HR," is
designed to simplify and automate this process. Using artificial intelligence, natural language
processing, and OCR technologies, the system analyzes multiple resumes against a job
description and skill keywords. It gives results in the form of percentage matches, bar graphs,
and pie charts, helping HR managers make data-driven hiring decisions quickly.
This project serves as a modern solution to the traditional resume review process by allowing
automated text extraction, semantic analysis of resume content, and smart visual reporting. By
integrating this tool into HR workflows, organizations can reduce the time to hire and increase
the accuracy of candidate screening.
2. Objectives
To automate the resume screening process using AI.
To support resume formats like PDF, DOCX, JPG, and PNG.
To analyze resumes based on input job descriptions and keywords.
To display results with matching percentage scores.
To provide visual insights using pie and bar charts.
To offer a simple and user-friendly interface.
To help HR identify top candidates quickly and fairly.
To create a centralized tool to manage and evaluate resume data.
3. Technologies Used
Python: The core programming language for backend processing.
Streamlit: Used to build the user-friendly and interactive web interface.
NLTK (Natural Language Toolkit): For text cleaning, stopword removal, and
lemmatization.
Tesseract OCR: For extracting text from scanned image resumes.
OpenCV: For image enhancement before text extraction.
1
Scikit-learn: Used to implement TF-IDF vectorization and cosine similarity algorithm.
Matplotlib & Plotly: For generating charts and graphs for visual results.
HTML/CSS: Embedded styling for enhanced UI appeal.
Extracts text from resumes uploaded in PDF, DOCX, JPG, and PNG formats.
Uses file handling, PyPDF2, docx module, and pytesseract for OCR.
b) Preprocessing Module
e) Visualization Module
2
5. How It Works
1. HR enters the job description and selects required skills (e.g., Python, Java, SQL).
2. Multiple resumes are uploaded in supported formats.
3. The backend extracts text using different methods based on file type.
4. Preprocessing standardizes the text for analysis.
5. The analyzer compares each resume with job description and skills.
6. Matching scores are calculated and visualized.
7. The final result includes a ranking table and charts.
6. Future Scope
Add support for multilingual and regional resume analysis.
Connect the analyzer with job portals to auto-fetch candidate resumes.
Incorporate database integration for storing resume results.
Use deep learning models like BERT or GPT for more advanced analysis.
Add features for personality trait analysis or soft skill evaluation.
Provide smart shortlisting and recommendation suggestions.
Enable resume feedback generation and emailing of results.
7. Conclusion
The Resume Analyzer for HR simplifies recruitment by automating the initial screening process.
It efficiently compares resumes with job requirements and provides insightful visual outputs.
With its integration of multiple technologies and a strong focus on usability, this project is a
powerful solution for modern hiring teams. It significantly saves time, improves accuracy, and
ensures that the best candidates are identified fairly and efficiently.