Skip to content

Ranking of candidates according to the vacancy 🏆

Notifications You must be signed in to change notification settings

PunkButterfly/Hackathon-Skolkovo

Repository files navigation

Мы - победители Skolkovo 2022 в треке от FriendWork

Задача

Кейс

Автоматизировать и оптимизировать подбор кандидатов на вакансию. Подбор кандидатов вручную занимает в среднем 3,5 часа, а также допускает возможность появления ошибок в результате.

Описание задачи

В среднем процесс подбора занимает 3,5 часа и имеет большое кол-во допускаемых ошибок. Задача, решаемая участниками, сможет помочь компании закрыть проблему клиента, автоматизировать и сократить до 50 минут процесс ранжирования, предоставляя готовый релевантный вакансиям результат.

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

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

Параметр соответствия вакансии и кандидата должен быть значением от 0 до 1.

Бизнес-требования

Модуль (модель) принимает на вход список кандидатов и вакансию, возвращает список кандидатов отсортированных по метрике (от 0 до 1) соответствия предлагаемой вакансии от максимального соответствия к минимальному.

Технические требования и ограничения

  1. Время работы ранжирования модели при входных параметрах 1 вакансия, 10 кандидатов - не более 1с

  2. Возможность потокового обучения (возможность внедрения в соответствии с методологией CRISP-DM)

  3. Использование технологии с возможностью дальнейшего представления функционала как микросервис

  4. Веб-интерфейс с возможностью ввести данные по вакансии и кандидату с возможностью последующего получения коэффициента соответствия.

Для оценки необходимо предоставить

  • Исходный код;
  • Результирующие файлы для оценки (10 по количеству тестовых вакансий);
  • Презентацию;
  • Ссылку на веб-интерфейс.

Критерии оценки

  • Предоставлены результирующие файлы по 10 вакансиям с ранжированными кандидатами в соответствии с их реальным соответствием вакансиям;
  • Наличие и корректная работа веб-интерфейса для проверки соответствия вакансии и кандидата. Оценивается удобство использования и корректность коэффициента.

Данные

  • Диск с исходными данными.

Данные никак не были размечены, поэтому мы написали необходимый скрипт для определения таргета.

Результаты

Web-сервис

Веб-сервис

  • Match - страница, на которой вводятся данные о кандидате и вакансии. После нажатия кнопки Predict выводится score соответствия кандидата вакансии;
  • Upload csv - страница, на которую загружаются 4 .csv файла, соответствующих тестовым. После нажатия на Predict начинает билдиться архив с файлами типа results_job (список ранжированных кандидатов для каждой вакансии из файла jobs).

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

Обзор файлов

  • data_analysis - первичное исследование данных;
  • data_preprocessing.ipynb - обработка сырых данных перед обучением модели и предиктом;
  • train_notebook.ipynb - построение и обучение модели;
  • /app - папка с Web-разверткой модели и скриптами обработки данных.

Награждение

Нас позвали на трансляцию награждения и закрытия хакатона. Только на ней мы узнали, что наша команда заняла первое место среди 34 участвовавших в этом треке 😄

About

Ranking of candidates according to the vacancy 🏆

Resources

Stars

Watchers

Forks