Рекомендаційна система впорядкування робочого простору з допомогою методів машинного навчання

Loading...
Thumbnail Image

Date

Journal Title

Journal ISSN

Volume Title

Publisher

Національний університет "Львівська політехніка"

Abstract

Третя декада 21 століття почалась із змін для вього світу. Поширення коронавірусної інфекції заполонило увесь світ. Кожному прийшлось підлаштуватись під абсолютно нові умови. Однією з цих змін стало те, що дім став не тільки місцем для відпочинку, а й офісом. Але не кожен вміє і має достатньо уяви та креативності, щоб правильно організувати робочий простір для того, щоб не попадати у прокрастинацію та бути ефективним на максимум. В процесі організації робочого простору одним із найважливіших завдань є розташування предметів таким чином, щоб усе було під рукою і не забирало багато часу на пошук потрібних речей, не створювало напруження під час виконання робочих завдань та не вводило людину у пригннічений/стресовий стан. Адже під час роботи вдома можна мати апатію, злегка депресивний стан і не розуміти в чому саме проблема. Звідси і постає проблема неорганізованого навколо робочого простору. Дослідження даної проблеми дозволить людям не панікувати та не боятись працювати вдома через те, що недостатньо навичок, щоб організувати простір самостійно. Для того, щоб визначити загальний стан речей на даний момент - проведено дослідження чому важливо правильно організовувати робоче місце та які недоліки може нести хаос. Також наведено як саме застосовуються методи машинного навчання в обраній предметній області та основні парадигми рекомендаційних систем. Під час дослідження аналогів до проектованої системо виявлено, що схожих рішень, на разі, немає. Але можна помітити, що багато вже звичних систем, якими користуємось щодня грунтуються на методі розпізнавання образів. Для того, щоб краще описати за зрозуміти систему було використано системний аналіз. В околі цього розроблено дерево цілей, яке ілюструє генеральну мету та кроки як її досягти. Для того, щоб визначити тип системи використано МАІ (Метод Аналітичної Ієрархії). Після застосування даного методу виявлено, що найбільш доречно проектувати рекомендаційну систему. Для побудови концептуальної моделі використано UML (Unified Modelling Language). За допомогою цієї нотацій розроблено шість діаграм: варіантів використання, класів, послідовності, станів, діяльності та розгортання. Також визначено мету розроблення даної системи, очікувані ефекти від впровадження та цільову аудиторію. Розробка будь якої системи не може бути повною без вибору методів вирішення завдання. Провівши аналіз літературних джерел було прийнято рішення щодо застосування методу розпізнавання образів в тандемі з рекомендаційним двигуном для покриття потреб користувача. Розпізнавання образів досягається використанням концепції навчання [1]. Навчання дає змогу навчати систему розпізнавання образів і адаптуватися для отримання більш точних результатів. Частина набору даних використовується для навчання системи, а інша частина використовується для її тестування. Після аналізу алгоритмів, що використовуються у розпізнаванні образів [2], для вирішення саме цієї проблеми обрано алгоритм на основі нейронних мереж, саме нейронну мережу прямого поширення [3]. Також впроваджено рекомендаційний двигун, що грунтується на методі фільтрації на основі вмісту. Цей метод обрано тому що така модель не потребує будь-яких сторонніх даних, оскільки рекомендації є особливими для певного користувача. Розроблювана система реалізована у вигляді Android та iOS застосунків на смартфони, всередині яких закладена клієнт-серверна архітектура. База даних реалізована через середовище MySQL. Для інтегрування методу розпізнавання образів в систему будуть використані готові бібліотекм Python. Використано вбудовані біблотеки для реалізації методу розпізнавання образів. Для інтегрування рекомендаційного двигуна використано Crab. Crab — це гнучкий, швидкий механізм рекомендацій для Python, який інтегрує класичні алгоритми рекомендацій фільтрації інформації в різні наукові пакети Python, такі як Numpy, Scipy, Matplotlib та інші. Він також відомий як Scikits.recommender, який має на меті надати багатий набір компонентів, з яких можна побудувати індивідуальну систему рекомендацій з набору алгоритмів і використовувати її в різних контекстах. Для розробки iOS додатку використано Swift та XCode. Для розробки Android застосунку використано Android Studio. Android Studio – це нове повністю інтегроване середовище розробки, яке було запущено Google для операційної системи Android. MVC обрано, як архітектуру мобільного застосунку Android. Поділ ролей по MVC зручний тому, що стратегічно вигідно у великих проектах з насиченим графічним інтерфейсом. Воно, скажімо так, відповідає тому, як бачить систему розробник. Дозволяє добре локалізувати зміни в цих окремих сутностях так, що ймовірність їхньої одночасної зміни нижче.
The third decade of the 21st century began with changes for the whole world. The spread of coronavirus infection has flooded the world. Everyone had to adjust to completely new conditions. One of these changes was that the house became not only a place to relax, but also an office. But not everyone knows and has enough imagination and creativity to properly organize the workspace in order not to fall into procrastination and be effective to the maximum. In the process of organizing the workspace, one of the most important tasks is to arrange objects so that everything is at hand and does not take much time to find the right things, does not create stress during work and does not put a person in a depressed / stressed state. After all, while working at home you can have apathy, a slightly depressed state and not understand what the problem is. Hence the problem of unorganized space around the workspace. Researching this problem will allow people not to panic and not be afraid to work from home due to lack of skills to organize the space on their own. In order to determine the general state of affairs at the moment - a study was conducted on why it is important to properly organize the workplace and what are the disadvantages of chaos. The methods of machine learning in the chosen subject area and the main paradigms of recommendation systems are also given. During the study of analogues to the designed system it was found that there are no similar solutions at the moment. But you can see that many of the usual systems we use every day are based on the method of pattern recognition. System analysis was used in order to better describe and understand the system. A goal tree has been developed that illustrates the overall goal and steps on how to achieve it. MAH (Method of Analytical Hierarchy) was used in order to determine the type of system. After applying this method, it was found that it is most appropriate to design a recommendation system. UML (Unified Modeling Language) was used to build the conceptual model. With the help of these notations, six diagrams have been developed: use case, class, sequence, state machine, activity, and deployment. The purpose of the system development, the expected effects from the implementation and the target audience are determined as well. The development of any system cannot be complete without the choice of methods for solving the problem. After analyzing the literature, it was decided to use the method of pattern recognition in tandem with the recommended engine to meet the needs of the user. Pattern recognition is achieved using the concept of learning [1]. Training allows you to train the pattern recognition system and adapt to get more accurate results. Part of the data set is used to train the system, and the other part is used to test it. After analyzing the algorithms used in pattern recognition [2], an algorithm based on neural networks, namely a fast-forward neural network [3], was chosen to solve this problem. A recommendation engine will be implemented based on the content-based filtering method. This method was chosen because such a model does not require any third-party data, as the recommendations are specific to a particular user. The developed system will be implemented in the form of Android and iOS applications for smartphones, within which the client-server architecture will be laid. The database will be implemented through the MySQL environment. Ready-made Python libraries will be used to integrate the pattern recognition method into the system. Built-in libraries will be used to implement the method of pattern recognition. Crab is used to integrate the recommended engine. Crab is a flexible, fast recommendation mechanism for Python that integrates classic information filtering recommendation algorithms into various Python scientific packages, such as Numpy, Scipy, Matplotlib, and others. It is also known as Scikits.recommender, which aims to provide a rich set of components from which you can build an individual system of recommendations for a set of algorithms and use it in different contexts. Swift and XCode will be used to develop the iOS application. Android Studio will be used to develop the Android application. Android Studio is a new fully integrated development environment launched by Google for the Android operating system. MVC will be chosen as the architecture of the Android mobile application. Separation of roles by MVC is convenient because it is strategically advantageous in large projects with a rich graphical interface. It, so to speak, corresponds to how the developer sees the system. Allows you to well localize changes in these individual entities so that the probability of their simultaneous change is lower.

Description

Citation

Хавренко А. В. Рекомендаційна система впорядкування робочого простору з допомогою методів машинного навчання : кваліфікаційна робота на здобуття освітнього ступеня магістр за спеціальністю „8.124.00.01 — Системи і методи прийняття рішень“ / Анна Владиславівна Хавренко. — Львів, 2021. — 89 с.

Endorsement

Review

Supplemented By

Referenced By