An intelligent chatbot for ITER Bhubaneswar that provides precise, contextual answers about the college using semantic search and natural language understanding.
- Smart Query Understanding: Classifies user intent and extracts relevant context
- Precise Answers: Provides exact information without overwhelming details
- Course-Specific Responses: Automatically detects which course/branch you're asking about
- Semantic Search: Falls back to intelligent search when exact matches aren't found
- Multiple Interfaces: Both command-line and web interface available
- Self-Training: Learns from the JSON knowledge base to answer new questions
/home/gaurav/Projects/Warp-1/
βββ data_processor.py # JSON data processing and search indexing
βββ iter_chatbot.py # Main chatbot logic with contextual understanding
βββ app.py # Flask web interface
βββ templates/
β βββ index.html # Web UI template
βββ venv/ # Python virtual environment
βββ README.md # This file
-
Clone/Navigate to project directory:
cd /home/gaurav/Projects/Warp-1 -
Activate virtual environment:
source venv/bin/activate -
Dependencies are already installed:
- scikit-learn (for TF-IDF and cosine similarity)
- numpy (for numerical computations)
- flask (for web interface)
- Other standard libraries
# Activate environment
source venv/bin/activate
# Run chatbot
python iter_chatbot.py# Activate environment
source venv/bin/activate
# Start web server
python app.pyThen open http://localhost:5000 in your browser.
# Test the data processing module
python data_processor.py- Loads JSON knowledge base
- Recursively extracts all searchable text
- Creates TF-IDF vectors for semantic search
- Provides specific info retrieval methods
- Query Classification: Identifies intent (fees, placements, admissions, etc.)
- Course Extraction: Detects which course/branch is being asked about
- Context-Aware Responses: Provides precise answers based on detected intent
- Fallback Search: Uses semantic search when specific rules don't match
- Exact Matches: "What is attendance requirement?" β "75% attendance is required"
- Course-Specific: "CSE fees" β "CSE fees: βΉ137,500 per semester"
- Complex Queries: Handles multiple intents in one question
- Fallback: Semantic search for unmatched queries
| Query | Response |
|---|---|
| "What is the attendance requirement?" | "75% attendance is required" |
| "CSE fees per semester" | "CSE fees: βΉ137,500 per semester" |
| "Average placement package" | "Average CTC: βΉ5-9 LPA for engineering overall" |
| "AI and ML course details" | "B.Tech AI & ML: 4-year program. Cutting-edge AI, machine learning, data science curriculum." |
| "Which companies visit for placements?" | "Top recruiters include Amazon, Microsoft, TCS, Wipro, Infosys..." |
The chatbot automatically understands:
- Fees queries: fee, cost, tuition, price
- Placement queries: placement, job, package, salary, ctc
- Admission queries: admission, entrance, eligibility, apply
- Course queries: course, program, degree, branch
- Facility queries: hostel, campus, lab, library, sports
Recognizes course mentions:
- CSE, Computer Science β CSE details
- AI, ML, Data Science β AI/ML program info
- ECE, Electronics β ECE program info
- And many more...
- Maintains conversation history
- Provides concise, relevant answers
- Avoids information overload
- Update the JSON knowledge base at
/home/gaurav/Downloads/iter_bhubaneswar_knowledge.json - The chatbot will automatically index new information
- Add specific response patterns in
get_specific_info()method if needed
- Update
context_keywordsdictionary initer_chatbot.py - Add handling logic in
_handle_single_intent()method - Test with relevant queries
- Adjust TF-IDF parameters in
data_processor.py - Modify similarity thresholds
- Add preprocessing rules for better text matching
- Responsive Design: Works on desktop and mobile
- Real-time Chat: Instant responses
- Example Queries: Click-to-try common questions
- Modern UI: Clean, professional interface
- Error Handling: Graceful error messages
- Search Engine: TF-IDF with cosine similarity
- Text Processing: Recursive JSON traversal
- Query Understanding: Pattern matching + semantic search
- Response Generation: Rule-based + retrieval hybrid
- Web Framework: Flask
- Frontend: Pure HTML/CSS/JavaScript
- Precise Answers: No information overload - just what you asked for
- Context Aware: Understands what course/topic you're interested in
- Natural Language: Ask questions naturally, no specific format required
- Fast Response: Instant answers with efficient search
- Always Learning: Automatically incorporates new information from JSON updates
- Add more sophisticated NLP models
- Implement conversation memory
- Add voice interface
- Create admin panel for knowledge base management
- Add analytics and usage tracking
- Multi-language support
This project is created for ITER Bhubaneswar and is intended for educational and informational purposes.
Contact: For questions about this chatbot, you can ask it directly! π
The chatbot knows about:
- Course fees and details
- Placement statistics
- Admission procedures
- Campus facilities
- Contact information
- And much more about ITER Bhubaneswar!