Модуль подготовки модели данных
Цель
Автоматическое формирование связей между загруженными таблицами в модели данных: определение ключевых полей и типов соединений между ними в зависимости от их данных.
Концепт для интерфейса
В диспетчере данных в разделе Модель данных необходимо добавить 3 управляющих кнопки:
- Сформировать модель – отправляет на бэкенд набор данных и метаданных по столбцам таблиц в итоговой модели: названия столбцов, их типы данных, количество уникальных значений, поля в сортировке. Вызывается модель ИИ для формирования связей между таблицами. Отображает в интерфейсе результаты работы модели.
- Применить – применяет предложенные связи, соединяет таблицы в единую модель данных.
- Отменить – удаляет все предложенные связи, возвращает модель данных в состояние, предшествующее использованию ИИ.
Кнопки "Сохранить" и "Удалить" появляются только тогда, когда нажата кнопка "Сформировать модель" и исчезают после нажатия одной из них.
Любой переход в другой раздел вызывает системное сообщение, оповещающее пользователя о том, что все изменения будут отменены.
Сформированная ИИ модель представляет собой набор полей и их соединений в области предварительного просмотра; пунктирные линии между полями таблиц в области модели.
Сформированная, но не примененная модель позволяет пользователю вносить изменения в созданные связи, удалять их и добавлять новые.
Концепт для ML
Модель получает из интерфейса набор данных и метаданных по столбцам таблиц в итоговой модели: названия столбцов, их типы данных, количество уникальных значений, поля в сортировке. Используя эту информацию, а также некоторые вычисляемые характеристики, необходимо определить поля для создания связей между предложенными таблицами, тип связи (вид Join) и условия соединения (On). Для этого можно выполнить:
- Анализ уникальности полей
- Частотный анализ
- Оценку названий полей
- Определение полей в сортировке и фильтрации
- Поиск совпадающих значений
- Методы машинного обучения
Кроме того, при формировании связей существует ряд ограничений. Так, не должно быть создано модели, в которой существует хотя бы одно "кольцо" – замкнутая связь между 3 и более таблицами.
В качестве выхода модели необходимо предоставить пары полей в таблицах, тип Join (Inner, Left, Right или Full) и условие соединения On (=, >, < и т.д.).