Details
| Title | Построение рекомендательной системы викторин на основе алгоритма “Две башни”: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта» = Building a quiz recommendation system based on the ‘Two-Tower’ algorithm |
|---|---|
| Creators | Давыденко Никита Павлович |
| Scientific adviser | Гончаров Александр Викторович |
| Organization | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
| Imprint | Санкт-Петербург, 2026 |
| Collection | Выпускные квалификационные работы ; Общая коллекция |
| Subjects | рекомендательная система ; нейронная сеть ; two-tower модель ; викторины ; персонализация ; recommendation system ; neural network ; two-tower model ; quizzes ; personalization |
| Document type | Bachelor graduation qualification work |
| Language | Russian |
| Level of education | Bachelor |
| Speciality code (FGOS) | 09.03.04 |
| Speciality group (FGOS) | 090000 - Информатика и вычислительная техника |
| DOI | 10.18720/SPBPU/3/2026/vr/vr26-3982 |
| Rights | Доступ по паролю из сети Интернет (чтение, печать, копирование) |
| Additionally | New arrival |
| Record key | ru\spstu\vkr\42702 |
| Record create date | 8/21/2026 |
Allowed Actions
–
Action 'Read' will be available if you login or access site from another network
Action 'Download' will be available if you login or access site from another network
| Group | Anonymous |
|---|---|
| Network | Internet |
В работе решается задача разработки веб-ориентированной информационной системы для создания, публикации и прохождения викторин. Разработана персонализированная рекомендательная подсистема, подбирающая контент на основе характеристик пользователей и истории их взаимодействий с системой. Система построена на клиент-серверной архитектуре и включает набор серверных микросервисов, реляционную базу данных и рекомендательную подсистему. В качестве технологического стека использованы 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.
| Network | User group | Action |
|---|---|---|
| ILC SPbPU Local Network | All |
|
| Internet | Authorized users SPbPU |
|
| Internet | Anonymous |
|
- РЕФЕРАТ
- 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 Итоги тестирования
- ЗАКЛЮЧЕНИЕ
- СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
- ПРИЛОЖЕНИЕ