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

- 🔥 13
- 👍 3