Розробка AI-системи для автоматичного парсингу резюме з job-сайтів
Масовий парсинг резюме з різних джерел дозволяє автоматично наповнювати базу кандидатів без ручного пошуку. Система збирає, нормалізує та структурує дані з різних джерел.
API проти парсингу
Для України та інших регіонів: jobsites часто мають офіційні API для роботодавців. Це переважний шлях — офіційний, надійний і не порушує ToS.
- API: endpoint пошуку резюме, детальні дані резюме
- Парсинг: альтернатива для сайтів без API
Нормалізація даних з різних джерел
Кожен job-сайт має свою структуру даних. Нормалізація до єдиної схеми:
class NormalizedResume(BaseModel):
source: str # джерело даних
source_id: str # ID на джерелі
full_name: str
age: int | None
city: str | None
desired_position: str
desired_salary: int | None
currency: str
experience: list[WorkExperience]
education: list[Education]
skills: list[str] # нормалізовані навички
languages: list[LanguageSkill]
last_updated: datetime
# AI збагачення
seniority_level: str # junior/middle/senior/lead — оцінка AI
tech_stack: list[str] # стек технологій — витягнуто AI
experience_years: float # загальний досвід
Дедублювання кандидатів
Одна людина розміщує резюме на кількох сайтах. Дедублювання через:
- Співпадіння телефону/email (якщо видимі)
- Семантична подібність досвіду роботи (embeddings)
- Fuzzy matching за іменем + місто + поточний роботодавець
Правило: при подібності > 0.85 — запропонувати об'єднання, при > 0.95 — автоматично.
Оновлення бази кандидатів
Резюме застарівають. Триггери оновлення: кандидат оновив резюме на джерелі (webhook/періодичний опис), 30 днів пройшло без змін — перевірити актуальність, кандидат відповів на вакансію — пріоритетне оновлення.







