nehulagrawal
commited on
Commit
•
47be2f2
1
Parent(s):
ac9d0d1
Create README.md
Browse files
README.md
ADDED
@@ -0,0 +1,114 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
language:
|
3 |
+
- en
|
4 |
+
tags:
|
5 |
+
- resume
|
6 |
+
- extractor
|
7 |
+
- resume extractor
|
8 |
+
- pdf
|
9 |
+
- extract
|
10 |
+
- cv parser
|
11 |
+
- pdf extraction
|
12 |
+
- document analysis
|
13 |
+
- unstructured document
|
14 |
+
- DataProcessing
|
15 |
+
- TextToJSON
|
16 |
+
- resume parser
|
17 |
+
- resume information extractor
|
18 |
+
- resume data extraction
|
19 |
+
---
|
20 |
+
|
21 |
+
# PDF Resume Information Extractor
|
22 |
+
|
23 |
+
## Description
|
24 |
+
|
25 |
+
This Python script extracts information from PDF resumes and converts it into a structured JSON format using the Ollama language model. It's designed to automate the process of parsing resumes and extracting key details, making it easier for HR departments, recruiters, and organizations to process large volumes of applications efficiently.
|
26 |
+
|
27 |
+
The Resume Information Extractor serves as a versatile solution for precisely identifying and extracting relevant information from resume PDFs. This tool combines PDF text extraction with natural language processing to parse unstructured resume data into a structured format. By leveraging the Ollama language model, it can understand context and extract information even when it's not explicitly stated.
|
28 |
+
|
29 |
+
What sets this tool apart is its ability to handle various resume formats and styles. It uses a predefined JSON template to ensure consistent output structure, making it easier to integrate with other systems or databases. The tool is designed to be flexible, allowing for customization of the output format and the underlying language model.
|
30 |
+
|
31 |
+
We invite you to explore the potential of this tool and its data extraction capabilities. For those interested in harnessing its power or seeking further collaboration, we encourage you to reach out to us or contribute to the project on GitHub. Your input drives our continuous improvement, as we collectively pave the way towards enhanced data extraction and document analysis.
|
32 |
+
|
33 |
+
- **Developed by:** FODUU AI
|
34 |
+
- **Model type:** Extraction
|
35 |
+
- **Task:** Resume Parsing and Information Extraction
|
36 |
+
|
37 |
+
### Supported Output Fields
|
38 |
+
|
39 |
+
The exact fields depend on the JSON template which have includes the following fields:
|
40 |
+
['name', 'email', 'phone_1', 'phone_2', 'address', 'city', 'highest_education', 'is_fresher','is_student', 'professional_experience_in_years', 'skills' ,'linkedin' , 'applied_for_profile', 'education', 'professional_experience']
|
41 |
+
|
42 |
+
|
43 |
+
## Uses
|
44 |
+
|
45 |
+
### Direct Use
|
46 |
+
|
47 |
+
The Resume Information Extractor can be directly used for parsing resume PDFs and extracting structured information. It's particularly useful for HR departments, recruitment agencies, or any organization that deals with large volumes of resumes.
|
48 |
+
|
49 |
+
### Downstream Use
|
50 |
+
|
51 |
+
The extracted information can be used for various downstream tasks such as candidate matching, resume scoring, or populating applicant tracking systems.
|
52 |
+
|
53 |
+
### Out-of-Scope Use
|
54 |
+
|
55 |
+
The model is not designed for tasks unrelated to resume parsing or for processing documents that are not resumes.
|
56 |
+
|
57 |
+
## Risks, and Limitations
|
58 |
+
|
59 |
+
The Resume Information Extractor may have some limitations and risks, including:
|
60 |
+
|
61 |
+
- Performance may vary based on the format and structure of the input resume.
|
62 |
+
- The quality of extraction depends on the capabilities of the underlying Ollama model.
|
63 |
+
- It may struggle with highly unconventional resume formats or non-English resumes.
|
64 |
+
- The tool does not verify the accuracy of the information in the resume.
|
65 |
+
|
66 |
+
### Recommendations
|
67 |
+
|
68 |
+
Users should be aware of the tool's limitations and potential risks. It's recommended to manually verify the extracted information for critical applications. Further testing and validation are advised for specific use cases to evaluate its performance accurately.
|
69 |
+
|
70 |
+
## How to Get Started with the Model
|
71 |
+
|
72 |
+
To begin using the Resume Information Extractor, follow these steps:
|
73 |
+
|
74 |
+
1. Install the required packages:
|
75 |
+
```bash
|
76 |
+
pip install langchain_community pdfminer.six ollama
|
77 |
+
|
78 |
+
|
79 |
+
2. Ensure you have Ollama set up and running with the "llama3" model.
|
80 |
+
|
81 |
+
3. Use the tool in your Python script:
|
82 |
+
|
83 |
+
```python
|
84 |
+
from pdfminer.high_level import extract_text
|
85 |
+
from json_helper import InputData as input
|
86 |
+
|
87 |
+
def extract_text_from_pdf(pdf_path):
|
88 |
+
return extract_text(pdf_path)
|
89 |
+
|
90 |
+
text = extract_text_from_pdf(r"/home/ml2/Desktop/resume/Resume1.pdf")
|
91 |
+
|
92 |
+
llm = input.llm()
|
93 |
+
data = llm.invoke(input.input_data(text))
|
94 |
+
|
95 |
+
print(data)
|
96 |
+
```
|
97 |
+
|
98 |
+
## Objective
|
99 |
+
|
100 |
+
The tool uses the Ollama language model to understand and extract information from resume text. The specific architecture depends on the Ollama model being used.
|
101 |
+
|
102 |
+
|
103 |
+
## Contact
|
104 |
+
|
105 |
+
For inquiries and contributions, please contact us at [email protected].
|
106 |
+
|
107 |
+
```bibtex
|
108 |
+
@contact{foduu,
|
109 |
+
author = {Foduu},
|
110 |
+
title = {Resume Extractor},
|
111 |
+
year = {2024}
|
112 |
+
}
|
113 |
+
|
114 |
+
```
|