Skip to content

Latest commit

 

History

History

telegram_bot

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Чат-бот Telegram с использованием машинного обучения

Этот проект представляет собой простого чат-бота Telegram, который может отвечать на текстовые сообщения пользователей, определяя их намерения с помощью методов машинного обучения.

Функциональность

  1. Понимание намерений пользователей:

    • Бот определяет намерение пользователя по текстовому сообщению с использованием алгоритма, основанного на расстоянии Левенштейна.
  2. Ответы на основе намерений:

    • Если бот распознает намерение пользователя, он выбирает случайный ответ из заранее подготовленного набора ответов для этого намерения.
  3. Использование машинного обучения:

    • В проекте используются две модели машинного обучения для определения намерений:
      • Логистическая регрессия с использованием CountVectorizer для обработки текста.
      • Линейный SVM с TfidfVectorizer для анализа текста с учетом весов слов.
  4. Приветствие и помощь:

    • Бот реагирует на команды /start и /help, предлагая пользователю соответствующие ответы.

Структура проекта

  • big_bot_config.json: Файл конфигурации с намерениями и примерами текстовых запросов.
  • tg_bot.py: Основной скрипт бота, который обрабатывает входящие сообщения, определяет намерения и отправляет ответы.
  • tfidf_vectorizer.model, lin_svc.model: Сериализованные модели машинного обучения для использования в определении намерений.
  • README.md: Этот файл, содержащий описание проекта.

Установка и запуск

Чтобы запустить бота:

  1. Запустите скрипт bot.py:

    python bot.py
    
  2. Бот будет доступен для общения в Telegram.

Использование

Просто отправьте текстовое сообщение боту в Telegram, и он попытается определить ваше намерение и дать соответствующий ответ.

Зависимости

  • nltk: для обработки текста и расчета расстояния Левенштейна.
  • sklearn: для обучения и использования моделей машинного обучения.
  • telegram: для работы с Telegram API.