Building Chatbot Informational Model

DRUID employs a distinctive approach to structuring conversation context and integrating information from third-party systems, facilitated by robust data structures known as entities. These entities, designed as relational business objects, serve as the cognitive core of the chatbot. They not only shape the chatbot's understanding but also enable training of the Natural Language Processing (NLP) model with specific data from clients' systems, ensuring the chatbot converses fluently in the language of the company.

Entities encapsulate data in a structured manner, dynamically populated from user inputs, connected applications, or predefined values by the chatbot author. They provide a contextual framework for intents and conversation flows, featuring fields of various types, including relational connections between entities. For those new to chatbots, comprehensive terminology and concepts are covered in section Chatbot Concepts and Terminology.

Entities play a pivotal role within DRUID, serving various purposes such as:

  • Maintaining conversation context.
  • Incorporating dynamic fields within conversation flows.
  • Facilitating data transportation via integrations.
  • Mapping user input from expressions.
  • Automating document generation.

The collection of entities within the bot constitutes the Bot's Informational Model, which defines the structure and relationships crucial for effective conversational interactions. As an illustration, let's examine the Sales Order Informational Model:

An Entity Relationship Diagram (ERD) illustrates the relationships among entities, showcasing one-to-one or one-to-many connections denoted by crow's foot connectors.

Diagram

Description

crow's foot example

Zero or more
Example: A company may have zero or more business units.


One or more
Example: A sales order typically has one or more order lines.


One and only one
Example: Each sales order is linked to precisely one customer..

Zero or one
Example: A postal address may be associated with at most one country or region.

The connectors in the ERD also specify which fields are used as the lookup fields between entities. For example, the Customer field in the SalesOrder entity is a lookup of the Record ID (RecID) field in the Customer entity. The lookup is not on the CustomerID field.

The interpretation of the model in the ERD provided above is as follows:

  • Each element within the ERD represents a specific relationship or attribute:

  • Each sales order correlates to exactly one customer.

  • Customers may have multiple sales orders or none at all.

  • Sales orders consist of multiple order lines.

  • Each order line corresponds to a single sales order.

  • Each order line item pertains to one product, which can be featured across various orders.

In the DRUID AI Platform, entities are classified into::

  • System entities – Predefined entities supplied by the system.
  • Custom entities – Entities tailored to specific bot requirements.

With entities at the core, DRUID empowers chatbots to comprehend and interact seamlessly within diverse contexts, ensuring enriched user experiences.