Розгляд двох методів отримання даних з зовнішніх джерел. Опис модуля, який буде здійснювати збір необхідних даних для розробляється експертної системи, вона буде допомагати формувати навчальний план співробітникам відповідальних за освітні програми у ВНЗ. Модуль буде добувати дані через API популярного сайту-агрегатора вакансій компанії HeadHunter, і зберігати їх в базі даних для подальшого використання модулем аналізу, який буде видавати звіт про необхідних професійних компетенціях в залежності від виду діяльності.

Анотація наукової статті з комп'ютерних та інформаційних наук, автор наукової роботи - Турков Е.С., Степанов Ю.А.


CONCEPTUAL MODEL OF VACANCY DATA COLLECTION MODULE FOR EXPERT SYSTEM

The authors consider two methods for obtaining data from external sources. The description of the module that collects the necessary data for the developed expert system, it helps to formulate the curriculum for the staff responsible for educational programs at the university. The module extracts data through the API of the popular HeadHunter job aggregator site, and store it in a database for further use by the analysis module, which issues a report on the necessary professional competencies depending on the type of activity.


Область наук:

  • Комп'ютер та інформатика

  • Рік видавництва: 2020


    Журнал: Міжнародний науково-дослідний журнал


    Наукова стаття на тему 'КОНЦЕПТУАЛЬНА МОДЕЛЬ МОДУЛЯ ЗБОРУ ДАНИХ ПРО вакансій ЕКСПЕРТНОЇ СИСТЕМИ'

    Текст наукової роботи на тему «КОНЦЕПТУАЛЬНА МОДЕЛЬ МОДУЛЯ ЗБОРУ ДАНИХ ПРО вакансій ЕКСПЕРТНОЇ СИСТЕМИ»

    ?DOI: https://doi.org/10.23670/IRJ.2020.92.2.014

    КОНЦЕПТУАЛЬНА МОДЕЛЬ МОДУЛЯ ЗБОРУ ДАНИХ ПРО вакансій ЕКСПЕРТНОЇ

    СИСТЕМИ

    Наукова стаття

    Турков Е.С.1, *, Степанов Ю.А.2

    2 ORCID ID 0000-0001-7552-6857;

    1, 2 Кемеровського державного університету, Кемерово, Росія

    * Корреспондирующий автор (deepekey [at] yandex.ru)

    анотація

    Розгляд двох методів отримання даних з зовнішніх джерел. Опис модуля, який буде здійснювати збір необхідних даних для розробляється експертної системи, вона буде допомагати формувати навчальний план співробітникам відповідальних за освітні програми у ВНЗ. Модуль буде добувати дані через API популярного сайту-агрегатора вакансій компанії HeadHunter, і зберігати їх в базі даних для подальшого використання модулем аналізу, який буде видавати звіт про необхідних професійних компетенціях в залежності від виду діяльності.

    Ключові слова: експертна система, data mining, синтаксичний аналіз (парсинг), API.

    CONCEPTUAL MODEL OF VACANCY DATA COLLECTION MODULE FOR EXPERT SYSTEM

    Research article

    Turkov E.S.1, *, Stepanov Yu.A.2

    2 ORCID ID 0000-0001-7552-6857;

    1 2 Kemerovo State University, Kemerovo, Russia

    * Corresponding author (deepekey [at] yandex.ru)

    Abstract

    The authors consider two methods for obtaining data from external sources. The description of the module that collects the necessary data for the developed expert system, it helps to formulate the curriculum for the staff responsible for educational programs at the university. The module extracts data through the API of the popular HeadHunter job aggregator site, and store it in a database for further use by the analysis module, which issues a report on the necessary professional competencies depending on the type of activity.

    Keywords: expert system, data mining, parsing, API.

    Вступ

    Для експертної системи потрібно розробити модуль, який би отримував і зберігав дані про вакансії з сайтів-агрегаторів для подальшої обробки в модулі аналізу за допомогою штучного інтелекту. Так як модуль призначений для розроблюваної вузькоспеціалізованої експертної системи для співробітників ВНЗ, використання сторонніх рішень не доцільно.

    Методи видобутку даних

    Розглянемо два методи отримання даних із зовнішніх джерел. За допомогою інтерфейсу програмування додатків (Application Programming Interface, API), тобто набору методів (функцій), які програміст може використовувати для доступу до функціональності програмного компонента (програми, модуля, бібліотеки) [1]. Даний метод дозволяє отримувати доступ і обмінюватися даними між інформаційними системами.

    Плюси даного методу для використання в розробці модуля.

    - є документація.

    - Визначено і стандартизовані методи і функції для використання, а також їх структурований відповідь.

    - Стабільність і зручність підтримки, так як при зміні клієнтської частина програми-джерела, версія API не змінюється.

    мінуси.

    - Обмеженість, умовами використання API від програми-джерела.

    - Потрібна реєстрація, авторизація і токен для додатка, щоб використовувати деякі функції.

    Другий метод це синтаксичний аналіз (парсинг) HTML-документа. Автоматизує ручну роботу з сайтом.

    Він проходить в чотири етапи [2].

    - Отримання доступу до потрібної сторінки. Для цього роблять побудова адреси веб-сторінки з потрібними параметрами.

    - Пошук даних. Завантажується HTML-документ сайту, розбивається весь текст на лексеми, виділяючи необхідну інформацію.

    - Витяг інформації. Пошук даних відбувається за рахунок регулярних виразів, HTML-тегами, що описують мета пошуку. Вони допомагають виділити з усього документа тільки потрібні фрагменти.

    - Збереження даних. Далі потрібні дані зберігаються в потрібному вигляді і місці. У разі даного модуля це база даних.

    Плюси цього методу при розробці модуля збору даних.

    - Немає умов використання від компанії додатки-джерела даних.

    - Немає необхідності реєстрації додатки.

    мінуси.

    - Використання регулюється правовими нормами.

    - Потрібні використовувати запобіжні заходи в роботі скрипта, так як додаток-джерело може заблокувати активність, вважаючи її DOS-атакою.

    - Інформація повинна бути у відкритому доступі.

    - При будь-якій зміні клієнтської частина сайту, є ймовірність відмови роботи парсинг-скрипта.

    Загальний мінус даних методів це ресурсомісткість, велика тривалість при великих обсягах даних.

    концептуальна модель

    Як мова розробки буде Python з використанням бібліотек requests для відправки запитів, psycopg2 для роботи з базою даних [3], [4]. А для зберігання даних система управління базами даних PostgreSQL [5]. Модуль буде працювати в режимі консолі.

    Модуль буде використовувати API сайту-агрегатора вакансій, посилаючи GET-запити на основі налаштувань користувача, де буде отримувати відповідь у вигляді формату JSON. Далі з цього JSON об'єкта буде виділена необхідна інформація, за допомогою ключів описаних в документації до API [6]. Необхідна інформація для модуля аналізу це:

    - опис вакансії;

    - інформація про ключових навичках;

    - посилання на вакансію;

    - опис компанії, а саме назву і галузь компанії;

    - назву вакансії і професійна область;

    - дата і час публікації.

    Потім за допомогою SQL-запитів виділена інформація заноситься базу даних, де їй заздалегідь присвоєна іменована група, в якій описана дата формування і за яких налаштуваннях робилися запити до API [7].

    Модуль входить в структуру експертної системи і використовується модулем аналізу, надаючи йому дані про вакансії зберігаються в базі за допомогою SQL-запитів. Загалом, експертна система складається з чотирьох модулів:

    - «Модуль статистики», який на основі даних від ВНЗ введе статистику і робить висновок про відповідність компетенцій випускників вимогам сучасного ринку праці;

    - «Модуль збору даних», який за допомогою програмного інтерфейсу збирає необхідні дані з сайту hh.ru, для подальшого аналізу;

    - «Модуль аналізу», за допомогою штучного інтелекту буде допомагати формувати навчальний план співробітникам, які відповідальні за освітні програми у ВНЗ.

    - «Модуль виведення результатів», з яким користувач буде взаємодіяти для настройки і перегляду результатів роботи.

    На малюнку 1 зображена концептуальна модель модуля видобутку даних при використанні API.

    Мал. 1 - Концептуальна модель модуля збору даних (API)

    Основне завдання модуля збору даних є надання даних про вакансії модулю аналізу. Основні функціональні завдання.

    1) Автоматизований збір і зберігання даних про вакансії знаходяться сайті hh.ru.

    2) Можливість додавання вакансій вручну. Вакансія оформляється в формат JSON, а в блоці налаштувань вибирається відповідний параметр.

    3) Можливість налаштування запиту.

    4) Надання даних модулю аналізу.

    Приклад роботи модуля видобутку даних

    Користувачеві потрібно зібрати дані про вакансії пов'язаних з мобільного розробкою для того, щоб в подальшому використовувати ці дані в модулі аналізу. Для цього він в блок налаштувань передає параметри, такі як назва пакета даних, наприклад «Мобільний розробник», далі вводить назву вакансії або щось з нею пов'язане, припустимо «Мобільна розробка android», після він може почати пошук або вибрати опціонально регіон, професійна область, спеціалізацію, період публікацій. У прикладі розглянемо без опціональних параметрів. Тепер модуль формує з налаштувань запити і відправляє їх на сайт-агрегатор, у вигляді GET-запиту. Отримуємо JSON об'єкт, з якого можна побачити те, що було знайдено 1408 вакансій відповідають за даним запитом. Далі модуль з кожної вакансії виділяє потрібні нам дані за допомогою ключів. Із зібраних даних модуль формує SQL-запити, які додають їх в базу даних. У підсумки роботи модуля отримуємо записи в таблицях бази даних, а саме групу «Мобільний розробник», в якій зберігається 1408 вакансій з відібраної інформацією.

    Дані процедура пошуку ресурсоємності і вимагає певного часу на роботу в залежності від кількості знайдених вакансій.

    Надалі модуль аналізу буде забирати, аналізувати ці дані і видавати експертну думку, яке допоможе сформувати індивідуальний навчальний план.

    висновок

    При розгляді методів збору даних із зовнішніх джерел була обрана модель розробки модуля з використанням програмного інтерфейсу сайту hh.ru, так як при застосуванні парсинга є великі ризики відмови скрипта в зв'язку блокуванням або змін сайту.

    Даний програмний модуль дозволяє збирати і зберігати потрібні дані про вакансії з сайту hh.ru для модуля аналізу, який в свою чергу з них робить звіт, який буде допомагати співробітникам ВНЗ, формувати навчальний план відповідає запитам ранка праці.

    Надалі даний модуль аналізу можна модернізувати. Наприклад, додати в зібрані дані оклад, досвід роботи, тип зайнятості і на основі цього проводити кореляційний аналіз, який покаже певні залежності.

    Або, наприклад, в яку збирають інформацію додати географічні дані вакансії, і за допомогою геоінформаційної системи провести аналіз або моделювання.

    Конфлікт інтересів Conflict of Interest

    Не вказано. None declared.

    Список літератури / References

    1. Tadviser.ru. Application Programming Interface (API). [Електронний ресурс] / Tadviser.ru. -2019. - URL: http://www.tadviser.ru/a/53171 (дата звернення: 20.01.2020).

    2. Енциклопедія інтернет-маркетингу, стаття парсинг. [Електронний ресурс] / -2019. - URL: https://www.seonews.ru/glossary/parsing/ (дата звернення: 20.01.2020).

    3. RealPython. Requests в Python - Приклади виконання HTTP запитів. [Електронний ресурс] / RealPython. -2019. - URL: https://python-scripts.com/requests (дата звернення: 20.01.2020).

    4. LegGnom. Стаття Робота з PostgreSQL в python [Електронний ресурс] / LegGnom. -2019. - URL: https://dev-gang.ru/article/rabota-s-postgresql-v-python-xn8721sq0g/ (дата звернення: 20.01.2020).

    5. Компанія «Постгрес Професійний». Документація до PostgreSQL 10.11 [Електронний ресурс] / «Постгрес Професійний». -2019. - URL: https://postgrespro.ru/docs/postgresql/10/index (дата звернення: 20.01.2020).

    6. HeadHunter. API: документація та бібліотеки. [Електронний ресурс] / HeadHunter -2019. - URL: https://github.com/hhru/api_(дата звернення: 20.01.2020).

    7. Тетяна Карпова. Лекція 7. Інфологіческое моделювання. [Електронний ресурс] / Тетяна Карпова -2019. -URL: https://www.intuit.ru/studies/courses/1001/297/lecture/7411. (Дата звернення: 20.01.2020).

    8. Гуріков, С. Р. Основи алгоритмізації та програмування на Python: навч. посібник / С.Р. Гуріков. - Москва: ФОРУМ: ИНФРА-М, 2018. - 343 с. - (Вища освіта: Бакалаврат). - ISBN 978-5-16-102278-8. - [Електронний ресурс] - URL: https://znanium.com/catalog/product/924699. (Дата звернення: 20.01.2020).

    9. Кара-Ушань, В. Ю. SQL - мова реляційних баз даних: Навчальний посібник / Кара-Ушань В.Ю., - 2-е изд., Стер. - Москва: Флінта, Изд-во Урал. ун-ту, 2017. - 156 с. ISBN 978-5-9765-3120-8. - Текст: електронний. - URL: https://znanium.com/catalog/product/947669.

    10. Бєлов, В. В. Проектування інформаційних систем: підручник / В.В. Бєлов, В.І. Чистякова. - М.: КУРС, 2018. - 400 с. - ISBN 978-5-906923-53-0. - [Електронний ресурс] - URL: https://znanium.com/catalog/product/1017181. (Дата звернення: 20.01.2020).

    Список літератури англійською мовою / References in English

    1. Tadviser.ru. Application Programming Interface (API). [Electronic resource] / Tadviser.ru. -2019. - URL: http://www.tadviser.ru/a/53171 (accessed: 20.01.2020). [In Russian]

    2. Enciklopediya internet-marketinga, stat'ya parsing. [Encyclopedia of Internet marketing, article parsing] [Electronic resource] / -2019. - URL: https://www.seonews.ru/glossary/parsing/ (accessed: 20.01.2020). [In Russian]

    3. RealPython. Requests в Python - Primery vypolneniya HTTP zaprosov. [Requests в Python - Examples of executing HTTP requests.] [Electronic resource] / RealPython. -2019. - URL: https://python-scripts.com/requests (accessed: 20.01.2020). [In Russian]

    4. LegGnom. Stat'ya Rabota s PostgreSQL v python [Article Working with PostgreSQL in python] [Electronic resource] / LegGnom. -2019. - URL: https://dev-gang.ru/article/rabota-s-postgresql-v-python-xn8721sq0g/ (accessed: 20.01.2020). [In Russian]

    5. The company «Postgres Professional». PostgreSQL 10.11 Documentation [Electronic resource] / «Postgres Professional». -2019. - URL: https://postgrespro.ru/docs/postgresql/10/index (accessed: 20.01.2020).

    6. HeadHunter. API: documentation and libraries. [Electronic resource] / HeadHunter -2019. - URL: https://github.com/hhru/api_(accessed: 20.01.2020).

    7. Tat'yana Karpova. Lekciya 7. Infologicheskoe modelirovanie. [Lecture 7. Infological modeling] [Electronic resource] / Tat'yana Karpova -2019. - URL: https://www.intuit.ru/studies/courses/1001/297/lecture/7411_(accessed: 20.01.2020).

    8. Gurikov, S. R. Osnovy algoritmizacii i programmirovaniya na Python: ucheb. Posobie [Python Algorithmization and Programming Basics: Tutorial] / Gurikov, S. R. - Moscow: FORUM: INFRA-M, 2018. - 343 p. - (Vysshee obrazovanie: Bakalavriat). - ISBN 978-5-16-102278-8. - [Electronic resource] - URL: https://znanium.com/catalog/product/924699. (Accessed: 20.01.2020). [In Russian]

    9. Kara-Ushanov, V. YU. SQL - yazyk relyacionnyh baz dannyh: Uchebnoe posobie [SQL - Relational Database Language: Tutorial] / Kara-Ushanov V. YU., - 2nd edition. - Moscow: Flinta, publishing house Ural. un-ta, 2017. - 156 p. ISBN 978-5-9765-3120-8. - Text: electronic. - URL: https://znanium.com/catalog/product/947669. [In Russian]

    10. Belov, V. V. Proyektirovaniye informatsionnykh sistem: uchebnik [Information Systems Design: A Textbook] / V.V. Belov, V.I. Chistyakova. - M.: COURSE, 2018. - 400 p. - ISBN 978-5-906923-53-0. - [Electronic resource] - URL: https://znanium.com/catalog/product/1017181. (Accessed: 20.01.2020). [In Russian]


    Ключові слова: ЕКСПЕРТНА СИСТЕМА /DATA MINING /Синтаксичного аналізу (парсинг) /API /EXPERT SYSTEM /PARSING

    Завантажити оригінал статті:

    Завантажити