The CV Analyzer Prototype is a project focused on automating the analysis of resumes and job descriptions. It aims to simplify the recruitment process by integrating modern data processing techniques, including natural language processing (NLP), machine learning, and advanced similarity measures, to screen, match, and rank candidates efficiently.
- Automated Data Extraction: Asynchronously extracts CV data and job descriptions from APIs and stores them in MongoDB.
- Text Preprocessing: Normalizes and cleans text data for structured analysis.
- Similarity Analysis: Combines multiple methodologies:
- TF-IDF vectorization
- Latent Dirichlet Allocation (LDA)
- BERT embeddings
- Cosine similarity for ranking candidates.
- Candidate Ranking: Generates ranked lists of candidates for each job description based on similarity scores.
- Data Storage: Processes and stores data in MongoDB and exports it in CSV/JSON formats for further analysis.
-
Data Extraction:
- Fetch resumes and job descriptions from an API using asynchronous HTTP requests.
- Store the fetched data in MongoDB collections.
-
Preprocessing:
- Clean and normalize text fields to remove noise.
- Combine relevant columns to create comprehensive representations of resumes and jobs.
-
Feature Extraction:
- Apply TF-IDF vectorization to quantify term relevance.
- Use LDA for topic modeling and semantic grouping.
- Generate contextual embeddings with BERT for deeper language understanding.
-
Similarity Calculation:
- Measure similarities between resumes and job descriptions using cosine similarity.
- Combine similarity metrics from different methods (TF-IDF, LDA, BERT) for comprehensive evaluation.
-
Ranking:
- Rank candidates for each job description based on aggregated similarity scores.
- Output ranked results in CSV/JSON formats.
- Python (3.8+)
- MongoDB
- aiohttp
- pandas
- scikit-learn
- matplotlib
- transformers (Hugging Face)
- gensim
- nltk
-
Clone the repository:
git clone https://github.com/your-username/cv-analyzer-prototype.git cd cv-analyzer-prototype -
Install dependencies:
pip install -r requirements.txt
-
Set up MongoDB locally or configure MongoDB Atlas for cloud storage.
-
Run the data extraction process:
python main.py
-
Process data for similarity analysis:
python preprocessing.py
-
Extract features and calculate similarity:
python feature_extraction.py
-
Generate ranking results:
python similarity_analysis.py
- Integration with cloud databases (e.g., MongoDB Atlas).
- Improved machine learning models for predictive analysis.
- Real-time API for job-to-candidate matching.