Satya is an innovative AI-driven solution designed to revolutionize the HR landscape by streamlining the resume screening process and analyzing recommendation networks. This project aims to create a more efficient, reliable, and objective approach to talent acquisition in a world where careers are shaped by networks, connections, and credibility.
- Project Overview
- Features
- Installation
- Usage
- Project Structure
- Methodology
- Results
- Future Directions
Satya employs advanced natural language processing (NLP) techniques, graph theory, and machine learning algorithms to:
- Screen and score resumes
- Analyze recommendation networks
- Detect potential fraud in recommendations
- Provide comprehensive candidate evaluations
The project is divided into three main parts:
- Resume Screening and Initial Scoring
- Network Analysis of Recommendations
- Final Reliability Score Calculation
- Extraction and analysis of key resume attributes
- Graph-based analysis of recommendation networks
- Sentiment analysis of recommendation letters
- Fraud detection in recommendations
- Composite scoring system for candidate evaluation
- Visualization of score distributions and network graphs
git clone /~https://github.com/vedprakashnautiyal/HireSenseATS.git
cd HireSenseATS
pip install -r requirements.txt
This will perform resume screening, recommendation analysis, final score calculation, and dashboard creation.
This stage employs advanced NLP techniques to extract and analyze various measures from resumes:
- Years of Experience: Extracted using regex to identify date patterns.
- Education Level: Categorized using pattern matching algorithms.
- Spell Check Ratio: Implemented using the LanguageTool library.
- Resume Section Score: Semantic analysis to identify key resume sections.
- Brevity Score: Evaluates resume conciseness based on word count and content density.
- Skill Count and Relevance: Uses keyword extraction and semantic similarity analysis.
- Technical Score: Composite score derived from education, experience, and technical skills.
- Managerial Score: Uses sentiment analysis and achievement quantification algorithms.
- Overall Score: Weighted combination of all previous scores.
- Job Match Score: TF-IDF vectorization and cosine similarity with job description.
This stage constructs and analyzes a directed graph G(V,E) representing the recommendation network:
- PageRank: Identifies influential candidates and recommenders.
- Betweenness Centrality: Flags candidates with potential but not heavily networked.
- In-Degree: Measures the number of incoming recommendations.
- Reciprocal Recommendations: Detects and flags mutual recommendations.
- Cycle Detection: Identifies closed loops in the recommendation network.
Composite Credibility Score (CreditScore) Calculation:
CreditScore = IncomingEdgeWeightSum * ((0.4 * PageRank + 0.3 * Inverse_Betweenness) / (InDegree + 1)) - 0.3 * Reciprocity
- Combines scores from Parts 1 and 2
- Incorporates sentiment analysis of recommendation letters using LLaMA 3.1 model
- Generates a final normalized reliability score for each candidate
The project outputs:
- CSV files with processed data and scores
- Visualizations of score distributions
- Network graphs showing recommendation patterns
- A final ranked list of candidates based on reliability scores
- An interactive dashboard for HR decision support
- Enhance recommendation credibility by matching company names and work terms
- Implement continuous learning to improve fraud detection accuracy
- Candidate database browsing with pagination
- Skill-based filtering
- Detailed candidate profile view
- AI-generated resume summaries
- Visual representation of candidate scores
- Chatbot for asking questions about candidates
- Python 3.7+
- Streamlit
- Pandas
- Groq API key
- Plotly
- LangChain
-
Install the required packages:
pip install -r requirements.txt
-
Set up your API key:
- Create a
.env
file in the project root - Add your Groq API key:
API_KEY=your_api_key_here
- Create a
-
Ensure you have the necessary CSV files in the project directory:
streamlit_table.csv
resume_text.csv
-
Run the Streamlit app:
streamlit run app.py
-
Open your web browser and navigate to the provided local URL (usually
http://localhost:8501
)
- Candidate Database: Browse through candidate profiles with pagination.
- Skill Filtering: Use the multiselect feature to filter candidates based on skills.
- Profile View: Click on "View Profile" to see detailed information about a candidate.
- Resume Summary: AI-generated summary of the candidate's resume.
- Score Visualization: Circular bar charts display various scores for the candidate.
- Chatbot: Ask questions about the candidate and receive AI-powered responses.