Group of students brainstorming ideas for their final year project
Brainstorming for the perfect final year project idea

Educational Chatbot (Rasa NLU-Rasa Core)

Project Domain / Category

Web Application, Artificial Intelligence, Machine Learning

Abstract / Introduction

In online educational system, students need answers related to their queries about
programming courses urgently. So it is required to have a chatbot in each course that could
answer queries related to course material from its intelligence. For such type of chatbot,
there must be an automated system behind it, that works like a brain of teacher and give
correct answers. Python is a high level programming language, that is taught as introductory
courses of programming at undergraduate level of Computer Science and Information
Technology universities. Students of this projects are required to build this chatbot as a web
application that could answers students queries related to their course theoretically. Coding
examples are not required at this level.

Functional Requirements:

  1. Chatbot Interface:
    Students will build a GUI( Graphical User Interface) which shows interface like given in
    screen shot here.
    Answers to queries should be correct according to the fundamentals and its accuracy must
    be mentioned.
    Rasa framework is to use Rasa NLU (Natural language understanding), Rasa Core and other
    features of Rasa for classification, training and testing model.
    Visit this website for complete documentation and designing and logic’s for Rasa models..
    https://rasa.com/docs/rasa/
  2. User Role
    User will write his/her query in chatbot about C++ concepts theoretically and will get reply
    from chatbot in this chatbot.
  3. Chatbot Role
    Chatbot will get the message from input box and builds Rasa NLU and Rasa Core models
    and pretrain these models to pick correct reply for this input and then perform test to
    know accuracy of models. Then answer the query of user by getting correct answer from
    back-end Rasa models.
  4. Building of Chatbot
    a) Training
    Take 70% of data for training.
    Write complete code in python from scratch.
    Write all the methods used for training like tokenizer, entity extractor,
    classifier etc and train the model.Also include required libraries to use
    those methods.
    Check accuracy of the model.
    b) Testing
    Take 30% of remaining data for testing of models.
    Check accuracy of the model.
    c) Execution
    Build front end of chatbot using any tool of GUI and attach it with back-end. User
    will ask questions and chatbot will reply answers using this front end.
    Supporting material:
  5. Take data for training and testing only from mentioned chapters of given book
    (download from given link)
    Chapter No. Title…………………………………..……………………Page No
    Chapter 1. Introduction to Programming……………………………………. 69
    Chapter 1. Introduction to Programming……………………………………. 69
    Chapter 2. Primitive Types and Variables …………………………………. 111
    Chapter 3. Operators and Expressions ……………………………………… 139
    Chapter 4. Console Input and Output ………………………………………. 165
    Chapter 5. Conditional Statements ………………………………………….. 195
    Chapter 6. Loops ………………………………………………………………….. 211
    Chapter 7. Arrays …………………………………………………………………. 235
    Chapter 8. Numeral Systems ………………………………………………….. 265
    Chapter 9. Methods ………………………………………………………………. 293
    Chapter 11. Creating and Using Objects …………………………………… 385
    Chapter 12. Exception Handling ……………………………………………… 415
    Chapter 13. Strings and Text Processing ………………………………….. 457
    Chapter 14. Defining Classes ………………………………………………….. 499
    Chapter 16. Linear Data Structures …………………………………………. 641
    Chapter 20. Object-Oriented Programming Principles ………………… 807
    Chapter 21. High-Quality Programming Code ……………………………. 853
  6. Build Chatbot Using Rasa in Python
    Watch above given video to understand how Rasa chatbot is configured, work and
    execute.Which algorithms are used for tokenization , featurization, entity extraction,
    classification and further processing.
  7. Helping Book to understand Python, Chatbot, Machine Learning, Artificial Intelligence
    concepts

Tools

Rasa Frame work(Rasa NLU, Rasa Core)
Tensor flow library
Python language,
HMTL, CSS and any styling tools for GUI