Education · Arabic NLP · 2025
ChatUB
Local Arabic academic assistant
Answers students’ Arabic questions from curated University of Bisha FAQ content, with retrieval and generation kept on a local machine.
- Role
- Project lead
- Status
- Graduation project
- Evidence
- Public repository
- Year
- 2025
Evidence
What a reviewer can check today — and what is not claimed.
- Status
- Graduation project at the University of Bisha — a working prototype, not deployed to students.
- Evidence
- Public repository on GitHub(opens in a new tab)
Source, architecture, setup steps and the documented limitations of the prototype.
- Interface screenshot in the README(opens in a new tab)
Captured from the committed chat interface — a real screenshot, not a mock-up.
- Not claimed
- No production deployment and no accuracy measurement are claimed.
- Stack
- Python
- Flask
- Sentence Transformers
- PyTorch
- NLTK
- Ollama
Context
Information Systems graduation project at the University of Bisha. Abdulelah led the team from the first idea to a working prototype.
The problem
Students look for academic rules — course withdrawal, apology deadlines, registration — that are spread across documents and offices, and answers can differ depending on who they ask. A generic chatbot does not know one university’s rules, and sending campus questions to a hosted model sends them off-site.
Constraints
- Arabic-first questions and answers
- University content and inference stay on a local machine
- Curated FAQ content, not the full body of regulations
- A graduation-project timeline and team
Solution
A Flask web app matches an incoming Arabic question to curated FAQ entries with multilingual sentence embeddings, then passes the closest entry to a locally served Ollama model, which writes a concise Arabic answer.
My responsibility
Project lead
- Defined the product scope and the problem it should solve
- Led the graduation team from concept to a working prototype
- Made the call to keep retrieval and generation local
- Shaped the assistant’s behaviour and how the FAQ knowledge is structured
Architecture & workflow
- 01 · Input
Arabic question
- 02 · Processing
Stop-word cleanup (NLTK)
- 03 · Intelligence
Embedding match against FAQs
- 04 · Output
Local answer via Ollama
How it works
- FAQ question–answer pairs are loaded from JSON files in the repository
- Arabic text is preprocessed and NLTK Arabic stop words are removed
- Multilingual Sentence Transformer embeddings select the nearest FAQ entry
- An Ollama model defined in a Modelfile generates the answer locally
- The latest question and answer are carried forward as light context
Decisions
Local-first, not cloud
Retrieval and generation run on the same machine, so university content and student questions never leave it. Privacy and institutional trust mattered more than the convenience of a hosted model.
Anchored to curated FAQs
Answers start from the closest curated question–answer pair instead of the model’s general knowledge. When nothing is close enough the model can still answer unguided — a limitation the repository documents openly.
Verified outcome
A working prototype: a web chat interface, a question endpoint, Arabic preprocessing and semantic FAQ matching that feeds a local model — readable and runnable from the public repository. It has not been deployed to students, and no answer-accuracy figure is claimed.
Limitations
- Grounding is not guaranteed: if no FAQ entry passes the similarity threshold, generation continues without reference context.
- There is no automated evaluation of answer accuracy or hallucination.
- The official university sources behind the FAQ data are not yet documented in the repository.
- Committed model artifacts make the repository heavy.
What would come next
- Build an Arabic test set and measure answer accuracy before any rollout
- Decline or hand over when no FAQ entry is close enough, instead of answering unguided
- Document the official source behind every FAQ entry
- Run a small pilot with students and academic advisers
The idea, sketched
Real innovation starts when technology respects context, privacy, and real human needs.
Related projects
- Security analytics · Digital services · 2025Absher Insight AIScores access events against explainable behavioural rules and surfaces unusual activity on an operations dashboard — built entirely on synthetic data.Hackathon prototypeRead the case study
- Computer vision · Crowd safety · 2026StadiumEstimates how many people are at each stadium gate from video, flags crowding early and recommends where to move staff.Working prototypeRead the case study
Working on something similar?
Tell me about the problem, or pick the CV that fits the role — either way you’ll get a direct reply.