Skip to content

Python-With-Krishna/Automated-Resume-Screening-NLP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Automated Resume Screening Tool Using NLP

📌 Overview

The Automated Resume Screening Tool is a machine learning-based application designed to help recruiters efficiently screen resumes. It uses Natural Language Processing (NLP) to clean, analyze, and categorize resumes into different domains (e.g., Data Science, Java Developer, HR, etc.) based on their content.

🔴 Live Demo

🚀 Click Here to Try the App Live (Note: Replace the link above with your actual Streamlit App URL)

🔥 Features

  • 📂 Multiple Format Support: Extract text from PDF and TXT files.
  • 🧹 Intelligent Cleaning: Automatically removes URLs, hashtags, mentions, and special characters.
  • 🧠 Machine Learning Classification: Uses a pre-trained K-Nearest Neighbors (KNN) classifier with TF-IDF vectorization to predict the candidate's job category.
  • 📊 Instant Scoring: Provides a match score based on relevant keywords.
  • Real-time Results: Displays predicted category, confidence score, and matched skills instantly.

🛠️ Tech Stack

  • Frontend: Streamlit
  • Programming Language: Python 🐍
  • Machine Learning: Scikit-Learn
  • NLP Libraries: NLTK, Regex
  • PDF Processing: PyMuPDF (Fitz)

🚀 How to Run Locally

  1. Clone the Repository

    git clone [https://github.com/Code-with-Krishna-Prasad/Automated-Resume-Screening-NLP.git](https://github.com/Code-with-Krishna-Prasad/Automated-Resume-Screening-NLP.git)
    cd Automated-Resume-Screening-NLP
  2. Install Dependencies

    pip install -r requirements.txt
  3. Run the Application

    python app.py
  4. Access the Web App Open your browser and go to http://localhost:5000

📸 Screenshots (Optional)

Include some screenshots of the tool’s interface to give users an idea of its functionality.

User Interface

image alt

Result After Upload Resume

image alt

🏆 Challenges & Solutions

✅ Challenges

  • Handling different resume formats
  • Extracting relevant skills from unstructured text
  • Ensuring accurate ranking of candidates

💡 Solutions

  • Used pdfminer and docx2txt to handle PDF and DOCX parsing
  • Leveraged spaCy for Named Entity Recognition (NER)
  • Implemented scoring based on keyword matching and experience analysis

🤝 Contributing

Contributions are welcome! Feel free to submit a pull request or open an issue.

📩 Contact

For any queries, reach out to me on LinkedIn.

⭐ Acknowledgments

  • Thanks to the open-source community for amazing libraries!
  • Special thanks to my mentors and peers for their support.

If you find this project useful, don’t forget to ⭐ star the repository!

About

The Automated Resume Screening Tool is designed to help recruiters efficiently screen resumes using Natural Language Processing (NLP). It extracts key details from resumes, analyzes relevant information, and provides insights to assist in candidate selection.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages