SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
Ранжирование откликов
соискателей с помощью
машинного обучения
Сайгушкин Сергей,
ведущий разработчик
команды поиска Superjob.ru
Суперджоб — это:
1 млн
приглашений
в месяц
1 млн
пользователей
в сутки
более
20 млн
резюме
superjob.ru
> 50разработчиков
● многие из них вообще
не соответствуют вакансии
● рекрутеру приходится самостоятельно
фильтровать нерелевантные отклики
● это осложняет и замедляет подбор
кандидатов
На 15% вакансий приходится
более 100 откликов за сутки
Вакансия — ведущий PHP-разработчик
Вакансия — ведущий PHP-разработчик
Вакансия — ведущий PHP-разработчик
С этим надо что-то делать
● определяем нерелевантные отклики
и пессимизируем их в списке;
● получаем задачу классификации на два
класса:
+ подходящий отклик
− неподходящий отклик
● даём возможность рекрутеру фильтровать
отклики по данному признаку
Этот доклад про:
● подготовку данных и обучение модели
● внедрение модели в production
и мониторинг метрик качества
● тестирование на пользователях
Подготавливаем данные для обучения
● обучаемся на событиях отклонения резюме
и приглашения на собеседование
● для каждой вакансии проверяем
распределение приглашений и отклонений
● очищаем данные от выбросов
Распределение приглашений
Распределение отклонений резюме
Формируем черный список рекрутеров
● встречаются рекрутеры, которые приглашают
на собеседование всех подряд
● в основном это клиенты с безлимитным
тарифом
● берут количеством, не качеством
Не обучаемся на событиях данных рекрутеров
Вакансия — полицейский
Вакансия — полицейский
Генерация признаков
свойства резюме, вакансии и их сочетания;
итого 170 признаков;
к категориальным признакам применяем бинарное
кодирование (One-Hot Encoding)
Работа с текстовыми признаками
● текст очищаем от стоп-слов, пунктуации, лемматизируем;
● из текстовых признаков формируем тематические группы:
- признаки профессии
- требований вакансии и ключевых навыков
- обязанностей вакансии и обязанностей с предыдущих мест работы
● для каждой группы обучаем TF-IDF Vectorizer
● для фразы получаем TF-IDF вектор и вычисляем cosine similarity
с TF-IDF вектором другой фразы
Получаем меру сходства двух фраз
Примеры признаков
● средняя продолжительность работы на одном месте, в месяцах
● кол-во месяцев работы на последнем месте
● разница между требуемым опытом вакансии и опытом из резюме
● попадание желаемой зарплаты резюме в зарплатную вилку вакансии
● мера сходства между желаемой должностью и предыдущими местами
работы
● мера сходства между специальностью образования и требованиями
вакансии
● рейтинг (заполненность) резюме
When in doubt, use xgboost
Оптимизация гиперпараметров модели
https://www.analyticsvidhya.com/blog/2016/03/complete-guide-parameter-tunin
g-xgboost-with-codes-python/
https://www.kaggle.com/yassinealouini/hyperopt-the-xgboost-model
Остановились на:
n_estimators = 5000
max_depth = 5
min_child_weight = 6
Значимые признаки
● опыт работы соискателя;
● «зарплатные» фичи (разница между зарплатой в резюме
и верхней и нижней границами зарплаты в вакансии);
● cosine similarity между TF-IDF-векторами профессии
и в вакансии и профессий из опыта работы резюме;
● возраст соискателя;
● убираем возраст — в топ выходит фича «количество лет
с момента получения образования», возвращаем возраст
и компенсируем очки скоринга соискателям в возрасте
Метрики качества модели
Accuracy: 0.76
ROC-AUC: 0.79
Precision: 0.73
Recall: 0.84
Проводим новые эксперименты
● наполнение списка синонимов профессий, doc2vec;
● тематическое моделирование, BigARTM
Снижаем количество ошибок
второго рода
● необходимо, чтобы как можно меньше подходящих
резюме оказалось в нерелевантных
● снижаем threshold вероятности принадлежности
к релевантному классу
● уменьшается кол-во FN ошибок,
но увеличивается FP
Production, реализация
Production, цифры
1 сервер
24 ядра
1000req/s
в пике (подписки
на резюме)
0.04c
на скоринг пары
«резюме-вакансия»
18часов
на скоринг
всех активных
откликов
Production, мониторинг
● непрерывно оцениваем метрики
качества модели
● задание в Jenkins, которое собирает
метрики и отсылает в Graphite
● параллельно сравниваем метрики
нескольких разрабатываемых
моделей на одних данных
Production, мониторинг, ROC-AUC
Production, мониторинг, precision
AB тестирование
● Конверсия присланных резюме в приглашенные — Impact 8.3%
● Число приглашенных резюме — Impact 6.7%
● Конверсия открытых вакансий в закрытые — Impact 6%
● Число закрытых вакансий — Impact 5.4%
● Количество дней до закрытия вакансии — Impact 7.7%
● Уровень значимости — 5%
В качестве заключения
Самое главное — обучающая выборка!
Фиксируем random_state
Мониторим метрики качества модели
Спасибо за помощь!
Компании Datastars
http://datastars.co/
6 июня 17:00
Никита Спирин
Применение машинного обучения
для генерации структурированных
сниппетов в поисковых системах
по трудоустройству
Спасибо за внимание!
Приходите к нам работать
https://www.superjob.ru/team
Доступ к Superjob в подарок
Укажите код RIT2017
в разделе «Обратная связь»
на superjob.ru
Промокод действует
до 1 сентября 2017 года
Сайгушкин Сергей,
ведущий разработчик
команды поиска Superjob.ru,
s.saygushkin@superjob.ru

Weitere ähnliche Inhalte

Was ist angesagt?

Как прийти в сферу SEO без опыта: расти, зарабатывать больше и не лажать
Как прийти в сферу SEO без опыта: расти, зарабатывать больше и не лажатьКак прийти в сферу SEO без опыта: расти, зарабатывать больше и не лажать
Как прийти в сферу SEO без опыта: расти, зарабатывать больше и не лажатьNetpeak
 
Management by values. От корпоративной культуры к корпоративной идеологии
Management by values. От корпоративной культуры к корпоративной идеологииManagement by values. От корпоративной культуры к корпоративной идеологии
Management by values. От корпоративной культуры к корпоративной идеологииHRedu.ru
 
Как эффективно провести собеседование
Как эффективно провести собеседованиеКак эффективно провести собеседование
Как эффективно провести собеседованиеHRedu.ru
 
Внутренний аудит кадровых документов
Внутренний аудит кадровых документовВнутренний аудит кадровых документов
Внутренний аудит кадровых документовHRedu.ru
 
ИПР сотрудника как инструмент развития
ИПР сотрудника как инструмент развитияИПР сотрудника как инструмент развития
ИПР сотрудника как инструмент развитияHRedu.ru
 
Профильное направление обучения "Интернет-технологии". САПР МГГУ
Профильное направление обучения "Интернет-технологии". САПР МГГУПрофильное направление обучения "Интернет-технологии". САПР МГГУ
Профильное направление обучения "Интернет-технологии". САПР МГГУНиколай Захаров
 
сэф хэдхантер оценка
сэф хэдхантер оценкасэф хэдхантер оценка
сэф хэдхантер оценкаBDA
 
вовлеченность персонала
вовлеченность персоналавовлеченность персонала
вовлеченность персоналаEdward Babushkin
 
Пишем вакансии для Job сайтов
Пишем вакансии для Job сайтовПишем вакансии для Job сайтов
Пишем вакансии для Job сайтовOlga Kotova
 
31 мая, Марафон рекрутеров, «HR-аналитика и автоматизация рекрутинга: лучшие ...
31 мая, Марафон рекрутеров, «HR-аналитика и автоматизация рекрутинга: лучшие ...31 мая, Марафон рекрутеров, «HR-аналитика и автоматизация рекрутинга: лучшие ...
31 мая, Марафон рекрутеров, «HR-аналитика и автоматизация рекрутинга: лучшие ...FriendWork Recruiter
 
Первый в России хакатон по HR-аналитике
Первый в России хакатон по HR-аналитикеПервый в России хакатон по HR-аналитике
Первый в России хакатон по HR-аналитикеHR&Trainings EXPO
 
Игровые модели в работе HR. Ролевые игры
Игровые модели в работе HR. Ролевые игрыИгровые модели в работе HR. Ролевые игры
Игровые модели в работе HR. Ролевые игрыHRedu.ru
 
Подбор ИТ-специалистов. Методы и источники поиска
Подбор ИТ-специалистов. Методы и источники поискаПодбор ИТ-специалистов. Методы и источники поиска
Подбор ИТ-специалистов. Методы и источники поискаHRedu.ru
 
Presentation кадровый резерв
Presentation кадровый резервPresentation кадровый резерв
Presentation кадровый резервNatalia Sushko
 
Инструменты оценки персонала BRIDGE
Инструменты оценки персонала BRIDGEИнструменты оценки персонала BRIDGE
Инструменты оценки персонала BRIDGEAmplua
 
HR-бренд на практике. Определение целевой аудитории
HR-бренд на практике. Определение целевой аудиторииHR-бренд на практике. Определение целевой аудитории
HR-бренд на практике. Определение целевой аудиторииHRedu.ru
 

Was ist angesagt? (20)

Как прийти в сферу SEO без опыта: расти, зарабатывать больше и не лажать
Как прийти в сферу SEO без опыта: расти, зарабатывать больше и не лажатьКак прийти в сферу SEO без опыта: расти, зарабатывать больше и не лажать
Как прийти в сферу SEO без опыта: расти, зарабатывать больше и не лажать
 
Рекрутинг: advanced level
Рекрутинг: advanced levelРекрутинг: advanced level
Рекрутинг: advanced level
 
Management by values. От корпоративной культуры к корпоративной идеологии
Management by values. От корпоративной культуры к корпоративной идеологииManagement by values. От корпоративной культуры к корпоративной идеологии
Management by values. От корпоративной культуры к корпоративной идеологии
 
Как эффективно провести собеседование
Как эффективно провести собеседованиеКак эффективно провести собеседование
Как эффективно провести собеседование
 
Внутренний аудит кадровых документов
Внутренний аудит кадровых документовВнутренний аудит кадровых документов
Внутренний аудит кадровых документов
 
ИПР сотрудника как инструмент развития
ИПР сотрудника как инструмент развитияИПР сотрудника как инструмент развития
ИПР сотрудника как инструмент развития
 
Профильное направление обучения "Интернет-технологии". САПР МГГУ
Профильное направление обучения "Интернет-технологии". САПР МГГУПрофильное направление обучения "Интернет-технологии". САПР МГГУ
Профильное направление обучения "Интернет-технологии". САПР МГГУ
 
сэф хэдхантер оценка
сэф хэдхантер оценкасэф хэдхантер оценка
сэф хэдхантер оценка
 
вовлеченность персонала
вовлеченность персоналавовлеченность персонала
вовлеченность персонала
 
Пишем вакансии для Job сайтов
Пишем вакансии для Job сайтовПишем вакансии для Job сайтов
Пишем вакансии для Job сайтов
 
31 мая, Марафон рекрутеров, «HR-аналитика и автоматизация рекрутинга: лучшие ...
31 мая, Марафон рекрутеров, «HR-аналитика и автоматизация рекрутинга: лучшие ...31 мая, Марафон рекрутеров, «HR-аналитика и автоматизация рекрутинга: лучшие ...
31 мая, Марафон рекрутеров, «HR-аналитика и автоматизация рекрутинга: лучшие ...
 
Первый в России хакатон по HR-аналитике
Первый в России хакатон по HR-аналитикеПервый в России хакатон по HR-аналитике
Первый в России хакатон по HR-аналитике
 
Игровые модели в работе HR. Ролевые игры
Игровые модели в работе HR. Ролевые игрыИгровые модели в работе HR. Ролевые игры
Игровые модели в работе HR. Ролевые игры
 
Подбор ИТ-специалистов. Методы и источники поиска
Подбор ИТ-специалистов. Методы и источники поискаПодбор ИТ-специалистов. Методы и источники поиска
Подбор ИТ-специалистов. Методы и источники поиска
 
Presentation кадровый резерв
Presentation кадровый резервPresentation кадровый резерв
Presentation кадровый резерв
 
Cv for young specialist
Cv for young specialistCv for young specialist
Cv for young specialist
 
712
712712
712
 
Инструменты оценки персонала BRIDGE
Инструменты оценки персонала BRIDGEИнструменты оценки персонала BRIDGE
Инструменты оценки персонала BRIDGE
 
Aaaaaa
AaaaaaAaaaaa
Aaaaaa
 
HR-бренд на практике. Определение целевой аудитории
HR-бренд на практике. Определение целевой аудиторииHR-бренд на практике. Определение целевой аудитории
HR-бренд на практике. Определение целевой аудитории
 

Ähnlich wie Ранжирование откликов соискателей с помощью машинного обучения / Сергей Сайгушкин (Superjob)

HR_Scoring_CleverDATA
HR_Scoring_CleverDATAHR_Scoring_CleverDATA
HR_Scoring_CleverDATACleverDATA
 
Мастер-класс с Юлией Ужакиной
Мастер-класс с Юлией УжакинойМастер-класс с Юлией Ужакиной
Мастер-класс с Юлией УжакинойAmplua Broker
 
Обучение и развитие персонала в цифрах: KPI, бенчмаркинг, аналитика
Обучение и развитие персонала в цифрах:KPI, бенчмаркинг, аналитикаОбучение и развитие персонала в цифрах:KPI, бенчмаркинг, аналитика
Обучение и развитие персонала в цифрах: KPI, бенчмаркинг, аналитикаAmplua Broker
 
Презентация "1С:ЗУП 3.0 КОРП. Обзор функционала управления персоналом"
Презентация "1С:ЗУП 3.0 КОРП. Обзор функционала управления персоналом"Презентация "1С:ЗУП 3.0 КОРП. Обзор функционала управления персоналом"
Презентация "1С:ЗУП 3.0 КОРП. Обзор функционала управления персоналом"Iuliia Usatiuk
 
Алгоритм создания системы стимулирования труда
Алгоритм создания системы стимулирования трудаАлгоритм создания системы стимулирования труда
Алгоритм создания системы стимулирования трудаVitaliy Eliseev
 
Как улучшить результаты, используя софт для рекрутинга
 Как улучшить результаты, используя софт для рекрутинга Как улучшить результаты, используя софт для рекрутинга
Как улучшить результаты, используя софт для рекрутингаCleverStaff
 
1603 Ukrainian Procurement Forum - Доклад Сергея Николаева
1603 Ukrainian Procurement Forum - Доклад Сергея Николаева1603 Ukrainian Procurement Forum - Доклад Сергея Николаева
1603 Ukrainian Procurement Forum - Доклад Сергея НиколаеваDmitriy Pryadko
 
Мотивация персонала с применением метода грейдирования
Мотивация персонала с применением метода грейдированияМотивация персонала с применением метода грейдирования
Мотивация персонала с применением метода грейдированияHRedu.ru
 
Презентация CLJ
Презентация CLJПрезентация CLJ
Презентация CLJmarina688292
 
VII Всеукраинская конференция рекрутинга. Ирина Шуляренко, Кайдзен в рекрут...
VII Всеукраинская конференция рекрутинга.  Ирина Шуляренко,  Кайдзен в рекрут...VII Всеукраинская конференция рекрутинга.  Ирина Шуляренко,  Кайдзен в рекрут...
VII Всеукраинская конференция рекрутинга. Ирина Шуляренко, Кайдзен в рекрут...RTC
 
вебинар Roi и оценка 360 градусов new
вебинар Roi и оценка 360 градусов newвебинар Roi и оценка 360 градусов new
вебинар Roi и оценка 360 градусов newarsenal-hr
 
Как самостоятельно найти эффективного сотрудника из сферы Digital sh
Как самостоятельно найти эффективного сотрудника из сферы Digital shКак самостоятельно найти эффективного сотрудника из сферы Digital sh
Как самостоятельно найти эффективного сотрудника из сферы Digital shЧастная Практики
 
Александр Плуток: Как оценивать эффективность работ по интернет-маркетингу
Александр Плуток: Как оценивать эффективность работ по интернет-маркетингуАлександр Плуток: Как оценивать эффективность работ по интернет-маркетингу
Александр Плуток: Как оценивать эффективность работ по интернет-маркетингуAlexander Rys
 
Как оценивать эффективность работ по интернет-маркетингу при участии подрядч...
Как оценивать эффективность работ  по интернет-маркетингу при участии подрядч...Как оценивать эффективность работ  по интернет-маркетингу при участии подрядч...
Как оценивать эффективность работ по интернет-маркетингу при участии подрядч...Netpeak
 
HR-аналитика и автоматизация рекрутинга: лучшие практики
HR-аналитика и автоматизация рекрутинга: лучшие практикиHR-аналитика и автоматизация рекрутинга: лучшие практики
HR-аналитика и автоматизация рекрутинга: лучшие практикиFriendWork Recruiter
 
HR-аналитика и автоматизация рекрутинга: лучшие практики
HR-аналитика и автоматизация рекрутинга: лучшие практикиHR-аналитика и автоматизация рекрутинга: лучшие практики
HR-аналитика и автоматизация рекрутинга: лучшие практикиAlexander Krass
 
HRM и внешние провайдеры
HRM и внешние провайдерыHRM и внешние провайдеры
HRM и внешние провайдерыAmplua Broker
 

Ähnlich wie Ранжирование откликов соискателей с помощью машинного обучения / Сергей Сайгушкин (Superjob) (20)

HR_Scoring_CleverDATA
HR_Scoring_CleverDATAHR_Scoring_CleverDATA
HR_Scoring_CleverDATA
 
Мастер-класс с Юлией Ужакиной
Мастер-класс с Юлией УжакинойМастер-класс с Юлией Ужакиной
Мастер-класс с Юлией Ужакиной
 
Обучение и развитие персонала в цифрах: KPI, бенчмаркинг, аналитика
Обучение и развитие персонала в цифрах:KPI, бенчмаркинг, аналитикаОбучение и развитие персонала в цифрах:KPI, бенчмаркинг, аналитика
Обучение и развитие персонала в цифрах: KPI, бенчмаркинг, аналитика
 
Презентация "1С:ЗУП 3.0 КОРП. Обзор функционала управления персоналом"
Презентация "1С:ЗУП 3.0 КОРП. Обзор функционала управления персоналом"Презентация "1С:ЗУП 3.0 КОРП. Обзор функционала управления персоналом"
Презентация "1С:ЗУП 3.0 КОРП. Обзор функционала управления персоналом"
 
Алгоритм создания системы стимулирования труда
Алгоритм создания системы стимулирования трудаАлгоритм создания системы стимулирования труда
Алгоритм создания системы стимулирования труда
 
Как улучшить результаты, используя софт для рекрутинга
 Как улучшить результаты, используя софт для рекрутинга Как улучшить результаты, используя софт для рекрутинга
Как улучшить результаты, используя софт для рекрутинга
 
1603 Ukrainian Procurement Forum - Доклад Сергея Николаева
1603 Ukrainian Procurement Forum - Доклад Сергея Николаева1603 Ukrainian Procurement Forum - Доклад Сергея Николаева
1603 Ukrainian Procurement Forum - Доклад Сергея Николаева
 
Мотивация персонала с применением метода грейдирования
Мотивация персонала с применением метода грейдированияМотивация персонала с применением метода грейдирования
Мотивация персонала с применением метода грейдирования
 
1 c hrm_corp
1 c hrm_corp1 c hrm_corp
1 c hrm_corp
 
Презентация CLJ
Презентация CLJПрезентация CLJ
Презентация CLJ
 
Онлайн-школа 360, занятие 1.
Онлайн-школа 360, занятие 1. Онлайн-школа 360, занятие 1.
Онлайн-школа 360, занятие 1.
 
VII Всеукраинская конференция рекрутинга. Ирина Шуляренко, Кайдзен в рекрут...
VII Всеукраинская конференция рекрутинга.  Ирина Шуляренко,  Кайдзен в рекрут...VII Всеукраинская конференция рекрутинга.  Ирина Шуляренко,  Кайдзен в рекрут...
VII Всеукраинская конференция рекрутинга. Ирина Шуляренко, Кайдзен в рекрут...
 
Оценка персонала: как лучше проводить и для чего это нужно
Оценка персонала: как лучше проводить и для чего это нужноОценка персонала: как лучше проводить и для чего это нужно
Оценка персонала: как лучше проводить и для чего это нужно
 
вебинар Roi и оценка 360 градусов new
вебинар Roi и оценка 360 градусов newвебинар Roi и оценка 360 градусов new
вебинар Roi и оценка 360 градусов new
 
Как самостоятельно найти эффективного сотрудника из сферы Digital sh
Как самостоятельно найти эффективного сотрудника из сферы Digital shКак самостоятельно найти эффективного сотрудника из сферы Digital sh
Как самостоятельно найти эффективного сотрудника из сферы Digital sh
 
Александр Плуток: Как оценивать эффективность работ по интернет-маркетингу
Александр Плуток: Как оценивать эффективность работ по интернет-маркетингуАлександр Плуток: Как оценивать эффективность работ по интернет-маркетингу
Александр Плуток: Как оценивать эффективность работ по интернет-маркетингу
 
Как оценивать эффективность работ по интернет-маркетингу при участии подрядч...
Как оценивать эффективность работ  по интернет-маркетингу при участии подрядч...Как оценивать эффективность работ  по интернет-маркетингу при участии подрядч...
Как оценивать эффективность работ по интернет-маркетингу при участии подрядч...
 
HR-аналитика и автоматизация рекрутинга: лучшие практики
HR-аналитика и автоматизация рекрутинга: лучшие практикиHR-аналитика и автоматизация рекрутинга: лучшие практики
HR-аналитика и автоматизация рекрутинга: лучшие практики
 
HR-аналитика и автоматизация рекрутинга: лучшие практики
HR-аналитика и автоматизация рекрутинга: лучшие практикиHR-аналитика и автоматизация рекрутинга: лучшие практики
HR-аналитика и автоматизация рекрутинга: лучшие практики
 
HRM и внешние провайдеры
HRM и внешние провайдерыHRM и внешние провайдеры
HRM и внешние провайдеры
 

Mehr von Ontico

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...Ontico
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Ontico
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Ontico
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Ontico
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Ontico
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)Ontico
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Ontico
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Ontico
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)Ontico
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)Ontico
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Ontico
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Ontico
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Ontico
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Ontico
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)Ontico
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Ontico
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Ontico
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...Ontico
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Ontico
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Ontico
 

Mehr von Ontico (20)

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
 

Ранжирование откликов соискателей с помощью машинного обучения / Сергей Сайгушкин (Superjob)

  • 1. Ранжирование откликов соискателей с помощью машинного обучения Сайгушкин Сергей, ведущий разработчик команды поиска Superjob.ru
  • 2. Суперджоб — это: 1 млн приглашений в месяц 1 млн пользователей в сутки более 20 млн резюме
  • 4. ● многие из них вообще не соответствуют вакансии ● рекрутеру приходится самостоятельно фильтровать нерелевантные отклики ● это осложняет и замедляет подбор кандидатов На 15% вакансий приходится более 100 откликов за сутки
  • 5. Вакансия — ведущий PHP-разработчик
  • 6. Вакансия — ведущий PHP-разработчик
  • 7. Вакансия — ведущий PHP-разработчик
  • 8. С этим надо что-то делать ● определяем нерелевантные отклики и пессимизируем их в списке; ● получаем задачу классификации на два класса: + подходящий отклик − неподходящий отклик ● даём возможность рекрутеру фильтровать отклики по данному признаку
  • 9. Этот доклад про: ● подготовку данных и обучение модели ● внедрение модели в production и мониторинг метрик качества ● тестирование на пользователях
  • 10. Подготавливаем данные для обучения ● обучаемся на событиях отклонения резюме и приглашения на собеседование ● для каждой вакансии проверяем распределение приглашений и отклонений ● очищаем данные от выбросов
  • 13. Формируем черный список рекрутеров ● встречаются рекрутеры, которые приглашают на собеседование всех подряд ● в основном это клиенты с безлимитным тарифом ● берут количеством, не качеством Не обучаемся на событиях данных рекрутеров
  • 16. Генерация признаков свойства резюме, вакансии и их сочетания; итого 170 признаков; к категориальным признакам применяем бинарное кодирование (One-Hot Encoding)
  • 17. Работа с текстовыми признаками ● текст очищаем от стоп-слов, пунктуации, лемматизируем; ● из текстовых признаков формируем тематические группы: - признаки профессии - требований вакансии и ключевых навыков - обязанностей вакансии и обязанностей с предыдущих мест работы ● для каждой группы обучаем TF-IDF Vectorizer ● для фразы получаем TF-IDF вектор и вычисляем cosine similarity с TF-IDF вектором другой фразы Получаем меру сходства двух фраз
  • 18. Примеры признаков ● средняя продолжительность работы на одном месте, в месяцах ● кол-во месяцев работы на последнем месте ● разница между требуемым опытом вакансии и опытом из резюме ● попадание желаемой зарплаты резюме в зарплатную вилку вакансии ● мера сходства между желаемой должностью и предыдущими местами работы ● мера сходства между специальностью образования и требованиями вакансии ● рейтинг (заполненность) резюме
  • 19. When in doubt, use xgboost Оптимизация гиперпараметров модели https://www.analyticsvidhya.com/blog/2016/03/complete-guide-parameter-tunin g-xgboost-with-codes-python/ https://www.kaggle.com/yassinealouini/hyperopt-the-xgboost-model Остановились на: n_estimators = 5000 max_depth = 5 min_child_weight = 6
  • 20. Значимые признаки ● опыт работы соискателя; ● «зарплатные» фичи (разница между зарплатой в резюме и верхней и нижней границами зарплаты в вакансии); ● cosine similarity между TF-IDF-векторами профессии и в вакансии и профессий из опыта работы резюме; ● возраст соискателя; ● убираем возраст — в топ выходит фича «количество лет с момента получения образования», возвращаем возраст и компенсируем очки скоринга соискателям в возрасте
  • 21. Метрики качества модели Accuracy: 0.76 ROC-AUC: 0.79 Precision: 0.73 Recall: 0.84
  • 22. Проводим новые эксперименты ● наполнение списка синонимов профессий, doc2vec; ● тематическое моделирование, BigARTM
  • 23. Снижаем количество ошибок второго рода ● необходимо, чтобы как можно меньше подходящих резюме оказалось в нерелевантных ● снижаем threshold вероятности принадлежности к релевантному классу ● уменьшается кол-во FN ошибок, но увеличивается FP
  • 25. Production, цифры 1 сервер 24 ядра 1000req/s в пике (подписки на резюме) 0.04c на скоринг пары «резюме-вакансия» 18часов на скоринг всех активных откликов
  • 26. Production, мониторинг ● непрерывно оцениваем метрики качества модели ● задание в Jenkins, которое собирает метрики и отсылает в Graphite ● параллельно сравниваем метрики нескольких разрабатываемых моделей на одних данных
  • 29.
  • 30.
  • 31. AB тестирование ● Конверсия присланных резюме в приглашенные — Impact 8.3% ● Число приглашенных резюме — Impact 6.7% ● Конверсия открытых вакансий в закрытые — Impact 6% ● Число закрытых вакансий — Impact 5.4% ● Количество дней до закрытия вакансии — Impact 7.7% ● Уровень значимости — 5%
  • 32. В качестве заключения Самое главное — обучающая выборка! Фиксируем random_state Мониторим метрики качества модели
  • 33. Спасибо за помощь! Компании Datastars http://datastars.co/ 6 июня 17:00 Никита Спирин Применение машинного обучения для генерации структурированных сниппетов в поисковых системах по трудоустройству
  • 34. Спасибо за внимание! Приходите к нам работать https://www.superjob.ru/team Доступ к Superjob в подарок Укажите код RIT2017 в разделе «Обратная связь» на superjob.ru Промокод действует до 1 сентября 2017 года Сайгушкин Сергей, ведущий разработчик команды поиска Superjob.ru, s.saygushkin@superjob.ru