«Лайкать» кандидатов или использовать фильтры? Раскрываем все фишки поиска в интервью с разработчиком
Поговорили с дата-сайентистом Станиславом Яркиным о его профессии, умном поиске на hh.ru и как сделать так, чтобы он выдавал подходящих кандидатов (а не «Шальную императрицу»).
Расскажи, кем ты мечтал стать в детстве?

— На самом деле у меня не было идеи вырасти и кем-то стать. Но я всегда понимал, что хочу заниматься тем, что увлекает. Например, мне нравилось решать математические задачки. Я приходил из школы и часами разбирал примеры из сборника Сканави (задачник для поступающих во втузы. — Прим. редактора).

Еще мне нравилось программировать. Раньше были приставки и клавиатуры Dendy: вставляешь картридж и играешь. На клавиатуре можно было писать слова и код. Я изучал дедушкины журналы «Наука и жизнь» с примерами программ на бейсике и пытался на ней воспроизвести. Одной из таких программок была игра пасьянс. Так вот, я сидел и упорно старался, чтобы он начал раскладываться.

Видимо, пасьянс сошелся

— Да! Детское увлечение вылилось в образование по специальности «Прикладная математика и информатика» в МЭИ, а потом в профессиональное программирование. Кстати, обучение в вузе мне очень нравилось. На кафедре были специалисты по машинному обучению, и я ни разу не пожалел, что выбрал анализ данных.

Ты математик, программист и аналитик в одном лице?

— Я в большей степени программист, в меньшей степени аналитик, ну и математик, само собой. Математический анализ и статистика — в основе машинного обучения. Профессиональные математики двигают вперед фундаментальные законы, а дата-сайентисты берут их наработки и внедряют в жизнь. И тут без программирования и аналитики никак: нужно строить рабочие математические модели и анализировать метрики, чтобы оценить эффект.

Дата-сайентист по-русски — это буквально ученый по данным?

— Все-таки мы занимаемся разработкой и внедрением алгоритмов и редко проводим научные исследования. Поэтому говорить, что я ученый, было бы слишком оскорбительно для тех, кто действительно занимается наукой.

Как раз недавно читал пост одного дата-сайентиста о том, как он пытался объяснить, чем занимается на работе, своему маленькому сыну. Кончался этот пост словами: «Мой ребенок был не впечатлен».

За модными терминами «машинное обучение» и «дата-сайенс» стоит очень простая идея. Есть какие-то данные, и их много. В этих данных скрываются интересные закономерности, но обнаружить их вручную очень сложно. С этим и помогает машинное обучение: автоматизирует процесс исследования данных.

Зачем машинное обучение нужно на hh.ru и в HR-сфере в целом?

— Здесь много данных, которые можно превратить в пользу. На hh.ru это резюме и вакансии, а еще — действия рекрутеров и соискателей на сайте. Мы можем изучить, кого работодатель чаще всего приглашает на собеседование, и помочь соискателю улучшить резюме. Или проанализировать отклики и подсказать рекрутеру, с кем стоит пообщаться в первую очередь. При этом работодателю и соискателю не нужно ничего делать — достаточно нажать кнопку «Найти». Это экономит самый важный ресурс современного мира: время.

Не могу удержаться от избитого вопроса: как думаешь, искусственный интеллект когда-нибудь заменит рекрутера?

— Скажу так: если какой-то процесс можно автоматизировать, то его стоит автоматизировать. И это уже происходит, в том числе в сфере HR.

Если рекрутер бездумно приглашает кандидатов на вакансию, задает им одни и те же вопросы, а потом также бездумно направляет их на собеседование, то такого рекрутера искусственный интеллект уже заменил.

Другое дело, если HR подходит к работе вовлеченно и осознанно. Например, может просчитать, насколько соискатель близок компании с точки зрения ценностей и пройдет ли он испытательный срок. Искусственный интеллект такого сделать уже не может.

Как все устроено в команде умного поиска? Кто топит за работодателей?

У нас большая команда, часть ребят больше сосредоточены на соискателях, другие — на работодателях. Но это формально. В реальности, делая что-то для соискателя, мы автоматически улучшаем процессы и для работодателя. И наоборот. В конечном итоге мы совершенствуем систему в целом для всех участников подбора.

Боюсь представить, насколько сложные у тебя задачи

— Я улучшаю поисковые алгоритмы. В их основе — математическая модель. И главная трудность в том, чтобы найти баланс между качеством модели и ее сложностью, потому что от этого зависит ее применимость.

Если бы у нас на сайте было всего 100 вакансий, мы могли бы рассчитать идеальную модель и предоставить суперперсонализированные рекомендации для каждой публикации. Но у нас миллион открытых вакансий, и нужно, чтобы все работало для всех и за доли секунды.

Я правильно понимаю, что в итоге алгоритм рассчитан на усредненную вакансию? Тогда теоретически кандидат может угадать набор ключевых слов, чтобы всегда быть в топе

— Все намного сложнее. Мы не хотим стричь всех под одну гребенку, наоборот, стараемся предоставлять индивидуальные рекомендации. В моделях учитывается много разных характеристик и их взаимосвязи. Текст в резюме — это всего лишь один из таких признаков, причем не самый важный. Поэтому наличие ключевых слов в описании не гарантирует, что система будет предлагать его чаще.

Станислав Яркин
Дата-сайентист команды поиска
Модель не только сравнивает резюме и вакансию по простым признакам типа зарплаты, но также смотрит на то, кого приглашал рекрутер или рекрутеры с похожими вакансиями
 Допустим, на сайте появился самый лучший кандидат на позицию дата-сайентиста. Поиск начнет рекомендовать его сразу всем рекрутерам с открытой вакансией на такую позицию?

— Очень редко бывает так, что у двух рекрутеров абсолютно одинаковый запрос с идентичными параметрами. Если взять всю информацию из запроса, то окажется, что для одного рекрутера идеальный дата-сайентист — это Иван Иванов, а для другого — Василий Васильев.

Но даже если иногда это один и тот же Василий, почему нет? Если он действительно самый лучший дата-сайентист на рынке, то в наших интересах показать его самым лучшим работодателям.

— Работодатели присылают нам комментарии о том, что на сайте постоянно что-то меняется и к этому трудно привыкнуть. То кнопка исчезнет, то фильтр. Насколько я знаю, это происходит, когда команда проводит эксперименты. Расскажи, сколько вы их реализуете в месяц/неделю/год? И сколько из них потом внедряете?

— Экспериментов проводим много, боюсь соврать. Больше половины успешные. Остальные мы, конечно, откатываем («откатить» — значит не выпустить в продукт. — Прим. редактора).

Чтобы доказать, что эксперимент улучшает поиск, нужно сравнить, как система работает с ним и без него. Поэтому мы включаем тестирование на часть пользователей и оцениваем эффективность. Например, смотрим, сколько было приглашений с включенным экспериментом и сколько — без.

Если сравнить эти цифры с помощью математической статистики, можно понять, насколько эксперимент успешный и насколько вероятно, что он сработает на всех пользователях. Когда эта вероятность выше 95%, мы считаем эксперимент удачным и раскатываем обновление для всех.

Не исключаю, что иногда изменения могут быть непривычны работодателям, которые попали в группу тестирования. Но эксперименты на основе метрик — единственный способ быть уверенным, что ты все делаешь правильно.
Команда поиска внедряет только те изменения, которые увеличивают
количество полезных действий (откликов и приглашений)
 Расскажи про самый дикий эксперимент на твоей памяти?

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

Выяснили, что работодатели часто указывают зарплату не в специальном поле, а в тексте вакансии. Наша модель научилась читать описание, находить в нем зарплату и, если надо, даже конвертировать валюту в рубли. Увы, когда мы начали показывать эти цифры, получили сильный негативный сигнал, поэтому эксперимент быстро откатили.
— Скажи, в каких случаях рекрутеру стоит включать Умный поиск, а в каких, возможно, стоит обойтись без него?

— Безусловно, его нужно включать всегда! Если рекрутер пользуется умным поиском, то автоматически дает нам возможность его улучшать. И даже если эйчар не нашел хорошего кандидата сегодня, это уже важная для нас информация. Мы учтем это в будущих моделях и постараемся сделать так, чтобы он нашел его завтра. Но, конечно, всех задач поиск пока решить не может, и будут вакансии, по которым он окажется не таким умным, как нам бы хотелось.

Вспомнились сервисы типа Spotify или Lamoda: чтобы тебе начали рекомендовать музыку или одежду, которые точно понравятся, нужно какое-то время пользоваться сервисом и «лайкать» предложения. На hh.ru все работает также?

— У нас больше шансов сразу выдать хорошую рекомендацию, потому что есть вакансия, которую заводит рекрутер, и отклики, которые он переводит в отказ или на следующий этап подбора.
Дальнейшая история поиска в базе помогает уточнить результаты, которые мы уже готовы предоставить. Поэтому рекрутеру не нужно «лайкать» кандидатов, чтобы получить хорошую подборку. А вот разбирать отклики — очень желательно.

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

«Учить» наш поиск долго не нужно: изменения учитываются каждые 5 минут. Это значит, что достаточно разместить вакансию, поразбирать первые отклики — и система станет сразу предлагать наиболее подходящих.

Выходит, что самых подходящих кандидатов я смогу получить, если точно сформулирую запрос с помощью фильтров и включу Умный поиск?

— Мы хотим, чтобы рекрутеру не приходилось думать о фильтрах. Наша цель — сделать так, чтобы он мог нажать на одну кнопку и получить результат. Но Умный поиск еще только учится, поэтому если рекрутер точно знает, кого ищет, то стоит указать это с помощью фильтров в расширенном поиске.

Прежде всего обратить внимание на составление вакансии. И тут у меня две рекомендации:

⭐ Указывайте зарплату, это важный фактор как для умного поиска, так и для соискателей.
⭐ Используйте в заголовке вакансии только короткое название должности в общепринятой терминологии. Такую информацию, как место и график работы, лучше оставить в описании.

Спасибо! Чего ждать рекрутерам от умного поиска в 2021-м?

— У нас больше 100 гипотез в списке, и он пополняется каждый день: мы узнаем что-то новое из индустрии или про наших пользователей и постоянно что-то придумываем. В 2021-м планируем улучшить поиск для найма медицинского персонала и рабочих профессий. У кандидатов в этих профобластях очень короткие резюме, и вызов для нашей команды в том, чтобы система работала эффективно и при отсутствии информации.

P. S. Про Spotify. Кажется, он рекомендует музыку, исходя из поисковых запросов. И можно легко все сломать, например, поискав «Шальную императрицу» Аллегровой. Если бы hh.ru работал так же, пришлось бы писать рекрутерам памятку

Да, к сожалению, любая поисковая система на основе машинного обучения может запомнить случайный запрос и начать рекомендовать не то. Поэтому не искать в поиске hh.ru «Шальную императрицу» — не такая уж и плохая рекомендация. Если без шуток: мы подходим к рекомендациям комплексно и делаем все, чтобы избегать таких ситуаций.
Интересна какая-то тема? Напишите нам, мы расскажем об этом
Нажимая кнопку «Отправить», вы соглашаетесь с обработкой персональных данных.