File size: 854 Bytes
5dec17e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from dataclasses import dataclass
from typing import Dict, List

@dataclass
class JobDescription:
    # raw_text: str
    # extracted_keywords: List[str]
    # keyterms: List[tuple]
    # entities: List[str]
    raw_text: str
    extracted_keywords: list
    keyterms: list
    entities: list
    
    @property
    def required_skills(self) -> List[str]:
        return [kw for kw in self.extracted_keywords if 'skill' in kw.lower()]
    
    @property
    def experience_requirements(self) -> Dict:
        return {
            'years': self._extract_years(),
            'technologies': self._extract_tech()
        }
    
    def _extract_years(self) -> int:
        # Extract years requirement using regex
        pass
    
    def _extract_tech(self) -> List[str]:
        # Extract required technologies
        pass