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.
|