Разработка сервиса прогнозирования трудоустройства студентов

Обложка

Цитировать

Полный текст

Аннотация

В статье представлены архитектура и программная реализация сервиса для сбора данных и прогнозирования трудоустройства студентов на основе полносвязанной нейронной сети на примере выпускников Кабардино-Балкарского государственного университета по направлениям, связанным с информационными технологиями. Сервис реализован в виде веб-сайта и позволяет обеспечить сбор, хранение и анализ данных об успеваемости, активности, трудоустройстве и условиях обучения выпускников. Представленная модель нейронной сети по результатам анкетирования студента прогнозирует основные параметры, связанные с трудоустройством, в том числе ожидаемый уровень оплаты труда, время поиска работы и степень загруженности сотрудника. При этом используемый набор входных параметров позволяет учитывать не только данные об успеваемости, но и демографические показатели, условия в регионе обучения студента. Прогнозирование условий трудоустройства может использоваться не только для выбора направления подготовки абитуриентами и построения образовательных траекторий студентами, но и для планирования изменений в программу обучения вуза. В работе приведены структура сайта, архитектура нейронной сети и описание программной реализации сервиса.

Полный текст

Введение

Современный этап развития вычислительной техники обеспечил активное внедрение систем интеллектуальной обработки данных, в частности искуственных нейронных сетей, в различные области деятельности. Модели на основе нейронных сетей могут применяться при оценке экономических процессов [1], распознавании образов [2], анализе текста, прогнозировании урожайности сельскохозяйственных культур [3]. Стоит отметить, что в ряде работ подробно рассматриваются и вопросы прогнозирования распределения трудовых ресурсов, в том числе и трудоустройство выпускников вузов [4]. При этом у подобных моделей прогнозирования остаются проблемы, связанные с фрагментарностью обучающей выборки. В частности, для учета особенностей распределения трудовых ресурсов в конкретном регионе (например, в Кабардино-Балкарской Республике) необходимо организовать сбор данных для обучения нейросети внутри региона. Отдельно стоит отметить, что большинство представленных решений используют оцифрованные данные, хранящиеся в системе учета успеваемости вуза, хотя не менее важным источником может стать непосредственный опрос студентов.

Целью данного исследования является разработка алгоритмов и программная реализация системы прогнозирования трудоустройства выпускников вузов на примере Института искусственного интеллекта и цифровых технологий Кабардино-Балкарского государственного университета им. Х. М. Бербекова. Для этого необходимо обеспечить систему сбора данных, разработать подходящую модель нейронной сети и выполнить процесс ее обучения. Подобный сервис имеет значение не только как система оценки возможностей по трудоустройству для выпускников, но и как метод поиска неявных закономерностей между условиями обучения и трудоустройством студента.

Архитектура сервиса прогнозирования трудоустройства студентов

Для обеспечения функционирования сервиса прогнозирования трудоустройства студентов необходимо реализовать процедуру сбора данных и обучения системы прогнозирования. Для этого на первом этапе исследования необходимо организовать сбор информации о трудоустроенных выпускниках вузов. Полученные данные попадают на сервер, где происходит их дальнейшая обработка и хранение. Полученный массив данных выступает в качестве обучающей выборки для нейронной сети.

После сбора достаточного объема данных предложенный сервис позволяет строить прогнозы по трудоустройству студентов. В этом случае пользователь (студент вуза) отправляет на сервер анкету, на базе которой сервер строит прогноз по трудоустройству студента и формирует ответ для конкретного пользователя. Как и в случае с анкетированием уже трудоустроенных студентов, полученные из запросов данные тоже попадают в базу данных. Общая архитектура работы сервиса показана на рисунке 1.

 

Рис. 1. Архитектура сервиса прогнозирования трудоустройства студентов

Fig. 1. Architecture of the student employment forecasting service

 

Для реализации подобного сервиса наиболее подходящим решением может служить веб-сайт с возможностью онлайн сбора данных и получения прогнозов. Структура разрабатываемого сайта показана на рисунке 2. После попадания на главную страницу сайта пользователь имеет возможность перейти на страницу с анкетой для сбора данных о трудоустроенных выпускниках или пройти анкетирование для получения прогноза по трудоустройству (для студентов и выпускников). После отправки анкеты на сервере генерируется ответ с результатами прогнозирования в виде html страницы. Стоит отметить, что прохождение опроса и получение прогноза не требует авторизации на сайте, что позволяет хранить данные в обезличенном формате и минимизировать время, затраченное пользователем на взаимодействие с сайтом.

Кроме страниц для пользователя, на сайте реализован вход в учетную запись администратора, которая дает доступ к просмотру статистики и выгрузке собранных данных.

 

Рис. 2. Структура веб-сайта для прогнозирования трудоустройства студентов

Fig. 2. Website structure for predicting student employment

 

Для обеспечения адекватного прогнозирования трудоустройства необходимо подобрать набор входных и выходных параметров, на основе которых и будет обучена нейронная сеть. В случае с рассматриваемым сервисом это набор вопросов в анкете. При этом необходимо учитывать возможности появления нетривиальных закономерностей, которые может выявить нейронная сеть во время обучения. Для этого была разработана структура опросника по трудоустройству (рис. 3). В качестве входных данных рассматриваются три группы параметров: демографические данные студента, информация о его успеваемости во время обучения и данные по дополнительной активности во время учебы. В качестве выходных данных в прогнозе будут выступать несколько параметров, описывающих его трудоустройство: это наличие работы, время, затраченное на поиск работы, уровень оплаты труда, загруженность и ряд других параметров.

 

Рис. 3. Структура опроса по трудоустройству студентов

Fig. 3. Structure of the student employment survey

 

Учитывая, что данные собираются напрямую в виде анкетирования выпускников, количество вопросов было сведено к минимуму, в частности, успеваемость оценивалась не по каждому предмету, а по категориям. На рисунке оранжевым обозначены вопросы, предполагающие выбор одного варианта из списка предложенных, а синим – ответы в виде числового значения.

В качестве системы прогнозирования использовалась полносвязанная нейронная сеть, архитектура которой показана на рисунке 4. Входной поток данных состоит из 11 параметров, которые попадают на слой нормализации, предназначенный для приведения данных в диапазон от 0 до 1. Затем идет первый слой нейронной сети, состоящей из 11 нейронов (по числу параметров) с функцией активации ReLu (где f(x) = max (0, x)).

После входного слоя идут три скрытых слоя с 20 нейронами в каждом, а на выходе слой с четырьмя нейронами (по числу прогнозируемых параметров). На всех слоях сети используется функция активации ReLu. Количество нейронов на скрытых слоях выбрано с учетом необходимости поиска сложных закономерностей и минимизацией возможности переобучения нейронной сети. Согласно [5] одним из подходов является подбор количества нейронов в диапазоне от двукратного размера входного слоя до суммы количества нейронов входного и выходного слоев.

 

Рис. 4. Архитектура нейронной сети для прогнозирования трудоустройства студентов

Fig. 4. Neural network architecture for predicting student employment

 

Представленная архитектура нейронной сети достаточно проста и не требовательна к вычислительным возможностям ЭВМ, но предположительно сможет обеспечить прогнозирование искомых параметров с приемлемым уровнем точности. Стоит отметить, что при наборе большего объема данных планируется рассмотреть и другие варианты архитектуры нейронной сети.

Программная реализация сервиса прогнозирования трудоустройства студентов

Существует ряд библиотек и фреймворков на базе различных языков программирования, используемых при разработке онлайн-сервисов. Например, для быстрой реализации серверной части часто используются фреймворки flask, django и fast-API для языка программирования python. Стоит отметить, что использование интерпретируемого языка программирования имеет некоторые недостатки, связанные со скоростью выполнения кода, но при этом простой синтаксис и достаточно активная поддержка позволяют минимизировать время разработки. Серверная часть сервиса прогнозирования трудоустройства студентов разработана на основе веб фреймворка flask. Данный фреймворк позволяет реализовать веб-сервер с возможностью генерации html файлов из шаблонов, работы с базами данных и работы с http запросами [6–8]. При этом популярность фреймворка позволяет достаточно просто разворачивать его на большинстве доступных хостингов. Для работы с базой данных использовалась встроенная библиотека sqlite3, позволяющая работать с базами данных SQLite. Клиентская часть сервиса реализована за счет использования языка разметки html с применением таблиц стилей css. Кроме того, для обеспечения работы интерфейса на клиентской части используется язык программирования javaScript.

Сама страница сервиса собирается из двух шаблонов: общего шаблона с меню и шаблона конкретной страницы. Например, основная страница с опросом (рис. 1) состоит из блока с названием проекта, меню сайта, непосредственно опроса и нижней части сайта с данными об авторах. В меню реализован переход между всеми разделами сайта: опрос, прогнозирование, статистика и загрузка данных. Ниже находится форма с опросом, куда включены все вопросы из разделов по демографии, успеваемости, дополнительной активности и трудоустройству выпускников вузов (рис. 5). Стоит отметить, что на данном этапе акцент сделан на выпускниках Института искусственного интеллекта и цифровых технологий Кабардино-Балкарского государственного университета им. Х. М. Бербекова. В дальнейшем планируется расширить спектр вопросов и вариантов ответов для построения моделей для всех направлений подготовки высшего образования.

 

Рис. 5. Внешний вид страницы сервиса с опросом для выпускников

Fig. 5. View of the service page with a survey for graduates

 

Для вопросов с возможностью выбора ответа каждый вариант имеет свое числовое значение (то есть у тега select указано значение в параметре value) в диапазоне от 0 до 1. Это позволяет обеспечить перевод текстовых ответов в категории и нормировать диапазон входных данных, что значительно упрощает обработку данных на входе нейронной сети.

После заполнения формы с опросом и нажатия кнопки «отправить» данные с формы в виде POST-запроса передаются на сервер, где в функции survey() происходит их обработка и запись информации в базу данных. Структура таблицы в базе данных соответствует структуре опроса (каждый вопрос представлен в виде числового поля в таблице) и имеет три дополнительных поля:

  • id – уникальный идентификатор записи в базе данных,
  • datetime – время проведения опроса или прогноза,
  • survey_type – тип таблиц (0 – для опроса выпускников, 1 – для прогнозирования трудоустройства студентов).

Представленные данные являются основой для обучения нейронной сети, которая должна спрогнозировать условия трудоустройства для текущих студентов и выпускников вуза. В качестве библиотеки для работы с нейронными сетями использовалась реализация keras на базе tensorflow. Библиотека представляет собой высокоуровневую реализацию нейронных сетей для языка программирования python, позволяющую создать, обучить и использовать различные виды архитектур искусственных нейронных сетей [9–11].

Обучение нейронной сети вызывается функцией train(), в которой создается модель нейронной сети и указываются входящие в нее слои и параметры обучения. В качестве алгоритма оптимизации выступает алгоритм Adam, за функцию потерь отвечает среднеквадратичная ошибка, а в качестве метрики выступает средняя ошибка.

Затем результаты опросов из базы данных загружаются в два тензора для входных и прогнозируемых параметров. К прогнозируемым относятся статус трудоустройства, сфера деятельности организации, вид деятельности сотрудника, время поиска работы, уровень оплаты труда, степень загруженности на работе и общая оценка условий труда, а все остальные параметры являются входными для модели. Для обучения используются только данные опроса (survey_type ==0). Эти тензоры являются основой для обучения модели, которое происходит в несколько эпох. Для валидации используется 20 % выборки. В результате проведения обучения модель с наилучшими показателями точности сохраняется в отдельный файл для дальнейшего использования в сервисе.

Прогнозирование данных вынесено в отдельное окно, представляющее собой анкету для студентов (в которой отсутствует блок с вопросами о трудоустройстве). После заполнения анкеты эти данные также сохраняются в базе данных и отправляются на вход сохраненной модели нейронной сети. Полученные в результате выходные данные используются при генерации шаблона html файла с прогнозом для конкретного респондента (рис. 6). За обработку запросов на прогнозирование отвечает функция forecast().

Стоит отметить, что для наглядности результаты работы нейронной сети приведены к изначальным единицами измерения и округлены до целых значений (кроме оценки места работы).

 

Рис. 6. Страница с результатами прогнозирования трудоустройства по результатам анкетирования студента

Fig. 6. Page with the results of employment forecasting based on student survey results

 

Сервис предоставляет возможность не только прогнозировать трудоустройство определенного студента, но и собирать и анализировать статистику, полученную в ходе анкетирования выпускников. Для работы с результатами анкетирования используется библиотека обработки больших данных pandas, которая обеспечивает загрузку, статистическую обработку, визуализацию и выгрузку данных [12, 13]. В частности, для оценки распределения ряда параметров в функции statistics() реализована загрузка содержимого базы данных в таблицу pandas, которая позволяет получить описание параметров. В описании выводятся следующие показания для числовых данных: количество, среднее значение, среднеквадратичное отклонение, минимальное и максимальное значения, а также медиана выборки. Все данные выводятся на веб-страницу со статистикой, показанную на рисунке 7.

На этой же странице выводится таблица коэффициентов корреляции между различными параметрами, что позволит оценить взаимосвязь некоторых факторов с трудоустройством студента. Кроме того, для оценки показателей трудоустройства по входным данным рассчитываются коэффициенты линейной регрессии. Для расчета коэффициентов линейной регрессии использовалась модель LinearRegression из библиотеки sklearn. Использование линейной регрессии в отличие от искусственных нейронных сетей позволяет заметно проще оценить возможные значения оплаты труда, времени на поиск работы и загруженности на рабочем месте по числовым параметрам из анкеты, а также отслеживать степень и характер влияния параметров на конечный результат, но при этом зачастую имеет более низкую точность [14].

 

Рис. 7. Страница сервиса с данными статистического анализа результатов анкетирования

Fig. 7. Service page with data from statistical analysis of survey results

 

Стоит отметить, что полученные за счет pandas таблицы с результатами анализа входных данных достаточно просто сохраняются в виде html документа, что значительно упрощает добавление данных на веб-страницу сервиса. Кроме того, при необходимости данные и результат их анализа можно вывести в виде графиков за счет использования встроенных функций визуализации.

Также для более полного анализа данных реализована возможность выгрузки содержимого базы данных в виде файла с таблицей (в формате xlsx). За формирование и выгрузку файла также отвечает библиотека pandas, которая может сохранять свое содержимое в различных форматах, среди которых csv, xlsx и другие. Выгрузка вызывается нажатием на кнопку «Данные» в меню сайта.

Заключение

Разработанный сервис позволяет обеспечить сбор и хранение данных об успеваемости и трудоустройстве выпускников, на базе которых обученная нейронная сеть может прогнозировать трудоустройство студентов вузов. Представленная модель нейронной сети по результатам анкетирования студента прогнозирует основные параметры, связанные с трудоустройством, в том числе ожидаемый уровень оплаты труда, время поиска работы и степень загруженности сотрудника. Для обеспечения приемлемой точности прогнозирования с использованием представленной модели необходимо обеспечить сбор большого объема данных. В частности, на следующем этапе работы планируется провести опрос выпускников КБГУ за последние 5 лет и продолжать ежегодный сбор данных, что позволит не только повысить точность нейронной сети, но и проанализировать набранный объем данных на предмет неявных закономерностей.

Вклад авторов: все авторы сделали эквивалентный вклад в подготовку публикации. Авторы заявляют об отсутствии конфликта интересов.

Contribution of the authors: the authors contributed equally to this article. The authors declare no conflicts of interests.

Финансирование. Исследование проведено без спонсорской поддержки.

Funding. The study was performed without external funding.

×

Об авторах

Кантемир Чамалович Бжихатлов

Кабардино-Балкарский научный центр Российской академии наук

Автор, ответственный за переписку.
Email: haosit13@mail.ru
ORCID iD: 0000-0003-0924-0193
SPIN-код: 9551-5494

канд. физ.-мат. наук, зав. лабораторией «Нейрокогнитивные автономные интеллектуальные системы»

Россия, 360010, г. Нальчик, ул. Балкарова, 2

Айдан Дениз Мутлу

Кабардино-Балкарский государственный университет им. Х. М. Бербекова

Email: leroy357walll@gmail.com
ORCID iD: 0009-0007-3792-2788

магистрант 2-го года обучения направления «Информатика и вычислительная техника»

Россия, 360004, г. Нальчик, ул. Чернышевского, 173

Ляйля Сайяровна Мангушева

Российский экономический университет им. Г. В. Плеханова

Email: klyalya80@mail.ru
ORCID iD: 0000-0002-2331-8308

канд. экон. наук, доцент кафедры информатики

Россия, 117997, Москва, Стремянный переулок, 36

Список литературы

  1. Положенцева Ю. С., Согачева О. В., Ярошенко А. А. Прогнозирование динамики валового регионального продукта с использованием аппарата нейронных сетей // Естественно-гуманитарные исследования. 2021. № 4(36). С. 235–240. DOI: 10.24412/ 2309-4788-2021-11303
  2. Чураев Е. Н., Савченко А. В. Распознавание выражений лиц на основе адаптации классификатора видеоданных пользователя // Компьютерная оптика. 2023. № 5. С. 806–815. doi: 10.18287/2412-6179-CO-1269
  3. Заводчиков Н. Д., Спешилова Н. В., Таспаев С. С. Использование нейросетевых технологий в прогнозировании эффективности производства зерна // Известия Оренбургского государственного аграрного университета. 2015. № 1(51). С. 216–219. EDN: TKKYMT
  4. Гайсина А. Ш., Минязев А. И., Мигранова Л. И. Цифровая модель прогнозирования трудоустройства выпускника вуза с учетом поведенческих аспектов // Ars administrandi (Искусство управления). 2023. Т. 15(3). С. 406–425. doi: 10.17072/2218-9173-2023-3-406-425
  5. Hinton G.E., Osindero S., Teh Y.W. A fast-learning algorithm for deep belief nets // Neural computation. 2006. Vol. 18(7). Pp. 1527–1554. doi: 10.1162/neco.2006.18.7.1527
  6. Косых Н. Е., Хомоненко А. Д., Куранова О. Н. Разработка web-приложения для анализа настроений текста с помощью фреймворка flask и языка python // Наукоемкие технологии в космических исследованиях Земли. 2022. № 1. C. 45–52. doi: 10.36724/2409-5419-2022-14-1-45-52
  7. Liang Z., Liang Z., Zheng Y. et al. Data analysis and visualization platform design for batteries using flask-based Python Web service // World electric vehicle journal. 2021. Vol. 12. No. 4. P. 187. doi: 10.3390/wevj12040187
  8. Aakash B., Srilakshmi A. MAGE: An efficient deployment of Python flask Web application to app engine flexible using Google Cloud platform // Lecture Notes in networks and systems. Springer: Singapore. 2020. Pp. 59–68. doi: 10.1007/978-981-15-7345-3_5
  9. Качков М. С. Создание нейронной сети для решения различных прикладных задач // Известия Тульского государственного университета. Технические науки. 2023. № 2. С. 339–343. doi: 10.24412/2071-6168-2023-2-339-343
  10. Fradj W.B., Turki M., Gargouri F. Deep learning based on TensorFlow and Keras for predictive monitoring of business process execution delays // Model and Data Engineering / Springer Nature Switzerland. 2023. Pp. 156–169. doi: 10.1007/978-3-031-49333-1_12
  11. Balan K., Santora M., Faied M., Carmona-Galindo V. D. Study of evolution By automating hardy weinberg equilibrium with machine learning techniques in TensorFlow and Keras // 2020 Advanced Computing and Communication Technologies for High Performance Applications / Cochin, India. 2020. Pp. 14–19. doi: 10.1109/accthpa49271.2020.9213202
  12. Фартушнов Н. С. Библиотеки языка Python для машинного обучения, их возможности и преимущества // Теория и практика современной науки. 2020. № 5(59). С. 397–403. EDN: NXQWXV
  13. Vagizov M., Potapov A., Konzhgoladze K. et al. Prepare and analyze taxation data using the Python pandas library // IOP Conference Series: Earth and Environmental Science. IOP Publishing. 2021. Vol. 876. No. 1. P. 012078. doi: 10.1088/1755-1315/876/1/012078
  14. Сычугов А. Н. Применение машинного обучения для анализа технических характеристик и параметров эксплуатируемого подвижного состава на высокоскоростных железнодорожных магистралях // Бюллетень результатов научных исследований. 2023. № 2. С. 171–180. doi: 10.20295/2223-9987-2023-2-171-180

Дополнительные файлы

Доп. файлы
Действие
1. JATS XML
2. Рис. 1. Архитектура сервиса прогнозирования трудоустройства студентов

Скачать (47KB)
3. Рис. 2. Структура веб-сайта для прогнозирования трудоустройства студентов

Скачать (17KB)
4. Рис. 3. Структура опроса по трудоустройству студентов

Скачать (69KB)
5. Рис. 4. Архитектура нейронной сети для прогнозирования трудоустройства студентов

Скачать (19KB)
6. Рис. 5. Внешний вид страницы сервиса с опросом для выпускников

Скачать (98KB)
7. Рис. 6. Страница с результатами прогнозирования трудоустройства по результатам анкетирования студента

Скачать (62KB)
8. Рис. 7. Страница сервиса с данными статистического анализа результатов анкетирования

Скачать (154KB)

© Бжихатлов К.Ч., Мутлу А.Д., Мангушева Л.С., 2024

Creative Commons License
Эта статья доступна по лицензии Creative Commons Attribution 4.0 International License.

Данный сайт использует cookie-файлы

Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie, которые обеспечивают правильную работу сайта.

О куки-файлах