![]() |
![]() |
Rule Learner |
|
|
|
|
|
Integrated Machine Learning and Business Rules Approach |
|
|
|
|
Motivation One of the most popular techniques of ML is the extraction of classification rules and patterns from massive data sets; the module that does this work is called a Rule Learner. At the same time, rules discovery is an important part of the Rule Harvesting process, that is a key component of any enterprise Business Rules Management System. This suggests a natural question: Why not combine these two technologies (ML and BR)? OpenRules answers this question with a Rule Learner BRMS component and practical integration tools.
ML+BR Integration
Here a Rule Learner is a special BRMS component that executes a machine learning algorithm against historical data coming from an Enterprise Database and generates (learns) new decision rules in a form that can be understood by both business specialists and the business rules system. The generated rules can be automatically added to the Enterprise Rules Repository to be used during a Rule Engine execution cycle to produce new business decisions that will in turn be saved to the Enterprise Data Repository. By working together and applying multiple iterations of the described process, we can see that Rule Learner and Rule Engine add a new dimension, that of self-improving learning capabilities, to rules-based business processes. In this way a Rule Learner becomes an integral part of an enterprise level BRMS. It converts a rules-based decision service into a good "employee" of the enterprise, i.e. one that can learn from the previous experience of its human "colleagues" and can also learn from its own previous experience. BRMS Architecture with a
Rule Learner
Training Sets. A Training Set usually consists of examples indicating when the desired result has been achieved (positive examples) and counter examples indicating cases when the desired result has not been achieved (negative examples). Training sets are used by the Rule Learner to discover and represent new rules and to measure the accuracy and effectiveness of the rules once they have been learned. If the results are satisfactory, the rules can then be used to predict results for new, previously unseen cases. OpenRules Trainer. Supervised learning requires a Trainer to create training sets. Usually a Trainer is a subject matter expert (SME) who has extensive experience dealing with the historical enterprise data and has the competence and skills to establish goals, concepts, and/or criteria for detecting patterns and rules. It is also possible to automate the Trainer function and make it an integral part of the system architecture. Initially, the Trainer can be implemented as an interactive rules-based interface that assists the subject matter expert in analyzing enterprise data and in creating training sets. But Trainer can also be implemented as a special rule engine that automatically analyses large volumes of data in accordance with "training rules" created by a SME and uses this data to generate new training sets. This is especially important for rules-based applications that frequently update enterprise data and would like their rule learner to keep up to date with the latest changes.
y
yRules-based
Trainer allows domain experts to incorporate their knowledge
into Rule Learner by presenting it in a form of domain-specific
training rules.
Training Rules usually cover the following common data
pre-processing tasks:
y
By making changes to training rules domain experts effectively inform Rule Learner about changes in the real-world environment. Here is a generic implementation schema used by the OpenRules Trainer:
It is important to stress the fact that it is business specialists (NOT software developers) who are normally responsible for maintaining training sets and for evaluating automatically generated rules.
Integration Schema: BR + ML + BR
Here Rule Trainer may produce training sets in different ML formats that become an input for a selected ML tool. Rule Converter can parse the output of a selected Rule Learner and convert the learned rules into a format that can be used by a selected rule engine. Below is the implementation schema of a rule converter that uses WEKA as the Rule Learner implementation and OpenRules as the resulting Rule Engine:
Machine Learning
Algorithms and Tools Because it is an integral part of OpenRules, Rule Learner follows the major OpenRules principles: it is designed to be used by business analysts (not only programmers) and it is designed to be presented or manipulated using commonly accepted tools such as Excel without the introduction of new languages. Rule Learner (as well as Rule Engine) can be deployed as a Web Service using the standard OpenRules deployment facilities. These principles make Rule Learner a good citizen of the service-oriented world because customers can decide when and how to invoke ML and BR services from their own business processes.
Rule
Compressor™
Benefits
Services
|
|
|
||||||||||||||||||
|
|
||||||||||||||||||||||
| Copyright © 2006-2008 OpenRules, Inc. All rights reserved |