Skip to content

Freelance / Case study

AI Engineer (Freelance)

Student Q&A Assistant

AI / ML
Backend
Full Stack
Student Q&A Assistant

78% of queries resolved without human intervention

Classical NLP: TF-IDF, Word2Vec, FastText

Naive Bayes & KNN intent models

React chat UI on a Flask + Python API

Tech Stack

Python
Flask
React
NLTK
Scikit-learn

Description

The Student Q&A Assistant was built to take the load off student administrative enquiries — the repeated questions that consume staff time and leave students waiting.

The pipeline is deliberately classical rather than trendy: text cleaning and tokenisation with NLTK, feature extraction using TF-IDF alongside Word2Vec and FastText embeddings, and intent classification with Naive Bayes and KNN models.

The result is measurable: 78% of queries were resolved autonomously, without a human in the loop, while low-confidence questions still route to a person rather than guessing.

The product wraps this in a Flask API with a React chat interface, so the model stays a service and the interface stays free to evolve.

  • Built an AI chatbot with Flask and React for student administrative queries.
  • Achieved 78% autonomous resolution without human intervention.
  • Implemented NLP techniques with NLTK: TF-IDF, Word2Vec and FastText.
  • Trained and compared Naive Bayes and KNN classification models.
  • Designed a confidence-aware escalation path so uncertain answers reach a human.
  • Kept the model behind a Flask API so the interface and model can evolve independently.

Page Info

Conversation flow

Students ask in natural language. The assistant classifies intent, retrieves the relevant administrative answer and only escalates to a person when confidence drops.

/projects/student-qa/cover.svg

NLP pipeline

Text is cleaned, tokenised and vectorised with TF-IDF, Word2Vec and FastText embeddings, then classified with Naive Bayes and KNN to pick the right answer.

/projects/student-qa/pipeline.svg