Documentation index

DARL is a language and set of tools for reasoning in the presence of uncertainty. The principle business of AI and ML is handling uncertainty. The most common aspect of uncertainty that drives the use of AI and ML is model uncertainty; the fact that for a particular problem there may be no defined analytical method for solving it. Alternatively, the true state of a system may be unknown or known only within bounds.

DARL has got two tools for handling such problems: heuristics and machine learning.

Where humans already have a set of heuristics to model an uncertain system, DARL can encapsulate them as a set of Fuzzy Logic rules. Where only example data is available, DARL can machine learn relationships.

Uniquely, DARL uses the same representation for knowledge derived from either method.

The DARL tool-set includes a Bot creation service that uses NLP and heuristics to understand requests and offer advice, a Fuzzy logic expert system like inference engine that can be used with incomplete data, and that can create it's own sequence of minimal questions to create an inference, and a set of Machine learning algorithms that create results that are usable in the former engines.

The DARL engines are accessible via the API described in these pages so you can develop intelligent solutions making use of them.


Using the site

Executive summary

Overview of bot functionality

Tutorial on setting up a bot

Example of creating a ruleset


Using the GraphQL API

Usage examples


The DARL language

DARL editor

The DARL editor

Models and rulesets

Select the model or ruleset to edit


Edit the darl fragment environment

Model tree

Edit the model tree

Model test

Test the model in conversation

Ruleset edit

Edit a ruleset

Ruleset run

Run a ruleset

Ruleset documents

Add a document to format results

Machine learning

Machine learn a ruleset

System simulation in time

How to create a simulation


Set connection data


Add markup to responses


Extra functionality for Bots

Text sequences

The grammar of text sequences

Editing and versioning

Saving changes and how to support multiple versions of bots


Resources to help you use DARL


About accounts

Bot model caching

Updating models

Creating reports in DARL

Text replacement and report generation

Knowledge graphs (Thinkbase)

Using our knowledge graph technology