Development of a student employment forecasting service

Cover Page

Cite item

Full Text

Abstract

The article presents the architecture and software implementation of a service for collecting data and predicting student employment based on a fully connected neural network using the example of graduates of Kabardino-Balkarian State University in areas related to information technology. The service operates as a website and allows to collect, store and analyse data on academic performance, activity, employment and learning conditions of graduates. The presented neural network model predicts the main parameters associated with employment based on the results of a student survey, including the expected level of remuneration, job search time and employee workload. At the same time, the set of input parameters used makes it possible to take into account not only data on academic performance, but also demographic indicators and conditions in the region of the student’s studies. Forecasting employment conditions can be used not only to select the direction of training for applicants and build educational trajectories for students, but also to plan changes to the university curriculum. The work provides the structure of the site, the architecture of the neural network and a description of the software implementation of the service.

Full Text

Введение

Современный этап развития вычислительной техники обеспечил активное внедрение систем интеллектуальной обработки данных, в частности искуственных нейронных сетей, в различные области деятельности. Модели на основе нейронных сетей могут применяться при оценке экономических процессов [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.

×

About the authors

Kantemir Ch. Bzhikhatlov

Kabardino-Balkarian Scientific Center of the Russian Academy of Sciences

Author for correspondence.
Email: haosit13@mail.ru
ORCID iD: 0000-0003-0924-0193
SPIN-code: 9551-5494

Candidate of Physical-Mathematical Sciences, Head of the Laboratory “Neurocognitive Autonomous Intelligent Systems”

Russian Federation, 360010, Nalchik, Balkarov street, 2

Aidan D. Mutlu

Kabardino-Balkarian State University named after Kh.M. Berbekov

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

2nd year Student in the Field of “Informatics and Computer Science”

Russian Federation, 360004, Nalchik, Chernyshevsky street, 173

Lyaylya S. Mangusheva

Plekhanov Russian University of Economics

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

Candidate of Economic Sciences

Russian Federation, 117997, Moscow, Stremyannyy lane, 36

References

  1. Polozhentseva Yu.S., Sogacheva O.V., Yaroshenko A.A. Forecasting the dynamics of the gross regional product using neural networks. Yestestvenno-gumanitarnyye issledovaniya [Natural-humanitarian studies]. 2021. No. 4(36). Pp. 235–240. doi: 10.24412/2309-4788-2021-11303. (In Russian)
  2. Churaev E.N., Savchenko A.V. Recognition of facial expressions based on adaptation of the user video data classifier. Computer optics. 2023. No. 5. Pp. 806–815. doi: 10.18287/2412-6179-CO-1269. (In Russian)
  3. Zavodchikov N.D., Speshilova N.V., Taspaev S.S. The use of neural network technologies in predicting the efficiency of grain production. Izvestiya Orenburgskogo gosudarstvennogo agrarnogo universiteta [Proceedings of the Orenburg State Agrarian University]. 2015. No. 1(51). Pp. 216–219. EDN: TKKYMT. (In Russian)
  4. Gaisina A.Sh., Minyazev A.I., Migranova L.I. Digital model for predicting the employment of a university graduate taking into account behavioral aspects. Ars administrandi. 2023. Vol. 15(3). Pp. 406–425. doi: 10.17072/2218-9173-2023-3-406-425. (In Russian)
  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. Kosykh N.E., Khomonenko A.D., Kuranova O.N. Development of a web application for analyzing the sentiment of text using the flask framework and the Python language. High technologies in earth space research. H&es research. 2022. No. 1. Pp. 45–52. DOI: 10.36724/ 2409-5419-2022-14-1-45-52. (In Russian)
  7. Liang Zu., Liang Zo., 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. I. 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. 2020. Pp. 59–68. doi: 10.1007/978-981-15-7345-3_5.
  9. Kachkov M.S. Creation of a neural network for solving various applied problems. Izvestiya TulGU. Tekhnicheskiye nauki [News of Tula State University. Technical science]. 2023. No. 2. Pp. 339–343. doi: 10.24412/2071-6168-2023-2-339-343. (In Russian)
  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. 2023. Pp. 156–169. doi: 10.1007/978-3-031-49333-1_12.
  11. Balan K., Santora M., Faied M. et al. 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. Fartushnov N.S. Python language libraries for machine learning, their capabilities and advantages. Teoriya i praktika sovremennoy nauki [Theory and practice of modern science]. 2020. No. 5(59). Pp. 397–403. EDN: NXQWXV. (In Russian)
  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. Sychugov A.N. Application of machine learning for the analysis of technical characteristics and parameters of operating rolling stock on high-speed railways. Byulleten' rezul'tatov nauchnykh issledovaniy [Bulletin of Scientific Research Results]. 2023. No. 2. Pp. 171–180. DOI: 10.20295/ 2223-9987-2023-2-171-180. (In Russian)

Supplementary files

Supplementary Files
Action
1. JATS XML
2. Fig. 1. Architecture of the student employment forecasting service

Download (47KB)
3. Fig. 2. Website structure for predicting student employment

Download (17KB)
4. Fig. 3. Structure of the student employment survey

Download (69KB)
5. Fig. 4. Neural network architecture for predicting student employment

Download (19KB)
6. Fig. 5. View of the service page with a survey for graduates

Download (98KB)
7. Fig. 6. Page with the results of employment forecasting based on student survey results

Download (62KB)
8. Fig. 7. Service page with data from statistical analysis of survey results

Download (154KB)

Copyright (c) 2024 Bzhikhatlov K.C., Mutlu A.D., Mangusheva L.S.

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.

This website uses cookies

You consent to our cookies if you continue to use our website.

About Cookies