Як ATS насправді розбирає резюме

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

Опубліковано · Оновлено · автор: Maksym Shykov

Коротка відповідь

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

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

Етап 1: витяг тексту

Файл відкривається, і з нього дістають символи. Для DOCX це здебільшого читання XML. Для PDF складніше: PDF не зберігає рядків чи абзаців, він зберігає фрагменти тексту з координатами. Відновити «цей і той фрагмент стоять в одному рядку» це геометрія, і саме тут руйнуються багатоколонкові макети: дві колонки можуть зшитися в один безглуздий рядок.

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

Що бачить читач
ДОСВІД РОБОТИ                     НАВИЧКИ
Engineering Manager, Acme         Kubernetes, Go
січ 2020 – наразі                 Terraform, AWS
Що отримує парсер
ДОСВІД РОБОТИ НАВИЧКИ
Engineering Manager, Acme Kubernetes, Go
січ 2020 – наразі Terraform, AWS

Тепер кожен рядок гібрид. Заголовок «Досвід роботи» ділить рядок з «Навичками», до вашої посади прилипли дві навички, а за діапазоном дат ідуть хмарні технології. Нічого не загубилося: усе просто склали у хибному порядку, що для парсера те саме.

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

Етап 2: поділ на розділи

Текст розрізають на області, шукаючи заголовки. Саме тому нудний заголовок перемагає хитромудрий: парсер, що звіряється зі списком відомих слів, знаходить Досвід, Досвід роботи і Трудова діяльність. Він не знаходить Чим я пишаюся.

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

Заголовки розділів, які розпізнає ATS Resume Toolkit
РозділЗаголовки, які приймаєБали
Досвід роботи“досвід”, “досвід роботи”, “професійний досвід”, “трудова діяльність”, “місця роботи”, “кар’єра”, “кар'єра”, “робочий досвід”, “історія роботи”, “професійна діяльність”8
Освіта“освіта”, “навчання”, “освіта та навчання”, “академічна освіта”, “вища освіта”, “освіта і курси”6
Навички“навички”, “вміння”, “уміння”, “ключові навички”, “технічні навички”, “професійні навички”, “компетенції”, “ключові компетенції”, “знання”, “технології”, “навички та технології”6
Про себе“резюме”, “про себе”, “профіль”, “професійний профіль”, “мета”, “професійна мета”, “коротко про себе”, “підсумок”, “загальна інформація”5
Досягнення“досягнення”, “ключові досягнення”, “головні досягнення”, “професійні досягнення”, “нагороди та досягнення”4 (бонус)
Проєкти“проєкти”, “проекти”, “ключові проєкти”, “особисті проєкти”, “вибрані проєкти”, “pet-проєкти”3 (бонус)
Сертифікати“сертифікати”, “сертифікація”, “курси”, “ліцензії”, “курси та сертифікати”, “сертифікати та курси”, “додаткова освіта”, “тренінги”3 (бонус)

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

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

Етап 3: витяг сутностей

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

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

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

Етап 4: індексація й пошук

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

Це змінює питання про ключові слова. Мета не в тому, щоб напхати термінів заради алгоритму. Мета в тому, щоб слова, які рекрутер ймовірно введе, були десь там, де ви їх чесно заслужили. Якщо ви очолювали міграції на Kubernetes і ніколи не написали слово «Kubernetes», у цих результатах вас не буде.

Ламається, коли: лексика вашого CV й лексика вакансії зовсім не перетинаються.

Що з цього випливає

  • Поради про форматування це не забобони: кожне правило відповідає одному з етапів вище.
  • Поради про ключові слова стосуються перетину лексики, а не щільності. Ніколи не заявляйте навичку, якої не маєте.
  • Ніщо в цьому конвеєрі вас не оцінює. Воно або переводить вас у форму, придатну для пошуку, або ні.
Подивіться з боку парсера. Безкоштовна перевірка скору CV має вкладку Витягнуті дані, яка показує, що саме вийшло з вашого файлу: ім’я, контакти, посилання й кожну роль, яку вдалося визначити. Якщо чогось там немає, його не буде й у роботодавця.

Пов’язане

Поширені запитання

Чи може ATS прочитати дволонкове резюме?
Часто не в правильному порядку. Витяг тексту відновлює рядки за позиціями на сторінці, тож дві колонки можуть зшитися рядок за рядком, змішавши посаду зі списком навичок. Одноколонковий макет повністю знімає проблему.
Чи читають системи відстеження кандидатів верхні й нижні колонтитули?
Деякі парсери пропускають ці області або обробляють їх ненадійно. Тримайте ім’я, email і телефон в основному тексті сторінки, щоб їх витягнув будь-який парсер.
Чи допомагає ховати ключові слова білим шрифтом?
Ні. Білий текст усе одно текст: його витягують у розібраний профіль, який читає рекрутер, де це виглядає як спроба обдурити пошук. Використовуйте лексику вакансії лише там, де ви її справді заслужили.