IP Library Granted Patent US 7,085,762
Granted Patent B2
US 7,085,762 · App. 10/443,243 · Granted Aug 1, 2006

Methods, systems and computer program products for web services access of analytical models

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,085,762
App. No.
10/443,243
Granted
Aug 1, 2006
Kind
B2
Abstract

Accessing an analytical model is provided by invoking the analytical model hosted by an analytic engine through a web services interface to the analytic engine. Invocation of the analytical model through the web services interface may be independent of the analytic engine hosting the analytical model. Furthermore, the analytical model may be a predictive model markup language (PMML) model. Invoking the analytical model may be provided by creating a set of tables utilized to store model information and parsing a PMML modeling language representation of the analytical model to populate the set of tables. A web services signature is generated for the analytical model based on the populated set of tables.

Claims (43)

1. A method of programmatically accessing an analytical model, comprising:

programmatically providing a web services abstraction of the analytical model so as to allow invocation of the analytical model hosted by an analytic engine through a web services interface to the analytic engine; wherein:

the analytical model is a predictive model markup language (PMML) model;

providing a web services abstraction comprises automatically generating a web services abstraction of the analytical model by:

creating a set of tables utilized to store model information;

parsing a PMML modeling language representation of the analytical model to populate the set of tables; and

generating a web services signature for the analytical model based on the populated set of tables;

creating a set of tables utilized to store model information comprises:

creating a model table containing model identification, model name, model type, model class and attributes fields;

creating a mining field table associated with the model table, the mining field table containing model id, mining field name, optype, outlier, value, usage type, minimum value and maximum value fields; and

creating physical model tables, each including a model name field and a model field;

parsing a PMML modeling language representation of the analytical model to populate the set of tables comprises extracting information from the PMML modeling language representation to populate the model table and the mining input constraints table, wherein extracting information further comprises:

parsing elements with a model tag to extract the model type and storing the model type in the model type field of the model table; and

parsing elements with the model tag to extract attributes and storing the attributes in the attributes field of the model table;

wherein extracting information further comprises:

aggregating values from a value attribute to store a list of candidates if an optype is categorical; and

parsing a univariate stats field for minimum and maximum values if an optype of a value attribute is continuous.

2. The method of claim 1 , further comprising invoking the analytical model through the web services interface independent of the analytic engine hosting the analytical model.

3. The method of claim 1 , wherein the physical model tables include a cluster model table, a tree model table and/or a neural network model table.

4. The method of claim 1 , wherein generating a web services signature comprises:

importing mining models to respective ones of the physical model tables;

generating a Java bean to wrap around an invocation statement associated with invocation of the analytical model based on the populated tables;

generating a web services document based on the generated Java bean; and

publishing the generated web service document.

5. The method of claim 4 , wherein generating a Java bean comprises carrying out the following for a model in the model table:

querying the model and model input constraint tables to retrieve parameters to be applied to the analytical model;

generating a Java bean method to serve as a signature for the analytical model, the signature including a list of the retrieved parameters;

generating validation logic for inputs based on model constraints; and

generating an invocation statement to invoke the analytical model and retrieve results of invocation of the analytical model.

6. A system for computationally accessing an analytical model, comprising:

a predictive model markup language (PMML) interrogator configured to parse a PMML file associated with the analytical model and populate tables with information about the analytical model;

a bean creator configured to generate a Java bean to wrap an invocation statement that invokes the analytical model based on the populated tables; and

a bean to web services circuit configured to transform the Java bean to a web services document so as to allow the analytical model to be invoked by a user of a web services interface; wherein:

the tables populated by the PMML interrogator comprise:

a model table containing model identification, model name, model type, model class and attributes fields; and

a mining field table associated with the model table, the mining field table containing model id, mining field name, optype, outlier, value, usage type, minimum value and maximum value fields;

tables with information about the analytical model also include physical model tables and wherein the physical model tables each include a model name field and a model field;

the PMML interrogator is further configured to extract information from the PMML file to populate the model table and the mining input constraints table;

the PMML interrogator is further configured to parse elements with a model tag to extract the model type, to store the model type in the model type field of the model table and to parse the element with the model tag to extract attributes and storing the attributes in the attributes field of the model table; and

the PMML interrogator is further configured to aggregate values from a value attribute to store a list of candidates if an optype is categorical and to parse a univariate stats field for minimum and maximum values if an optype of a value attribute is continuous.

7. The system of claim 6 , wherein tables with information about the analytical model also include physical model tables and wherein the physical model tables include a cluster model table, a tree model table and/or a neural network model table.

8. The system of claim 6 , wherein the bean creator is further configured to import mining models to respective ones of the physical model tables.

9. The system of claim 8 , wherein the bean creator is further configured to query the model and model input constraint tables to retrieve parameters to be applied to the analytical model, to generate a Java bean method to serve as a signature for the analytical model, the signature including a list of the retrieved parameters, to generate validation logic for inputs based on model constraints, to generate an invocation statement to invoke the analytical model and to retrieve results of invocation of the analytical model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LINKEDIN CORPORATION
Reel/Frame 035201/0479 →