Как отмечает ассистент кафедры бизнес-информатики Финансового университета Сергеев Степан Алексеевич, для реализации решения с интеграцией отзывов в рекламную платформу необходимо реализовать сервис отбора положительных отзывов для рекламных целей – отдельный микросервис, который выбирает отзывы с высокой оценкой тональности и достаточной длиной, и передает их в рекламную платформу (Python + Celery (для периодического запуска) и Redis в качестве очереди).
Также в рамках создания решения реализуется ряд интерфейсов для покупателей (визуальные индикаторы тональности, рейтинги, категории отзывов и предупреждения о подозрительных отзывах) и продавцов (в рамках личных кабинетов, где, обычно, отображается расширенная аналитика — графики, фильтры, рекомендации).
Для эффективной работы команды используется Agile-подход с реализацией через Scrum-фреймворк. Основными элементы планирования и функционирования команды являются следующие параметры: двухнедельные спринты или цикл для планирования задач, оценки и ретроспективы; Story Points для оценки сложности и трудоемкости задачи; Daily Stand-up не менее 15 минут каждое утро для синхронизации команды; Sprint Planning — старт спринта, распределение задач, установка целей; Sprint Review — демонстрация функционала в конце спринта; Sprint Retro — анализ проблем в работе, предложения по улучшениям.
В качестве инструмента работы с беклогом и задачами выступает Jira. Задачи в ней группируются по Epic'ам: "Обработка отзывов", "Интерфейс аналитики", "Рекомендации для продавцов" и т.д. Каждая задача содержит описание, критерии готовности (Definition of Done), теги, Story Points, ссылки на макеты и API.
Эксперт кафедры бизнес-информатики Финансового университета, кандидат экономических наук, доцент Зубов Ярослав Олегович отмечает, что в рамках работы по разработке и интеграции решения необходимо сформировать SLA или соглашение об уровне сервиса. В SLA включается:
Доступность сервиса, включающая в себя уровень минимальной доступности (99,5% в месяц); плановое время на обслуживание и обновления не более 4 часов в месяц, а также уведомление пользователей за 24 часа до работ.
Время отклика на запрос API, согласно параметрам, среднее время отклика должно быть менее 500 миллисекунд для операций оценки тональности, выделения сущностей и суммаризации текста; пиковое время отклика при этом не более 1 секунды при нагрузке до 1000 запросов в минуту.
Время обработки пользовательских запросов в интерфейсе: веб-интерфейс/личный кабинет: загрузка страниц и представлени аналитики — до 2 секунд.
Производительность: обработка минимум 500 000 отзывов в сутки без деградации качества обслуживания; масштабируемость через автоскейлинг при превышении нагрузки.
Точность моделей машинного обучения: классификация тональности текста: не менее 85% F1-score; выделение именованных сущностей: не менее 80% точности (precision); обнаружение фрода: ROC-AUC не ниже 0,85.
Безопасность и конфиденциальность данных: шифрование данных на этапе передачи и хранения (TLS 1.2+, AES-256); соблюдение требований GDPR для персональных данных пользователей.
Время восстановления после сбоев (RTO/RPO):RTO (Recovery Time Objective) до 1 часа; RPO (Recovery Point Objective): до 15 минут.
По итогам разработки необходимо провести приемку и тестирование работы сервиса. Приемка и тестирование осуществляется по нескольким направлениям.
В рамках функционального тестирования проверяется корректность работы ключевых функций сервиса (сбор отзывов, анализ тональности, выделение именованных сущностей и т.д.). Для оценки качества моделей машинного обучения будет проведена валидация на тестовых наборах данных с использованием метрик Precision, Recall, F1-score и ROC-AUC. A/B- тестирования также позволяет протестировать не только продуктовый эффект, но техническую работоспособность сервиса.
В рамках нагрузочного тестирования проверяется устойчивость работы сервиса под высокой нагрузкой, а интеграционное тестирование позволяет проверить корректность работы интеграций с основными сервисами платформы.
Также важно провести тестирование безопасности, включающее проверку на уязвимости и соответствие требованиям по защите персональных данных и тестирование пользовательского интерфейса и удобства использования.
Приемка происходит на демо с менеджерами продукта и юнит лидами. Таким образом, критериями успешной приемки являются достижение всех установленных показателей SLA, положительный эффект на продуктовые метрики, отсутствие критических и высоких ошибок после финального тестирования.