Resume Analyzer: https://github.com/BAHCodefest2024/resume_analyzer_t3`
BAH Codefest Submission: This resume Analyzer is designed to utilize a 1 bit transformer based model to compare the content of resume and job descriptions, outputting a similarity score (descending order) and the m (in descending order) matching words to justify each comparison.
- Resume Parsing: Converts resume PDFs into parsable text format.
- Job Description Parsing: Converts job description PDFs into parsable text format.
- Content Similarity: Uses an LLM to calculate the similarity between resume and job description content.
- Score Justification: Provides a justification for the similarity score based on matching words/phrases.
- CPU Only Support: Utilizes CPU with minimal RAM requirements.
Shortcomings of our Implementation: The text parsing and cleaning does not strip common words (e.g. At, the, into etc.)
-
Open the Notebook:
- Click on the following link to open the notebook in Google Colab: Colab Notebook
- Model Hugging Face Repo: https://huggingface.co/sentence-transformers/multi-qa-mpnet-base-cos-v1)
-
Install Required Packages:
- The notebook will automatically install the necessary packages when you run the first cell.
-
Clone Data:
- The notebook clones and places sample job description PDFs in
/resume_analyzer_t3/data/job_descriptions/
. - The notebook clones and places sample resume PDFs in
/resume_analyzer_t3/data/resumes/
.
- The notebook clones and places sample job description PDFs in
-
Run the Notebook:
- Execute the cells in the notebook sequentially to process the resume and job descriptions, calculate similarity scores, and view the results.
If you prefer to run the notebook locally, follow these steps:
-
Clone the Repository:
- git clone https://github.com/BAHCodefest2024/resume_analyzer_t3/
- cd resume_analyzer_t3
-
Install Required Packages:
- pip install -q git+https://github.com/huggingface/transformers.git
- pip install -q torch git-lfs bitsandbytes accelerate peft sentence-transformers pypdf kaleido beautifulsoup4
-
Open the Notebook::
- Open ~/resume_analyzer_t3/
-
Prepare Data:
- Place job descriptions in
/resume_analyzer_t3/data/job_descriptions/
- Place resume in
/resume_analyzer_t3/data/resumes/
- Place job descriptions in
-
Run the Notebook:
- Execute the cells in the notebook sequentially to process the resume and job descriptions, calculate similarity scores, and view the results.
Confirm that job descriptions and resume are in the correct directories:
Job Descriptions: /resume_analyzer_t3/data/job_descriptions/
Resumes: /resume_analyzer_t3/data/resumes/
- https://github.com/microsoft/BitNet
- https://papeg.ai/#
- https://colab.research.google.com/drive/1ovmQUOtnYIdvcBkwEE4MzVL1HKfFHdNT?usp=sharing
- https://huggingface.co/blog/1_58_llm_extreme_quantization
- https://sbert.net/examples/applications/semantic-search/README.html
- https://sbert.net/docs/sentence_transformer/pretrained_models.html