Open Your Business Rules!                      
Rules-based 
Operational Decision Services
OpenRules Classic: Rule Learner
Integrated Machine Learning and Business Rules approach
Motivation
						Over the 
						last several years, the field of Machine Learning 
						(ML) has attracted considerable attention due to 
						the demand for reliable and useful data mining 
						techniques in information technology, health care, and 
						several other industries.  Today's ML offers 
						powerful algorithms and tools for practical knowledge 
						discovery.  However, when delivered as a 
						stand-alone application, this highly complicated process 
						for identifying potentially useful patterns from large 
						collections of data remains the prerogative of 
						scientists and has yet to penetrate the major business 
						decision making processes in the way that the Business 
						Rules (BR) approach has already done.
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 component of an enterprise Business Rules and 
						Decision 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
						An 
						integrated ML+BR approach at the highest level is 
						depicted in the following graphic:
						
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 experiences of its human "colleagues" and can also learn from its own previous experiences.
BRMS Architecture with a Rule Learner
 
						OpenRules Rule Learner is based on a supervised Machine 
						Learning approach that requires 
						Training Sets for its execution.  The resulting 
						integrated architecture is presented in the following 
						figure:
						
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.
The OpenRules 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:
- 
								Selection of issues and attributes to be considered by a Rule Learner
 - 
								Generation of new attributes that generalize the existing attributes by adding nominal attributes, ratios, etc.
 - 
								Preliminary classification of issues
 - 
								Instance filtering rules
 - 
								Selection of Rule Learner execution parameters.
 
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.
						
						BRMS Architecture with a Rule Learner
						
						OpenRules developed all the necessary components for an 
						integration of ML + BR that allow an enterprise to 
						combine different learning algorithms and rule engines. 
						Below is an integration schema that combines a 
						rules-based trainer with an automatic conversion of 
						learned rules into the BRMS:
						
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   
 
 OpenRules pioneered the 
						integration of ML and BR by including the first 
						practical implementation of a Rule Learner to its 
						popular open source BRMS.  While there are many ML 
						algorithms and implementation tools, there is no known 
						algorithm that is optimal for ALL types of data sets.  
						In most cases, serious data analysis, as well as data 
						cleaning and tuning are needed.  It is also to be 
						expected that different ML algorithms may behave 
						differently on the same data set.  To support these 
						real-world needs, OpenRules does not limit an 
						implementation of its Rule Learner to only one 
						particular ML algorithm. It has been designed to accept 
						different ML algorithms and different input/output 
						formats.  The current version of Rule Learner works 
						with the popular open source machine learning framework 
						"WEKA" 
						that implements many well-known ML algorithms such as 
						C4.5 and RIPPER.  Other popular ML tools are under 
						consideration and can be added on an as needed basis.  
						
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
						
						
						
						OpenRules applied the integrated ML+BR 
						approach to create a special OpenRules add-on
						
						Rule Compressor™ that may 
						compress complex classification rules regardless of 
						which BRMS is being used - read
						
						more.
Benefits. OpenRules successfully integrates ML and BR approaches without forcing business analysts to become machine learning gurus or to learn new languages and/or new software tools. OpenRules' Rule Learner integrates ML and BR approaches with the ability to automatically transition learned rules into the enterprise’s rule management system. When an enterprise begins to use Rule Learner and Rule Engine together, its own Subject Matter Experts can examine the generated rules to determine why they make sense or if they should be supplemented by additional rules. Once the applicability of Rule Learner to detecting patterns and decision rules in a particular data base has been established, automating the rule generation and execution processes becomes an enormous asset.
Services. OpenRules can help an enterprise to jump-start the use of an integrated ML+BR solution. We provide professional services to assist customers in specifying and implementing their specific rules discovery program and to assist in integrating ML+BR into their business processes. Even if your enterprise does not use OpenRules and has already made an essential investment in a commercial BRMS, OpenRules specialists can assist in incorporating the Rule Learner into another BRMS.
