Інформаційна система рекомендації велосипедів на основі відкритих даних
Loading...
Date
Journal Title
Journal ISSN
Volume Title
Publisher
Національний університет "Львівська політехніка"
Abstract
Протягом останніх декількох років в Україні стабільно зростає популярність велосипедів, як для повсякденних поїздок, так і для розваг. Дану тенденцію підтверджують підрахунки велосипедистів, які проводять різноманітні громадські організації [1], та соціологічні дослідження щодо пересування громадян містом [2]. Одним з найголовніших поштовхів зацікавленості до велосипедів стала пандемія 2020 року, адже люди почали використовувати велосипеди через часткове або повне припинення роботи громадського транспорту чи з метою зменшення кількості контактів з іншими людьми [3]. Але навіть попри те, що на початку пандемії продажі велосипедів зросли у понад два рази, кількість велосипедів продовжує стабільно зростати. За підрахунками організації U-Cycle, від осені 2020 року до осені 2022 року кількість велосипедистів зросла приблизно на 14% [4]. А за даними Державної служби статистики України, у 2023 році в Україні було зареєстровано 1,5 мільйона велосипедів [5]. Це ще на 10% більше, ніж у 2022 році.
У зв’язку з таким трендом, створення онлайн магазинів з продажу велосипедів стало досить перспективним і прибутковим бізнесом. А для того, щоб полегшити вибір велосипеда для новачків, почали появлятися різноманітні рекомендаційні системи [6], які можуть функціонувати як незалежно, так і на базі онлайн магазинів. Саме ці причини і вказують на те, що реалізація вибраної теми є доцільною та актуальною.
Для того, щоб детально дослідити тему та розглянути системи-аналоги, здійснено огляд літературних джерел та різноманітних джерел з мережі Інтернет. У результаті було визначено, що розробка системи з рекомендацій велосипедів є актуальною, оскільки в таких системах є потреба, а способи рекомендацій збільшуються з року в рік. Так було досліджено, що із значним розвитком великих мовних моделей їх також можна застосовувати для генерації рекомендацій.
У ході виконання системного аналізу інформаційної системи було побудовано дерево цілей на основі її головної мети та застосовано метод аналізу ієрархій, в результаті якого було визначено тип проектованої інформаційної системи – інформаційно-рекомендаційна. Крім цього, було описано головне призначення системи та ефект, який вона принесе. Також за допомогою кейс засобу Visual Paradigm було створено концептуальну модель системи у вигляді набору UML діаграм.
При виборі методів та засобів реалізації системи було розглянуто специфіку побудови ETL процесів, виконання веб скрейпінгу, та техніки інженерії підказок (prompt engineering) для великих мовних моделей. Також було здійснено підбір технологій та інструментів для розв?язання задачі. Для цього було виконано аналіз мов програмування та їх фреймворків за допомогою яких можна створити систему. Як результат - було вибрано мову програмування Python і його фреймворки Airflow, Beautiful Soup, Pandas, SQLAlchemy та Flask, а в якості системи управління базами даних було обрано PostgreSQL. Вибір цих засобів було детально обґрунтовано.
Після всіх підготовчих кроків було виконано програмну реалізацію інформаційної системи рекомендацій велосипедів. Для цього спочатку було створено ETL процес, який спочатку розгортає базу даних, а потім за допомогою веб скрейпінгу наповнює її так, щоб дані були чистими та структурованими. Також було реалізовано та описано реалізацію веб-додатку системи, яка рекомендує велосипеди за допомогою великої мовної моделі, натренованої на відкритих даних.
Об?єктом дослідження є процес створення рекомендацій велосипедів в мережі Інтернет.
Предметом дослідження є інформаційна система рекомендації велосипедів, яка використовує відкриті дані.
Мета дослідження. Метою даної роботи являється створення інформаційної системи рекомендації велосипедів на основі відкритих даних.
Результатом дослідження являється розроблений веб-додаток для надання рекомендацій велосипедів, відлагоджений процес збору, обробки та зберігання даних які використовуються в системі.
Over the past few years, the popularity of bicycles has been steadily growing in Ukraine, both for everyday trips and for entertainment. This trend is confirmed by counts of cyclists conducted by various public organizations [1] and sociological studies on the movement of citizens through the city [2]. One of the main impulses of interest in bicycles was the pandemic of 2020, because people began to use bicycles due to the partial or complete suspension of public transport or to reduce the number of contacts with other people [3]. But even though bike sales more than doubled at the start of the pandemic, the number of bikes continues to grow steadily. According to estimates by the U-Cycle organization, from the fall of 2020 to the fall of 2022, the number of cyclists increased by approximately 14% [4]. And according to the State Statistics Service of Ukraine, in 2023, 1.5 million bicycles were registered in Ukraine [5]. This is 10% more than in 2022. In connection with this trend, the creation of online shops for the sale of bicycles has become a very promising and profitable business. And in order to facilitate the choice of a bicycle for beginners, a variety of recommendation systems [6] began to appear, which can function both independently and on the basis of online stores. It is these reasons that indicate that the implementation of the chosen topic is appropriate and relevant. In order to investigate the topic in detail and consider analog systems, a review of literary sources and various sources from the Internet was carried out. As a result, it was determined that the development of a bicycle recommendation system is relevant, since there is a need for such systems, and the methods of recommendations are increasing from year to year. Thus, it was investigated that with the significant development of large language models, they can also be used for recommendation generation. In the course of the system analysis of the information system, a tree of goals was built based on its main goal, and the method of analyzing hierarchies was applied, as a result of which the type of the projected information system was determined - informational and advisory. In addition, the main purpose of the system and the effect it will bring were described. Also, with the help of the Visual Paradigm case tool, a conceptual model of the system was created in the form of a set of UML diagrams. When choosing methods and means of system implementation, the specifics of building ETL processes, performing web scraping, and prompt engineering techniques for large language models were considered. Technologies and tools for solving the problem were also selected. For this, an analysis of programming languages and their frameworks, which can be used to create a system, was performed. As a result, the programming language Python and its frameworks Airflow, Beautiful Soup, Pandas, SQLAlchemy and Flask were chosen, and PostgreSQL was chosen as the database management system. The choice of these means was thoroughly justified. After all the preparatory steps, the software implementation of the bicycle recommendation information system was completed. To do this, an ETL process was first created, which first expands the database and then fills it with the help of web scraping so that the data is clean and structured. A web application implementation of a bicycle recommender system using a large language model trained on open data has also been implemented and described. The object of the study is the process of creating bicycle recommendations on the Internet. The subject of the study is an information system for bicycle recommendations that uses open data. The aim of the study. The purpose of this work is to create an information system for bicycle recommendations based on open data. The result of the research is a developed web application for providing bicycle recommendations, a debugged process of collecting, processing and storing data used in the system.
Over the past few years, the popularity of bicycles has been steadily growing in Ukraine, both for everyday trips and for entertainment. This trend is confirmed by counts of cyclists conducted by various public organizations [1] and sociological studies on the movement of citizens through the city [2]. One of the main impulses of interest in bicycles was the pandemic of 2020, because people began to use bicycles due to the partial or complete suspension of public transport or to reduce the number of contacts with other people [3]. But even though bike sales more than doubled at the start of the pandemic, the number of bikes continues to grow steadily. According to estimates by the U-Cycle organization, from the fall of 2020 to the fall of 2022, the number of cyclists increased by approximately 14% [4]. And according to the State Statistics Service of Ukraine, in 2023, 1.5 million bicycles were registered in Ukraine [5]. This is 10% more than in 2022. In connection with this trend, the creation of online shops for the sale of bicycles has become a very promising and profitable business. And in order to facilitate the choice of a bicycle for beginners, a variety of recommendation systems [6] began to appear, which can function both independently and on the basis of online stores. It is these reasons that indicate that the implementation of the chosen topic is appropriate and relevant. In order to investigate the topic in detail and consider analog systems, a review of literary sources and various sources from the Internet was carried out. As a result, it was determined that the development of a bicycle recommendation system is relevant, since there is a need for such systems, and the methods of recommendations are increasing from year to year. Thus, it was investigated that with the significant development of large language models, they can also be used for recommendation generation. In the course of the system analysis of the information system, a tree of goals was built based on its main goal, and the method of analyzing hierarchies was applied, as a result of which the type of the projected information system was determined - informational and advisory. In addition, the main purpose of the system and the effect it will bring were described. Also, with the help of the Visual Paradigm case tool, a conceptual model of the system was created in the form of a set of UML diagrams. When choosing methods and means of system implementation, the specifics of building ETL processes, performing web scraping, and prompt engineering techniques for large language models were considered. Technologies and tools for solving the problem were also selected. For this, an analysis of programming languages and their frameworks, which can be used to create a system, was performed. As a result, the programming language Python and its frameworks Airflow, Beautiful Soup, Pandas, SQLAlchemy and Flask were chosen, and PostgreSQL was chosen as the database management system. The choice of these means was thoroughly justified. After all the preparatory steps, the software implementation of the bicycle recommendation information system was completed. To do this, an ETL process was first created, which first expands the database and then fills it with the help of web scraping so that the data is clean and structured. A web application implementation of a bicycle recommender system using a large language model trained on open data has also been implemented and described. The object of the study is the process of creating bicycle recommendations on the Internet. The subject of the study is an information system for bicycle recommendations that uses open data. The aim of the study. The purpose of this work is to create an information system for bicycle recommendations based on open data. The result of the research is a developed web application for providing bicycle recommendations, a debugged process of collecting, processing and storing data used in the system.
Description
Keywords
8.126.00.01, велосипеди, підбір велосипедів, інформаційна система, рекомендаційна система, веб скрейпінг, великі мовні моделі, bicycles, bicycle selection, information system, recommendation system, web scraping, large language models.
List of used literature sources.
1. Report on the count of cyclists in Kyiv (autumn 2020). [Electronic resource] - Access mode: https://u-cycle.org.ua/articles/pidrakhunok-osin-2020/
2. "How do residents move around the city?" [Electronic resource] - Access mode: https://docs.google.com/document/d/1X_TN0fUYTPLxDaJnuU34BbB3L0LXu_dpERmYspXU_8k/edit
3. "During the quarantine the number of cyclists increased more than 2.5 times" [Electronic resource] - Access mode: https://glavcom.ua/kyiv/news/pid-chas-karantinu-kilkist-velosipedistiv-u-kijevi- zrosla-uponad-25-razi-676853.html
4. Report on the count of cyclists in Kyiv (autumn 2022). [Electronic resource] - Access mode: https://u-cycle.org.ua/news/bil-she-polovyny-velosypedystiv-u-kyievi-izdyt-po-dorozi-ta-veloinfrastrukturi/
5. State Statistics Service of Ukraine [Electronic resource] - Access mode: https://ukrstat.gov.ua/
6. Recommendation System -Understanding The Basic Concepts [Electronic resource] - Access mode: https://www.analyticsvidhya.com/blog/2021/07/recommendation-system-understanding-the-basic-concepts
Citation
Зубрицький Р. Л. Інформаційна система рекомендації велосипедів на основі відкритих даних : кваліфікаційна робота на здобуття освітнього ступеня магістр за спеціальністю „8.126.00.01 — Інформаційні системи та технології“ / Роман Любомирович Зубрицький. — Львів, 2023. — 101 с.