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