This document is a working document elaborating on a system to employ artificial intelligence (AI) generally. The system is based on a layered network approach with an SDK for ingesting new data and an interface to interact and setup the AI. In the end, the goal of the system is to:

  1. Provide AI functionality such as decision-making and recommendations with contextual awareness.
  2. Easily add new knowledge to the system
  3. Inspect the system to verify its decisions (XAI, Explainable AI).

The system works on a number of premises

  1. Context is essential to make informed decisions.
  2. Humans are efficient at inference for complex structures; the computer amplifies and leverages that.

The problem space is characterized by the article on AI Tools and the following case studies.

Case Studies

A number of case studies show the potential for the technology.

Detect Identity Theft

Identity theft is becoming a larger and larger problem as we move more functionality to the web. To counter this, we employ various techniques to safeguard systems against identity theft and techniques to detect identity theft.

The domain is highly complex to make automated solutions to, as most features that decide whether a loan application is related to identity theft are not in the specific loan application itself. That is, we can not see from the requested amount, the name, or other features that we deal with fraud. We need to find features that decide fraud outside of the application itself.

Hence, a system to support the task of constantly being able to accommodate new threats should possess a number of properties:

  1. It should be easy for a human user to understand what the system knows.
  2. It should be easy for a human user to teach the system something new. This includes

    • providing new knowledge to the system from the surrounding world, ie. ingest data.
    • processing existing knowledge into abstracted knowledge like coupling related emails in Fraud and Networks.

In particular, the abstracted knowledge is the important part. It is here we encode what "fraud" means. Abstracted knowledge could be an entity called SuspiciousEmployment which is an entity that is related to a Person that is related to an Employment, where the employment is related to a company without any activities.

Lastly, the system should be able to uncover this abstracted knowledge whenever new data is provided. This both means when a batch of existing applications are put in and when just a single loan for a live check is provided. This is the service loan providers integrate against.

Users Documentation

The system connects the work between many different stakeholder: Domain experts, infrastructure specialists, etc. To make sure this is done properly we follow a run book defined in following chapters.

Part 0: Working with an AI Platform

  1. Interaction between developers and domain experts

Part 1: Analysts Book

  1. Exploring Data
  2. Writing Rules

Part 1: Developers Book

  1. Ingesting data
  2. Complex data abstractions

Technical Overview

The short version is that the system works by juxtaposing networks. These networks represents the real world, they are also known as knowledge graph, they can represent derivatives of the real world known as layers, or they can represent decisions, actions, etc.

This provides an AI platform as laid out in Explainable AI with Layered Networks.

Architecture

The system contains following components:

  1. Ingestors
  2. The AI engine
  3. Applications / services.

Ingestors take information from the surrounding world and makes it available to the system. The engine takes several files representing ingested data and integrates it and abstracts it. Lastly the applications and services make it available for actual use.

Ingestors - Creating the Knowledge Graph

Instead of creating one knowledge graph to rule them all, we create several knowledge graphs and maintain them individually. In order to have the highest data leverage it needs to be dead simple to ingest new data.

A knowledge graph has 2 components: a triple store and an ontology. The triple store has the actual information while the ontology is and abstract understanding of this data.

Application

The application layer considers the interaction with other systems. Currently we are developing an Explorer and an API layer for this.