Professional Documents
Culture Documents
Table of Content:
1. Short description of the application
2. Different variants of chatbots and implementation
3. The application stack
4. Main features of the application (at the moment)
5. Some design diagrams
6. Motivation behind the choice
1. Short Description
Claiborne is a “self learning” chatbot designed to assist students with their questions regarding
specific topics or subjects(e.g. Data structures, Operating Systems, Algorithms, Zoology,
Geography etc) and give access to available resources provided by teachers such as schedules,
grading system, lectures, assignments, diagrams, schemes, simple links, contact data and many
more. It can also provide guidelines and explanations for simple questions.
2. Possible Implementations
A chatbot can be implemented in many ways based on the different levels of artificial
intelligence used and the limitations associated with the systems used:
Two broad categories of chatbots are:
1. Rule-based - the bot answers questions based on some rules on which it is trained on and
usually coordinates the conversation with the user (not very good for complex queries)
2. Self learning - the bot us some forms of Machine Learning in order to handle more
complex queries. Usually there are 2 subcategories of self learning bots: Retrieval Based
and Generative.
2.1.* Retrieval based - uses heuristics to select a response from a library or predefined
responses. Basically an evolved version of rule-based bots that can understand context and
choose proper answers. (the most used)
2.2. Generative - can generate new answers or adapt answers that they already know
based on the statements of the user (extensive use of NLP).
The main steps of all the implementations are quite similar:
1. Preprocess the input message from the user and turn it in something that the AI can
understand
2. Classify the type of sentence (question, statement, other stuff) (Supervised Machine
Learning)
3. Choose or identify the answer or the resources required by the user (Supervised Machine
Learning)
4. Formulate the final answer and send it to the user.
3. Application Stack
The chatbot is implemented as a RESTful api used in a web application for students.
The web application uses the following stack:
1. React.js, Sass, Material Design - for a responsive frontend that can be used on mobile
devices
2. Django (python framework) with Django Rest Framework - Django automates a lot of
processes and makes the development faster. Also, it supports all the python libraries
(including NLTK, TensorFlow, Scikit and other machine learning)
3. Postgresql Database - easy to integrate with Django
4. Main Features
5. Design Diagrams
6. Motivation