Hard и Soft навыки в IT профессиях. Алгоритмы NLP
Представьте что для любой должности в любой организации у вас есть список всех Hard и Soft навыков плюс описания задач на позициях. Харды - это технологии, инструменты, стек, библиотеки. С софтами сложнее: сюда можно отнести 'управление проектом', 'коммуникацию' и т.п.
Что это даёт?
Вы знаете стек по командам в каждой компании
Вы можете кластеризовать компании (лидеры - аутсайдеры)
Вы можете прогнозировать развитие направления
Вы можете понять как трансформируется любая должность
Вы можете искать дефицитных сотрудников с уникальным набором скиллов
Вы можете примерно рассчитать цену конкретного навыка, если знаете зарплаты
Вы можете понять куда вам расти и чему лучше обучаться
Таких задач много, можете написать в комменты.
У нас в
проекте анализа зарплат в IT VILKY давно стоит задача сопоставления навыков с конкретными должностями. Опираемся на данные вакансий - там указываются навыки и задачи. В самих полях навыков или указывается мало хардов и софтов или вообще ничего.
Сегодня расскажу как научились вытаскивать харды и софты из описания вакансий. Раньше было пару подходов к снаряду:
. Использовали ChatGPT, YandexGPT. Проблема - не понимают что именно вытаскивать из описаний вакансий, непредсказуемы, и на миллионах данных слишком дороги.
. Пробовали классические ML-инструменты, работали с Sklearn. Часто пропускает важные навыки. Не всегда ясно что надо учитывать а что пропускать.
Сейчас реализован третий вариант, у него точность более 95%. То есть, 95% нужных навыков он вытаскивает из описания вакансии. Не работает с опечатками. Пока не на проде - тестируется. С начала недели сидел с алгоритмами NLP (Nature Language Processing), рассказываю что получилось.
Как работает:
. Определяет частотность навыков на базе 620 000 снепшотов вакансий с указанием конкретных навыков и строит таблицу.
. Отбрасывает ерунду вроде "Стрессоустойчивости" и "Обучаемости".
. В таблице ищет синонимы (Microsoft Excel, Excel, эксель и тп.).
. Строит словарь с навыками, частотностью + массивы синонимов.
. Удаляет навыки встречающиеся в 1-2 вакансиях. Здесь надо было ещё уками перепроверить.
. Проходится по всем описаниям вакансий и ищет навыки и синонимы из словаря. Здесь есть прямой поиск, токенизация (разбиение на слова) и лемматизация (приведение к нормальной форме).
. Добавляет поле новых навыков к данным.
В итоге, словарь сейчас - это 1260 наиболее популярных скиллов с синонимами на русском и английском языках. Поиск предсказуемый, без галлюцинаций нейросети.
Что дальше?
Планируем:
- внедрение поиска по скиллам на
дашборде, даже если в вакансии навыки не указаны явно
- расширенный словарь, в том числе с редкими и уникальными технологиями (не для дашборда)
На выходных будет повторная валидация. Если всё ок - внедрим в прод и дадим пользователям.
Обсуждение 3
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсудить в Telegram