15–18 yrs Project 1: School FAQ Chatbot
Problem Statement:
How can students instantly get accurate answers to common school-life questions without waiting for staff?
Objective:
Build a conversational agent that handles 15–20 intents (e.g. “What’s today’s lunch menu?” “How do I join the debate club?”) via a web or messaging interface.
Research Topics:
- Intent detection & slot filling
- Dialogflow vs. Rasa comparison
- Handling out-of-scope queries gracefully
- Basic NLU evaluation metrics (accuracy, intent-error rate)
Methodology:
- Design: List 15–20 intents and sample utterances.
- Implementation: Use Dialogflow (no-code) or Rasa (light code) to define intents, entities, and fulfillment.
- Integration: Embed the bot in a simple HTML/JavaScript page or connect via Telegram.
- Testing: Run through 50 test queries, log mis-classifications, and refine.
Phase-wise Plan (20 hrs):
- Day 1–2 (4 hrs): Identify intents & collect 5–10 utterances each
- Day 3–4 (4 hrs): Configure NLU pipeline; train initial model
- Day 5–6 (4 hrs): Build fulfillment logic (static answers or small JSON DB)
- Day 7–8 (4 hrs): Front-end integration & end-to-end testing
- Day 9 (2 hrs): Create user guide & maintenance notes
- Day 10 (2 hrs): Final demo & feedback session
Expected Outcome:
A live chatbot users can interact with—accurately answering ≥85 % of scripted queries—and a short project report.
15–18 yrs Project 2: Neural Style Art Generator
Problem Statement:
Can we let anyone transform their photos into artworks in the style of famous painters, entirely in the browser?
Objective:
Implement neural style transfer so users can upload one “content” and one “style” image and receive a fused, stylized result.
Research Topics:
- Content vs. style loss in Gatys et al.’s algorithm
- Pre-trained VGG-19 feature extraction
- Balancing iterative optimization (content/style weight)
- Web deployment via TensorFlow.js or a Flask back end + React front end
Methodology:
- Core Algorithm: Port the PyTorch/TensorFlow tutorial to your environment.
- Optimization: Experiment with different content/style weights to get pleasing outputs.
- Deployment: Expose it as a simple web app—either all in Python/Flask or using TF.js to run in the browser.
- UI Polish: Allow users to adjust style intensity via a slider.
Phase-wise Plan (20 hrs):
- Day 1–2 (4 hrs): Reproduce tutorial code on sample images
- Day 3–4 (4 hrs): Tweak weights & hyperparameters for 3 distinct style images
- Day 5–6 (4 hrs): Build web UI + back-end inference endpoint
- Day 7–8 (4 hrs): Integrate slider controls & test on user images
- Day 9 (2 hrs): Write usage instructions & showcase gallery
- Day 10 (2 hrs): Final presentation of user-generated artworks
Expected Outcome:
A demo site where peers can upload two images and download a stylized result, plus a “gallery” of at least three before/after examples.
UG Project 1: Movie Recommendation System
Problem Statement:
How can we suggest films to users based on past ratings, minimizing “cold start” issues?
Objective:
Build a collaborative-filtering recommender (e.g. matrix factorization via Surprise or Implicit) using MovieLens 100K, then wrap it in a Flask API.
Research Topics:
- Collaborative vs. content-based filtering
- SVD matrix factorization fundamentals
- Evaluation (RMSE, MAE, precision@k)
- Simple UX: collecting initial user ratings
Methodology:
- Data Prep: Load MovieLens 100K; split into train/validation.
- Modeling: Train at least two algorithms (e.g. SVD, KNN) and compare.
- API: Create an endpoint where a user POSTs 5 ratings and GETs 5 recommendations.
- Report: Analyze error metrics and discuss cold-start mitigation (e.g. hybrid).
Phase-wise Plan (20 hrs):
- Day 1–2 (4 hrs): Exploratory data analysis & train/test split
- Day 3–4 (4 hrs): Train & evaluate two algorithms; log metrics
- Day 5–6 (4 hrs): Build Flask API for inference
- Day 7–8 (4 hrs): Write simple HTML/JS front end or CURL examples
- Day 9 (2 hrs): Document endpoints & usage examples
- Day 10 (2 hrs): Present recommendations & metric comparisons
Expected Outcome:
A runnable service returning personalized movie lists with ≥0.9 RMSE improvement over baseline, plus a short comparative analysis.
UG Project 2: Transformer-Based Text Summarizer
Problem Statement:
How can busy readers quickly digest long articles by reading automatically generated concise summaries?
Objective:
Fine-tune a pre-trained T5 or BART model on a news-summarization dataset (CNN/DailyMail) and serve it via a REST API.
Research Topics:
- Encoder–decoder transformer architecture
- Fine-tuning with Hugging Face’s Trainer API
- ROUGE evaluation metrics
- Resource considerations for inference (batch size, beam search)
Methodology:
- Dataset: Download the CNN/DailyMail subset.
- Preprocessing: Tokenize with Hugging Face tokenizer, truncate/segment long inputs.
- Fine-Tuning: Set up Trainer with early stopping; track ROUGE-1/2/L.
- API: Build a Flask endpoint for sending raw text and receiving the summary.
Phase-wise Plan (20 hrs):
- Day 1–2 (4 hrs): Data cleanup & tokenization pipeline
- Day 3–4 (4 hrs): Configure & run fine-tuning; monitor validation ROUGE
- Day 5–6 (4 hrs): Test inference on 10 unseen articles; record ROUGE
- Day 7–8 (4 hrs): Develop REST API endpoint + usage script
- Day 9 (2 hrs): Prepare examples & usage documentation
- Day 10 (2 hrs): Final demo: live summarization of news links
Expected Outcome:
A service achieving ≥35 ROUGE-1 on validation, plus an interactive demo where users submit URLs or text and get concise summaries.