ОГЛЯД ІСНУЮЧИХ РІШЕНЬ ДЛЯ АНАЛІЗУ ДАНИХ В ІНТЕЛЕКТУАЛЬНИХ ІНФОРМАЦІЙНИХ СИСТЕМАХ
16.04.2025 19:01
[1. Information systems and technologies]
Author: Коростинський Богдан Степанович, бакалавр, Національний університет «Львівська політехніка», м. Львів; Кісь Ярослав Петрович, кандидат технічних наук, доцент, Національний університет «Львівська політехніка», м. Львів
Багато існуючих методів аналізу даних базуються на припущенні щодо чистоти, однорідності та повноти оброблювальних даних, що створює певні обмеження при роботі з певними видами інформації. У цій роботі проводиться огляд існуючих рішень, які застосовуються для інформаційного аналізу даних, та надає детальний аналіз можливостей, які вони відкривають для обробки складних та різноманітних даних, а також їхні переваги та недоліки.
Ключові слова: видобування даних, штучний інтелект, попередня обробка даних, якість даних, аналіз даних.
Вступ
У сучасному світі обсяг даних, що генеруються щодня, неухильно зростає. У різних сферах діяльності фіксуються тепер не лише фінансові показники, а й численні інші дані, що відображають різноманітні події, досягнення чи показники діяльності – від кількості виконаних завдань до обсягів наданих послуг чи інших важливих параметрів. Інформація, яка є критично важливою або потрібною на постійній основі, зазвичай зберігається в зручних для доступу та обробки форматах. Однак часто інформація, з якою необхідно працювати одноразово або кілька разів, виявляється неповною, фрагментованою, поданою у незручному вигляді або в неефективних структурах, що ускладнює її використання та аналіз.
Ця стаття зосереджена на огляді та аналізі наявних підходів, які можуть бути використані для подолання різноманітних труднощів, що виникають під час роботи з даними такого типу.
Основна частина
Ефективна робота штучного інтелекту вимагає наявності значних обсягів даних і потужних обчислювальних ресурсів. Значна частина зусиль у цій сфері спрямована на пошук нових та вдосконалених методів моделювання, однак однією з найбільш трудомістких задач для практиків залишається збирання та очищення даних. У деяких випадках дослідження показують, що понад 80% часу, витраченого на розробку моделей, припадає саме на етап підготовки даних. [1-2]
Очистка даних
Серед різних етапів підготовки даних центральне місце займає процес очищення, що полягає у виявленні та усуненні помилок, пропусків або суперечностей у даних. Якісне виконання цього кроку істотно полегшує подальшу роботу з нестандартною інформацією, яка у своєму початковому вигляді непридатна для автоматизованого аналізу. Успішна очистка дозволяє звести складну задачу обробки сирих та фрагментованих даних до значно простішої — обробки впорядкованої та узгодженої інформації, схожої за структурою на умовно ідеальні централізовані набори.
У цьому розділі розглянемо два взаємопов’язані напрямки: застосування традиційних підходів до очистки даних у контексті машинного навчання, а також використання самих методів машинного навчання для автоматизації та покращення процесів очистки даних.
Проблема очищення даних визнається як однією з ключових як у сфері аналізу даних, так і в галузі машинного навчання. Водночас не існує універсального інструменту або методу, який можна було б ефективно застосувати в кожному випадку — кожен набір даних має свої особливості, структуру та джерела помилок. З цієї причини процес очищення часто передбачає попередній розвідувальний аналіз, під час якого аналітик створює візуальні репрезентації даних, досліджує закономірності, тренди та потенційні аномалії.
Один із поширених підходів передбачає використання підмножини даних у попередньо навчених моделях машинного навчання з метою виявлення помилок або невідповідностей ще до повноцінного навчання. На основі отриманих результатів аналітик може здійснити ручне очищення або застосувати спеціалізовані інструменти для автоматизованої обробки, після чого модель повторно тренується на вже очищених і підготовлених даних. Такий ітеративний підхід забезпечує покращення якості моделей і підвищує достовірність результатів аналізу. [3]
Протягом років було розроблено безліч інструментів для спрощення процесу очищення даних та інтеграції очищення з тренуванням моделей машинного навчання. Наприклад, ActiveClean [4] використовує метод градієнтного спуску, що дозволяє очищати невеликі партії даних у моделях з опуклими функціями втрат, таких як лінійна регресія та моделі змішування. BoostClean [5] застосовує статистичний бустінг для корекції помилок, зокрема для випадків, коли значення атрибута знаходиться поза межами його допустимого діапазону. Однак основними недоліками цих підходів є необхідність повторних зусиль для очищення даних при налаштуванні різних моделей машинного навчання та труднощі порівняння результатів різних моделей.
Інша група інструментів очищення даних використовує методи машинного навчання для виправлення анотацій та помилок у даних. Scared [6], GDR [7] та HoloClean [8] застосовують різні моделі машинного навчання для оцінки ймовірностей помилок та пропонують їх виправлення. Крім того, активно використовуються методи активного навчання [9], щоб заохотити користувачів маркувати дані, що можуть бути помилковими, та отримувати своєчасний зворотний зв'язок, що допомагає запобігти поширенню помилок у подальшому аналізі.
Проте, незважаючи на наявність цих інструментів, процес підготовки даних для моделей машинного навчання досі не можна вважати спрощеним. Система очищення даних залишається децентралізованою, і кожен інструмент спеціалізується лише на вузькому колі завдань виявлення та виправлення помилок, що вимагає комплексного підходу та ретельного налаштування для кожного конкретного випадку.
Інструмент DataAssist застосовує більш узагальнений підхід до очищення даних. Окрім стандартних та універсальних перевірок на цілісність інформації, таких як виявлення відсутніх значень, аномальних значень (outliers), дублікатів і несхідностей, DataAssist також використовує методи для передбачення ключових атрибутів даних. Це здійснюється за допомогою асоціативного аналізу, який дозволяє виявити зв'язки між змінними, що можуть бути важливими для подальшого аналізу.
Крім того, DataAssist використовує тренувальні дані з платформи Kaggle, де користувачі виконують аналіз та очищення даних. Це дозволяє системі отримувати інформацію про те, як різні аналітики взаємодіють із даними, яку стратегію очищення застосовують і на яких аспектах фокусується увага. Зібрана інформація допомагає системі прогнозувати найбільш важливі змінні для подальшої роботи з даними, що підвищує ефективність очищення та аналізу.
Ця функція є особливо корисною для побудови повністю автоматизованої системи. Визначення ключових параметрів значно спрощує процес централізації організації даних. Якщо інформація розподілена на кілька фрагментів, містить повторення або несхожості, або є складною для обробки, як, наприклад, адреси, назви чи інші структурно складні дані, визначення основних змінних створює можливості для ефективнішого використання цієї інформації в інтеграції з LLM агентами або чатботами для її подальшої обробки.
Генеративний ШІ як інструмент аналітики
Із розвитком великих мовних моделей зростає і їхній потенціал у сфері аналізу даних. Вони здатні не лише інтерпретувати текстову інформацію, а й ефективно працювати з табличними структурами, виявляючи закономірності та формулюючи аналітичні висновки. Завдяки цим можливостям LLM-моделі стали потужним інструментом, що значною мірою змінює підходи до роботи з даними. У сучасних дослідженнях дедалі більше уваги приділяється розробці агентів, що працюють на основі мовних моделей — так званих data agents, які здатні автоматизувати виконання аналітичних завдань за допомогою природної мови. Прикладом таких рішень є ChatGPT-Advanced Data Analysis (ChatGPT-ADA) та ChatGLM-Data Analysis (ChatGLM-DA), що демонструють нові можливості генеративного ШІ у сфері обробки даних. [10]
Поява таких агентів аналізу даних пропонує потенційне вирішення раніше згаданих проблем, оскільки знижує бар’єр входу для користувачів, які не мають знань у програмуванні або статистиці. Завдяки інтуїтивному інтерфейсу, що використовує можливості LLM-моделей, користувачі можуть формулювати запити природною мовою, а агенти з аналізу даних інтерпретують ці інструкції, отримують відповідні дані та самостійно застосовують відповідні аналітичні методи.
Однією з ключових вимог до мовної моделі при її застосуванні для аналітики є ефективне управління пам’яттю. [11] Це забезпечує здатність моделі не лише реагувати на поточні запити, а й враховувати контекст попередньої взаємодії — зокрема, як історію звернень користувача, так і власні попередні відповіді. Для реалізації такої функціональності було запропоновано концепцію Self-Controlled Memory.
Цей підхід структурує систему на три основні компоненти:
LLM-агент — ядро системи, що виконує основну логіку обробки;
Memory stream — сховище, в якому зберігається історія пам’яті агента;
Memory controller — модуль, що відповідає за оновлення пам’яті, її очищення та управління довгостроковим і короткостроковим контекстом.
Кожне нове звернення до агента проходить обробку з урахуванням обох типів пам’яті — короткострокової, яка використовується для поточної сесії, та довгострокової, яка зберігає важливі знання або ключові висновки з минулих сесій. Контролер пам’яті вирішує, яка інформація заслуговує на збереження у довгостроковій пам’яті, а яка має бути утилізована, забезпечуючи тим самим релевантність і ефективність роботи системи, уникаючи накопичення зайвих даних.
Ще одним важливим аспектом ефективної роботи LLM агента є коректне використання інструментів, які дозволяють розширити його можливості за межі стандартної мовної обробки. Інструменти стають необхідними для вирішення завдань, які не під силу базовій LLM через обмеження в обчислювальних можливостях або через необхідність виконання специфічних операцій. Іноді моделі не можуть правильно виконувати навіть базові арифметичні операції, якщо запит містить декілька одиниць виміру або складні математичні вирази. Наприклад, Chat GPT-4o mini може не змогти точно вивести результат операції, що містить різні одиниці виміру, оскільки модель не здатна коректно обробити перерахунки або врахувати всі параметри запиту, покладаючись лише на текстову інформацію.
Рисунок 1: Приклад некоректного обчислення завдання, яке містить різні одиниці виміру. Правильною відповіддю є 233d with 110c remaining.
Для таких випадків використовується спеціалізовані інструменти, які виконують необхідні обчислення або обробку даних. Це можуть бути математичні калькулятори, інструменти для конвертації одиниць виміру, або навіть доступ до зовнішніх баз даних для отримання точних даних. Застосування таких інструментів дозволяє LLM агенту надавати більш точні та коректні відповіді, забезпечуючи додаткову гнучкість та здатність до вирішення складніших завдань.
Висновок
У цій роботі було здійснено огляд сучасних рішень для аналізу даних в інтелектуальних інформаційних системах, зокрема в умовах неповних, фрагментованих або нестандартизованих даних. Розглянуто різні підходи до попередньої обробки інформації, включаючи як традиційні методи очищення, так і інструменти, що використовують методи машинного навчання. Окрему увагу приділено можливостям застосування великих мовних моделей, які відкривають нові шляхи для автоматизації аналітичних процесів.
Аналіз показав, що попри відсутність універсального рішення для всіх випадків, поєднання різних технік та інструментів — зокрема систем з контрольованою пам’яттю, використанням зовнішніх інструментів і можливістю взаємодії через природну мову — створює передумови для побудови гнучких та ефективних систем роботи з даними. Такий підхід дозволяє значно зменшити трудомісткість попередньої обробки та покращити якість аналітичних результатів у реальних умовах.
Список використаної літератури
1.Big Data in Corporate Accounting and Data Analysis: Opportunities and Challenges. URL: https://www.researchgate.net/publication/382553846_The_Use_of_Big_Data_in_Corpo
rate_Accounting_and_Data_Analysis_Opportunities_and_Challenges
2. How can Big Data contribute to improve the financial performance of companies? URL: https://www.redalyc.org/journal/4237/423770224008/
3. Pierre-Olivier Côté, Amin Nikanjam, Nafisa Ahmed, Dmytro Humeniuk, Foutse Khomh. Data Cleaning and Machine Learning: A Systematic Literature Review URL: https://arxiv.org/abs/2310.01765
4. S. Krishnan, J. Wang, E. Wu, M. J. Franklin and K. Goldberg, “ActiveClean: Interactive Data Cleaning While Learning,” arXiv preprint arXiv:1601.03797, 2016.
5. S. Krishnan, M. J., K. Goldberg and E. Wu, “BoostClean: Automated Error Detection and Repair for Machine Learning,” arXiv preprint arXiv:1711.01299, 2017.
6. M. Yakout, L. Berti-Equille and A. K. Elmagarmid, “Don’t be SCAREd: Use SCalable Automatic REpairing with Maximal Likelihood and Bounded Changes,” in Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data, 2013, pp. 193–204.
7. M. Yakout, A. K. Elmagarmid, J. Neville, M. Ouzzani and I. F. Ilyas, “Guided Data Repair,” in Proceedings of the VLDB Endowment, vol. 4, no. 5, pp. 290–301, 2011.
8. T. Rekatsinas, X. Chu, I. F. Ilyas and C. Re, “Holoclean: Holistic data repairs with probabilistic inference,” in Proceedings of the VLDB Endowment, vol. 10, no. 11, pp. 1190–1201, 2017.
9. S. Sarawagi and A. Bhamidipaty, “Interactive deduplication using active learning,” in Proceedings of the Eighth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 2002, pp. 269–278.
10. Maojun Sun, Ruijian Han, Binyan Jiang, Houduo Qi, Defeng Sun, Yancheng Yuan, Jian Huang. A Survey on Large Language Model-based Agents for Statistics and Data Science. URL: https://arxiv.org/abs/2412.14222
11. Bing Wang, Xinnian Liang, Jian Yang, Hui Huang, Shuangzhi Wu, Peihao Wu, Lu Lu, Zejun Ma, Zhoujun Li. SCM: Enhancing Large Language Model with Self-Controlled Memory Framework URL: https://arxiv.org/abs/2304.13343