The basic building block of Decision modelling in Viabl.ai Platform is a Decision Task or Knowledge Object. The Outcome of a Knowledge Object/Decision Task can be of type List, Boolean, Numeric, Date or Text. The most common being of type List which has a number of predefined outcomes or decisions. List outcomes can be mutually exclusive (for example deciding whether to Accept or Reject a loan application) or non-mutually exclusive, such as selecting a number of potential faults from a list of faults.
A decision task will also have a number of Attributes or Questions that determine which outcome is selected, based on some decision rules or logic. The decision logic in Viabl.ai Platform can be expressed in a variety of knowledge representations such as Decision Trees, Decision Tables, Decision Rules, etc.), etc. The choice of Knowledge Representation should be made based on whichever one is easier (more natural) for capturing and maintaining the logic from source (i.e. the subject matter expert or the documented policy and procedures, etc) Note that in some cases the logic is best represented by a Low-code script, in which case the "Calculated Attribute" knowledge representation should be used (for example if the logic is based on choosing the highest ranking value based on calculated scores from array of values).
For more guidance of choosing the best knowledge representations see section on Methodology
As an example, consider the Decision task below which is represented by a Decision Tree. The task involves deciding whether to ‘Pass’ or ‘Reject’ a claim for business expenses. The outcomes are Pass or Reject and the attributes are Grade of the employee, the Department in which the employee works and the star Rating of the Hotel that the employee stayed at. The decision logic is expressed as a self explanatory Decision Tree.
This decision task can alternatively be expressed as a Decision Table as shown below:
Most real-life decision models involve a number of linked decision tasks. In the Expenses Decision Task, the attribute Hotel_Rating can itself be converted into a sub Decision Task with the outcomes ‘5 Star’, ‘4 Star’ and ‘3 Star’. The attributes driving the outcomes of the sub-decision task can be the cost of the Hotel room and whether or not the Hotel is located in London as expressed in the decision tree below:
Decisions models can potentially contain a large hierarchy of linked decision tasks. This structured approach to decision modelling simplifies the process of authoring, capturing and maintaining the decision making knowledge. The Viabl.ai Platform uses a Decision Map to show the linking hierarchy of decisions and the attributes driving each decision. See example below of the Decision Map to assess authorising the cost of a hotel room in a claim for business expenses.
The modelling of Decisions in Viabl.ai Platform as a hierarchy of sub decisions is very similar to the representation of structured Decisions in the industry DMN (Decision Management Notation) standard. In fact Viabl.ai Platform supports the export of decision knowledge in DMN format.
Most real life Decision Automation applications involve the automation of a number of Decisions and require a Decision flow that intelligently orchestrates the intelligent sequencing of decision tasks. The example decision flow below involves executing the Decision task to assess an expenses claim for a hotel room and if the outcome is Pass then it calls a script to calculate the claims for extras as a percentage of Hotel room before calling a final decision task to assess if the extras cost can be authorised.
The Decision Flow above highlights another powerful feature of Viabl.ai Platform; the ability to embed a script anywhere in the decision flow. The script shown below is embedded as a scripting block but alternatively the script can also be encapsulated in a reusable script object in the Objects Catalogue which can be inserted in one or more Decision flows.
Scripting in the Viabl.ai Platform can be used for calculations, text manipulation and integration with enterprise applications and cognitive services. The Viabl.ai Platform supports two scripting formats. The easy to use XpertScript format with the powerful expression builder that can be used by non coders to easily incorporate calculations in Decision flows and the very flexible JavaScript format that can be used by coders to build complex calculations and calls to other enterprise applications.
Finally, the example Decision logic for assessing the Extras cost is shown below:
The Decision Model can easily be deployed as a transactional Decision Automation Service that can be called by other enterprise applications which can pass the attributes data to the Service and receive the outcome decisions back.
Alternatively, the Decision Model can easily be deployed as a virtual agent or intelligent chatbot advising users on the authorisation of expenses claims. Such a virtual-agent/chatbot can be accessible through any digital channel using the Viabl.ai Platform web, mobile or chat user interfaces. The attributes appearing in the decision logic (flows, trees, tables) will be automatically promoted for by the UI engine as they are encountered in the logic which holds the conversation context / thread. However, Viabl.ai Platform also allows developers an additional degree of control on the user interface using Decision flows as shown in the example below:
The various messages shown in the Decision Flows will be displayed by the User Interface engine is addition to the normal inference dialog with the user.
The Decision Flows can also be used to embed styled data capture forms. Such forms will be displayed to the user as forms when using a web or mobile user interface and will be automatically broken down into sequential input in chat mode.
The above capabilities allows very complex chatbots/virtual-agents to be built.
Viabl.ai Platform supports advanced Decision Modelling capabilities that are not available in any other Decision Automation tool. Below is a summary of such advanced capabilities the details of which are expanded upon in other sections of this manual.