ВИЗНАЧЕННЯ РЕКОМЕНДОВАНОГО МІСЦЯ РОБОТИ НА ОСНОВІ АНАЛІЗУ НАВИКІВ КАНДИДАТА ІЗ ВИКОРИСТАННЯМ МАШИННОГО НАВЧАННЯ
11.10.2022 17:37
[1. Information systems and technologies]
Author: Клакович Ксенія Романівна, студентка, Львівський національний університет ім. Івана Франка
У час швидких, широко поширених і непередбачуваних соціальних та економічних змін, часто виникає необхідність працівникам змінювати роботу. Така потреба виникає через закриття чи переміщення підприємств, глобальну кризу, таку як пандемія COVID-19 чи бойові дії в певному регіоні, що спричиняє масове витіснення робочої сили. Незалежно від причини, люди стикаються з проблемою зміни роботи, пошук якої є справою часто нетривіальною, адже потребує узгодження з наявними у певному регіоні вакансіями та відповідності навичок людини до вимог роботодавця.
Використання алгоритмів машинного навчання дає змогу передбачити, яке місце роботи може зацікавити користувача, надавши кандидату список посад із актуальними вакансіями, відповідно до його характеристик, що зробить процес зміни роботи легшим та ефективнішим. Типові сайти пошуку роботи надають користувачам актуальні вакансії, проте принцип роботи більшості з них обмежується тим, що кандидати вводять бажану назву посади та, можливо, кілька інших параметрів у вікно пошуку, щоб отримати відповідні вакансії. Основна проблема цього підходу полягає в тому, що кандидату не будуть представлені жодні інші пропозиції крім тих, які однозначно відповідають початковому запиту, хоч в перспективі могли б зацікавити користувача, оскільки узгоджуються з його навичкам та попереднім досвідом.
Метою досліджень є підтвердження гіпотези про те, що можна з високою точністю класифікувати актуальні вакансії на основі навиків кандидата, що здійснює пошук роботи, використовуючи для цього алгоритми машинного навчання. Досягнення мети досліджень передбачає розв’язання таких завдань: теоретичний аналіз даних наукової літератури щодо алгоритмів класифікації, подання запропонованої моделі, реалізація програми із застосуванням одного з обраних методів, визначення точності отриманої моделі щодо розв’язання поставленої задачі.
До методів машинного навчання відносять навчання з учителем, без нагляду, навчання підкріплення та напівавтоматичне навчання, найпоширенішими з яких є контрольоване навчання та навчання без учителя.
Для навчання без учителя використовуються дані, де немає попередніх результатів. Тобто системі не відомі "правильні відповіді", а сам алгоритм повинен визначити результат. Метою є дослідження даних та знаходження певної структури всередині.
Для виконання поставленого завдання було обрано алгоритм наївного Байєсового класифікатора, оскільки він дозволяє легше зрозуміти та обґрунтувати прогнози моделі. Крім того, під час попередніх досліджень було з’ясовано, що результати, отримані за допомогою цього алгоритму, є конкурентоспроможними щодо інших методів.
Етап побудови Байєсового рейтингу використовує концепцію наївного Байєсового класифікатора для ранжирування кінцевого набору рекомендацій для користувача. Для цього обчислюється умовна ймовірність того, що дві навички зустрічаються разом, щоб визначити їх рейтинг відносно певної навички. Такий підхід гарантує те, що навички, які згадують у роботах, що рекомендуються, залишаються збалансованими щодо загального набору навичок, отриманих із даних користувача. Наступне рівняння використовується для знаходження байєсівської оцінки між двома навичками:
P(j|i) – ймовірність того, що навичка j буде в списку користувача, враховуючи, що вже є навичка i,
Freq(ji) – кількість пар j – i в кластері навичок i,
Freq(i) – кількість користувачів, які володіють навичками i.
Оскільки P(j|i) не дорівнюватиме P(i|j), ця модель використовує асиметричну функцію подібності. Одне з обмежень використання такої функції полягає в тому, що кожен елемент i, як правило, матиме високі умовні ймовірності з елементами, які часто рекомендуються. Це рішення засноване на інверсному масштабуванні документів, що виконується в системах пошуку інформації.
Реалізація програми, що використовує машинне навчання, полягає у поетапному перетворенні вхідних даних, їх аналізі, передбаченні результату, його ілюстрації.
На основі аналізу систем рекомендацій, було запропоновано модель, що описує роботу алгоритму і складається з таких етапів, як отримання даних, їх обробка, кластеризація та генерування індексу схожості, який використовується для отримання результату.
Рис. 1. Структурна схема запропонованої моделі
Для програмної реалізації поставленої задачі було використано дані, отримані з веб-сайту з розміщеними актуальними вакансій, які містять інформацію щодо користувачів. На основі зібраних даних необхідні навички співставляються з кожним користувачем, а кластер навичок оновлюється. В дослідженні було використано набір даних, взятий з офіційного вебсайту державного центру зайнятості у Львівській області. Набір даних складається з 10000 рядків та містить інформацію щодо резюме, навичок людей та їх попереднього досвіду роботи.
Рис 2. Таблиця вхідних даних
Для ознайомлення з набором даних було здійснено їх аналіз із використанням візуалізації даних. Для цього використовувалась мова програмування python, а також бібліотеки pandas - для зчитування даних корпусу з файлу; matplotlib - для візуалізації отриманих результатів.
Рис. 3. Таблиця ваг для навику «робота з документами»
У результаті програмного виконання отримано співвідношення навиків з ваговими показниками, які показують, наскільки подібними є навики і, відповідно, можуть покращити роботу системи рекомендацій.
Висновки
У процесі виконання поставлених на початку роботи завдань було досліджено та опрацьовано основні алгоритми машинного навчання, які виконують задачі класифікації, та обрано метод для її розв’язування.
Під час комп’ютерної реалізації задачі класифікації було з’ясовано, що відхилення частоти помилок є мінімальним із використанням алгоритму Евклідової відстані у порівнянні з коефіцієнтом кореляції Пірсона; у всіх випадках при прогнозуванні результату була досягнута середня точність системи 92,74%, що є бажаним результатом.
Крім того, було досягнуто мету, визначену на початку, і підтверджено, що що можна з високою точністю класифікувати актуальні вакансії на основі навиків кандидата, що здійснює пошук роботи, використовуючи для цього алгоритми машинного навчання.
Отже, для підбору рекомендованих вакансії можемо запропонувати модераторам веб сайтів з пошуку роботи розробляти системи, в які включати застосування машинного навчання. Тоді, зважаючи на важливі чинники, які свідчать про компетентність та навички кандидатів, можна буде здійснювати ефективніший відбір персоналу.
Література
1. Jalaj Thanaki. Python Natural Language Processing: Advanced machine learning and deep learning techniques for natural language processing. - Mumbai, 2017. - 456 с.
2. Taweh Beysolow II. Applied Natural Language Processing with Python: Implementing Machine Learning and Deep Learning Algorithms for Natural Language Processing. - San Francisco, California, USA, 2018. - 150 с.
3. Machine Learning Classification – 8 Algorithms for Data Science Aspirants [Електронний ресурс]. - Режим доступу: URL: https://dataflair.training/blogs/machine-learning-classification-algorithms/
4. Julie Yin. Understanding the data splitting functions in scikit-learn. [Електронний ресурс]. - Режим доступу: URL: https://medium.com/@julie.yin/understanding-the-data-splitting-functions-inscikit-learn-9ae4046fbd26
_____________________
Науковий керівник: Кущак Петро Богданович, старший викладач кафедри програмування, Львівський національний університет ім. Івана Франка