XpertRule® Knowledge Builder

XpertRule Knowledge Builder®

for the Capture and Deployment of Knowledge

About Knowledge Builder
Applications of Knowledge Builder
Knowledge Representation in Knowledge Builder
Capturing Knowledge in Knowledge Builder
Deploying the Captured Knowledge
Quick Tour
Advantages of Knowledge Builder over XpertRule KBS
Operating Requirements


About Knowledge Builder

Knowledge Builder is an enterprise strength environment for developing and deploying knowledge-based applications and components. Knowledge-based applications are software components which incorporate rules, expertise, know-how, procedures, policies and regulations which can collectively be called "Business Rules". The automation of business rules is the engine that powers the "knowledge economy" and "eBusiness"; this requires flexible and scaleable tools for the capture and deployment of business rules over the web. Therefore Knowledge Builder provides a key enabling technology for eBusiness.

Knowledge Builder is unique in the breadth of its integrated knowledge technologies, its comprehensive development environment and its scalable deployment options; which makes it ideally suited to a wide range of knowledge-based applications.

XpertRule Knowledge Builder extends the graphical knowledge representation paradigm, established since 1988, by its predecessor XpertRule KBS, to new levels of scalability and flexibility.

Almost all of the software development environments targeted at developing knowledge solutions tend to specialise in addressing a certain class of applications. For example, trouble shooting in help desks. Knowledge Builder is unique in being an environment that can automate any knowledge based function within your organization from front office to back office.

Making Recommendations & Advice

This class of application provides recommendations and advice on the most suitable products, services and courses of actions. Such applications can be used to help customers select the best products and services based on their requirements. These applications can also use the customer profile to present the customer with a personalised recommendation service and to maximise the opportunity for cross selling. Recommendation and Advice systems can also be used internally within an organization to share knowledge and to enforce best practice.

Troubleshooting, in Customer Support & Help Desk applications

Capturing troubleshooting and diagnostic knowledge allows an organization to effectively support internal users (such as call centre agents) and customers. Using knowledge based customer support will deliver better customer service and higher productivity. Better customer service results from the responsiveness and quality of your support/helpdesk. Better productivity results from the customer support application automatically processing some queries and also from empowering the support agents to handle more queries accurately and consistently.

Risk & Condition Assessment & Monitoring

These are knowledge applications that monitor your business transactions for patterns that represent a high risk to your business processes. Examples of such applications are systems for assessing the risk of fraud in financial transactions such as credit card purchases, insurance claims, loan applications and others. Other examples involve assessing the condition of manufacturing and process plants to detect early warning signs of failure.

Workflow

A knowledge based decision making engine can use rules to decide on the next task/action in a workflow system, based on current events and available data.

Resource Optimization

The Genetic Algorithm optimizer within Knowledge Builder can be used to determine optimal solutions to problems that have many possible solutions, such as design, resource scheduling and planning, and component blending - in other words resource optimization. You do not have to tell Knowledge Builder how to solve the problem - instead you specify a method of evaluating solutions, define the constraints on resources and Knowledge Builder will evolve the best possible solution according to your criteria.

Knowledge Representation in Knowledge Builder

Knowledge Builder supports a very broad range of knowledge representations rarely found in one single environment. This enables developers to support a wide range of knowledge applications. Despite the richness of the knowledge representation, knowledge Builder retains the same graphical knowledge building blocks across representations. This consistency of knowledge representation ensures ease of maintenance and the ability to develop hybrid applications.

Decision Making Knowledge is also now often called "Decisioning" and covers diagnostic, selection, recommendation, advice, assessment, monitoring, workflow and similar applications. Typically, the knowledge in such applications is represented by rules and/or decision trees. In these applications decisions or outcomes are derived from attributes. The attributes are captured from the user through dialogs, calculations or read from data files. Knowledge Builder represents "Decisioning" Knowledge using Decision Trees and Cases Tables.

A decision tree relates an outcome or decision to a number of attributes as shown in the example tree below for the diagnosis of car starting problems:



A table of Cases contains a list of examples or rules each showing how an outcome or decision relates to a combination of attribute values. The table below can be used for the diagnosis of car starting problems:



An attribute in a decision tree, or in cases table, can itself be represented by another decision tree or cases table. This is called knowledge "chaining".

Knowledge is executed by a "runtime" or "inference" engine. In a Decision Making application, the "runtime engine" has the task of deriving all the required decisions/outcomes. It does this by executing the knowledge in the decision trees and/or the case tables. The values of attributes driving the decision making knowledge are either passed to the engine at the start of inference, or are captured by the engine as and when it encounters those attributes in the trees or tables.

Case Based Reasoning can also be used in diagnostic applications, whereby the user can be asked to volunteer any number of symptoms (attributes) with the application still being able to generate a narrowed down list of diagnosis values.

Fuzzy Logic can also be used where there are applications, such as performance assessment and diagnostics, in which the human expert applies fuzzy reasoning in their decision making. The following rule is an example of such reasoning:

IF income is low AND person is young THEN credit limit is low

This rule is fuzzy because of the imprecise definitions of "income", "young" and "credit limit". Knowledge Builder allows you to implement such fuzzy reasoning which can be integrated seamlessly with crisp reasoning and with GA optimization. This leads to accurate systems using small rules sets. For more detail please see the white paper on Fuzzy Logic in Knowledge Builder.

Constraint Inference - enabling the unique graphical knowledge representation of Knowledge Builder to be used to define constraint rules which ensure that only valid / desirable combinations of features and options can be selected. This is a particularly powerful technique in configuration applications, where the sales of complex products and services requires the customer to choose, from a vast number of theoretical combinations, the features and options that best satisfy their individual needs. A live web demo exists of Constraint Inference here



Hierarchy Inference - enabling hierarchical knowledge, such as a generic “bill of material” both physical and logical, to overlay selection rules. This is a particularly powerful technique in configuration applications, where products and services consist of modular components and sub-components, whose selection rules are driven by customer requirements, which are typically captured with the aid of constraint logic.

Capturing Knowledge in Knowledge Builder

Developers of knowledge based systems often face difficulties in the knowledge engineering stage of developing an application. This is because expertise, know-how, procedures and policies, and other business knowledge, is tacit and rarely formulated or documented . Knowledge Builder simplifies the process of capturing this tacit business knowledge through its graphical knowledge representation, structuring and acquisition methods.

Knowledge Structuring

The lack of a modelling methodology for decomposing a large knowledge application into a hierarchy of rule sets represents a major difficulty in building knowledge based systems. Without the structuring of rule sets, developing a rule base for a large application becomes a difficult job. A number of ad-hoc methods for structuring rule sets have been traditionally used, such as spider diagrams and concept maps. These methodologies aim to model the application by establishing a hierarchy of concepts, each concept with a corresponding rules set. The developer must then add control rules and agendas to force the flow of the inference engine to correspond to the structuring of concepts.

Knowledge Builder enables highly complex knowledge applications to be structured into intuitive units of knowledge - each unit being a decision tree or a cases table - and to be able to visualise the overall structure using a knowledge Map.

Knowledge Acquisition

Knowledge acquisition is acknowledged as the bottleneck of developing Knowledge Applications. Although structuring applications into trees and tables simplifies the process of knowledge acquisition, the job of acquiring the knowledge remains a major concern of developers of knowledge based applications. The problem is twofold, firstly there is the problem of eliciting the rules from experts who have intuitive (tacit) decision making skills. Secondly, there is the problem of assessing the logic of the acquired rules for conflicts, overlaps and gaps. The first problem requires machine learning techniques to help derive the know-how from tacit knowledge and from knowledge difficult to articulate by experts. While a few methods for guiding rule entry have been proposed with limited effectiveness, the problem of intuitive knowledge remains largely not tackled. In conventional rue-based systems it is assumed that tacit knowledge is explicit and easily accessible. The second problem is not addressed by knowledge tools which do not support facilities for testing knowledge for conflicts, overlaps and gaps.

Knowledge Builder gives knowledge engineers the flexibility of multiple knowledge representations, allowing knowledge to be expressed in the most natural way. In addition, Knowledge Builder utilises Rule Induction as a catalyst for knowledge acquisition. Rule induction can convert a table of cases (examples) into a decision tree. Rule induction reveals the generic patterns, logic gaps and conflicts in the table of cases.

The decision tree shown previously for the diagnosis of car starting problems was derived from a table of cases using rule induction.

Learning from Data

Learning from data can be considered as an alternative knowledge engineering strategy, if the data represents records of expert decision making. Alternatively, learning from performance data can derive new patterns and relationships which can improve our understanding of a certain business process and therefore enables us to make better future decisions.

XpertRule Miner is a dedicated software product for learning from data (Data Mining). The overall objective is to derive decision tree rules or patterns from data files. Knowledge derived from data can be exported to Knowledge Builder.

Deploying the Captured Knowledge

Once captured and tested, the decision-making knowledge captured within Knowledge Builder can be deployed in a number of platforms and configurations:

Running Knowledge on a stand alone or networked PC client

An inference engine is used for running knowledge applications on a PC client. This configuration is typically used to run knowledge applications on stand alone or networked PC's.

Running Knowledge on a Windows NT / 2000 Server

A COM+ inference engine is used to run knowledge applications on Windows NT / 2000 servers. The COM+ engine uses XML to exchange data with other applications (receiving attribute data and returning decisions). This engine is highly performant and scalable.

The COM+ inference engine can be used either as an embedded knowledge server for other applications or it can be used in conjunction with the Knowledge Builder ISAPI filter to develop a thin client interactive (e.g. Q&A) Expert System application.

Running Knowledge in a Web Browser

Ajax deployment
Ajax is a thin-client web-based application deployment technique, which utilises the browser’s ability to execute JavaScript code to generate/update the HTML user interface and synchronise it with its application server. This is in contrast with conventional thin-client deployment methods where, the server delivers complete HTML pages to be simply rendered by the client browser.

Benefits of Ajax deployment
By not requiring the server to deliver a new HTML page each time the user makes a change, the load on the application server is greatly reduced, thus enabling significantly higher performance / load to be obtained from the same application server. This benefit is maximised where a single web page performs many functions and requires many interactions with the user.

Use of the Ajax technique by Knowledge Builder
Each Knowledge Builder Dialog Object is generated as a single HTML page with embedded JavaScript code (which is posted by the server once when the Dialog is encountered during inference). Until this Dialog is exited, any changes the user makes effecting the display of the web page, are performed by the client’s browser, which also posts messages back to the application server to updates the session data and perform any required inferences (Constraints, Macros, Events, etc). Where possible, the WYSIWYG dialog design is faithfully reproduced (in HTML) by the Ajax JavaScript.

Server platforms supported by Knowledge Builder’s Ajax deployment
The current Knowledge Builder has 3 Ajax deployment options:

  • COM Engine for Microsoft IIS server deployment
  • J# Engine for Microsoft .net server deployment
  • Java Engine for J2EE server deployment

The Java and J# Engine options are also available as a ‘generated’ sub-option, where the application runtime (engine and knowledge-base) are automatically combined and generated into Java/J# source code which can then be complied for maximum execution speed. This option requires new ‘source’ to be re-generated and complied each time the knowledge-base is changed. It is primarily suitable for low (design-time) knowledge maintenance / high (runtime) transaction throughput.


Quick Tour

The objective of this section is to take you on a quick journey through the terminology, features and screens of Knowledge Builder. This should give you an overview of the development environment and put you in a position to decide which aspects of the software you wish to explore further, by reading the appropriate manual chapters or the on-line help system. Please note that this section is not a step by step tutorial but rather a whistle stop tour through the capabilities of knowledge builder.

Knowledge Builder is an environment for developing and delivering knowledge based solutions which are difficult or impossible to implement using conventional programming techniques. The system consists of the development and runtime systems. The development system is used to build the applications and capture and maintain the knowledge. The application is maintained by knowledge Builder in any relational database. The Runtime engine is used to run applications and is available as an EXE program or a Windows COM object for embedding within other applications. The runtime engine can be invoked from within the development environment to enable rapid prototyping and testing.

The development environment is highly graphical with an intelligent user interface and extensive on-line help.

The following sections give an overview of the main functions of the development environment, together with some other important screen display examples.

About the Knowledge Explorer

A Knowledge Based application developed in Knowledge Builder is structured as a Project. A project consists of one or more Knowledge Modules. Each knowledge module consists of objects - attributes, procedures, dialogs and reports. The Knowledge Explorer view displays all the objects of a project.



From the Knowledge Explorer you select an object to edit with the relevant editor. Multiple object editors can be opened in the area to the right hand side of the Knowledge Explorer. Object editing windows (tabs) can also be stacked vertically. An overview of the various object editors is given in the following topics.

Knowledge Attributes Editor

Knowledge Attributes cover options in decision making applications.



The Attributes editor has 6 tabs:

A Wizard tab for defining the knowledge and display properties of the object.

An Object Control Properties information tab for controlling the behaviour of the object.

An Instance Properties tab for defining object instances (values) and their properties.

A Cases tab for defining object selection knowledge as a table of cases (examples).

A Decision Tree tab for defining object selection knowledge as a decision tree. (As is shown in the tree example above).

An Events tab for defining events procedures related to inference from an object.

Note that for most cases you can simply use the Wizard to define the type of knowledge and the cases and/or decision tree tabs to enter the knowledge.

Dialog and Report Editors

A comprehensive editor is supported for designing dialogs for capturing attributes from end users during runtime.



A report editor is also supported.



Procedure Editor

Procedural processing (calculations, etc.) can be incorporated in applications developed in Knowledge Builder by creating procedure type objects and inserting them into the logic of the application. Procedures are sequences of @commands or VBScript. Command sequences can be as simple as a single formula or as complex as a sorting algorithm, with WHILE and IF-THEN-ELSE commands.



Decision Map

In complex decision making knowledge ("Decisioning"), one or more of the attributes appearing in cases tables or decision trees may themselves be cases tables or decision trees, and so on. This is termed the "backward chaining" or "back chaining" of knowledge. The decision map display shows the knowledge chaining hierarchy and is a useful knowledge overview and navigation display.



Customizing the Explorer Objects

You can customize the object types and their categories on the explorer to suit your application area and terminology. For example, If you are developing diagnostic applications then you may wish to define two categories of attributes "Product features" and "Fault symptoms".

Note that new objects on the Knowledge Explorer are made from "predefined object classes". These classes can be customized (given the right user privileges and version of Knowledge Builder) by defining their type (list, numeric, etc.), properties, attached knowledge type and display properties.

Finally, note that each user of Knowledge Builder is assigned a predefined "role" which can be used to restrict which knowledge modules and which object categories on the Knowledge Explorer he/she is allowed to view or edit.


Advantages of XpertRule Knowledge Builder over XpertRule KBS

  • Takes advantage of 32 bit computing to make the developer's work even more intuitive and efficient.
  • Interfaces to XML data.
  • Enables default templates for objects, customize the icons, names and groupings of objects - to incorporate user terminology and structures.
  • Provides developer control access privs and "user roles" for all objects and methods of knowledge maintenance.
  • Stores the developer application in an ODBC database for standard system management (check-in/out, back up and version role back).
  • Customized developer help. To integrate with HTML documents, word documents, Winhelp, etc.
  • All dictionary objects and properties fully exposed to the developer. Even down to the level of changing the colour of a dialog button at run time.
  • Add custom properties to objects. For example, add properties to each value of a list attribute and be able to reference those properties in decision trees, user dialogs and procedural commands.
  • Mapping dictionary objects to external databases. To utilise large lists of attribute values or have dynamic values at run time.
  • Inference from tables of cases (i.e. examples), which can also be mapped to external databases.
  • Total drag and drop editing, with multiple windows and tab pages under full control of the developer. For example, have two decision trees visible and drag and drop tree structures between them. Zoom into the full editor for any tree object with just a double-click.
  • Developer Wizards - set complex/related knowledge properties with help from a step by step guide - create default controls on dialogs by just dragging and dropping an attribute - turn a list box into a set of radio buttons with one action.
  • Use relative positioning of user dialogs at run time, depending upon the characteristics of their particular system.
  • Tips of the day - context sensitive menus on the selected object - context sensitive help on the selection point.
  • Flexible and scalable knowledge deployment options - PC standalone, COM+ Java Servlet or Java Applet, using XML for data exchange.

Compatibility with XpertRule KBS: Existing XpertRule KBS developers can easily import their XRA files into XpertRule Knowledge Builder, which provides extensive support for upgrading KBS developed applications.


Minimum Operating Requirements for the Development Environment

  • Microsoft Windows NT, 2000, 2003, XP or Vista.
  • At least 256Mb memory (512Mb recommended), 1GHz Pentium 4.
  • ODBC (Open Database Connectivity) driver.
  • 100 megabytes of free disk space.

For prices and ordering information E-mail or fill in this Request Form.

Specifications are subject to change. Please check for latest features and operating environments. XpertRule® and XpertRule Knowledge Builder® are registered trademarks of XpertRule Software Limited. XpertRun is a trademark of XpertRule Software Limited. All other brand and product names are trademarks or registered trademarks of their respective holders.