Розробка AI-системи семантичного матчингу кандидатів і вакансій

Підбір за ключовими словами пропускає сильних кандидатів і видає десятки зайвих анкет. Ми розробляємо системи семантичного матчингу під ключ: смислове зіставлення резюме та вакансій скорочує час на підбір у рази. Обговоримо задачу й повернемося з оцінкою та планом.

Розробка AI-системи семантичного матчингу кандидатів і вакансій

Рекомендаційні системиСередній~1-2 тижні
Часті запитання

Чому семантичний матчинг кандидатів ламається на масштабі

Поки потік відгуків вимірюється десятками на тиждень, зіставлення за збігом слів дає прийнятну видачу: рекрутер переглядає список повністю і додає пропущене очима.

На потоці в тисячі резюме ця ручна надбавка зникає — фільтр починає відсіювати людей не за кваліфікацією, а за формулюванням, і втрата відповідних кандидатів стає системною, а не випадковою.

Механіка втрат передбачувана. Синоніми в назвах посад («інженер з тестування» і «фахівець із якості», «менеджер продукту» і «власник продукту») не перетинаються за словами, хоча описують одну роль.

Те саме з досвідом: «перевів моноліт на сервіси» і «розділив систему на незалежні модулі» — різні рядки, одна суть.

Другий шар — переїзд сенсу. Ключові вимоги все частіше опиняються в супровідному листі або в описі проєктів, а не в заголовку та списку навичок, за якими будувалася видача. Пошук за змістом резюме має читати документ повністю, а не зважувати окремі поля.

Галузеві заміри масштаб підтверджують: за даними LinkedIn і профільних досліджень із підбору, помітна частка релевантних відгуків відсіюється на першому фільтрі — до того, як резюме побачить людина.

Ціна помилки не лише в продовженій вакансії: падає довіра до видачі, рекрутери повертаються до ручного перебору, а він не масштабується разом із потоком.

Розбираємо, як це закривається: як будується семантичний матчинг кандидатів, де правила доповнюються векторними представленнями тексту, і за якими метриками видно, що релевантність відгуку перестала залежати від формулювання.

Що дає перехід від ключових слів до векторного пошуку

Ключові слова шукають збіг підрядків, векторний пошук — близькість сенсу. Відгук «аналітик, інтеграції, банківський домен» потрапляє у вакансію «фахівець із вимог у банку», хоча спільних слів майже немає.

Точні збіги при цьому не губляться: вони залишаються у видачі, але перестають бути єдиним критерієм.

Частка релевантних профілів у короткому списку

Ранжування за смисловою близькістю змінює якість короткого списку нелінійно: нагору піднімається те, що раніше лежало на другій-третій сторінці видачі.

Перші двадцять профілів вбирають майже все, що раніше доводилося вибирати серед сотні відгуків, — частка релевантних відгуків зростає без правок у тексті вакансії. Галузевий стандарт рушив туди ж: LinkedIn будує зіставлення резюме та вакансій за змістом, а не за рядками.

Швидкість виходу на фінальний список

Скринінг перестає бути ручним відсівом: поріг релевантності налаштовується під роль, і шум відсікається до того, як профіль побачить людина. Швидкість закриття вакансії зростає насамперед тут — фінальний список збирається за одну сесію замість кількох днів листування.

Точність підбору підтверджується журналом оцінок: видно, чому профіль потрапив у топ і яка ознака його туди підняла.

Варіанти побудови: власний контур, хмара, гібрид

Способи розміщення відрізняються не обладнанням, а тим, де живе модель відносно персональних даних. Рівний потік відгуків і різкі піки вимагають різної еластичності, а вимоги до ізоляції часто переважують зручність експлуатації.

Варіант Коли підходить Обмеження
Власний контур Резюме не повинні покидати периметр; навантаження передбачуване Нові моделі викочуються планово, потужність простоює між піками
Хмарна схема Потрібен швидкий старт, обсяг відгуків стрибає в рази Персональні дані йдуть назовні — потрібні знеособлення та контроль доступів
Гібридна архітектура Дані залишаються всередині, а обчислення масштабуються Два контури: синхронізація довідників і розмежування прав

Обмеження власного контуру

Повний контроль дорожчий в експлуатації: оновлення моделі стає плановою процедурою з перевіркою на історичних даних, а не нічною викладкою.

Потужність резервується під пік, тому між хвилями найму частина ресурсів простоює, а зростання потоку вимагає розширення парку, а не зміни налаштування.

Коли гібридна схема виправдана

Персональні дані залишаються всередині периметра, назовні йдуть знеособлені векторні представлення профілів — за ними рахується близькість кандидата та вакансії.

Схема виправдана, коли найм іде хвилями: важкі обчислення масштабуються в хмарі, а архів резюме та доступи контролюються всередині. Зворотний бік — синхронізація двох контурів і розмежування ролей: без цього ізоляція перетворюється на формальність.

Як будується впровадження системи матчингу за етапами

Порядок етапів підпорядкований одній логіці: кожен наступний крок спирається на результат попереднього. Пропущений або формально закритий етап видно одразу — модель впевнено видає нерелевантні пари, і фахівець із підбору перестає довіряти видачі.

  1. Аудит поточного відбору. Розбираємо, як порівнюють профілі сьогодні, які ознаки впливають на рішення, і фіксуємо метрику, за якою будемо приймати роботу.
  2. Розмітка даних. Чистимо дублікати, приводимо описи вакансій і резюме до зіставного вигляду, розмічаємо пари «кандидат — вакансія» за шкалою релевантності.
  3. Налаштування моделі. Навчаємо семантичний матчинг на розмічених парах, окремо перевіряємо близькі професії, рідкісні спеціалізації та неповні профілі.
  4. Перевірка якості. Рахуємо потрапляння у верхні позиції видачі, розбираємо помилки за категоріями, за потреби повертаємося до розмітки.
  5. Вбудовування. Підключаємо ранжування до облікової системи замовника, налаштовуємо поріг відсікання та пояснення рекомендацій.
  6. Супровід запуску. Перші тижні дивимося, як видача працює на живому потоці, і коригуємо поріг.

Приймання якості на відкладеній вибірці

Перевірку ведемо на парах, яких модель не бачила під час навчання: дивимося частку релевантних у верхній частині списку, частку відсічених явно невідповідних і стабільність результату між зрізами за професіями та регіонами. Рішення приймається за заздалегідь узгодженими порогами, а не за відчуттям «виглядає розумно».

Передача рішення та навчання команди

Віддаємо конфігурації, схему розмітки, порядок донавчання та набір контрольних запитів для регресії. Команда замовника вчиться читати причини рекомендацій і позначати помилкові пари — ці позначки стають матеріалом для наступного донавчання вже без нашої участі.

Комплект налаштувань і документації, який залишається у вас

Передаємо не лише працюючий сервіс, а й весь комплект, за яким ваша команда зможе супроводжувати та розвивати його без нас. Нижче — що передається на руки разом із доступами до середовища.

Що входить до комплекту

  • Документація на систему: архітектура, зовнішні інтеграції, точки розширення, відомі обмеження.
  • Правила доступу: ролі, сервісні облікові записи, журналювання звернень до персональних даних.
  • Інструкції для підтримки: діагностика деградації якості, відкат версії індексу, розбір інцидентів.
  • Конфігурації та ваги: чим можна змінювати поведінку матчингу без доопрацювання коду.
  • Журнал рішень: чому вибрані пороги та як вони калібрувалися на ваших даних.
  • Схема потоків даних і регламент оновлення представлень профілів — нижче.

Схема потоків даних

Показує шлях від резюме та вакансії до ранжованого списку: нормалізація, вилучення ознак, побудова представлень, порівняння, постфільтри. Окремо відзначені місця, де зберігаються та знеособлюються персональні дані.

Регламент оновлення представлень профілів

Описує, як часто і за яким тригером перераховуються представлення: при зміні профілю, за розкладом, після оновлення моделі. Включає порядок перевірки якості та умови відкату на попередню версію.

Розбір проєкту: як зросла точність підбору

Замовник — мережа роздрібних магазинів MarketLine: потік 900–1200 резюме на тиждень на 60–80 відкритих позицій, кандидати приходять із непорівнянними назвами посад і описами досвіду. Рекрутери вручну зводили профілі з вимогами вакансій, а пошук ішов за ключовими словами. Задача формулювалася так: ранжувати потік, а не фільтрувати його.

Що було до

Частка релевантних кандидатів у першій десятці видачі — близько 40%: менше половини рекомендованих доходили до дзвінка. На одну закриту позицію переглядали в середньому понад 90 профілів.

Лексичний пошук втрачав чверть відповідних людей: «продавець-консультант» і «фахівець торгового залу» вважалися різними професіями, а різні написання однієї спеціалізації давали дублікати.

Що змінилося після

Профілі та описи вакансій перевели у векторні представлення, поверх них зібрали гібридну видачу: точний збіг термінів плюс семантична близькість, а зверху — переранжування за досвідом, регіоном, графіком та історією переходів.

Позначки рекрутерів «у шортлист» і «повз» завели в регулярну перерозмітку, тому ранжування спирається на те, які формулювання досвіду справді передбачають найм.

Точність зіставлення профілів у першій десятці зросла до 78%, повнота за синонімами — приблизно на чверть. Час до готового шортлиста скоротився з трьох днів до кількох годин, а частка пошукових запитів, які рекрутер правив руками, впала з 35% до 8%.

«Раніше ми сперечалися, хто краще читає резюме. Тепер сперечаємося про вимоги до вакансії — рекомендації приходять релевантні та зрозумілі», — керівник напряму підбору.

Чим векторний пошук відрізняється від пошуку за ключовими словами

Ключові слова порівнюють токени: чи збіглося слово в резюме зі словом в описі вакансії, плюс булеві умови та відбір за правилами. Векторний пошук порівнює сенс: обидва тексти зводяться до вектора, близькість рахується як відстань між ними. Розвилка проста — правила шукають ознаку, вектор — смислову близькість.

Рядковий пошук провалюється на синонімах: «керував вісьмома інженерами» і «керівник розробки» для нього різні документи. Вектор зближує такі пари, але обов'язкове не гарантує: схожого кандидата без потрібного допуску він видасть, бо не вважає цю умову забороною.

Порівняння за застосовністю:

Підхід Як працює Де програє
Ключові слова та правила Збіг токенів, булеві умови, пороги за досвідом Синоніми, перефразування, суміжний досвід
Векторний пошук Близькість векторів сенсу Немає гарантій за обов'язковими вимогами
Гібридний пошук Фільтри відсікають, вектор ранжує залишок Два шари: складніше налаштування та моніторинг

Правила — не застарілий шар, а контракт якості. Обов'язкові умови тримаємо фільтрами до ранжування, а вектор сортує вже тих, хто пройшов перевірку, тому у видачі немає кандидатів, які порушують вимоги.

Поріг близькості калібруємо на розмічених парах «вакансія — кандидат», інакше видача або забита всім підряд, або порожня.

Метрики рахуємо окремо: за фільтрами — частка тих, хто пройшов обов'язкові умови, за вектором — частка релевантних у першій десятці. Якщо рекрутер стабільно відсіює верхні картки, причина в порозі або в описі вакансії.

Технічні сумніви, які варто зняти до старту

Сумніви щодо такого проєкту зазвичай одні й ті самі: чи вистачить власних даних, чи можна не виводити їх за периметр, що робити з рідкісними спеціальностями і як переконатися, що модель справді підбирає краще за поточне ранжування. Нижче — короткі відповіді на кожен пункт.

У нас немає великої історії відгуків — чи вистачить моделі даних?

Для навчання потрібна не гора резюме, а розмічені пари «кандидат — вакансія» з результатом: запрошення, відмова, найм. Кілька тисяч таких пар уже дають стійке налаштування, далі обсяг нарощується дорозміткою спірних випадків, які модель позначає сама.

Ми описуємо розмітку даних для навчання як окремий артефакт — правила, схему полів і порядок їх поповнення.

Чи можна тримати все в закритому контурі?

Так. Навчання та підбір ідуть всередині вашої інфраструктури, назовні не йдуть ні резюме, ні ваги моделі. Оновлення приносяться як готові артефакти і застосовуються на вашій стороні — закритий контур зберігається і після передачі.

Що буде з рідкісними спеціальностями?

За ними мало прикладів, тому модель спирається на ієрархію навичок і словники синонімів, а не лише на частоту в історії. Для вузьких напрямів поріг схожості піднімається, а верх видачі йде на ручну перевірку — так рідкісна вакансія не губиться серед масових.

Як ви доведете, що підбір став кращим?

Оцінка якості підбору будується на відкладеній вибірці та сліпому порівнянні з поточним ранжуванням: дивимося частку релевантних у верхівці видачі, повноту за відповідними кандидатами і те, як часто рекрутер відкриває картку з першої десятки. Результат фіксуємо звітом до і після.

Що з підтримкою моделі після передачі?

Підтримка моделі включає моніторинг розходження між навчальними та поточними даними, регрес-набір перевірок при кожному оновленні та планове перенавчання, коли змінюється ринок або вимоги. Ваші інженери отримують документацію та беруть участь в оновленнях разом із нами.

Обговоримо задачу підбору та повернемося з оцінкою

Розмова починається не з презентації, а з розбору задачі підбору: які ролі закриваєте, скільки резюме та відгуків проходить через воронку, на якому етапі губляться сильні кандидати.

За підсумками розмови фіксуємо, що вважаємо хорошим збігом — за цими критеріями потім вимірюємо систему, а не за суб'єктивними враженнями рекрутерів.

Що відбувається після звернення:

  • Розбираємо задачу підбору та поточний процес: джерела резюме, етапи відбору, хто приймає фінальне рішення щодо кандидата.
  • Дивимося дані: чи є історія відгуків і розмітка «підійшов / не підійшов», наскільки вона повна та несуперечлива.
  • Оцінюємо якість текстів вакансій і резюме — від цього залежить, чи потрібна дорозмітка та словник синонімів за посадами.
  • Перевіряємо, як семантичний матчинг кандидатів вбудовується у ваші системи: обмін даними, розмежування доступу, ручна перевірка спірних збігів.
  • Узгоджуємо пробний запуск на обмежених даних: одна-дві групи вакансій, реальні резюме, замір точності на вашій розмітці.
  • Повертаємося з оцінкою та планом робіт: етапи, що потрібно з вашого боку, за яким результатом вважаємо задачу вирішеною.
  • Фіксуємо терміни відповіді на кожному етапі та точку відкату — якщо якість виявиться нижчою за очікувану, відбір продовжує працювати як раніше.

Опишіть задачу підбору у зручному форматі — повернемося з оцінкою та планом робіт, де кожен крок має термін та вимірюваний результат.

Напрямки AI-розробки

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1543
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1374
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142