Telegram-бот для поиска релевантных тем на StackOverflow. Основной функционал:
- отвечает на вопросы, связанные с разработкой, выдавая наиболее релевантные темы на StackOverflow. Обучен на поиск по следующим языкам программирования:
- C#
- C++
- Java
- JavaScript
- PHP
- Python
- R
- Ruby
- Swift
- Visual Basic
- симулирует режим chit-chat на свободные темы.
- ChatterBot;
- nltk;
- numpy;
- pandas;
- requests;
- scikit-learn.
Установка библиотек:
$ pip install -r requirements.txt
- dialogue_manager.py - класс для создания диалогового менеджера;
- main_bot.py - класс, реализующий функциональность бота;
- utils.py - вспомогательные утилиты;
- StackOverflow Assistant.ipynb - ноутбук для обучения модели классификации интентов и тегов.
- Распаковать обученные embedding'и:
$ tar xvf word_embeddings.tar.xz
-
Выполнить ноутбук StackOverflow Assistant.ipynb и сериализовать получившиеся модели
-
В Telegram начать беседу с @BotFather, написав /newbot. Указать название и имя пользователя для нового бота и получить токен
-
Запустить бота, указав полученный токен:
$ python3 main_bot.py --token=YOUR_TOKEN
@shkarin_stackoverflow_bot
Бот запущен на виртуальной машине Amazon EC2 (временно выключен).