CoolFace
Apppublic

imtalha/AI-Powered-Resume-Screening-System

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
App README

AI-Powered-Resume-Screening-System

Overview

This project is an AI-driven resume screening system that extracts key details from resumes, compares them with job descriptions, and computes a match score using NLP techniques. The system leverages Groq's Mixtral-8x7B-32768 model, Sentence Transformers, and Gradio for an interactive user interface.

Implementation Process

  1. 1.Extracting Text from Resume (PDF)

The system uses pdfminer.six to extract text from uploaded PDF resumes.

  • —The extracttextfrom_pdf() function reads the document and returns plain text.
  1. 1.Extracting Structured Information from Resume

The extracted text is processed using Groq's LLM (Mixtral-8x7B-32768) to extract:

  • —Name
  • —Skills
  • —Experience
  • —Education

The extractresumedata() function sends the extracted text to the LLM and retrieves structured information.

  1. 1.Matching Resume with Job Description
  • —The system encodes both the resume details and job description into vector embeddings using SentenceTransformer('all-MiniLM-L6-v2').
  • —Cosine similarity is computed between the two embeddings using pytorchcossim().
  • —The matchresumewith_job() function returns a match score indicating candidate suitability.
  1. 1.Building a User Interface with Gradio

The Gradio library is used to create a simple UI where users can:

  • —Upload a resume (PDF format)
  • —Input a job description
  • —Get extracted resume information and a match score

The process_resume() function integrates all steps and returns results to the UI.

Technologies Used

  • —Groq API: LLM for resume data extraction
  • —pdfminer.six: Extract text from PDFs
  • —Sentence Transformers: Convert text into vector embeddings
  • —Torch: Compute similarity scores
  • —Gradio: Build an interactive web interface

Installation & Setup

  1. 1.Clone the Repository
bash
git clone https://github.com/your-repo/AI-Resume-Screening.git
cd AI-Resume-Screening
  1. 1.Install Dependencies
bash
pip install -r requirements.txt
  1. 1.Set Up Environment Variables
bash
GROQ_API_KEY="your_api_key_here" 
  1. 1.Run the Application
bash
python app.py

Data Sources

  • —Resumes: Provided by users in PDF format
  • —Job Descriptions: Entered manually into the UI

Key Challenges & Solutions

  1. 1.Extracting Accurate Resume Data
  • —Challenge: Extracting structured information from raw text.
  • —Solution: Used Groq LLM to parse text and extract fields accurately.
  1. 1.Ensuring Resume & Job Matching is Effective
  • —Challenge: Matching resumes with job descriptions using relevant skills.
  • —Solution: Used Sentence Transformer embeddings for similarity computation.
  1. 1.Handling Different Resume Formats
  • —Challenge: PDF resumes have varied layouts.
  • —Solution: Used pdfminer.six, which extracts text from diverse formats.

Future Improvements

  • —Enhance extraction accuracy using fine-tuned LLM models.
  • —Implement database storage for storing analyzed resumes.
  • —Add multi-resume comparison to rank multiple candidates.