Business rules and analytics on the cloud! Finally!
Seriously, the folks at Zementis have long had their PMML deployment engine running on the amazon.com compute cloud and have had an on-premise solution that combines business rules (based on Drools) and PMML. ADAPA – Adaptive Decision and Predictive Analytics – is the Zementis product that manages and deploys analytic models and business rules (in rule sets).
The new version (3.0) like all previous versions is standards-based, using PMML and Drools. Users of ADAPA can use just business rules (created from native Drools files or from the spreadsheet metaphor), just predictive models (deployed from PMML-based definitions created from a modeling tool such as IBM SPSS Modeler, SAS Enterprise Miner), or a combination of business rules and predictive models (using Drools to create rule sets that refer to models).
Once an ADAPA instance is launched on the Amazon cloud, it can be accessed through its web console. The console allows you to upload the models by selecting and loading the PMML files. Similarly, rule sets can be uploaded either as DRL files or as decision tables in Excel files. With version 3.0, ADAPA also allows you to upload resources to better support customizations and extensions. These include XSD files that contain the domain model, JAR files that provide a special functions needed by the models (something not supported by PMML say), or mapping/lookup tables. The uploaded data model makes it easier to define the interface for the generated web services (they are using the same XSD). The look up table feature is also useful as many models and rule sets need large look up tables and this approach allows them to be uploaded without having to manage a database.
The PMML upload uses the Zementis PMM Converter to normalize different PMML versions and eliminate known issues with the PMML files generated by the various modeling tools. This allows PMML models from multiple sources to be uploaded reliably.
The help page of the web console provides links to the product documentation, including the solution guide and the sample solution that goes with it. It is a mortgage processing solution built with a few rule sets, a score card (built using rules), and two models (a Neural Network and a Linear Regression model). ADAPA builds classic Decision Services (stateless services that don’t change the data in your existing systems but simply pass back the answer you need – the action to take) and in this sample decision service, information flows in and is pre-processed using a rule set (missing values for instance), more rules create products for consideration based on the product definitions, a decision is made (using the predictive models and rules that handle thresholds and exceptions) and then a post-processing rule set sets up loan conditions like documentation etc. A classic decision service.
The sample shows how Excel can be used to manage decision tables, or what I consider to be rule sheets, and the mapping to the XSD is part of each spreadsheet. This can be hidden to let business users see just the user friendly names that are mapped to the XSD. Zementis allows multiple rule sets as tabs in Excel (though Zementis considers the Excel file the rule set and the worksheets are separate rule sheets/decision tables). ?ach rule sheet is a “current stage” and one of the actions is to define the next stage. This gives you a basic sequencing/decision flow capability.
One of the kinds of condition columns you can add to this table is a scoring condition – a comparison to the score from a model. The models can be executed anywhere in the sequence using the working memory that Drools has created from the XSD to map data into the model and define where to score the results. Zementis has provided a set of functions to allow models to be called and the results integrated back into the data being manipulated.
Zementis also provides some tools for testing and validation of what you have loaded into the cloud – they call this the decision acceptance and validation framework. This allows you to test models and rule sets. You can upload a CSV file of data to test models. Each file contains the sample data to run through the model and the expected value. The interface then displays the score calculated for each row in the CSV and how that compares. For rule sets an Excel spreadsheet can be defined for managing the tests for the rules. Again each test contains the data for executing the rules and the expected results. These tests can be for a whole rule set uploaded or just a worksheet. You can also run a set of rule sets, specifying the list of rule sets you want to execute. Once uploaded the rule sets specified are executed and the results are downloaded as a spreadsheet. Overall there is a fairly rich set of tools for loading and testing rules and models.