🏗 Архитектура AI-модулей
Архитектурно AI-функционал выделен в отдельный слой
AI Core, который взаимодействует с базой данных для получения исторических данных и с бизнес-логикой для отдачи предиктов.
Технологический стек AI Core
- Язык: Python 3.11+ (единый стек с бэкендом).
- Обработка данных: Pandas, NumPy — для векторизации данных и манипуляций с датафреймами логов посещаемости.
- Классическое ML: scikit-learn — базовые модели классификации, регрессии и кластеризации.
- NLP и Матчинг строк: RapidFuzz или python-Levenshtein — для нечеткого сравнения данных студентов.
- Сериализация моделей: pickle/joblib — для сохранения обученных моделей и их быстрой загрузки в память приложения.
🛠 Реализованные AI-компоненты (Deep Dive)1. Детекция аномалий в регистрациях (Anomaly Detection System)
Задача: В реальном времени выявлять подозрительные отметки (например, передача карты другому лицу).
Как это работает: Мы используем комбинацию эвристических правил и методов обучения без учителя (Unsupervised Learning).
- Пайплайн данных: На вход поступает новая запись о регистрации (ID студента, время, ID терминала). Система подтягивает N последних записей этого студента.
- Feature Engineering: Вычисляются временные дельты между регистрациями и географическое "расстояние" между терминалами.
- Модель: Используется алгоритм Isolation Forest (Изолирующий лес) или статистический анализ на основе Z-оценки. Модель обучается на "нормальном" поведении студентов. Если новая точка данных слишком далеко отклоняется от кластера нормального поведения (например, регистрация в двух удаленных корпусах с интервалом в 5 минут), она помечается как аномалия.
- Результат: В БД запись получает флаг requires_verification, а в интерфейсе преподавателя она подсвечивается.
2. Предиктивная аналитика пропусков (Predictive Analytics)
Задача: Заблаговременно выявлять студентов "группы риска", которые могут перестать посещать занятия.
Как это работает: Это задача бинарной классификации (Supervised Learning).
- Данные для обучения: Исторические логи посещаемости за предыдущие семестры, размеченные данными о том, кто в итоге был отчислен или имел проблемы с успеваемостью.
- Feature Engineering: Ключевой этап. Создаются фичи: "процент посещаемости за последние 2 недели", "динамика пропусков (участились ли?)", "пропуски конкретных предметов", "день недели с наибольшим числом пропусков".
- Модель: Используются ансамблевые методы, такие как Random Forest или градиентный бустинг (XGBoost/LightGBM), так как они хорошо работают с табличными данными и устойчивы к переобучению.
- Результат: Каждому студенту присваивается risk_score (вероятность проблем с посещаемостью). На дашборде куратора формируется топ студентов с высоким риском.
3. Интеллектуальная дедупликация (Smart Deduplication)
Задача: При импорте больших CSV/XML баз найти дублирующиеся записи студентов, даже если в именах есть опечатки (например, "Иванов Иван" и "Иванов Ивон").
Как это работает: Используются методы нечеткого сравнения строк (Fuzzy String Matching).
- Процесс: При импорте новой записи она сравнивается с существующей базой.
- Алгоритмы: Применяется расстояние Левенштейна для вычисления схожести строк, а также фонетические алгоритмы (вроде Metaphone для поддержки кириллицы), чтобы находить созвучные фамилии.
- Результат: Если коэффициент схожести выше порога (например, >90%), система предлагает объединить записи администратору.