Chatbot Structure - YooEunseok/Graduation_Project_GARVIS GitHub Wiki

Term

First, let me explain two basic terms used in chatbots.

  • Intent: Speaker's Intention
  • Entity: Components of a sentence

For example, in the sentence 'Give me cheese pizza', the intent is 'pizza order', and the entity is 'cheese pizza'.


Intent

We generate the intents according to main features.

Intents related to the schedule:

  • Schedule modification and deletion
  • Assignment completion and modification
  • class cancellation and make-up class.

Intents related to the team project:

  • Schedule request

Intents related to the mail function:

  • Sending mail

*The pictures below are the composition of the entities used in this project.

Within each intent, more than 20 sentences were trained as follows.


Structure

We tried to express the intents by function in a tree format

  • Schedule Modification and Deletion
  • Class Cancellation and Make-up class
  • Assignment Completion and Modification
  • Team project Scheduling and Mail Sending

Entity

- System Entity

Let me explain the main entities of the chatbot. First, values related to the schedule, such as date and time, used system entities provided by Dialogflow. When a user says a date or time in a natural language form, it converts it to a certain date or time form.

- Custom Entity

Custom entities that users can create themselves include a Schedule title, Assignment title, Subject title, etc. When a user enters a schedule, assignment, subject, etc., each input value is sent to the Firebase function in real time. Through this, we have implemented it so that model can learn the entity whenever there is a user's input, rather than learning all the values in advance.