Рекомендаційна система впорядкування робочого простору з допомогою методів машинного навчання
Автор: Хавренко Анна Владиславівна
Кваліфікаційний рівень: магістр
Спеціальність: Системи і методи прийняття рішень
Інститут: Інститут комп'ютерних наук та інформаційних технологій
Форма навчання: денна
Навчальний рік: 2021-2022 н.р.
Мова захисту: українська
Анотація: Третя декада 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 зручний тому, що стратегічно вигідно у великих проектах з насиченим графічним інтерфейсом. Воно, скажімо так, відповідає тому, як бачить систему розробник. Дозволяє добре локалізувати зміни в цих окремих сутностях так, що ймовірність їхньої одночасної зміни нижче. Ключові слова – рекомендаційна система, машинне навчання. метод розпізнавання образів, нейронна мережа, робочий простір. Перелік використаних літературних джерел. 1. Understanding Pattern Recognition in Machine Learning. Section.io : веб-сайт. URL: https://www.section.io/engineering-education/understanding-pattern-recognition-in-machine-learning/ (дата звернення: 16.11.2021) 2. What is Pattern Recognition? A Gentle Introduction. Viso.ai : веб-сайт. URL: https://viso.ai/deep-learning/pattern-recognition/ (дата звернення: 16.11.2021) 3. An Overview of Neural Approach on Pattern Recognition. Analyticsvidhya.com : веб-сайт. URL: https://www.analyticsvidhya.com/blog/2020/12/an-overview-of-neural-approach-on-pattern-recognition/ (дата звернення: 16.11.2021)