Визначення трендів на ринку праці. Аналіз та структурування отриманої інформації
Способи визначення трендів на ринку праці. Огляд провідних веб-сервісів з надання інформації про вимоги роботодавців до майбутніх працівників. Алгоритми парсингу HTML коду сайтів вакансій. Методи пост обробки, аналізу та зберігання результатів парсингу.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | украинский |
Дата добавления | 26.10.2020 |
Размер файла | 389,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.Allbest.Ru/
Размещено на http://www.Allbest.Ru/
Размещено на http://www.Allbest.Ru/
Національний технічний університет України
Київський політехнічний інститут імені Ігоря Сікорського
Визначення трендів на ринку праці. Аналіз та структурування отриманої інформації
Єрошенко О.С.
Степаніщева В.С.
Єременко О.С.
Анотація
У даній роботі розглянуто способи визначення трендів на ринку праці. Проведено огляд провідних веб-сервісів з надання інформації про вимоги роботодавців до майбутніх працівників. Представлено алгоритми парсингу HTML коду сайтів вакансій. Запропоновані методи пост обробки та аналізу результатів парсингу. Наведені моделі зберігання результатів парсингу та критерії подальшого використання результатів в системі дистанційного навчання. Для парсингу та аналізу використовувались можливості мови Python.
Ключові слова: парсинг веб-сайтів, API, інтелектуальний аналіз текстових даних, класифікація ключових слів в текстах.
Ерошенко А.С., Степанищева В.С., Еременко Е.С. Определение трендов на рынке труда. Анализ и структурирования полученной информации
В данной работе рассмотрены способы определения трендов на рынке труда. Проведен обзор ведущих веб сервисов по предоставлению информации о требованиях работодателей к будущим работникам. Представлены алгоритмы парсинга HTML кода сайтов вакансий. Предложенные методы пост обработки и анализа результатов парсинга. Приведенные модели хранения результатов парсинга и критерии дальнейшего использования результатов в системе дистанционного обучения. Для парсинга и анализа использовались возможности языка Python.
Ключевые слова: парсинг сайтов, API, интеллектуальный анализ текстовых данных, классификация ключевых слов в текстах
Yeroshenko O., Stepanishcheva V. Yeremenko O. Determining trends in the labour market. analysis and structuring of obtained information
This research paper discusses ways to identify trends in the labour market. An overview of the leading web services to provide information on employers' requirements for future employees has been conducted. The algorithms for parsing HTML code for job sites are presented. Methods of post-processing and analysis of parsing results are offered. Models of storage of parsing results and criteria of further use of results in the distance learning system are presented. Python opportunities were used for parsing and analysis.
Keywords: website parsing, API, textual data mining, keyword classification in texts.
Постановка проблеми
Зараз, коли цифрові технології зазнають дуже швидкого та глобального розвитку, дуже важливо йти в ногу з часом. Це стосується не тільки розваг та буденних послуг, а й такої галузі як дистанційне навчання.
Чи потрібні сьогодні технікуми, університети, очні курси підвищення кваліфікації? В частині випадків ці заклади просто необхідні. Але ж є галузі, викладання яких дещо відстає від розвитку технологій. Адже інформаційні технології розвиваються настільки швидко, що не кожен викладач встигає ознайомитись зі всіма новинками, опанувати їх та викладати студентам. Наприклад, розглянемо викладання веб-дизайну. В рамках дисципліни треба розглянути багато технологій: дизайн (загальна теорія, користування графічними редакторами тощо), розмітка та стилізування (HTML, CSS та різноманітні препроцесори, на кшталт Jade) та фреймворки для різних мов програмування.
У дистанційному навчанні все набагато простіше, адже там на кожну технологію є багато спеціалістів, для яких простіше робити курс з однієї технології.
Отже, в дистанційному навчанні є сенс та користь. Але з'являється нова проблема. Яким чином людина може визначити, що вивчати?
Відповідь треба шукати серед тих варіантів, які популярні на ринку. Якщо людина не знає, що вивчати, треба звернути увагу на те, що актуально і затребувано серед роботодавців сьогодні і зараз.
Саме темі визначення трендів на ринку праці присвячене дане дослідження.
Мета статті
Головним питанням є визначення вимог серед роботодавців для працевлаштування за різними напрямками. Яким чином можна дізнатись навички, якими треба володіти? У цій справі також варто відійти від особистого спілкування з людьми: опитування представників IT компаній та експертів в певних предметних областях є неефективними. Але як тоді отримати відомості про потреби ринку без відкритих баз даних та однозначних переліків знань?
Коли постає питання про сервіс, в якому можна знайти вимоги до людей, які шукають роботу, відповість виникає сама по собі: сайти з вакансіями.
На меті стоїть отримання відомостей про навички, які необхідні для опанування професії. Також їх треба проградіювати за важливістю.
Отже, система складатиметься з парсера, який збиратиме інформацію про вакансії, та з аналізаторів, які будуть підраховувати усі необхідні для роботи критерії: приналежність слова до галузі, категорії та зв'язок між ключовими словами.
Парсер. Для початку необхідно зібрати описи вакансій. Щоб результат був максимально об'єктивним і таким, що відображає реальні потреби ринку, варто збирати інформацію з кількох сайтів: Head Hunter, Rabota.ua.
Такий перелік сайтів обумовлений тим, що Head Hunter - це дуже відомий міжнародний сайт для пошуку роботи, а Rabota.ua надзвичайно поширений сервіс в Україні.
Отже, розглянемо процес отримання даних з усіх перерахованих джерел.
Head Hunter. Парсинг інформації з даного сервісу є найлегшим, адже сайт надає безкоштовний API, отримати доступ до якого дуже легко: подача та розгляд заявки зайняли не більше тижня.
В рамках роботи нас цікавить лише один запит: https://api.hh.ru/vacancies. Для спрощення роботи доступні різні параметри фільтрації: пошуковий запит, область пошуку, досвід роботи, тип зайнятості, графік роботи, регіон, спеціалізація, індустрія компанії, розмір заробітної плати, тощо.
Під час парсингу вакансій нас цікавитимуть лише наступні аргументи:
text - пошуковий запит. Наприклад: веб-дизайнер.
experience - досвід. За допомогою цього поля є можливість обирати різні вакансії для користувачів з різним рівнем знань: початківців, досвідчених, професіоналів. Доступні наступні градації: немає досвіду, від 1 до 3 років, від 3 до 6 років, більше 6 років
area - регіон. Таким чином, ми можемо визначати потреби на ринку в різних країнах або містах.
specialization - код спеціалізації. Доступно дуже багато спеціалізацій для пошуку: адміністрування баз даних, тестування, програмування тощо.
Пропонується використовувати постійні та змінні комбінації параметрів.
Постійні: пошуковий запит, кількість вакансій на сторінці, номер сторінки та регіон, значення якого залежатиме від вказаного регіону користувачем в профілі системи.
Змінні ж залежатимуть від потреб пошуку. Загальними критеріями потреби внесення додаткових фільтрацій є:
Потреба уточнення. Якщо запит користувача: «дизайнер» в сфері IT, то є сенс уточнити спеціалізацію та індустрію, в якій працює компанія.
Недостатність результатів. Наприклад, людина з рівнем досвіду N хоче перейти на рівень N + 1 (з без досвіду - на 1-3 роки досвіду або з 1-3 роки на 3-5 років досвіду). Задаючи необхідну градацію за досвідом, система може отримати мало даних за запитом. В такій ситуації доцільно прибрати даний параметр, щоб отримати більше результатів.
Потреба в локалізації. Обернений випадок до попереднього. Іноді система містить достатньо даних для того, щоб звузити пошук до певного рівня досвіду, регіону (наприклад, перейти з масштабів країни до міста або району). В результаті роботи будь-якого успішного запиту ми отримаємо відповідь у вигляді об`єкта json, який має наступну структуру:
{
"items": [
Об'єкти вакансій
],
"found": Кількість вакансій за запитом,
"pages": Кількість сторінок,
"per_page": Кількість вакансій на сторінці,
"page": Номер поточної сторінки,
"clusters": Кластери,
"arguments": Додаткові аргументи,
"altemate_url": Альтернативний запит для пошуку
}
Об'єкт кожної вакансії має наступну структуру (наведені лише найважливіші аргументи, адже кожна вакансія містить дані, які в даній роботі не несуть інформаційної цінності):
{
"id": ID вакансії,
"name": Назва вакансії,
"area": регіон,
"salary": рівень заробітньої плати,
"type": Тип: "відкрита"/"закрита",
"employer": Інформація про компанію,
"url": URL до повноцінної сторінки вакансії,
"relations": Певні зв'язки,
"snippet": {
"requirement": Вимоги,
"responsibility": Основні задачі
},
"contacts": Контакти,
"specializations": [
{
"profarea_id": ID галузі,
"profarea_name": назва галузі,
"id": ID спеціалізації,
"name": спеціалізація },
],
}
парсинг веб сервіс тренд ринок праця
З усіх наданих даних найбільше нас цікавить поле "snippet", в якому є властивість "requirement" - це і є опис вакансії, який буде використовуватись для аналізу.
Також, варто зберегти значення "specializations", адже це поле містить назву галузі, до якої відноситься дана вакансія.
Rabota.ua. Парсинг даного сервісу вже трохи ускладнюється, адже в нього немає API у відкритому доступі, тож доведеться отримувати інформацію більш складним способом.
Парсинг буде проводитись в декілька етапів:
Формування пошукового URL запиту
Визначення кількості сторінок з результатами пошуку
Діставання посилань на вакансії з кожної сторінки
Парсинг кожної вакансії
Формування пошукового запиту відбувається за наступною схемою: до базового URL “https://rabota.ua/zapros/” потрібно додати те, що необхідно знайти. Тобто якщо потрібні вакансії за позицією веб-дизайнера, потрібно додати назву професії до базового пошукового запиту, замінивши всі небуквенні символи на “-”. У результаті отримаємо наступний запит: “https://rabota.ua/zapros/веб - дизайнер”.
Визначити кількість сторінок з результатами пошуку можна двома способами.
Необхідно отримати HTML код першої сторінки, знайти в ньому блок, в якому зберігаються посилання на всі інші сторінки, та просто забрати текст з останнього посилання (Рис. 1).
Рисунок 1 - Спосіб визначення кількості сторінок
В другому способі потрібно отримати не першу сторінку результатів пошуку, а другу. Зробити це можна додавши до пошукового запиту “pg2”. Після цього ми з коду сторінки і витягаємо елемент TITLE, в якому міститься номер другої сторінки та номер останньої сторінки: <Ме>Стор 2 з 13: Робота веб-дизайнер у Україні, пошук вакансій веб-дизайнер у Україні | Robota.ua</title> (Рис. 2).
Рисунок 2 - Title сторінки з номером останньої сторінки результатів пошуку
Після того, як ми дізнались кількість сторінок видачі, ми можемо переходити до збирання посилань на вакансії. На кожній сторінці результатів пошуку забираємо посилання зі списку елементів з класом galisting.
Кінцевий етап: опис вакансій. Збираючи HTML код сторінки кожної вакансії, виділяємо блок з класом d_des, який і містить необхідну нам інформацію.
Аналіз описів вакансій. Процес аналізу розпочнемо з виділення ключових слів. Алгоритм роботи доволі простий: спочатку необхідно прибрати все зайве, що залишилось після парсингу, як от HTML теги <p>, <b>, <highlighttext> та знаки пунктуації [3].
На даному етапі розробки, система розрахована тільки на пошук вакансій в IT сфері, тож доцільним є рішення прибрати усі не латинські слова, адже більшість технологій та навичок мають англійські назви. Хоча, багато вакансій вже описуються англійською, звичайні слова не дуже впливатимуть на результати, бо в подальшому вони будуть видалятися з використанням відповідних алгоритмів.
Фінальним етапом парсингу буде визначення того, скільки разів зустрічається кожне слово. Критерії. З метою якісного збереження результатів та використання їх у подальшому аналізі введемо три початкових критерії [2]:
- частота повторювання у вакансії. Позначимо цей критерій V;
- частота повторювання у загальній пошуковій видачі. Позначимо цей критерій S;
- зв'язок ключового слова з іншими словами у вакансії. Позначимо цей критерій K.
Це пропонується зробити, по-перше, для того, щоб не було ситуацій, коли певна навичка в одній вакансії зустрічається стільки ж разів, скільки якась інша зустрічається в усіх результатах. Подруге, ця операція виступатиме в ролі нормування і вагування: отримані значення будуть вагами приналежності до галузі, категорії та зв`язку одне з одним [1].
Частота повторювання у вакансії визначатиметься наступною формулою (1):
Vkeyword nkeyword / Ni(1Х
де nkeyword - це кількість повторювань ключового слова keyword в описі вакансії,
Ni - загальна кількість ключових слів у вакансії.
Таким чином, сума вагів усіх ключових слів дорівнюватиме одиниці.
Обрахувавши суму усіх значень повторювань для кожного слова та поділивши на кількість вакансій (виходячи з того, що сума частот повторювання усіх ключових слів в межах однієї вакансії дорівнює одиниці, стає очевидним той факт, що сума частот повторювання усіх ключових слів дорівнює кількості вакансій помножених на одиницю), отримаємо частоту повторення ключового слова в результатах даного пошукового запиту (2) [4].
Skeyword = Nkeyword / Nvacancies (2)
Зв'язок ключового слова з іншими словами у вакансії обраховуватиметься як (формула 3):
Ki j = Vkeyword i / Vkeyword j (3),
де Vkeyword і - це частота повторювання у вакансії слова i, а Vkeyword j - це частота повторювання слова j.
Метою обрахування цієї величини є не знаходження схожості. Ми намагаємось виразити величину, яка могла б характеризувати грубу і приблизну вірогідність Ki j того, що якщо у вакансії є слово keyword 1, то і keyword 2 може тут бути.
В результаті, ми отримаємо ваги зв'язаності для ключових слів в межах окремих вакансій для даної галузі, яка визначається пошуковим запитом та значенням категорії з описів вакансій, що надає можливість мати найбільш точні дані для подальшого використання [6, 5].
Описані критерії в прикладному вигляді - у вигляді сутностей бази знань - представлені нижче.
На Рис. 3 ми бачимо зв'язок між галуззю, яку ми отримуємо з опису вакансії, та ключовими словами, які були знайдені в даній вакансії. Вагою зв'язку є критерій Vkeyword.
На Рис. 4 продемонстрований аналогічний зв'язок між пошуковим запитом та ключовими словами, які були отримані в результаті аналізу пошукової видачі. Вагою зв'язку є Зкеушом.
Рисунок 3 - Зв'язок галузі (спеціалізації) з ключовим словом і
Рисунок 4 - Зв'язок тексту з пошукового запиту з ключовим словом і
Останнім відношенням є зв'язок між ключовими словами, який характеризується вагою зі значенням (Рис. 5).
Рисунок 5 - Зв'язок ключових слів і та j
Висновок
Як результат були створені парсери двох сайтів з вакансіями та аналізатори описів цих вакансій. За допомогою аналізаторів дані з вказаних сервісів структуруються та зв'язуються між собою. Утворюються зв'язки з критеріальними вагами між такими сутностями, як: ключове слово - галузь, ключове слово - запит/категорія та ключове слово - ключове слово. Ваги, що пов'язують сутності, обраховуються за максимально оптимальними виразами, що не ускладнюють структуру, але в той же час достатньо якісно описують моделі.
Перспективи подальших досліджень. В подальшому планується розширити функціонал, додавши парсинг нових сервісів, а саме: другого за популярністю сайта з вакансіями Work.ua та найпопулярнішого сайту в IT сфері України dou.ua. Аналізатори будуть покращені (як і структура моделей бази знань) з метою охоплення нового функціоналу. Наробки будуть використовуватись в таких сервісах, як: автоматизація створення профілю користувача, підготовка даних для тестування знань та створення інформаційно-пошукової системи в рамках системи дистанційного навчання.
Список літератури
1. Моделирование и обнаружение изменений в удовлетворенности пользователей. Материалы 23-й Международной конференции ACM по управлению информацией и знаниями (CIKM'14) / Ю. Киселева, Э. Крестан, Р. Бриго, Р. Диттель. - Нью-Йорк: ACM, 2014.
2. Механизм рекомендаций мультимедийного контента с автоматическим выводом пользовательских предпочтений. Материалы Международной конференции IEEE по обработке изображений / А. Ферман, П. Ван Бик, Дж. Х. Эррико, М.И. Сезан - 2003.
3. Адаптивный профиль пользователя для фильтрации новостей на основе иерархии интересов пользователей [Електронний ресурс] / С. Сингх, М.
4. Шеперд, Дж. Даффи, К. Уоттерс // Цифровая библиотека ASIS&T. - 2007.
5. Салтон Г. Автоматическая организация информации и поиск / Джерард Салтон. - Нью-Йорк: Макгроу-Хилл, 1968.
6. Ан Дж. Персонализированный поиск: пересмотр ценности открытых пользовательских моделей, Труды 20-й Международной конференции по интеллектуальным пользовательским интерфейсам (IUI '15) / Дж. Ан, П. Брусиловский, С. Хан. - Нью-Йорк: ACM, 2015.
7. Ким Х.Р. Изучение неявной иерархии интересов пользователей для контекста персонализации IUI'03 / Х. Р. Ким, П.К. Чан. - Майами, 2003.
References
1. Modelling and Detecting Changes in User Satisfaction. Proceedings of the 23rd ACM International Conference on Information and Knowledge Management (CIKM'14) / J. Kiseleva, E. Crestan, R. Brigo, R. Dittel. - New York: ACM, 2014.
2. Multimedia Content Recommendation Engine with Automatic Inference of User Preferences. Proceedings of the IEEE International Conference on Image Processing / A.M. Ferman, P. Van Beek, J.H. Errico, M. I. Sezan - 2003.
3. An adaptive user profile for filtering news based on a user interest hierarchy [Електронний ресурс] / S. Singh, M.
4. Shepherd, J. Duffy, C. Watters // ASIS&T Digital Library. - 2007.
5. Salton G. Automatic Information Organization and Retrieval / Gerard Salton. - New York: McGraw-Hill, 1968.
6. Ahn J. Personalized Search: Reconsidering the Value of Open User Models, Proceedings of the 20th International Conference on Intelligent User Interfaces (IUI '15) / J. Ahn, P. Brusilovsky, S. Han. - New York: ACM, 2015.
7. Kim H.R. Learning Implicit User Interest Hierarchy for Context in Personalization IUI'03 / H.R. Kim, P.K. Chan. - Miami, 2003.
Размещено на allbest.ru
...Подобные документы
Статистичний огляд ринку праці в ІТ-галузі в Україні. Математичні, економетричні методи, моделі в аналізу ІТ-ринку праці. Оцінка людського капіталу. Динаміка оплати праці за декілька останніх років. Структура вакансій розробників програмного забезпечення.
дипломная работа [457,3 K], добавлен 12.10.2015Поняття інформації її властивості. У чому полягає робота брандмауера. Переваги використання брандмауера. Основи роботи антивірусних програм. Методи збору, обробки, перетворення, зберігання і розподілу інформації. Основні методи антивірусного захисту.
реферат [26,8 K], добавлен 29.05.2014Опис інформації, яка захищається, її властивості, особливості як об’єкта права власності. Визначення інформаційної системи досліджуваного об’єкта, опис ресурсів, потоків. Структурна схема інформаційної системи. Проведення аналізу захищеності об’єкта.
курсовая работа [616,7 K], добавлен 18.05.2011Нові інформаційні технології (НІТ) як сукупність нових засобів і методів обробки, зберігання і передачі інформації. Технологічна основа та основні принципи створення НІТ. Класифікатори техніко-економічної інформації в фінансовому контролі й аудиті.
контрольная работа [21,5 K], добавлен 27.09.2010Онлайн-страхування в мережі Інтернет, його правовий аспект. Програмне забезпечення для організації веб-сайтів в мережі Інтернет: CMS. Система керування вмістом для публікації інформації в Інтернеті: Joomla. Описання процесу створення й реалізації програми
курсовая работа [4,3 M], добавлен 30.09.2014Інформаційні ресурси і технології у науковому дослідженні. Основні базові послуги, що надає Інтернет. Популярні інформаційно-пошукові системи. Пошук, відбір та накопичення наукової інформації. Методи аналізу і обробки первинної статистичної інформації.
научная работа [467,9 K], добавлен 15.04.2013Визначення та способи представлення графів. Основні алгоритми на графах. Побудова мінімального остового дерева. Алгоритми Прима та Дейкстри. Модель Флойда-Уоршалла. Огляд можливостей мови програмування. Опис функцій програмної моделі, інтерфейс програми.
дипломная работа [563,7 K], добавлен 03.08.2014Визначення та структура мікропроцесора, алгоритм роботи. Види процесорної пам’яті. Частота системної шини. Огляд мікропроцесорів AMD Phenom. Структура ринку сучасних мікропроцесорів, найбільш поширені архітектури. Охорона праці при роботі з комп'ютером.
курсовая работа [5,9 M], добавлен 03.01.2015Криптологія - захист інформації шляхом перетворення, основні положення і визначення. Криптографія - передача конфіденційної інформації через канали зв'язку у зашифрованому виді. Системи ідентифікації, характеристика алгоритмів шифрування; криптоаналіз.
реферат [125,8 K], добавлен 19.12.2010Комп'ютерні інформаційні системи. Характеристика автоматизованої системи обробки економічної інформації на підприємстві. Технологічний процес обробки інформації конкретної задачі в системі. Впровадження в дію автоматизації бухгалтерського обліку.
контрольная работа [25,1 K], добавлен 26.07.2009Вартість інформаційних технологій для бізнесових процесів. Вартість інформації з погляду її специфікації. Визначення ціни інформації виходячи з граничної вартості. Визначення вартості інформації, як суми витрат на її придбання. Сучасні пропозиції.
реферат [22,1 K], добавлен 22.12.2008Види секретної інформації та методи захисту. Тип і об’єм вхідних даних. Програмна реалізація системи алгоритму шифрування зі стисненням. Призначення та опис програмного продукту Export. Алгоритми захисту зберігання та обміну секретною інформацією.
дипломная работа [1,1 M], добавлен 19.09.2012Синтез аналогової та структурної схеми цифрового фільтру. Опис програми обробки інформації. Оцінка верхньої фінітної частоти вхідного аналогового сигналу. Структурна схема та алгоритм функціонування пристрою мікропроцесорної обробки аналогової інформації.
курсовая работа [710,9 K], добавлен 12.03.2010Автоматизована системи обробки економічної інформації, яка використовується на підприємстві, її характеристика. Технологічний процес обробки інформації конкретної задачі в системі. Зауваження користувача щодо функціональних і ергономічних характеристик.
контрольная работа [26,5 K], добавлен 27.07.2009Процеси пошуку інформацій та розробка структури даних для ефективного зберігання та обробки інформації. Як приклад розглянуто бінарне дерево. Бінарні структури широко використовуються у житті,широко використовуються в багатьох комп'ютерних завданнях.
курсовая работа [67,7 K], добавлен 24.06.2008Загальна характеристика підприємства АТВТ "Суми-Авто", напрямки його діяльності та облікова політика. Опис автоматизованої системи обробки економічної інформації, яка використовується на підприємстві, процес обробки інформації конкретної задачі в ній.
контрольная работа [20,4 K], добавлен 27.07.2009Функції систем захисту інформації, основні терміни та визначення. Введення в криптологію, нормативно-правова база захисту інформації. Впровадження новітніх інформаційних телекомунікаційних системи. Використання та здійснення електронного документообігу.
реферат [24,0 K], добавлен 03.10.2010Розгляд засобів конфіденційності інформації, яка міститься в документованому середовищі систем дистанційного навчання. Запропоновані способи поліпшення надійності та захищеності документованої інформації, які базуються на захисті доступу до інформації.
статья [197,4 K], добавлен 22.02.2018Характеристика обчислювальної техніки як сукупності технічних і математичних засобів для обробки інформації. Поняття, одиниці виміру і способи представлення інформації. Арифметична і логічна будова електронних обчислювальних машин, їх еволюція.
презентация [793,1 K], добавлен 05.09.2014Значимість двійкової системи числення для кодування інформації. Способи кодування і декодування інформації в комп'ютері. Відповідність десятковій, двійковій, вісімковій і шістнадцятковій систем числення. Двійкове кодування інформації, алфавіт цифр.
презентация [1,4 M], добавлен 30.09.2013