A chatbot capable of answering basic frequenly asked CSE advising questions.
- Run Python server inside the backend directory
python3 ./backend/server.py
- Install dependencies and run Angular frontend inside the frontend
cd frontend
npm install
ng serve ("npm run ng serve" for Win)
- Run Elastic Search version 7.12.1. as database
docker run --name elasticsearch -d -p 9200:9200 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.12.1
- Read user input
- Classify input into one of the supportd categories using NLPC
- Extract target entity from the input using spaCy
- Search for corresponding desired information in the knowledge base
- Format and output the information
- GREETING
- GOODBYE
- PREREQ
- SIMILAR-COURSES (e.g., What courses cover the similar topics to CSE 3521)
- RELATED-COURSES (e.g., What are the AI related courses)
- RELATED-COURSES-AI
- RELATED-COURSES-DATABASE
- RELATED-COURSES-PYTHON
- TOPICS (e.g., What is CSEXXXX about)
- WHO-TEACH
- TEACH-WHAT
- AVAILABLE-SEC
- NOT-SUPPORTED
Note: Data format must match the definition by NLPC.
- COURSE (model in test_spaCy.py)
- INSTRUCTOR (use pretrained model)
Note: Data format must match that in train_ner_course.py.