You are on page 1of 4

CLAiborne – Chat-based Learning Assistant

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

Some of the main features of the application:


- Authentication service to ensure the identity of the users and provide more context to the
chatbot (only students)
- Understand the type of the query provided by the user
- Be able to send links to specific resources based on the context (teacher’s website, faculty
schedule, exam’s data, grading system)
- Refer to a specific lecture or resource based on the query of the user (lecture’s, online
articles, diagrams, teacher’s contact data etc)
- Send grades and attendances to students
- Provide learning motivation to students and and support pleasant interactions
- Store messages and send reports to teachers in order to be able to properly adjust the bots
(supervised machine learning)
- Ability for teachers to add resources and train the bots
- Support partial natural language processing
- Ability for students to report issues with the bot
- Add and send files to the teacher

5. Design Diagrams
6. Motivation

The project uses the following technologies and topics:


- Web application
- Restful API
- NLP (Basic - Intermediate)
- Machine Learning (Basic - Intermediate)

Complexity Level: Medium - High


Creativity Level: Medium (especially the way the technlogies are combined to create the app +
the way the chatbot makes decisions)
Performance Level: Unknown

You might also like