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

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

Оценка классификаторов текстов вакансий, обученных на разметке по ключевым словам

16.10.2026
Поделиться
Аннотация
Метки профессиональных категорий вакансий часто получают правилами по ключевым словам. На 2 752 вакансиях сайтов SuperJob и «Работа России» пять классификаторов на признаках TF-IDF, обученных на таких метках (14 категорий), оцениваются по тем же меткам в кросс-валидации и по эталонной разметке 300 случайных вакансий. Метки-правила лучше всего воспроизводят градиентный бустинг и линейный SVM (accuracy 0,82 и 0,81), а по эталону лучшие — логистическая регрессия и случайный лес (0,77 и 0,75); бустинг значимо уступает логистической регрессии и чаще других моделей повторяет ошибки правил. Сами правила совпадают с эталоном в 69 % случаев. Классификатор, обученный на эвристических метках, нужно проверять по независимой разметке.
Библиографическое описание
Сотниченко, З. Э. Оценка классификаторов текстов вакансий, обученных на разметке по ключевым словам / З. Э. Сотниченко. — Текст : непосредственный // Молодой ученый. — 2026. — № 42 (645). — С. 20-24. — URL: https://moluch.ru/archive/645/141138.


Введение

Для отнесения вакансий к профессиональным категориям, как и для классификации текстов вообще, применяются линейные модели на признаках TF-IDF, прежде всего метод опорных векторов [1; 2], а также случайный лес [3] и градиентный бустинг [4]; на русскоязычных текстах их сравнивали, например, при классификации научных работ [5]. При наличии разметки, сделанной людьми (например, кодов профессий от сотрудников служб занятости), модели обучают и проверяют на ней [6].

В прикладных системах такой разметки часто нет, и категории присваиваются правилами по ключевым словам — это слабая разметка с шумом [7; 8]. Если модель и обучается, и проверяется на таких метках, метрика показывает, насколько точно модель воспроизводит правила, а не насколько верно определяет профессию; даже несколько процентов ошибок в тестовых метках способны изменить ранжирование моделей [9]. Такая схема использовалась и в ранее разработанной автором системе анализа вакансий [10], где качество оценивалось только по меткам-правилам. Цель работы — проверить, насколько эта оценка расходится с оценкой по независимой разметке.

Данные, разметка и модели

Объявления SuperJob и «Работы России» собраны через программные интерфейсы сайтов; после удаления точных повторов и записей не длиннее 20 символов осталось 2 752 вакансии (1 831 и 921 соответственно, 79 % — декабрь 2025 — январь 2026 г.). Классифицируется название с описанием без HTML-разметки.

Метки-правила. Для 13 категорий заданы списки из 5–20 ключевых слов; категории проверяются в фиксированном порядке, и вакансия получает первую, хотя бы одно ключевое слово которой входит в текст как подстрока, иначе — «Другое». Распределение сильно неравномерно: «Медицина» — 756 вакансий (27 %), «Финансы/Бухгалтерия» — 392, а «Строительство» и «Дизайн» — 7 и 4.

Эталонная разметка. 300 случайным вакансиям присвоена одна из тех же 14 категорий по основной трудовой функции, а не по отрасли работодателя (бухгалтер клиники — «Финансы/Бухгалтерия», а не «Медицина»).

Модели. Признаки — TF-IDF по словам и биграммам (до 30 000 признаков, документная частота от 2 до 95 %, сублинейное масштабирование), векторизатор обучается только на обучающей части разбиения; реализация — scikit-learn [11]. Сравниваются мультиномиальный наивный Байес (α = 0,1), логистическая регрессия и линейный SVM (C = 1), случайный лес (100 деревьев глубиной до 20) — все три со взвешиванием классов — и градиентный бустинг HistGradientBoosting по схеме LightGBM [4] (100 итераций, шаг 0,1, до 31 листа, 2 000 признаков, отобранных по χ²). Гиперпараметры не подбирались, кроме одного: без L2-регуляризации обучение бустинга в одном из разбиений разошлось (accuracy 0,16), и затем во всех разбиениях использована регуляризация 1,0.

Оценка по меткам-правилам — стратифицированная 5-блочная кросс-валидация, повторенная три раза (15 разбиений); разброс по разбиениям занижает неопределенность [12], и малые различия не следует считать значимыми. По эталону каждую из 300 вакансий классифицирует модель разбиения, где вакансия была тестовой (с усреднением по трем повторам). 95-процентные интервалы, в том числе для парных разностей, получены бутстрепом по вакансиям (2000 повторов) без поправки на множественные сравнения.

Результаты

Лучше всего метки-правила воспроизводят градиентный бустинг (accuracy 0,818, макро-F1 0,615) и линейный SVM (0,808 и 0,610) с разницей меньше разброса по разбиениям (табл. 1); без регуляризации и без сбойного разбиения бустинг давал 0,806. SVM обучается за 0,9 с, бустинг — за 71 с. Макро-F1 ниже accuracy, потому что в редких категориях от 4 до 18 примеров.

Таблица 1

Качество по меткам-правилам (15 разбиений кросс-валидации)

Модель

Accuracy

Макро-F1

Обучение, с

Предсказание, мс

Наивный Байес

0,758 ± 0,013

0,480 ± 0,029

0,6

0,14

Логистическая регрессия

0,777 ± 0,014

0,585 ± 0,019

5,4

0,18

Линейный SVM

0,808 ± 0,018

0,610 ± 0,023

0,9

0,14

Случайный лес

0,756 ± 0,016

0,573 ± 0,026

1,0

0,20

Градиентный бустинг

0,818 ± 0,018

0,615 ± 0,032

70,9

0,30

Примечание: среднее ± стандартное отклонение по 15 разбиениям; время — медиана по разбиениям (обучение на ≈2 200 вакансиях, предсказание — в расчете на одну вакансию). Случайный лес и бустинг используют два ядра процессора, остальные модели — одно.

Сами правила совпали с эталоном лишь в 69,3 % вакансий (табл. 2): побеждает категория, стоящая в списке раньше, где бы ни встретилось ее ключевое слово. «Медицина» проверяется второй, и слова из условий работы («медицинская страховка», «ДМС со стоматологией») относят к ней инженеров, экономистов, водителей (точность категории — 0,70), а инженеры-сметчики попадают в «Производство/Инженерию» по слову «инженер» (полнота «Строительства» — 0).

Таблица 2

Сравнение с эталонной разметкой 300 случайных вакансий

Классификатор

Совпадение с метками-правилами

Accuracy по эталону

Макро-F1 по эталону

Разность с правилами, п. п.

Правила (без обучения)

-

0,693

[0,640; 0,747]

0,498

-

Наивный Байес

0,734

0,704

[0,652; 0,754]

0,392

+1,1

[−3,2; 5,7]

Логистическая регрессия

0,759

0,774

[0,729; 0,820]

0,498

+8,1

[4,1; 12,8]

Линейный SVM

0,777

0,749

[0,701; 0,796]

0,466

+5,6

[1,7; 9,8]

Случайный лес

0,742

0,753

[0,708; 0,798]

0,511

+6,0

[1,7; 10,4]

Градиентный бустинг

0,817

0,717

[0,668; 0,764]

0,456

+2,3

[−1,6; 6,3]

Примечание: в скобках — 95-процентный доверительный интервал (бутстреп по вакансиям). Предсказания получены вне обучающей выборки и усреднены по трем повторам.

Логистическая регрессия, линейный SVM и случайный лес совпадают с эталоном чаще правил — на 5,6–8,1 п. п. (интервалы разности не включают нуль): классификатор учитывает все слова текста, и единичные случайные совпадения слабее влияют на решение, что ожидаемо при обучении на слабой разметке [7; 8]. Бустинг и наивный Байес значимо от правил не отличаются.

Главное расхождение оценок — в порядке моделей (рис. 1). Бустинг лучше всех совпадает с метками-правилами, в том числе на тех же 300 вакансиях (0,817), но по эталону уступает логистической регрессии на 5,8 п. п. [2,0; 9,6]; отставание от линейного SVM и случайного леса (3–4 п. п.) на границе значимости. На 92 вакансиях, где правила ошиблись, бустинг повторяет их ошибочную категорию в 58 % случаев, остальные модели — в 36–43 %. Возможная причина — отбор признаков по χ² относительно меток-правил, который оставляет прежде всего ключевые слова самих правил; эта гипотеза не проверялась. Логистическая регрессия совпадает с эталоном чаще линейного SVM на 2,6 п. п. [0,4; 4,7], а от случайного леса значимо не отличается (2,1 п. п. [−0,6; 4,9]).

Accuracy классификаторов по меткам-правилам (среднее по кросс-валидации) и по эталонной разметке (с 95-процентным интервалом)

Рис. 1. Accuracy классификаторов по меткам-правилам (среднее по кросс-валидации) и по эталонной разметке (с 95-процентным интервалом)

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

Логистическая регрессия, линейный SVM и случайный лес обучаются за секунды и даже на шумных метках превосходят сами правила. Но выбирать модель по метрикам на метках-правилах ненадежно: такая оценка вознаграждает копирование правил вместе с ошибками. Нужна независимая размеченная выборка; уже 300 вакансий дают интервал около ±5 п. п. Улучшать стоит и правила: искать ключевые слова по границам слов, отдавать приоритет названию должности, не учитывать описание работодателя и условий работы или брать метки из профессиональных ролей, указанных работодателем. Ограничения: корпус невелик и не включает hh.ru; в редких категориях единицы примеров; эталон проверен одним человеком — автором; у 139 вакансий описание совпадает с другой вакансией, что может немного завышать оценку кросс-валидацией; бустинг обучался на сокращенном наборе признаков, и его результат нельзя напрямую переносить на LightGBM с полным разреженным представлением.

Заключение

На 2 752 русскоязычных вакансиях градиентный бустинг и линейный SVM лучше других моделей воспроизвели метки-правила (accuracy 0,82 и 0,81), но по эталонной разметке бустинг значимо уступил логистической регрессии и чаще других повторял ошибки правил. Правила совпали с эталоном в 69 % случаев, лучшие модели — в 75–77 %. Классификатор, обученный на эвристической разметке, следует оценивать по независимой выборке, а метрики по меткам-правилам приводить с оговоркой о происхождении меток.

Литература:

  1. Sebastiani F. Machine learning in automated text categorization // ACM Computing Surveys. 2002. Vol. 34, No. 1. P. 1–47. DOI: 10.1145/505282.505283.
  2. Joachims T. Text categorization with Support Vector Machines: Learning with many relevant features // Machine Learning: ECML-98: 10th European Conference on Machine Learning. Berlin; Heidelberg: Springer, 1998. P. 137–142. (Lecture Notes in Computer Science; vol. 1398). DOI: 10.1007/BFb0026683.
  3. Breiman L. Random Forests // Machine Learning. 2001. Vol. 45, No. 1. P. 5–32. DOI: 10.1023/A:1010933404324.
  4. LightGBM: A Highly Efficient Gradient Boosting Decision Tree / G. Ke, Q. Meng, T. Finley [et al.] // Advances in Neural Information Processing Systems 30 (NIPS 2017). 2017. P. 3146–3154.
  5. Иномов Б. Б., Тропманн-Фрик М. Классификация научных текстов по специальностям методами машинного обучения // Вестник НГУ. Серия: Информационные технологии. 2022. Т. 20, № 2. С. 27–36. DOI: 10.25205/1818–7900–2022–20–2–27–36.
  6. Multilingual Hierarchical Classification of Job Advertisements for Job Vacancy Statistics / M. Beręsewicz, M. Wydmuch, H. Cherniaiev, R. Pater // Journal of Official Statistics. 2026. Vol. 42, No. 1. P. 23–61. DOI: 10.1177/0282423X251395400.
  7. Snorkel: Rapid Training Data Creation with Weak Supervision / A. Ratner, S. H. Bach, H. Ehrenberg [et al.] // Proceedings of the VLDB Endowment. 2017. Vol. 11, No. 3. P. 269–282. DOI: 10.14778/3157794.3157797.
  8. Frénay B., Verleysen M. Classification in the Presence of Label Noise: A Survey // IEEE Transactions on Neural Networks and Learning Systems. 2014. Vol. 25, No. 5. P. 845–869. DOI: 10.1109/TNNLS.2013.2292894.
  9. Northcutt C. G., Athalye A., Mueller J. Pervasive Label Errors in Test Sets Destabilize Machine Learning Benchmarks // Proceedings of the Neural Information Processing Systems Track on Datasets and Benchmarks. 2021. Vol. 1. URL: https://datasets-benchmarks-proceedings.neurips.cc/paper/2021/hash/f2217062e9a397a1dca429e7d70bc6ca-Abstract-round1.html (дата обращения: 13.10.2026).
  10. Сотниченко З. Э. Разработка системы анализа текстов вакансий онлайн-бирж труда на основе алгоритмов машинного обучения // XV Конгресс молодых ученых Университета ИТМО (Санкт-Петербург, 6–10 апреля 2026 г.). URL: https://kmu.itmo.ru/file/download/application/59063 (дата обращения: 13.10.2026).
  11. Scikit-learn: Machine Learning in Python / F. Pedregosa, G. Varoquaux, A. Gramfort [et al.] // Journal of Machine Learning Research. 2011. Vol. 12. P. 2825–2830.
  12. Nadeau C., Bengio Y. Inference for the Generalization Error // Machine Learning. 2003. Vol. 52, No. 3. P. 239–281. DOI: 10.1023/A:1024068626366.
Можно быстро и просто опубликовать свою научную статью в журнале «Молодой Ученый». Сразу предоставляем препринт и справку о публикации.
Опубликовать статью
Молодой учёный №42 (645) октябрь 2026 г.
Скачать часть журнала с этой статьей(стр. 20-24):
Часть 1 (стр. 1-69)
Расположение в файле:
стр. 1стр. 20-24стр. 69
Похожие статьи
Точность словарного извлечения навыков из текстов вакансий: типичные ошибки и способ их снижения
Машинное обучение для оценки кандидатов: сравнительный анализ методов
Классификация новостей сайта правительства Российской Федерации
Модели ценообразования на рынке жилой недвижимости Владивостока
Сравнение методов оценки тональности текста
Сравнение прямых и ансамблевых подходов к оценке кратких развернутых ответов по программированию с использованием многоязычных BERT-моделей
Применение методов машинного обучения для оценки эффективности маркетинговых каналов
Предсказание удовлетворенности пользователя при поиске в онлайн-картах
Сравнительный анализ классических и нейросетевых методов оценки текстовой похожести в задаче распределения тем выпускных квалификационных работ
Анализ эффективности применения методов классификации

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