Stack Overflow Assistant Telegram Chatbot, based on templates from Potapenko et al, HSE, Russia.
Simply go to t.me/prannerta100_bot and start chatting!
The bot has been hosted on a Google Cloud VM, so you might face some server-side latency.
Here is a sample conversation with the bot:
nltk
chatterbot
corpussklearn
Here is how the bot works:
- read the message, use a classifier to classify its intent as
non-programming
orprogramming
- If
non-programming
, then invoke a pre-trained, off-the-shelf chatbot (here I usedRon Obvious
from thechatterbot
module) - If
programming
, then show the relevant Stack Overflow link that matches the question description the best
- The first classifier (
programming
versusnon-programming
) was trained by mixing 2 datasets:
tagged_posts.tsv
— StackOverflow posts, tagged with one programming language (positive samples).dialogues.tsv
— dialogue phrases from movie subtitles (negative samples).
- The second classifier (given a programming question, find the relevant Stack Overflow link) works by finding the closest StarSpace embedding.
- The most relevant file here is nlp-chatbot/nlp-chatbot-main/dialogue_manager.py. The entered question is transformed into a TF-IDF feature vector. A model is trained to identify the most relevant question and tag.
Send feedback to prannerta100@gmail.com.