Детальная информация
| Название | Построение рекомендательной системы викторин на основе алгоритма “Две башни”: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта» = Building a quiz recommendation system based on the ‘Two-Tower’ algorithm |
|---|---|
| Авторы | Давыденко Никита Павлович |
| Научный руководитель | Гончаров Александр Викторович |
| Организация | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
| Выходные сведения | Санкт-Петербург, 2026 |
| Коллекция | Выпускные квалификационные работы ; Общая коллекция |
| Тематика | рекомендательная система ; нейронная сеть ; two-tower модель ; викторины ; персонализация ; recommendation system ; neural network ; two-tower model ; quizzes ; personalization |
| Тип документа | Выпускная квалификационная работа бакалавра |
| Язык | Русский |
| Уровень высшего образования | Бакалавриат |
| Код специальности ФГОС | 09.03.04 |
| Группа специальностей ФГОС | 090000 - Информатика и вычислительная техника |
| DOI | 10.18720/SPBPU/3/2026/vr/vr26-3982 |
| Права доступа | Доступ по паролю из сети Интернет (чтение, печать, копирование) |
| Дополнительно | Новинка |
| Ключ записи | ru\spstu\vkr\42702 |
| Дата создания записи | 21.08.2026 |
Разрешенные действия
–
Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
Действие 'Загрузить' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
| Группа | Анонимные пользователи |
|---|---|
| Сеть | Интернет |
В работе решается задача разработки веб-ориентированной информационной системы для создания, публикации и прохождения викторин. Разработана персонализированная рекомендательная подсистема, подбирающая контент на основе характеристик пользователей и истории их взаимодействий с системой. Система построена на клиент-серверной архитектуре и включает набор серверных микросервисов, реляционную базу данных и рекомендательную подсистему. В качестве технологического стека использованы Spring Boot, PyTorch, PostgreSQL, RabbitMQ. Реализованы регистрация пользователей, создание и редактирование викторин, прохождение тестов, хранение истории взаимодействий и формирование персональных рекомендаций. Алгоритмическое ядро подсистемы — двухбашенная нейронная сеть (Two-Tower Model). Пользователи и викторины представлены раздельными эмбеддинг-моделями; их актуализация выполняется фоновым воркером, обрабатывающим изменения данных в режиме, близком к реальному времени. Тестирование охватило серверные модули, рекомендательную систему и сервис генерации эмбеддингов; реализовано более 30 модульных тестов. Экспериментальная оценка подтвердила работоспособность модели и корректность выявления предпочтений пользователей.
This thesis addresses the task of developing a web-based information system for creating, publishing, and taking quizzes. A personalized recommendation subsystem has been developed that selects content based on user characteristics and their interaction history with the system. The system is built on a client-server architecture and includes a set of server microservices, a relational database, and a recommendation subsystem. The technology stack includes Spring Boot, PyTorch, PostgreSQL, and RabbitMQ. User registration, quiz creation and editing, test-taking, interaction history storage, and the generation of personalized recommendations have been implemented. The algorithmic core of the subsystem is a two-tower neural network (Two-Tower Model). Users and quizzes are represented by separate embedding models; these are updated by a background worker that processes data changes in near real time. Testing covered server modules, the recommendation system, and the embedding generation service; over 30 modular tests were conducted. Experimental evaluation confirmed the model’s functionality and the accuracy of identifying user preferences.
| Место доступа | Группа пользователей | Действие |
|---|---|---|
| Локальная сеть ИБК СПбПУ | Все |
|
| Интернет | Авторизованные пользователи СПбПУ |
|
| Интернет | Анонимные пользователи |
|
- РЕФЕРАТ
- ABSTRACT
- СОДЕРЖАНИЕ
- СПИСОК ИЛЛЮСТРАЦИЙ
- СПИСОК ТАБЛИЦ
- ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ
- ВВЕДЕНИЕ
- ГЛАВА 1. ОБОСНОВАНИЕ АКТУАЛЬНОСТИ РАБОТЫ
- ГЛАВА 2. ОБЗОР ПРЕДМЕТНОЙ ОБЛАСТИ
- 2.1 Общий анализ существующих решений
- 2.2 Функциональные требования к системе
- 2.3 Анализ целевой функциональности
- 2.4 Вывод по конкурентному анализу
- ГЛАВА 3. АРХИТЕКТУРА ПРИЛОЖЕНИЯ
- 3.1 Архитектура модели
- 3.2 Архитектура системы сбора данных
- 3.3 Архитектура рекомендательной системы
- ГЛАВА 4. ИНСТРУМЕНТЫ РЕАЛИЗАЦИИ
- 4.1 Язык программирования
- 4.2 Фреймворк для API
- 4.3 Фреймворк для нейронной сети
- 4.4 СУБД
- 4.5 Брокер сообщений
- 4.6 Контейнеризация
- ГЛАВА 5. РЕАЛИЗАЦИЯ СИСТЕМЫ
- 5.1 Система сбора данных
- 5.2 Нейронная модель рекомендаций
- 5.2.1 Структура обучающего набора данных
- 5.2.2 Построение модели
- 5.3 Система формирования эмбеддингов пользователей и викторин
- ГЛАВА 6. ТЕСТИРОВАНИЕ СИСТЕМЫ
- 6.1 Тестирование системы сбора данных
- 6.2 Тестирование модель рекомендаций
- 6.3 Тестирование воркера и векторного поиска
- 6.4 Итоги тестирования
- ЗАКЛЮЧЕНИЕ
- СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
- ПРИЛОЖЕНИЕ