RME-EP – New Generation Expert Systems Shell

Rete engine is a de facto industry standard technique for rule-based expert systems. It is also known as expert system shells. The problem with traditional implementations of Rete engines is that they are based on pattern-matching algorithms which are not only un-intuitive but also difficult to learn, especially, by non-IT users, such as business analysts, medical doctors, and domain experts. As a consequence, rules have to be extracted from domain experts and then translated by IT knowledge engineers. This process not only takes time but also makes it difficult to extract domain knowledge. The worst part is that detection of errors can be extremely difficult since domain experts cannot verify what the written rules mean exactly. To alleviate this problem, RME-EP (Rule-based Model Evaluation - Event Processing) has been developed to use SQL-like language which can be learnt by business users and domain experts very easily and quickly. Non-IT professional users can write RME-EP expert system rules by themselves without IT professional help. RME-EP opens a new era for business users and domain experts.

SQL-like Business Rules for Business users

The popularity of SQL as the preferred database query language has been largely due to the natural intuitiveness of the language as well as the richness of logical expressions. SQL is very easy to learn. Expressions written in SQL is very easy to understand and hence has been widely used by many non-IT professional such as business analysts and users, as well as by IT professionals. RME-EP is based on SQL-99 syntax supporting most logical and arithmetic language features. The following shows examples of RME-EP rules;

RULE 1: // set as interested;
IF cust.age > 20 AND cust.salary > 50000 THEN SET cust.status AS 'interested' END;

RULE 2: // set to send offer;
IF cust.status='interested' THEN SET cust.action AS 'send offer' END;

RULE 3: // throw email event;
IF cust.status='interested' THEN THROWEVENT('email', 'Dear Sir', 'We offer you ....') END;

RULE 4: // also compute guessed salary income;
IF cust.status='interested' THEN SET cust.salaryguess AS 
      PREDICT(RETESALARY) USING(STARTSALARY AS cust.startsalary, AGE AS cust.age)
END;

For more, please read RME-EP Rule Specification Language.

Predictive Modeling

The core concept of RME-EP is Rule-based Model Evaluation (RME). RME-EP incorporates predictive models with many logical and mathematical functions of SQL-99 as patterns. By incorporating advanced predictive models into Rete engine, RME-EP provides a superb platform for advanced rule-based expert systems. RME-EP supports the following predictive models;

  1. Neural network: Neural network is a very powerful predictive modeling technique. CMS/RME-EP provides neural modeling tools which are robust and intuitive but still easy to use. Neural network can be used to predict numerical scores as well as classifications.

    neural network for rule engine.

  2. Neural Clustering and Radial Basis Functions: Neural clustering also known as Self Organizing Maps (SOM) is a very powerful clustering and segmentation method. When combined with other modeling methods, it renders very poweful Radial Basis Functions.

    neural clustering for expert systems. neural clustering for expert systems.

  3. Decision tree: Decision tree is primarily used for classification task. In addition, CMS decision trees can also predict statistical probability of events.
  4. Regression: Regression is widely used technique by statisticians. It can predict numerical scores.
  5. Time-series analysis: RME-EP has built-in time-series regression functions. It can develop best regression functions based on RME-EP fact working sets.

For more, please read Predictive Modeling Software.

Type II Fuzzy Inference Systems

Type II fuzzy inference systems are very similar to rule-based expert systems. RME-EP provides rich environments for implementing type II fuzzy inference systems.

Example

The following is an example how RME-EP engine can use predictive analytics for sales data marts to detect sales trends automatically. For more, please read Sales Trens Analysis and Forecasting. Note that these send alert signals if sales drops more than 5% or increase over 15%;

// RULES;
RULE 1: // if sales droped over 5% with correlation coefficient 0.3 and over;
IF ABS(TIMESERIES(GROWTH_TREND, LINEAR, 1, Month1, Month2, Month3, Month4, Month5, Month6)) > 0.3 
     AND TIMESERIES(GROWTH_RATE, LINEAR, 1, Month1, Month2, Month3, Month4, Month5, Month6) < -0.05 
  THEN SET sales.trend AS 'declining' END;

RULE 2:  // if sales increased over 15% with correlation coefficient 0.3 and over;
IF ABS(TIMESERIES(GROWTH_TREND, LINEAR, 1, Month1, Month2, Month3, Month4, Month5, Month6)) > 0.3 
     AND TIMESERIES(GROWTH_RATE, LINEAR, 1, Month1, Month2, Month3, Month4, Month5, Month6) > 0.15 
  THEN SET sales.trend AS 'increasing' END;

RULE 3: // alert if something detected;
IF sales.trend IS NOT NULL 
   THEN THROWEVENT('alert', Region, Channels, sales.trend) END;

Persistent Fact Managers - Database Query and Update

For enterprise applications, it is important to manage data (or facts) on persistent basis. RME-EP supports various persistent fact managers, including SQL execution. With dedicated embedded high performance data mining database server, managing and using persistent facts on database is naturally achieved. For more, please read Rosella DBMS.

Balanced Scorecards and Business rules

The Balanced scorecard provides concise, predictive and actionable information about how a company is performing and may perform in the future. When used in Balanced scorecards, RME-EP can improve business visibility and corporate governance. For more, please read The Balanced Scorecards.