SlideShare uma empresa Scribd logo
1 de 64
Baixar para ler offline
Применение машинного обучения
для генерации структурированных
сниппетов в поисковых системах по
трудоустройству
Никита Спирин, Datastars
www.datastars.co
О докладчике
• ФУПМ МФТИ, кафедра “Интеллектуальногоанализаданных”,ВЦ РАН
• PhD in Computer Scienceпо теме машинноеобучение, анализтекста,
поисковые/рекомендательные системыв University of Illinois(UIUC)
• Алгоритмы персонализациии анализлогов FacebookGraph Search
• Автор/рецензент/главапрограммного комитета международных
конференций по анализуданных (CIKM, SIGIR, WWW, IUI, IPM, др.)
• Со-основатель Datastars и Church&Duncan Machine Learning Consulting
Group (консалтинги корпоративное обучение по анализуданных).
Проекты с SuperJob,Odnoklassniki,MTS (AFK Systema),Intel, Adobe, др.
2
Что такое поисковый сниппет?
3
Избыточность информации в
заголовке и сниппетах
4
Бесполезная информация в сниппетах
5
Бесполезная информация в сниппетах
6
Неинформативные заголовки.
Нет сниппетов вовсе.
7
Неинформативные заголовки,
которые практически
невозможно различить.
Нет сниппетов.
8
Неинформативные заголовки.
Нет сниппетов вовсе.
9
Проблемы со сниппетами
• Заголовки на странице выдачи неинформативны (именно для
вертикали по поиску работы)
• Заголовки на странице выдачи не позволяют различить один
результат от другого
• Заголовки и сниппеты, построенные на основе запроса,
повторяют информацию
• Сниппеты содержат бесполезную информацию (ID из базы
данных вакансий, имена, и тд.)
• Только по заголовку сложно определить является ли вакансия
релавантной (Прим. Software Engineer в роли data scientist)
10
Что показывать в сниппетах на
странице результатов?
11
UX-исследование (сбор требований)
``Вербализация” мыслей под
запись при поиске работы
Разметкавакансий
соискателями
2 опроса о важности атрибутов
(выдача и страница вакансии)
12
UX-исследование результаты (вербализация)
``Вербализация” мыслей под
запись при поиске работы
1. Компания (36)
2. Навыки (34)
3. Профессия (29)
4. Обязанности (25)
5. Опыт работы в годах (22)
6. Образование (15)
7. Город (14)
13
UX-исследование результаты (вербализация)
“I stopped once I saw SQL and other coding technologies
[skills]. I am a different kind of analyst. [P2]
14
UX-исследование результаты (вербализация)
“I stopped once I saw SQL and other coding technologies
[skills]. I am a different kind of analyst. [P2]
“I try to count the number of required skills I cover. If a lot of the
skills don't match my background, I go for another job." [P14]
15
UX-исследование результаты (вербализация)
“I stopped once I saw SQL and other coding technologies
[skills]. I am a different kind of analyst. [P2]
“I try to count the number of required skills I cover. If a lot of the
skills don't match my background, I go for another job." [P14]
“When I search I try to follow the following strategy: if I am
sure that I fit, I will open the job posting [form the SERP], if it
is 50/50, I will still open it since I am exploring more options,
if am sure that I don't qualify, I will skip. Basically, I look for
must have criteria and if they aren't satisfied, I skip. For me
these are title, skill, major, and degree." [P22]
16
UX-исследование результаты (разметка)
1. Требования (83)
1. Навыки (72)
2. Образование (59)
3. Опыт работы в годах (53)
2. Обязанности (71)
3. Город (24)
4. Вид деятельности (24)
5. Профессия (16)
6. Разрешение на работу (13)
Разметкавакансий
соискателями
17
2 опроса о важности атрибутов
(выдача и страница вакансии)
UX-исследование результаты (опросы)
1. Тип деятельности (9.39/10)
2. Компания (8.99/10)
3. Профессия (8.84/10)
4. Навыки (8.65/10)
5. Обязанности (8.41/10)
6. Город (8.41/10)
7. Образование (8.29/10)
8. Опыт работы в годах (8.26/10)
18
Вдохновение (анализ литературы)
S. Yarosh, T. Matthews, M. Zhou, Asking the right person: supporting expertise selection in the enterprise, CHI ‘12
19
Идея: показывать на странице результатов
обязанности и требования
20
•Как извлечь необходимую информацию
(обязанности, требования) из произвольной
вакансии?
•Как пользователи реагируют на
структурированные сниппеты, содержащие
информацию о требованиях и обязанностях?
21
•Как извлечь необходимую информацию
(обязанности, требования) из произвольной
вакансии?
•Как пользователи реагируют на
структурированные сниппеты, содержащие
информацию о требованиях и обязанностях?
22
Постановка задачи извлечения информации
об обязанностях и требованиях из вакансии
Дано: предложение из вакансии (HTML-tag с текстом)
Предсказать: секцию (обязанность, требование, другое)
23
Постановка задачи извлечения информации
об обязанностях и требованиях из вакансии
When you’re the best, we’re the best. We instillan environmentwhere employees feel engaged, satisfied
and able to contribute their unique skillsand talents. We provide extensive opportunities for personal and
professional development,buildingboth employee competence and organizationalcapabilityto fuel
exceptionalperformance now and in the future.
Job Description:
Provides analysisfor Vizient leadershipteam to identify critical issues/questionsaround member
performance. Conductsexploratorydata analysisfrom complex, disparatedatasources to recognize
patterns, and identifymember performance improvement opportunities.Generateshypotheses and
analyzes datato test and interpret results. Serves as the resident data expert and share best
practices/approachesfor statistics, machine learning techniques, data modeling, simulationand advanced
mathematics. Collaborateswith Director, DataScience & Methodologyto build analytical acumenacross
all analyticroles in the organization. Advanced degree (Masters or higher) preferred in appliedmath,
statistics, computer science, or relatedfield. 5-7 years of experience managing large disparatedata sets
and using quantitativeand qualitativeanalysisto draw meaningful and validinsightsincluding3 years of
programming experience using SAS/Python/R. Strong communication skills(both oral and written). Must
be able to present results to senior leadership,internaland external members. Must be a team player and
24
Постановка задачи извлечения информации
об обязанностях и требованиях из вакансии
When you’re the best, we’re the best. We instillan environmentwhere employees feel engaged, satisfied
and able to contribute their unique skillsand talents. We provide extensive opportunities for personal and
professional development,buildingboth employee competence and organizationalcapabilityto fuel
exceptionalperformance now and in the future.
Job Description:
Provides analysisfor Vizient leadershipteam to identify critical issues/questionsaround member
performance. Conductsexploratorydata analysisfrom complex, disparatedatasources to recognize
patterns, and identifymember performance improvement opportunities.Generateshypotheses and
analyzes datato test and interpret results. Serves as the resident data expert and share best
practices/approachesfor statistics, machine learning techniques, data modeling, simulationand advanced
mathematics. Collaborateswith Director, DataScience & Methodologyto build analytical acumenacross
all analyticroles in the organization. Advanced degree (Masters or higher) preferred in appliedmath,
statistics, computer science, or relatedfield. 5-7 years of experience managing large disparatedata sets
and using quantitativeand qualitativeanalysisto draw meaningful and validinsightsincluding3 years of
programming experience using SAS/Python/R. Strong communication skills(both oral and written). Must
be able to present results to senior leadership,internaland external members. Must be a team player and
25
Постановка задачи извлечения информации
об обязанностях и требованиях из вакансии
When you’re the best, we’re the best. We instillan environmentwhere employees feel engaged, satisfied
and able to contribute their unique skillsand talents. We provide extensive opportunities for personal and
professional development,buildingboth employee competence and organizationalcapabilityto fuel
exceptionalperformance now and in the future.
Job Description:
Responsibilities:
• Provides analysisfor Vizient leadershipteam to identify critical issues/questionsaround member
performance.
• Conducts exploratory dataanalysisfrom complex, disparatedatasources to recognize patterns, and
identify member performance improvement opportunities.
• Generates hypotheses and analyzes datato test and interpret results.
Qualifications:
• Advanceddegree (Masters or higher) preferred in appliedmath, statistics, computer science
• 5-7 years of experience managing large disparatedata sets and using quantitativeand qualitative
analysisto draw meaningful and validinsights including3 yearsof programming experience using
SAS/Python/R
26
Постановка задачи извлечения информации
об обязанностях и требованиях из вакансии
When you’re the best, we’re the best. We instillan environmentwhere employees feel engaged, satisfied
and able to contribute their unique skillsand talents. We provide extensive opportunities for personal and
professional development,buildingboth employee competence and organizationalcapabilityto fuel
exceptionalperformance now and in the future.
Job Description:
Responsibilities:
• Provides analysisfor Vizient leadershipteam to identify critical issues/questionsaround member
performance.
• Conducts exploratory dataanalysisfrom complex, disparatedatasources to recognize patterns, and
identify member performance improvement opportunities.
• Generates hypotheses and analyzes datato test and interpret results.
Qualifications:
• Advanceddegree (Masters or higher) preferred in appliedmath, statistics, computer science
• 5-7 years of experience managing large disparatedata sets and using quantitativeand qualitative
analysisto draw meaningful and validinsights including3 yearsof programming experience using
SAS/Python/R
27
Подход на основе машинного обучения
1. Собрать данные для обучения модели (разметить
предложения и присвоить каждому секцию)
2. Обучить модель
• Сгенерировать признаки
• Выбрать алгоритм машинного обучения
• Настроить гиперпараметры алгоритма
3. Оценить качество модели на новых данных (сравнить
ручную разметку с разметкой алгоритмом)
4. Повторять шаги 1 и 2 до тех пор, пока не довольны 3 :)
28
Подход на основе машинного обучения
1. Собрать данные для обучения модели (разметить
предложения и присвоить каждому секцию)
2. Обучить модель
• Сгенерировать признаки
• Выбрать алгоритм машинного обучения
• Настроить гиперпараметры алгоритма
3. Оценить качество модели на новых данных (сравнить
ручную разметку с разметкой алгоритмом)
4. Повторять шаги 1 и 2 до тех пор, пока не довольны 3 :)
29
Как собрать данные для обучения модели?
Размечать вручнуюПодумать 30
Наблюдение: подмножество вакансий
имеют предсказуемую структуру
31
Наблюдение: подмножество вакансий
имеют предсказуемую структуру
32
Наблюдение: подмножество вакансий
имеют предсказуемую структуру
33
Наблюдение: подмножество вакансий
имеют предсказуемую структуру
34
Наблюдение: подмножество вакансий
имеют предсказуемую структуру
<h3>Qualifications</h3><ul><li>(*)</li></ul>
35
Метод генерации данных для обучения
1. Для каждой секции задать по одному слову-заголовку
• “Обязанности” или “Ваши задачи:” для секции об обязанностях
• “Требования” или “О Вас:” для секции о требованиях
2. Собрать большой корпус вакансий
3. Извлечь автоматизированнымобразом из вакансий примеры
предложенийдля каждой из секций с помощью точного шаблона
вида <h3>ЗАГОЛОВОК-СЕКЦИИ</h3><ul><li>ПРИМЕР-ПРЕДЛОЖЕНИЯ-
ДЛЯ-АЛГОРИТМА</li></ul>
4. Класс “Другое” составить из предложенийот начала вакансии и до
шаблона или после шаблона и до конца; можно произвольный текст
5. Собирать пока не будет много примеров (1,000+на секцию
минимум;мы использовали 10,000,000в финальной версии)
36
Обучающее множество для алгоритма
• Advanceddegree (Masters or higher) preferred in applied
math, statistics, computerscience
• 5-7 years of experience managing large disparatedata sets
and using quantitativeand qualitativeanalysisin R
• Provides analysisfor Vizient leadershipteam to identify
critical issues/questions aroundmember performance.
• Conductsexploratory dataanalysisfrom complex, disparate
data sources to recognize patterns, and identify member
performance improvementopportunities.
• Working at Vizient means making a difference in today’s
dynamic health care industry, every day.
• Our mission is to connect providerswith the knowledge,
solutionsand expertise that accelerate their performance.
delivery networks and non-acute health care providers.
Обязанности
(1,000+ предложений)
Требования
(1,000+ предложений)
Другое
(1,000+ предложений)
37
Машинное обучение: модель и признаки
• Линейный SVM с хешированием признаков (для скорости) на основе
мешка слов (bag of words)
• Уни-граммы
• Би-граммы
• Три-граммы
• Части речи
• Признаки над предложением
• Сколько слов начинается с большой буквы
• Длина предложения (слова, символы)
• Число HTML тегов
• И др.
• Ансамбль алгоритмов по модели стекинга
38
Эксперимент по оценке качества
алгоритма извлечения на новых данных
39
Эксперимент по оценке качества
алгоритма извлечения на новых данных
40
Эксперимент по оценке качества
алгоритма извлечения на новых данных
41
“Докрутка” алгоритма под конкретный язык
посредством расширения словаря правил
0
10
20
30
40
50
60
70
80
90
100
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53
Pagescovered%
Число шаблонов-правил
42
Двустадийный метод обработки вакансий
правилами и машинным обучением
Чтобы достигнуть 97-98% точности при 100% полноте:
1. Извлекаем предложения, используя расширенный словарь
точных правил-шаблонов (что использовали для создания
обучающего множества)
2. Если ни одно правило не сработало, применяем машинное
обучения, как “catch all” алгоритм по всем оставшимся
предложениям вакансии
43
•Как извлечь необходимую информацию
(обязанности, требования) из произвольной
вакансии?
•Как пользователи реагируют на
структурированные сниппеты, содержащие
информацию о требованиях и обязанностях?
44
Принцип Максимальной Общей Полезности (MMR):
1. Подобрать первое предложение для каждой из секций
вакансии на основе релевантности запросу (cosine measure)
2. Подбирать каждое следующее предложение
последовательно так, чтобы оно максимально отличалось от
уже отобранных и также было релевантным запросу
“Собираем” финальный сниппет из
структурированной вакансии
45
“Собираем” финальный сниппет из
структурированной вакансии (пример)
• Provides analysis for Vizient leadership team
to identify critical issues/questionsaround
member performance.
• Conducts exploratory data analysis from
complex, disparate data sources to recognize
patterns, and identify member performance
improvement opportunities.
• Generates hypotheses and analyzes data to
test and interpret results.
Обязанности
“Data sources”Запрос
46
“Собираем” финальный сниппет из
структурированной вакансии (пример)
• Provides analysis for Vizient leadership team
to identify critical issues/questionsaround
member performance.
• Conducts exploratory data analysis from
complex, disparate data sources to recognize
patterns, and identify member performance
improvement opportunities.
• Generates hypotheses and analyzes data to
test and interpret results.
Обязанности
“Data sources”Запрос
1
47
“Собираем” финальный сниппет из
структурированной вакансии (пример)
• Provides analysis for Vizient leadership team
to identify critical issues/questionsaround
member performance.
• Conducts exploratory data analysis from
complex, disparate data sources to recognize
patterns, and identify member performance
improvement opportunities.
• Generates hypotheses and analyzes data to
test and interpret results.
Обязанности
“Data sources”Запрос
1
2
48
“Собираем” финальный сниппет из
структурированной вакансии (пример)
• Provides analysis for Vizient leadership team
to identify critical issues/questionsaround
member performance.
• Conducts exploratory data analysis from
complex, disparate data sources to recognize
patterns, and identify member performance
improvement opportunities.
• Generates hypotheses and analyzes data to
test and interpret results.
Обязанности
“Data sources”Запрос
1
2
3
49
Онлайн А/B-тест (500K пользователей)
A:
B:
50
Архитектура API
BILogicContainer
Redis Cache
Model Builder
Memory
Model Rules Config
Redis Cache
Memory
Model Rules Config
APIEnd-point(NginxProxy)
Crawler
Rules Config
51
А/B-тест результаты: число кликов на
запрос на странице результатов меньше
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1 2 3 4 5 6 7 8 9 10 11
Меньше-лучше
День эксперимента
Series1
Series2
52
А/B-тест результаты: Соотношение
откликов к просмотрам вакансий выше
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Больше-лучше
День эксперимента
Series1
Series2
53
Дополнительные результаты А/B-теста
• Качество извлечения: 97% точность при 100% полноте
• Уменьшилось число запросов за сессию 8%
• Уменьшилось общее число просмотров в 1.4X
• Увеличилось общее число откликов на 1.6%
• Увеличилось число откликов после просмотра вакансии на 13%
• Уменьшилось число «коротких» кликов на 5.5%
• Уменьшилась энтропия кликов в 1.98X
54
Заключение
• Показываем требования и обязанности на странице результатов
• Собираем данные для машинного обучения с помощью точных шаблонов
• Комбинируем подход на основе машинного обучения и правил для
повышения точности финальной модели
• Собираем сниппеты на основе принципа максимальной общей полезности
• Аккуратно сравниваем вариации интерфейса через A/B тесты
55
Контакты
• Email: nik PATTERN datastars.co
• Facebook/Telegram/Twitter/Skype: @spirinus
• Website: www.datastars.co
Вопросы по презентации и другим применениям машинного обучения в
рекрутинге; консалтинговые проекты и обучение по data science, deep
learning; стартапы (маркетплейсы/соц.сети, большие данные, рекрутинг)
56
Бонус: поисковики работы РуНета
впереди планеты всей!
В той или иной форме внедрены структурированные сниппеты:
• Superjob
• Яндекс
• HH.ru
Стоит задуматься!
• JOB.RU и другие
57
58
59
60
Дополнительные слайды
61
Участники UX-исследования
• Required criteria:
• At least 3 month internship experience
• Above 18 years old
• Used online job search engine (e.g. LinkedIn Job, Indeed)
• Gender: 13 females, 13 males
• Job title: Software Engineer (8), Data Scientist (3), Healthcare
Consultant (2), Research Scientist (2), Personal Trainer (1), Genetics
Counselor (1), Product Manager (1), Translator (1), Occupational
Therapist (1), Marketing Manager (1), Business Analyst (1), Foreign
Policy Representative (1), Consultant (1), Biomedical Product
Developer (1), Pharmacist (1).
62
Участники UX-исследования
What is your current
student (work) status?
How many years of work
experience do you have?
63
Результаты исследования (опрос)
64

Mais conteúdo relacionado

Mais procurados

Kadrovaya politika sberbanka
Kadrovaya politika sberbankaKadrovaya politika sberbanka
Kadrovaya politika sberbanka
Anna Ninikina
 
Алексей Федоров: Количественные исследования в HR
Алексей Федоров: Количественные исследования в HRАлексей Федоров: Количественные исследования в HR
Алексей Федоров: Количественные исследования в HR
IT-Доминанта
 

Mais procurados (20)

Оценка эффективности рекрутинга. Топилина Ирина.
Оценка эффективности рекрутинга. Топилина Ирина.Оценка эффективности рекрутинга. Топилина Ирина.
Оценка эффективности рекрутинга. Топилина Ирина.
 
Внутренний аудит кадровых документов
Внутренний аудит кадровых документовВнутренний аудит кадровых документов
Внутренний аудит кадровых документов
 
ИПР сотрудника как инструмент развития
ИПР сотрудника как инструмент развитияИПР сотрудника как инструмент развития
ИПР сотрудника как инструмент развития
 
Как прийти в сферу SEO без опыта: расти, зарабатывать больше и не лажать
Как прийти в сферу SEO без опыта: расти, зарабатывать больше и не лажатьКак прийти в сферу SEO без опыта: расти, зарабатывать больше и не лажать
Как прийти в сферу SEO без опыта: расти, зарабатывать больше и не лажать
 
Игровые модели в работе HR. Ролевые игры
Игровые модели в работе HR. Ролевые игрыИгровые модели в работе HR. Ролевые игры
Игровые модели в работе HR. Ролевые игры
 
сэф хэдхантер оценка
сэф хэдхантер оценкасэф хэдхантер оценка
сэф хэдхантер оценка
 
Лучшие HR-практики
Лучшие HR-практикиЛучшие HR-практики
Лучшие HR-практики
 
Пишем вакансии для Job сайтов
Пишем вакансии для Job сайтовПишем вакансии для Job сайтов
Пишем вакансии для Job сайтов
 
712
712712
712
 
Presentation кадровый резерв
Presentation кадровый резервPresentation кадровый резерв
Presentation кадровый резерв
 
Aaaaaa
AaaaaaAaaaaa
Aaaaaa
 
Kadrovaya politika sberbanka
Kadrovaya politika sberbankaKadrovaya politika sberbanka
Kadrovaya politika sberbanka
 
HR-бренд на практике. Определение целевой аудитории
HR-бренд на практике. Определение целевой аудиторииHR-бренд на практике. Определение целевой аудитории
HR-бренд на практике. Определение целевой аудитории
 
Как найти идеального IT кандидата
Как найти идеального IT кандидатаКак найти идеального IT кандидата
Как найти идеального IT кандидата
 
Правила успешной карьеры в IT. Часть 2. Взгляд HR-отдела
Правила успешной карьеры в IT. Часть 2. Взгляд HR-отделаПравила успешной карьеры в IT. Часть 2. Взгляд HR-отдела
Правила успешной карьеры в IT. Часть 2. Взгляд HR-отдела
 
31 мая, Марафон рекрутеров, «HR-аналитика и автоматизация рекрутинга: лучшие ...
31 мая, Марафон рекрутеров, «HR-аналитика и автоматизация рекрутинга: лучшие ...31 мая, Марафон рекрутеров, «HR-аналитика и автоматизация рекрутинга: лучшие ...
31 мая, Марафон рекрутеров, «HR-аналитика и автоматизация рекрутинга: лучшие ...
 
Алексей Федоров: Количественные исследования в HR
Алексей Федоров: Количественные исследования в HRАлексей Федоров: Количественные исследования в HR
Алексей Федоров: Количественные исследования в HR
 
Карта форматов обучения и развития персонала
Карта форматов обучения и развития персоналаКарта форматов обучения и развития персонала
Карта форматов обучения и развития персонала
 
Как повысить эффективность рекрутинга
Как повысить эффективность рекрутингаКак повысить эффективность рекрутинга
Как повысить эффективность рекрутинга
 
Заработная плата в IT-отрасли
Заработная плата в IT-отраслиЗаработная плата в IT-отрасли
Заработная плата в IT-отрасли
 

Semelhante a Применение машинного обучения для генерации структурированных сниппетов в поисковых системах по трудоустройству / Никита Спирин (Datastars)

Презентация STI: Направления. Оценка персонала полная общая
Презентация STI: Направления. Оценка персонала полная общаяПрезентация STI: Направления. Оценка персонала полная общая
Презентация STI: Направления. Оценка персонала полная общая
infodesign-1
 
Подбор ИТ-специалистов. Методы и источники поиска
Подбор ИТ-специалистов. Методы и источники поискаПодбор ИТ-специалистов. Методы и источники поиска
Подбор ИТ-специалистов. Методы и источники поиска
HRedu.ru
 
Rtp presentation for clients
Rtp presentation for clientsRtp presentation for clients
Rtp presentation for clients
Denis Gerasimov
 
что такое Big data в hr
что такое Big data в hrчто такое Big data в hr
что такое Big data в hr
Edward Babushkin
 
Мотивация результатом обучения, не кнутом и пряником
Мотивация результатом обучения, не кнутом и пряникомМотивация результатом обучения, не кнутом и пряником
Мотивация результатом обучения, не кнутом и пряником
Marina Litvinova
 

Semelhante a Применение машинного обучения для генерации структурированных сниппетов в поисковых системах по трудоустройству / Никита Спирин (Datastars) (20)

Обучение аналитиков - методы и программы
Обучение аналитиков - методы и программыОбучение аналитиков - методы и программы
Обучение аналитиков - методы и программы
 
Презентация STI: Направления. Оценка персонала полная общая
Презентация STI: Направления. Оценка персонала полная общаяПрезентация STI: Направления. Оценка персонала полная общая
Презентация STI: Направления. Оценка персонала полная общая
 
Обучение IT-аналитиков
Обучение IT-аналитиковОбучение IT-аналитиков
Обучение IT-аналитиков
 
Наталья Желнова для ITGM#6. Обучение системных аналитиков
Наталья Желнова для ITGM#6. Обучение системных аналитиковНаталья Желнова для ITGM#6. Обучение системных аналитиков
Наталья Желнова для ITGM#6. Обучение системных аналитиков
 
Sti.2014new
Sti.2014newSti.2014new
Sti.2014new
 
Sti.2014new
Sti.2014newSti.2014new
Sti.2014new
 
Подбор ИТ-специалистов. Методы и источники поиска
Подбор ИТ-специалистов. Методы и источники поискаПодбор ИТ-специалистов. Методы и источники поиска
Подбор ИТ-специалистов. Методы и источники поиска
 
Rtp presentation for clients
Rtp presentation for clientsRtp presentation for clients
Rtp presentation for clients
 
Про e-learning: выпуск 3
Про e-learning: выпуск 3Про e-learning: выпуск 3
Про e-learning: выпуск 3
 
что такое Big data в hr
что такое Big data в hrчто такое Big data в hr
что такое Big data в hr
 
Webinar_FORMATTA_Turn-the-scale (rus)
Webinar_FORMATTA_Turn-the-scale (rus)Webinar_FORMATTA_Turn-the-scale (rus)
Webinar_FORMATTA_Turn-the-scale (rus)
 
Мотивация результатом обучения, не кнутом и пряником
Мотивация результатом обучения, не кнутом и пряникомМотивация результатом обучения, не кнутом и пряником
Мотивация результатом обучения, не кнутом и пряником
 
ABIT
ABITABIT
ABIT
 
Презентация программы обучения для HR 11 01-2016
Презентация программы обучения для HR 11 01-2016Презентация программы обучения для HR 11 01-2016
Презентация программы обучения для HR 11 01-2016
 
Презентация програмы обучения для HR от компании Амплуа
Презентация програмы обучения для HR от компании АмплуаПрезентация програмы обучения для HR от компании Амплуа
Презентация програмы обучения для HR от компании Амплуа
 
презентация программы обучения для HR
презентация программы обучения для HRпрезентация программы обучения для HR
презентация программы обучения для HR
 
ДЕМОНСТРАЦИЯ СИСТЕМЫ УПРАВЛЕНИЯ HR-ПРОЦЕССАМИ HRMAPS
ДЕМОНСТРАЦИЯ СИСТЕМЫ УПРАВЛЕНИЯ HR-ПРОЦЕССАМИ HRMAPSДЕМОНСТРАЦИЯ СИСТЕМЫ УПРАВЛЕНИЯ HR-ПРОЦЕССАМИ HRMAPS
ДЕМОНСТРАЦИЯ СИСТЕМЫ УПРАВЛЕНИЯ HR-ПРОЦЕССАМИ HRMAPS
 
обзор вселенной Hr Tech
обзор вселенной Hr Techобзор вселенной Hr Tech
обзор вселенной Hr Tech
 
It menedger demeshko
It menedger demeshkoIt menedger demeshko
It menedger demeshko
 
It-menedger demeshko
It-menedger demeshkoIt-menedger demeshko
It-menedger demeshko
 

Mais de Ontico

Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Ontico
 

Mais de 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...
 

Применение машинного обучения для генерации структурированных сниппетов в поисковых системах по трудоустройству / Никита Спирин (Datastars)

  • 1. Применение машинного обучения для генерации структурированных сниппетов в поисковых системах по трудоустройству Никита Спирин, Datastars www.datastars.co
  • 2. О докладчике • ФУПМ МФТИ, кафедра “Интеллектуальногоанализаданных”,ВЦ РАН • PhD in Computer Scienceпо теме машинноеобучение, анализтекста, поисковые/рекомендательные системыв University of Illinois(UIUC) • Алгоритмы персонализациии анализлогов FacebookGraph Search • Автор/рецензент/главапрограммного комитета международных конференций по анализуданных (CIKM, SIGIR, WWW, IUI, IPM, др.) • Со-основатель Datastars и Church&Duncan Machine Learning Consulting Group (консалтинги корпоративное обучение по анализуданных). Проекты с SuperJob,Odnoklassniki,MTS (AFK Systema),Intel, Adobe, др. 2
  • 10. Проблемы со сниппетами • Заголовки на странице выдачи неинформативны (именно для вертикали по поиску работы) • Заголовки на странице выдачи не позволяют различить один результат от другого • Заголовки и сниппеты, построенные на основе запроса, повторяют информацию • Сниппеты содержат бесполезную информацию (ID из базы данных вакансий, имена, и тд.) • Только по заголовку сложно определить является ли вакансия релавантной (Прим. Software Engineer в роли data scientist) 10
  • 11. Что показывать в сниппетах на странице результатов? 11
  • 12. UX-исследование (сбор требований) ``Вербализация” мыслей под запись при поиске работы Разметкавакансий соискателями 2 опроса о важности атрибутов (выдача и страница вакансии) 12
  • 13. UX-исследование результаты (вербализация) ``Вербализация” мыслей под запись при поиске работы 1. Компания (36) 2. Навыки (34) 3. Профессия (29) 4. Обязанности (25) 5. Опыт работы в годах (22) 6. Образование (15) 7. Город (14) 13
  • 14. UX-исследование результаты (вербализация) “I stopped once I saw SQL and other coding technologies [skills]. I am a different kind of analyst. [P2] 14
  • 15. UX-исследование результаты (вербализация) “I stopped once I saw SQL and other coding technologies [skills]. I am a different kind of analyst. [P2] “I try to count the number of required skills I cover. If a lot of the skills don't match my background, I go for another job." [P14] 15
  • 16. UX-исследование результаты (вербализация) “I stopped once I saw SQL and other coding technologies [skills]. I am a different kind of analyst. [P2] “I try to count the number of required skills I cover. If a lot of the skills don't match my background, I go for another job." [P14] “When I search I try to follow the following strategy: if I am sure that I fit, I will open the job posting [form the SERP], if it is 50/50, I will still open it since I am exploring more options, if am sure that I don't qualify, I will skip. Basically, I look for must have criteria and if they aren't satisfied, I skip. For me these are title, skill, major, and degree." [P22] 16
  • 17. UX-исследование результаты (разметка) 1. Требования (83) 1. Навыки (72) 2. Образование (59) 3. Опыт работы в годах (53) 2. Обязанности (71) 3. Город (24) 4. Вид деятельности (24) 5. Профессия (16) 6. Разрешение на работу (13) Разметкавакансий соискателями 17
  • 18. 2 опроса о важности атрибутов (выдача и страница вакансии) UX-исследование результаты (опросы) 1. Тип деятельности (9.39/10) 2. Компания (8.99/10) 3. Профессия (8.84/10) 4. Навыки (8.65/10) 5. Обязанности (8.41/10) 6. Город (8.41/10) 7. Образование (8.29/10) 8. Опыт работы в годах (8.26/10) 18
  • 19. Вдохновение (анализ литературы) S. Yarosh, T. Matthews, M. Zhou, Asking the right person: supporting expertise selection in the enterprise, CHI ‘12 19
  • 20. Идея: показывать на странице результатов обязанности и требования 20
  • 21. •Как извлечь необходимую информацию (обязанности, требования) из произвольной вакансии? •Как пользователи реагируют на структурированные сниппеты, содержащие информацию о требованиях и обязанностях? 21
  • 22. •Как извлечь необходимую информацию (обязанности, требования) из произвольной вакансии? •Как пользователи реагируют на структурированные сниппеты, содержащие информацию о требованиях и обязанностях? 22
  • 23. Постановка задачи извлечения информации об обязанностях и требованиях из вакансии Дано: предложение из вакансии (HTML-tag с текстом) Предсказать: секцию (обязанность, требование, другое) 23
  • 24. Постановка задачи извлечения информации об обязанностях и требованиях из вакансии When you’re the best, we’re the best. We instillan environmentwhere employees feel engaged, satisfied and able to contribute their unique skillsand talents. We provide extensive opportunities for personal and professional development,buildingboth employee competence and organizationalcapabilityto fuel exceptionalperformance now and in the future. Job Description: Provides analysisfor Vizient leadershipteam to identify critical issues/questionsaround member performance. Conductsexploratorydata analysisfrom complex, disparatedatasources to recognize patterns, and identifymember performance improvement opportunities.Generateshypotheses and analyzes datato test and interpret results. Serves as the resident data expert and share best practices/approachesfor statistics, machine learning techniques, data modeling, simulationand advanced mathematics. Collaborateswith Director, DataScience & Methodologyto build analytical acumenacross all analyticroles in the organization. Advanced degree (Masters or higher) preferred in appliedmath, statistics, computer science, or relatedfield. 5-7 years of experience managing large disparatedata sets and using quantitativeand qualitativeanalysisto draw meaningful and validinsightsincluding3 years of programming experience using SAS/Python/R. Strong communication skills(both oral and written). Must be able to present results to senior leadership,internaland external members. Must be a team player and 24
  • 25. Постановка задачи извлечения информации об обязанностях и требованиях из вакансии When you’re the best, we’re the best. We instillan environmentwhere employees feel engaged, satisfied and able to contribute their unique skillsand talents. We provide extensive opportunities for personal and professional development,buildingboth employee competence and organizationalcapabilityto fuel exceptionalperformance now and in the future. Job Description: Provides analysisfor Vizient leadershipteam to identify critical issues/questionsaround member performance. Conductsexploratorydata analysisfrom complex, disparatedatasources to recognize patterns, and identifymember performance improvement opportunities.Generateshypotheses and analyzes datato test and interpret results. Serves as the resident data expert and share best practices/approachesfor statistics, machine learning techniques, data modeling, simulationand advanced mathematics. Collaborateswith Director, DataScience & Methodologyto build analytical acumenacross all analyticroles in the organization. Advanced degree (Masters or higher) preferred in appliedmath, statistics, computer science, or relatedfield. 5-7 years of experience managing large disparatedata sets and using quantitativeand qualitativeanalysisto draw meaningful and validinsightsincluding3 years of programming experience using SAS/Python/R. Strong communication skills(both oral and written). Must be able to present results to senior leadership,internaland external members. Must be a team player and 25
  • 26. Постановка задачи извлечения информации об обязанностях и требованиях из вакансии When you’re the best, we’re the best. We instillan environmentwhere employees feel engaged, satisfied and able to contribute their unique skillsand talents. We provide extensive opportunities for personal and professional development,buildingboth employee competence and organizationalcapabilityto fuel exceptionalperformance now and in the future. Job Description: Responsibilities: • Provides analysisfor Vizient leadershipteam to identify critical issues/questionsaround member performance. • Conducts exploratory dataanalysisfrom complex, disparatedatasources to recognize patterns, and identify member performance improvement opportunities. • Generates hypotheses and analyzes datato test and interpret results. Qualifications: • Advanceddegree (Masters or higher) preferred in appliedmath, statistics, computer science • 5-7 years of experience managing large disparatedata sets and using quantitativeand qualitative analysisto draw meaningful and validinsights including3 yearsof programming experience using SAS/Python/R 26
  • 27. Постановка задачи извлечения информации об обязанностях и требованиях из вакансии When you’re the best, we’re the best. We instillan environmentwhere employees feel engaged, satisfied and able to contribute their unique skillsand talents. We provide extensive opportunities for personal and professional development,buildingboth employee competence and organizationalcapabilityto fuel exceptionalperformance now and in the future. Job Description: Responsibilities: • Provides analysisfor Vizient leadershipteam to identify critical issues/questionsaround member performance. • Conducts exploratory dataanalysisfrom complex, disparatedatasources to recognize patterns, and identify member performance improvement opportunities. • Generates hypotheses and analyzes datato test and interpret results. Qualifications: • Advanceddegree (Masters or higher) preferred in appliedmath, statistics, computer science • 5-7 years of experience managing large disparatedata sets and using quantitativeand qualitative analysisto draw meaningful and validinsights including3 yearsof programming experience using SAS/Python/R 27
  • 28. Подход на основе машинного обучения 1. Собрать данные для обучения модели (разметить предложения и присвоить каждому секцию) 2. Обучить модель • Сгенерировать признаки • Выбрать алгоритм машинного обучения • Настроить гиперпараметры алгоритма 3. Оценить качество модели на новых данных (сравнить ручную разметку с разметкой алгоритмом) 4. Повторять шаги 1 и 2 до тех пор, пока не довольны 3 :) 28
  • 29. Подход на основе машинного обучения 1. Собрать данные для обучения модели (разметить предложения и присвоить каждому секцию) 2. Обучить модель • Сгенерировать признаки • Выбрать алгоритм машинного обучения • Настроить гиперпараметры алгоритма 3. Оценить качество модели на новых данных (сравнить ручную разметку с разметкой алгоритмом) 4. Повторять шаги 1 и 2 до тех пор, пока не довольны 3 :) 29
  • 30. Как собрать данные для обучения модели? Размечать вручнуюПодумать 30
  • 31. Наблюдение: подмножество вакансий имеют предсказуемую структуру 31
  • 32. Наблюдение: подмножество вакансий имеют предсказуемую структуру 32
  • 33. Наблюдение: подмножество вакансий имеют предсказуемую структуру 33
  • 34. Наблюдение: подмножество вакансий имеют предсказуемую структуру 34
  • 35. Наблюдение: подмножество вакансий имеют предсказуемую структуру <h3>Qualifications</h3><ul><li>(*)</li></ul> 35
  • 36. Метод генерации данных для обучения 1. Для каждой секции задать по одному слову-заголовку • “Обязанности” или “Ваши задачи:” для секции об обязанностях • “Требования” или “О Вас:” для секции о требованиях 2. Собрать большой корпус вакансий 3. Извлечь автоматизированнымобразом из вакансий примеры предложенийдля каждой из секций с помощью точного шаблона вида <h3>ЗАГОЛОВОК-СЕКЦИИ</h3><ul><li>ПРИМЕР-ПРЕДЛОЖЕНИЯ- ДЛЯ-АЛГОРИТМА</li></ul> 4. Класс “Другое” составить из предложенийот начала вакансии и до шаблона или после шаблона и до конца; можно произвольный текст 5. Собирать пока не будет много примеров (1,000+на секцию минимум;мы использовали 10,000,000в финальной версии) 36
  • 37. Обучающее множество для алгоритма • Advanceddegree (Masters or higher) preferred in applied math, statistics, computerscience • 5-7 years of experience managing large disparatedata sets and using quantitativeand qualitativeanalysisin R • Provides analysisfor Vizient leadershipteam to identify critical issues/questions aroundmember performance. • Conductsexploratory dataanalysisfrom complex, disparate data sources to recognize patterns, and identify member performance improvementopportunities. • Working at Vizient means making a difference in today’s dynamic health care industry, every day. • Our mission is to connect providerswith the knowledge, solutionsand expertise that accelerate their performance. delivery networks and non-acute health care providers. Обязанности (1,000+ предложений) Требования (1,000+ предложений) Другое (1,000+ предложений) 37
  • 38. Машинное обучение: модель и признаки • Линейный SVM с хешированием признаков (для скорости) на основе мешка слов (bag of words) • Уни-граммы • Би-граммы • Три-граммы • Части речи • Признаки над предложением • Сколько слов начинается с большой буквы • Длина предложения (слова, символы) • Число HTML тегов • И др. • Ансамбль алгоритмов по модели стекинга 38
  • 39. Эксперимент по оценке качества алгоритма извлечения на новых данных 39
  • 40. Эксперимент по оценке качества алгоритма извлечения на новых данных 40
  • 41. Эксперимент по оценке качества алгоритма извлечения на новых данных 41
  • 42. “Докрутка” алгоритма под конкретный язык посредством расширения словаря правил 0 10 20 30 40 50 60 70 80 90 100 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 Pagescovered% Число шаблонов-правил 42
  • 43. Двустадийный метод обработки вакансий правилами и машинным обучением Чтобы достигнуть 97-98% точности при 100% полноте: 1. Извлекаем предложения, используя расширенный словарь точных правил-шаблонов (что использовали для создания обучающего множества) 2. Если ни одно правило не сработало, применяем машинное обучения, как “catch all” алгоритм по всем оставшимся предложениям вакансии 43
  • 44. •Как извлечь необходимую информацию (обязанности, требования) из произвольной вакансии? •Как пользователи реагируют на структурированные сниппеты, содержащие информацию о требованиях и обязанностях? 44
  • 45. Принцип Максимальной Общей Полезности (MMR): 1. Подобрать первое предложение для каждой из секций вакансии на основе релевантности запросу (cosine measure) 2. Подбирать каждое следующее предложение последовательно так, чтобы оно максимально отличалось от уже отобранных и также было релевантным запросу “Собираем” финальный сниппет из структурированной вакансии 45
  • 46. “Собираем” финальный сниппет из структурированной вакансии (пример) • Provides analysis for Vizient leadership team to identify critical issues/questionsaround member performance. • Conducts exploratory data analysis from complex, disparate data sources to recognize patterns, and identify member performance improvement opportunities. • Generates hypotheses and analyzes data to test and interpret results. Обязанности “Data sources”Запрос 46
  • 47. “Собираем” финальный сниппет из структурированной вакансии (пример) • Provides analysis for Vizient leadership team to identify critical issues/questionsaround member performance. • Conducts exploratory data analysis from complex, disparate data sources to recognize patterns, and identify member performance improvement opportunities. • Generates hypotheses and analyzes data to test and interpret results. Обязанности “Data sources”Запрос 1 47
  • 48. “Собираем” финальный сниппет из структурированной вакансии (пример) • Provides analysis for Vizient leadership team to identify critical issues/questionsaround member performance. • Conducts exploratory data analysis from complex, disparate data sources to recognize patterns, and identify member performance improvement opportunities. • Generates hypotheses and analyzes data to test and interpret results. Обязанности “Data sources”Запрос 1 2 48
  • 49. “Собираем” финальный сниппет из структурированной вакансии (пример) • Provides analysis for Vizient leadership team to identify critical issues/questionsaround member performance. • Conducts exploratory data analysis from complex, disparate data sources to recognize patterns, and identify member performance improvement opportunities. • Generates hypotheses and analyzes data to test and interpret results. Обязанности “Data sources”Запрос 1 2 3 49
  • 50. Онлайн А/B-тест (500K пользователей) A: B: 50
  • 51. Архитектура API BILogicContainer Redis Cache Model Builder Memory Model Rules Config Redis Cache Memory Model Rules Config APIEnd-point(NginxProxy) Crawler Rules Config 51
  • 52. А/B-тест результаты: число кликов на запрос на странице результатов меньше 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1 2 3 4 5 6 7 8 9 10 11 Меньше-лучше День эксперимента Series1 Series2 52
  • 53. А/B-тест результаты: Соотношение откликов к просмотрам вакансий выше 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Больше-лучше День эксперимента Series1 Series2 53
  • 54. Дополнительные результаты А/B-теста • Качество извлечения: 97% точность при 100% полноте • Уменьшилось число запросов за сессию 8% • Уменьшилось общее число просмотров в 1.4X • Увеличилось общее число откликов на 1.6% • Увеличилось число откликов после просмотра вакансии на 13% • Уменьшилось число «коротких» кликов на 5.5% • Уменьшилась энтропия кликов в 1.98X 54
  • 55. Заключение • Показываем требования и обязанности на странице результатов • Собираем данные для машинного обучения с помощью точных шаблонов • Комбинируем подход на основе машинного обучения и правил для повышения точности финальной модели • Собираем сниппеты на основе принципа максимальной общей полезности • Аккуратно сравниваем вариации интерфейса через A/B тесты 55
  • 56. Контакты • Email: nik PATTERN datastars.co • Facebook/Telegram/Twitter/Skype: @spirinus • Website: www.datastars.co Вопросы по презентации и другим применениям машинного обучения в рекрутинге; консалтинговые проекты и обучение по data science, deep learning; стартапы (маркетплейсы/соц.сети, большие данные, рекрутинг) 56
  • 57. Бонус: поисковики работы РуНета впереди планеты всей! В той или иной форме внедрены структурированные сниппеты: • Superjob • Яндекс • HH.ru Стоит задуматься! • JOB.RU и другие 57
  • 58. 58
  • 59. 59
  • 60. 60
  • 62. Участники UX-исследования • Required criteria: • At least 3 month internship experience • Above 18 years old • Used online job search engine (e.g. LinkedIn Job, Indeed) • Gender: 13 females, 13 males • Job title: Software Engineer (8), Data Scientist (3), Healthcare Consultant (2), Research Scientist (2), Personal Trainer (1), Genetics Counselor (1), Product Manager (1), Translator (1), Occupational Therapist (1), Marketing Manager (1), Business Analyst (1), Foreign Policy Representative (1), Consultant (1), Biomedical Product Developer (1), Pharmacist (1). 62
  • 63. Участники UX-исследования What is your current student (work) status? How many years of work experience do you have? 63