Work
07 NLP · Semantic FAQ Chatbot

UniBot

A desktop GUI chatbot exploring how sentence embeddings and semantic similarity can answer common university questions without needing exact keyword matches.

Role

Group Project Contributor

Type

University AI Course Group Project

Status

Completed Academic Prototype

Primary Stack

Python · PySide6 · Sentence Transformers

Academic Context

A generic university FAQ, not a live scrape

Built as a group project for a university Artificial Intelligence course: a manually curated knowledge base, not web-scraped or live university data.

The FAQ dataset covers admissions, entry tests, merit and eligibility, fees and scholarships, programs, grading and attendance, examinations and results, hostel, library, transport, faculty contact information, clubs and societies, health/counselling, and administrative documents: canonical questions, manually written variations, fixed answers and categories.

Semantic Matching

Meaning first, not exact wording

User Question
Sentence Embeddingall-MiniLM-L6-v2
Cosine Similarity
Best FAQ Match
Fixed Answer

Canonical questions and their variations are embedded with the pretrained all-MiniLM-L6-v2 model; the user's question is embedded the same way and compared by cosine similarity. Not RAG, not an LLM chatbot: a semantic lookup against fixed answers.

Fallback

Knowing when not to guess

If similarity falls below the configured threshold, UniBot asks the user to rephrase and suggests available topics rather than returning a weak match.

Interface

A desktop GUI, not a command line

Built with PySide6 as a standalone Windows desktop application.

UniBot desktop application window with a welcome message and a question input field
UniBot desktop app: welcome state
UniBot desktop application showing a user question and a matched answer about available university programs
Answering a program-related question

Dataset Analysis

Understanding the knowledge base itself

A separate analysis workflow explores the FAQ dataset: category distribution, TF-IDF keywords, similarity testing, and Matplotlib visualizations.

Stack

Technology

PythonPySide6Sentence Transformersall-MiniLM-L6-v2scikit-learnNumPyJSONMatplotlib

Built collaboratively as part of a university AI course group project.