Этот проект представляет собой простого чат-бота Telegram, который может отвечать на текстовые сообщения пользователей, определяя их намерения с помощью методов машинного обучения.
-
Понимание намерений пользователей:
- Бот определяет намерение пользователя по текстовому сообщению с использованием алгоритма, основанного на расстоянии Левенштейна.
-
Ответы на основе намерений:
- Если бот распознает намерение пользователя, он выбирает случайный ответ из заранее подготовленного набора ответов для этого намерения.
-
Использование машинного обучения:
- В проекте используются две модели машинного обучения для определения намерений:
- Логистическая регрессия с использованием CountVectorizer для обработки текста.
- Линейный SVM с TfidfVectorizer для анализа текста с учетом весов слов.
- В проекте используются две модели машинного обучения для определения намерений:
-
Приветствие и помощь:
- Бот реагирует на команды
/start
и/help
, предлагая пользователю соответствующие ответы.
- Бот реагирует на команды
big_bot_config.json
: Файл конфигурации с намерениями и примерами текстовых запросов.tg_bot.py
: Основной скрипт бота, который обрабатывает входящие сообщения, определяет намерения и отправляет ответы.tfidf_vectorizer.model
,lin_svc.model
: Сериализованные модели машинного обучения для использования в определении намерений.README.md
: Этот файл, содержащий описание проекта.
Чтобы запустить бота:
-
Запустите скрипт
bot.py
:python bot.py
-
Бот будет доступен для общения в Telegram.
Просто отправьте текстовое сообщение боту в Telegram, и он попытается определить ваше намерение и дать соответствующий ответ.
nltk
: для обработки текста и расчета расстояния Левенштейна.sklearn
: для обучения и использования моделей машинного обучения.telegram
: для работы с Telegram API.