Отправьте статью сегодня! Журнал выйдет ..., печатный экземпляр отправим ...
Опубликовать статью

Молодой учёный

Точность словарного извлечения навыков из текстов вакансий: типичные ошибки и способ их снижения

16.10.2026
3
Поделиться
Аннотация
На 2 752 вакансиях сайтов SuperJob и «Работа России» сравниваются четыре способа поиска 15 навыков по словарю: поиск подстроки, поиск по границам слов, тот же поиск с уточненным словарем и нечеткое сопоставление по символьным n-граммам. Эталон — 1 028 пар «вакансия — навык». Поиск подстроки ошибается в 29 % срабатываний и завышает долю вакансий с некоторыми навыками в 2–3 раза. Проверка границ слов и уточнение многозначных ключевых слов повышают точность на этом корпусе с 0,71 до 0,90 почти без потери относительной полноты.
Библиографическое описание
Сотниченко, З. Э. Точность словарного извлечения навыков из текстов вакансий: типичные ошибки и способ их снижения / З. Э. Сотниченко. — Текст : непосредственный // Молодой ученый. — 2026. — № 42 (645). — С. 17-20. — URL: https://moluch.ru/archive/645/141137.


Введение

Тексты онлайн-вакансий — оперативный источник данных о спросе на навыки [1; 2]; в российских исследованиях навыки из них часто выделяют по ключевым словам [3], анализу вакансий посвящены и работы [4; 5]. Словарный подход не требует размеченных данных, в отличие от нейросетевых моделей [6; 7], но качество самого сопоставления словаря с текстом проверяют редко, хотя при выделении навыков из требований вакансий базовый вариант на правилах заметно уступил дообученной модели ruBERT (F1 = 0,31 против 0,83) [7].

Ключевое слово может оказаться частью другого слова («java» в «javascript», «налог» в «аналогичный»), иметь общеупотребительное значение («отчетность» у менеджера не означает бухучета) или относиться к описанию компании, а не к должности; к этому добавляется разнообразие формулировок навыков [8]. Цель работы — оценить эти ошибки и проверить, насколько их снижают простые изменения поиска без обучения моделей.

Данные и методы

Вакансии SuperJob и «Работы России» получены через программные интерфейсы сайтов в ранее разработанной системе анализа вакансий [9]. После удаления точных повторов и записей не длиннее 20 символов из 3 560 объявлений осталось 2 752 (1 831 и 921 соответственно), 79 % опубликованы в декабре 2025 — январе 2026 г. Текст вакансии — название и описание без HTML-разметки в нижнем регистре. Словарь той же системы содержит 15 навыков и 59 ключевых слов (псевдонимов): десять ИТ-навыков (Python, JavaScript, Java, SQL, Data Science, 1С, DevOps, PHP, C++, Go) и пять общих (Excel, управление проектами, продажи, маркетинг, бухгалтерия).

Навык отмечается, если найден хотя бы один его псевдоним. A — поиск подстроки, как в исходной системе. B — поиск по границам слов с тем же словарем: до псевдонима и после латинского псевдонима не должно стоять буквы или цифры; у кириллических основ («продаж», «бухгалтер») правая граница не проверяется из-за словоизменения. C — метод B с уточненным словарем (табл. 1), составленным по частотам ключевых слов в этом же корпусе до разметки эталона. D — нечеткое сопоставление с исходным словарем: слово текста (для многословных псевдонимов — окно слов) представляется вектором частот символьных n-грамм длины 3–5, навык отмечается при косинусном сходстве с псевдонимом не ниже 0,8 [10]; лемматизация не выполнялась.

Таблица 1

Изменения словаря в методе C

Навык

Изменение псевдонимов в методе C

Java

удален «kotlin» (отдельный язык); остались «java», «spring»

1С

удален «битрикс»; "1С-Битрикс» не засчитывается

SQL

«базы данных» → «СУБД», «реляционн… баз… данных», «администрирован… баз… данных»

Data Science

«нейросет» → «машинн… обучени…", «нейронн… сет…"

Excel

«таблиц» → «электронн… таблиц», «Google-таблиц», «сводн… таблиц»

Продажи

удален «crm» (инструмент, а не компетенция)

Маркетинг

«контент» → «контент-маркетинг», «контент-план», «контент-стратег…"

Бухгалтерия

«налог» → «налогов… учет / отчетн… / деклар…"; «отчетност» → «бухгалтерск… / налогов… / финансов… отчетн…"; удален дублирующий "1с:бухгалтер»

Примечание: многоточие обозначает любое окончание слова; словари остальных семи навыков не менялись.

Единица оценки — пара «вакансия — навык»; она положительна, если вакансия требует навык или называет его среди обязанностей должности, а упоминания в описании компании и условий труда («зарплата до вычета налогов») не засчитываются. Эталон построен пулингом: кандидаты — 1 903 пары в 1 116 вакансиях, найденные хотя бы одним методом, разбитые на страты по навыку и набору нашедших методов. Все 648 пар, по которым методы расходятся, размечены полностью, а из 1 255 пар, найденных всеми методами, — все пары десяти редких навыков и по 40 случайных пар пяти частых, всего 1 028 пар.

Точность P, полнота R и F1 оцениваются с весами страт, 95-процентные интервалы — бутстрепом внутри страт (2000 повторов). Полнота считается относительно пула (только по упоминаниям, найденным хотя бы одним методом) и потому завышена, особенно у метода A, давшего почти весь пул; пропуски вне пула оценены по 100 случайным вакансиям, в которых размечены все упоминания 15 навыков.

Результаты

Поиск подстроки находит почти все упоминания из пула (R = 0,995), но более четверти его срабатываний ошибочны (P = 0,714). Проверка границ слов повышает точность до 0,759, а основной прирост дает уточнение словаря: метод C достигает P = 0,901 и F1 = 0,941, теряя менее 1 п. п. относительной полноты (табл. 2). Нечеткое сопоставление уступает методу C: без лемматизации оно не связывает основу с формами слова (сходство «продаж» и «продажам» — 0,68) и не распознает даже опечатку «pyton» (0,30 с «python»); все найденные им пары нашел и метод B, а работает оно в 32 раза медленнее.

Таблица 2

Качество методов по 1 028 размеченным парам

Метод

Найдено пар

Точность P

Относительная полнота R

F1

Время, с

A: подстрока

1 896

0,714

[0,693; 0,732]

0,995

0,831

[0,817; 0,844]

0,4

B: границы слов

1 777

0,759

[0,737; 0,778]

0,991

0,860

[0,845; 0,872]

3,1

C: границы и уточненный словарь

1 490

0,901

[0,875; 0,923]

0,986

[0,981; 0,990]

0,941

[0,927; 0,954]

3,4

D: n-граммы 3–5

1 482

0,809

[0,786; 0,830]

0,881

[0,872; 0,891]

0,843

[0,829; 0,857]

98,9

Примечание: в скобках — 95-процентный доверительный интервал (для полноты A и B он уже 0,002 и не учитывает пропуски вне пула). Полнота и F1 вычислены относительно пула. Время — обработка всего корпуса на одном ядре процессора, медиана трех запусков.

Ложные срабатывания поиска подстроки (около 540 из 1 896) разделены на три типа по тому, какое изменение их устраняет (табл. 3); больше всего их дает слово «отчетност».

Таблица 3

Типы ложных срабатываний поиска подстроки

Тип ошибки (чем устраняется)

Доля

Примеры (оценка числа ложных отметок)

Внутри другого слова (границы слов)

21 %

«налог» в «аналогичный» (≈ 74); «ml» в «xml», «html» (≈ 20); «java» в «javascript» (≈ 12)

Общее или многозначное слово (уточнение словаря)

52 %

«отчетност» вне бухучета (≈ 164); «налог» в условиях оплаты (≈ 60); «базы данных» как реестр записей (≈ 27); «таблиц», «контент», CRM, «нейросет», «Битрикс» (≈ 27 в сумме)

Верное слово вне требований (не устраняется)

27 %

«продаж» в описании компании или чужого отдела (≈ 59); «реклам» в профиле работодателя (≈ 31); «бухгалтер» как смежный отдел (≈ 24)

Примечание: доли и числа — стратифицированные оценки; если в ложной отметке встретились два ключевых слова, она делится между ними поровну.

Ошибки поиска подстроки завышают частоты навыков (рис. 1), сильнее всего у трех: «Бухгалтерия» по методу A отмечена в 21,4 % вакансий против 9,6 % по эталону, Data Science — в 1,2 % против 0,4 %, Java — в 0,8 % против 0,3 % (у Java и Data Science это всего 8 и 11 положительных пар). У остальных навыков завышение не превышает 1,6 раза. Метод C почти устраняет завышение, кроме продаж и маркетинга, где из-за контекстных ошибок остается 2,2 и 1,5 п. п.

Доля вакансий с навыком по методам A и C и по эталону (навыки, для которых метод A завышает долю более чем в 1,25 раза)

Рис. 1. Доля вакансий с навыком по методам A и C и по эталону (навыки, для которых метод A завышает долю более чем в 1,25 раза)

В 100 случайных вакансиях отмечено 61 упоминание навыков, из них 54 (89 %, 95-процентный интервал 78–94 %) входят в пул. Однозначных пропусков три ("1 С«с пробелом и продажи без ключевых слов: «холодные звонки»), остальные пограничные. Поэтому абсолютная полнота метода C ниже относительной: 0,87–0,93 по точечной оценке и от 0,77 с учетом выборочной погрешности.

Обсуждение и ограничения

Проверка границ слов и ревизия словаря устраняют около трех четвертей ложных срабатываний без обучения моделей. Оставшиеся ошибки контекстные: для них нужно делить вакансию на блоки («о компании», «обязанности», «требования», «условия») или классифицировать контекст упоминания. Нечеткому сопоставлению для русского языка, по-видимому, нужны лемматизация и подбор порога; это не проверялось. Ограничения: корпус невелик и не включает hh.ru; оценки для редких ИТ-навыков получены по единицам и десяткам пар; эталон проверен одним человеком — автором; словарь C и инструкция для разметки составлены одним автором на том же корпусе, поэтому прирост точности — оптимистичная оценка, которую нужно подтвердить на новых данных.

Заключение

Поиск подстроки на 2 752 русскоязычных вакансиях дал точность 0,71 и завысил доли вакансий с навыками «Бухгалтерия», Java и Data Science в 2–3 раза; около 21 % ошибок — совпадения внутри других слов, около 52 % — слишком общие ключевые слова . Проверка границ слов с уточнением словаря повысила точность до 0,90 при почти неизменной относительной полноте, поэтому перед анализом частот навыков словарь стоит проверять на многозначность, а результаты поиска — выборочно сверять с разметкой.

Литература:

  1. Khaouja I., Kassou I., Ghogho M. A Survey on Skill Identification From Online Job Ads // IEEE Access. 2021. Vol. 9. P. 118134–118153. DOI: 10.1109/ACCESS.2021.3106120.
  2. Deep Learning-based Computational Job Market Analysis: A Survey on Skill Extraction and Classification from Job Postings / E. Senger, M. Zhang, R. van der Goot, B. Plank // Proceedings of the First Workshop on Natural Language Processing for Human Resources (NLP4HR 2024). St. Julian's, Malta: ACL, 2024. P. 1–15. DOI: 10.18653/v1/2024.nlp4hr-1.1.
  3. Волгин А., Гимпельсон В. Е. Спрос на навыки: анализ на основе онлайн данных о вакансиях // Экономический журнал Высшей школы экономики. 2022. Т. 26, № 3. С. 343–374. DOI: 10.17323/1813–8691–2022–26–3–343–374.
  4. Морозова Ю. А. Интеллектуальный анализ данных о вакансиях для выявления актуальных потребностей рынка труда // Информатика и образование. 2022. Т. 37, № 5. С. 26–37. DOI: 10.32517/0234–0453–2022–37–5–26–37.
  5. Хохлова О. А., Хохлова А. Н., Чойжалсанова А. Ц. Разработка алгоритма анализа вакансий на рынке труда по данным из открытых источников // Вопросы статистики. 2022. Т. 29, № 4. С. 33–41. DOI: 10.34023/2313–6383–2022–29–4–33–41.
  6. SkillSpan: Hard and Soft Skill Extraction from English Job Postings / M. Zhang, K. Jensen, S. Sonniks, B. Plank // Proceedings of the 2022 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Seattle: ACL, 2022. P. 4962–4984. DOI: 10.18653/v1/2022.naacl-main.366.
  7. Николаев И. Е. Метод извлечения знаний и навыков/компетенций из текстов требований вакансий // Онтология проектирования. 2023. Т. 13, № 2 (48). С. 282–293. DOI: 10.18287/2223–9537–2023–13–2–282–293.
  8. Николаев И. Е., Мельников А. В. Сравнение нейросетевых моделей на архитектуре трансформеров в контексте задачи оценки компактности векторных представлений семантически близких текстов требований европейской классификации навыков ESCO // Вестник ЮУрГУ. Серия «Компьютерные технологии, управление, радиоэлектроника». 2022. Т. 22, № 3. С. 19–29. DOI: 10.14529/ctcr220302.
  9. Сотниченко З. Э. Разработка системы анализа текстов вакансий онлайн-бирж труда на основе алгоритмов машинного обучения // XV Конгресс молодых ученых Университета ИТМО (Санкт-Петербург, 6–10 апреля 2026 г.). URL: https://kmu.itmo.ru/file/download/application/59063 (дата обращения: 13.10.2026).
  10. Kondrak G. N-Gram Similarity and Distance // String Processing and Information Retrieval: 12th International Conference, SPIRE 2005. Berlin: Springer, 2005. P. 115–126. DOI: 10.1007/11575832_13.
Можно быстро и просто опубликовать свою научную статью в журнале «Молодой Ученый». Сразу предоставляем препринт и справку о публикации.
Опубликовать статью
Молодой учёный №42 (645) октябрь 2026 г.
Скачать часть журнала с этой статьей(стр. 17-20):
Часть 1 (стр. 1-69)
Расположение в файле:
стр. 1стр. 17-20стр. 69

Молодой учёный