УДК 004.89

Разработка интеллектуального чат-бота на основе TF-IDF для автоматизации ответов на типовые вопросы студентов

Development of an Intelligent Chatbot Based on TF-IDF for Automating Responses to Typical Student Questions
Авагян Г.В. — Обучающийся, РГСУ, Москва
Чивичева М.Г. — Обучающийся, РГСУ, Москва
Усмонов М.Т. — Обучающийся, РГСУ, Москва
Макаров А.В. — Доцент, к.т.н., Кафедра информационных технологий, ИИ и общественно-социальных технологий цифрового общества
Аннотация
В статье представлена разработка локального Telegram-бота для автоматизации ответов на типовые вопросы студентов Российского государственного социального университета. Система использует методы TF-IDF и косинусного сходства с лемматизацией на основе библиотеки pymorphy3. База знаний включает 210 вопросно-ответных пар по 15 тематическим категориям. Лучший поисковый движок достигает точности 87,9%.
Ключевые слова: чат-бот, TF-IDF, лемматизация, косинусное сходство, обработка естественного языка, информационный поиск, Telegram, РГСУ, база знаний, автоматизация ответов.

Введение

Преподаватели и сотрудники приёмных комиссий университетов ежедневно получают сотни однотипных вопросов от студентов и абитуриентов: о сроках поступления, стоимости обучения, порядке заселения в общежитие, правилах получения стипендий и порядке работы электронных сервисов. По данным неформальных опросов, проведённых среди сотрудников РГСУ, до 70% входящих запросов в мессенджерах и на электронную почту являются повторяющимися и допускают стандартизированный ответ.

Существующие универсальные решения на основе больших языковых моделей (ChatGPT, YandexGPT и аналоги) обладают рядом существенных недостатков: они требуют постоянного доступа к сети Интернет, не имеют актуальных сведений об институциональной специфике конкретного университета и склонны к генерации правдоподобных, но недостоверных ответов («галлюцинации»).

Цель настоящей работы — разработка локальной информационно-поисковой системы на базе Telegram-бота, способной без подключения к внешним API автоматически отвечать на типовые вопросы студентов РГСУ.

Методология

В основе системы лежит классический метод векторного пространства с использованием меры TF-IDF. Вес термина t в документе d из корпуса D вычисляется по формуле:

TF-IDF(t, d, D) = TF(t, d) × IDF(t, D)
TF(t, d) = (число вхождений t в d) / (число слов в d)
IDF(t, D) = log(|D| / |{dD : td}|)

Для измерения близости векторов применяется косинусная мера сходства:

cos(θ) = (A · B) / (‖A‖ × ‖B‖) ∈ [0; 1]

Если наилучший показатель сходства не превышает порогового значения 0,15, система отказывается от ответа. Перед векторизацией все тексты проходят лингвистическую предобработку: приведение к нижнему регистру, удаление стоп-слов и лемматизацию с помощью pymorphy3. В движке «TF-IDF + синонимы» дополнительно применяется словарь замен студенческого сленга (40+ пар: «стипуха» → «стипендия», «общага» → «общежитие» и т.д.).

Архитектура системы

Система состоит из четырёх модулей Python 3.11: bot.py — Telegram-обработчики и inline-навигация; engines.py — три поисковых движка; nlp_utils.py — лемматизация, стоп-слова, словарь синонимов; eval_compare.py — сравнительное тестирование.

Система развёртывается как изолированный Docker-контейнер одной командой docker compose up -d --build. Выбор поискового движка осуществляется через переменную окружения ENGINE_TYPE без изменения исходного кода.

База знаний

Корпус вопросов и ответов сформирован на основе официального сайта РГСУ (rgsu.net) и включает 210 Q&A-пар, распределённых по 15 тематическим категориям. Наиболее обширными являются разделы «Поступление» (56 вопросов) и «Учебный процесс» (50 вопросов). База хранится в формате JSON и допускает пополнение без изменения программного кода.

Оценка качества

Для сравнительного анализа трёх поисковых движков сформирован тестовый набор из 33 запросов: перефразированные вопросы, запросы со студенческим сленгом, запросы с опечатками и перестановками слов, а также три заведомо нерелевантных запроса (ожидаемый отказ).

Движок Accuracy Precision Recall F1-score
TF-IDF базовый 78,8% 80,0% 78,8% 78,8%
TF-IDF + синонимы 87,9% 88,9% 87,9% 87,7%
TF-IDF Advanced 84,8% 86,4% 84,8% 84,3%

Движок TF-IDF + синонимы показал наилучшие результаты по всем метрикам. Все три движка корректно отказались от ответа на три нерелевантных запроса, что подтверждает адекватность порогового механизма.

Заключение

Разработан и протестирован Telegram-бот-помощник РГСУ, реализующий локальный информационный поиск на основе методов TF-IDF и косинусного сходства с морфологической предобработкой. Лучший поисковый движок достигает точности 87,9% на тестовой выборке из 33 запросов. Система не требует подключения к внешним сервисам, развёртывается посредством Docker и обеспечивает полную конфиденциальность данных.

Перспективы развития: замена TF-IDF на нейросетевые представления текста (Sentence-Transformers, multilingual-e5-base) для повышения точности до ~95%; интеграция с порталом my.rgsu.net для получения актуальных данных в реальном времени.

Список источников

  1. Salton G., Buckley C. Term-weighting approaches in automatic text retrieval // Information Processing & Management. 1988. Vol. 24(5). P. 513–523.
  2. Ji Z. et al. Survey of Hallucination in Natural Language Generation // ACM Computing Surveys. 2023. Vol. 55(12). Article 248.
  3. Manning C.D., Raghavan P., Schütze H. Introduction to Information Retrieval. Cambridge University Press, 2008. 544 p.
  4. Sokolova M., Lapalme G. A systematic analysis of performance measures for classification tasks // Information Processing & Management. 2009. Vol. 45(4). P. 427–437.
  5. Документация scikit-learn: TfidfVectorizer. — URL: scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.TfidfVectorizer.html (дата обращения: 01.04.2026).