{"id":26434166,"url":"https://github.com/adarshpheonix2810/resume-screening","last_synced_at":"2026-04-13T06:12:25.920Z","repository":{"id":282946870,"uuid":"950186546","full_name":"adarshpheonix2810/Resume-Screening","owner":"adarshpheonix2810","description":"This project is designed to classify resumes into different job categories based on their content. Users can upload resumes in PDF, DOCX, or TXT format, and the application will predict the category using a pre-trained machine learning model. It aims to enhance the job application process for candidates and recruiters alike.","archived":false,"fork":false,"pushed_at":"2025-03-17T19:11:50.000Z","size":664,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-17T20:25:14.616Z","etag":null,"topics":["data-science","machine-learning","natural-language-processing","python","resume-classification","scikit-learn","streamlit"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adarshpheonix2810.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-17T19:05:59.000Z","updated_at":"2025-03-17T19:11:54.000Z","dependencies_parsed_at":"2025-03-17T20:25:23.254Z","dependency_job_id":"9e4c5a96-f217-4e3f-a886-4a56e8a65379","html_url":"https://github.com/adarshpheonix2810/Resume-Screening","commit_stats":null,"previous_names":["adarshpheonix2810/resume-screening"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adarshpheonix2810%2FResume-Screening","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adarshpheonix2810%2FResume-Screening/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adarshpheonix2810%2FResume-Screening/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adarshpheonix2810%2FResume-Screening/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adarshpheonix2810","download_url":"https://codeload.github.com/adarshpheonix2810/Resume-Screening/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244177815,"owners_count":20411031,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-science","machine-learning","natural-language-processing","python","resume-classification","scikit-learn","streamlit"],"created_at":"2025-03-18T07:32:59.099Z","updated_at":"2025-10-29T09:34:25.060Z","avatar_url":"https://github.com/adarshpheonix2810.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Resume Screening Project\n\n## Overview\nThis project is designed to classify resumes into different job categories based on their content. Users can upload resumes in PDF, DOCX, or TXT format, and the application will predict the category using a pre-trained machine learning model.\n\n## Directory Structure\n```\nResume Screening/\n├── .ipynb_checkpoints/       # Jupyter Notebook checkpoints\n├── AiModel.ipynb             # Jupyter Notebook for model training\n├── Data/                      # Directory containing datasets\n│   ├── Resume.csv            # Main dataset of resumes\n│   ├── UpdatedResumeDataSet.csv # Updated dataset\n│   └── gpt_dataset.csv       # Dataset for GPT models\n├── img/                       # Directory for images (currently empty)\n├── NetworkSecurityEng_Resume.pdf # Example resume in PDF format\n├── app.py                    # Main application file\n├── clf.pkl                   # Trained classifier model\n├── encoder.pkl               # Label encoder for categories\n├── health_fitness_resume.pdf  # Example resume in PDF format\n└── requirement.txt           # Required packages for the project\n```\n\n## Installation\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/adarshpheonix2810/Resume-Screening.git\n   cd Resume Screening\n   ```\n2. Install the required packages:\n   ```bash\n   pip install -r requirement.txt\n   ```\n\n## Usage\n1. Run the application:\n   ```bash\n   streamlit run app.py\n   ```\n2. Open your web browser and navigate to `http://localhost:8501`.\n3. Upload a resume in PDF, DOCX, or TXT format.\n4. The application will display the predicted job category for the uploaded resume.\n\n## Functions\n- `cleanResume(txt)`: Cleans the input resume text by removing unwanted characters and formatting.\n- `extract_text_from_pdf(file)`: Extracts text from a PDF file.\n- `extract_text_from_docx(file)`: Extracts text from a DOCX file.\n- `extract_text_from_txt(file)`: Extracts text from a TXT file with encoding handling.\n- `handle_file_upload(uploaded_file)`: Handles the file upload and text extraction based on file type.\n- `pred(input_resume)`: Predicts the category of the resume based on the cleaned text.\n\n## Project Goals\nThis project aims to provide an automated solution for classifying resumes into appropriate job categories, enhancing the job application process for candidates and recruiters alike.\n\n## Technologies Used\n- Python\n- Streamlit\n- Scikit-learn\n- Pandas\n- NumPy\n- PyPDF2\n- Python-docx\n\n## Model Training\nTo train the model:\n1. Prepare your dataset in the required format (CSV).\n2. Use the Jupyter Notebook `AiModel.ipynb` to train the model. Ensure that the dataset is loaded correctly and the model parameters are set as needed.\n3. Save the trained model using `pickle` to generate `clf.pkl`, `tfidf.pkl`, and `encoder.pkl` files.\n\n## Testing\nTo test the application:\n1. Ensure that the application is running by executing `streamlit run app.py`.\n2. Upload various resumes in different formats and verify the predicted categories.\n3. Check for any errors in the console and ensure the application handles them gracefully.\n\n## Contributing\nContributions are welcome! Please follow these steps:\n1. Fork the repository.\n2. Create a new branch for your feature or bug fix.\n3. Make your changes and commit them with clear messages.\n4. Push your branch and create a pull request for review.\n\n## Conclusion\nThis project provides a simple yet effective way to classify resumes, helping job seekers understand the appropriate job categories for their applications.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadarshpheonix2810%2Fresume-screening","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadarshpheonix2810%2Fresume-screening","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadarshpheonix2810%2Fresume-screening/lists"}