IP Library Granted Patent US 9,619,583
Granted Patent B2
US 9,619,583 · App. 13/908,228 · Granted Apr 11, 2017

Predictive analysis by example

Inventors: Alex T. Lau (Ontario, CA); Diana Lau (Richmond Hill, CA); Stephan F. Jou (Richmond Hill, CA); Joanna W. Ng (Unionville, CA)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F17/30979G06F17/30427G06F17/30522
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 9,619,583
App. No.
13/908,228
Granted
Apr 11, 2017
Kind
B2
Abstract

An illustrative embodiment of a computer-implemented method for predictive analytic queries includes creating a user-defined predictive analytics query using a set of syntactic grammar that defines a correct syntax of the user-defined predictive analytics query including a created set of predictive analytics by-example vocabularies and a set of subject-specific by-example vocabularies forming a set of by-example vocabularies, wherein the set of syntactic grammar defines semantics of each syntactically correct predictive analytics query using the by-example vocabularies such that predictive analytics queries can be expressed with semantic precision using this constrained Natural Language Processing (cNLP) approach. The computer-implemented method further generates a predictive analytic model and runtime query, using the user-defined predictive analytics query, executes the runtime query using the predictive analytic model to create a result, and returns the result to the user.

Claims (89)

1. A computer-implemented method for predictive analytic queries, the computer-implemented method comprising:

creating a set of predictive analytics by-example vocabularies;

creating a set of subject-specific by-example vocabularies, each comprising one or more nouns associated with a respective subject area, wherein the one or more subject-specific by-example vocabularies are based on a capability of one or more data sources;

generating a palette of vocabularies for constructing predictive queries, wherein the palette of vocabularies is based on the set of predictive analytics by-example vocabularies and the set of subject-specific by-example vocabularies;

constructing a user-defined predictive analytics query comprising the palette of vocabularies using a set of syntactic grammar that defines a correct syntax of the user-defined predictive analytic query;

wherein the set of syntactic grammar defines semantics of each syntactically correct predictive analytics query using the palette of vocabularies, such that the user-defined predictive analytics query is expressed with semantic precision using a constrained Natural Language Processing (cNLP) approach;

generating, by a computer processor, a predictive analytic model and runtime query, using the user-defined predictive analytics query;

executing the runtime query using the predictive analytic model to create a result; and

returning the result to a user.

2. The method of claim 1 , wherein creating the set of subject-specific by-example vocabularies further comprises using an assertion sub-method, wherein the subject-specific by-example vocabularies are derived from input that includes data source schema, metadata including ontology, and data instances.

3. The method of claim 1 , wherein creating the set of subject-specific by-example vocabularies further comprises:

collecting the subject-specific by-example vocabularies that are at least nouns, by using a subject-specific by-example vocabularies palette constructor; and

generating a set of subject-specific by-example vocabulary palette elements using an assertion capability in a subject-specific by-example vocabularies palette constructor for use in constructing by-example predictive analytic queries, wherein the assertion capability comprises at least two assertion types including an “is-a-kind-of” assertion, and an “is” assertion.

4. The method of claim 1 , wherein the user-defined predictive analytics query is a resultant sentence that is unambiguous in syntax and semantics, and therefore precise in execution.

5. The method of claim 1 ,

wherein generating the palette of vocabularies further comprises:

providing a set of palette elements with subject-specific by-example vocabularies and the set of predictive analytics by-example vocabularies, as palette elements for use to construct predictive analytics queries; and

collecting all palette elements in the set of palette elements into the palette; and

wherein constructing the user-defined predictive analytics query further comprises:

providing a canvas upon which a predictive analytics query is constructable by selecting subject-specific by-example vocabularies and predictive analytics by-example vocabularies from the palette elements of the palette; and

sequencing the by-example vocabularies to create a sequence for further processing.

6. The method of claim 1 , wherein generating the predictive analytic model and runtime query, using the user-defined predictive analytics query, further comprises:

receiving the user-defined predictive analytics query as input;

identifying the predictive analytics by-example vocabularies;

extracting the subject-specific by-example vocabularies from the user-defined predictive analytics query received as input;

validating correct sequencing of one or more by-example keywords using rules of the set of syntactic grammar; and

analyzing the predictive analytics by-example vocabularies in the user-defined predictive analytics query received, together with a data type of the subject-specific by-example vocabularies, to determine semantics of the user-defined predictive analytics query received, including an associated predictive analytics model and predictive analytics command to generate, wherein a generator uses decisions of a parser to perform at least one of constructing an instance of the predictive analytics model along with corresponding commands and selecting an existing model to reuse.

7. The method of claim 5 , wherein providing the set of palette elements further comprises:

providing subject-specific by-example vocabularies palette elements to the palette using a subject-specific by-example vocabularies palette element constructor; and

providing predictive analytics by-example vocabularies palette elements to the palette using a predictive analytics by-example vocabularies palette element constructor, wherein the predictive analytics by-example vocabularies palette element constructor further comprises at least predictive analytics by-example vocabularies selected from the group consisting of “given,” “how is,” “what combinations of,” “associated with,” “frequently occurs with,” “behaves similarly,” “which,” “what is,” “maximizes,” “minimizes,” “and,” “or,” and a combination thereof.

8. A computer program product comprising a non-transitory computer readable storage medium having computer readable program code embodied thereon, the computer readable program code executable by a processor to perform a method for predictive analytic queries, the method comprising:

creating a set of predictive analytics by-example vocabularies;

creating a set of subject-specific by-example vocabularies, each comprising one or more nouns associated with a respective subject area, wherein the one or more subject-specific by-example vocabularies are based on a capability of one or more data sources;

generating a palette of vocabularies for constructing predictive queries, wherein the palette of vocabularies is based on the set of predictive analytics by-example vocabularies and the set of subject-specific by-example vocabularies;

constructing a user-defined predictive analytics query comprising the palette of vocabularies using a set of syntactic grammar that defines a correct syntax of the user-defined predictive analytic query;

wherein the set of syntactic grammar defines semantics of each syntactically correct predictive analytics query using the palette of vocabularies, such that the user-defined predictive analytics query is expressed with semantic precision using a constrained Natural Language Processing (cNLP) approach;

generating, by a computer processor, a predictive analytic model and runtime query, using the user-defined predictive analytics query;

executing the runtime query using the predictive analytic model to create a result; and

returning the result to a user.

9. The computer program product of claim 8 , wherein creating the set of subject-specific by-example vocabularies further comprises using an assertion sub-method, wherein the subject-specific by-example vocabularies are derived from input that includes data source schema, metadata including ontology, and data instances.

10. The computer program product of claim 8 , wherein creating the set of subject-specific by-example vocabularies further comprises:

collecting the subject-specific by-example vocabularies that are at least nouns, by using a subject-specific by-example vocabularies palette constructor; and

generating a set of subject-specific by-example vocabulary palette elements using an assertion capability in a subject-specific by-example vocabularies palette constructor for use in constructing by-example predictive analytic queries, wherein the assertion capability comprises at least two assertion types including an “is-a-kind-of” assertion, and an “is” assertion.

11. The computer program product of claim 8 , wherein the user-defined predictive analytics query is a resultant sentence that is unambiguous in syntax and semantics, and therefore precise in the system of execution.

12. The computer program product of claim 8 ,

wherein generating the palette of vocabularies further comprises:

providing a set of palette elements with subject-specific by-example vocabularies and the set of predictive analytics by-example vocabularies, as palette elements for use to construct predictive analytics queries; and

collecting all palette elements in the set of palette elements into a palette; and

wherein constructing the user-defined predictive analytics query further comprises:

providing a canvas upon which a predictive analytics query is constructable by selecting subject-specific by-example vocabularies and predictive analytics by-example vocabularies from the palette elements of the palette; and

sequencing the by-example vocabularies to create a sequence for further processing.

13. The computer program product of claim 8 , wherein generating the predictive analytic model and runtime query, using the user-defined predictive analytics query, further comprises:

receiving the user-defined predictive analytics query as input;

identifying the predictive analytics by-example vocabularies;

extracting the subject-specific by-example vocabularies from the user-defined predictive analytics query received as input;

validating correct sequencing of one or more by-example keywords using rules of the set of syntactic grammar; and

analyzing the predictive analytics by-example vocabularies in the user-defined predictive analytics query received, together with a data type of the subject-specific by-example vocabularies, to determine semantics of the user-defined predictive analytics query received, including an associated predictive analytics model and predictive analytics command to generate, wherein a generator uses decisions of a parser to perform at least one of constructing an instance of the predictive analytics model along with corresponding commands and selecting an existing model to reuse.

14. The computer program product of claim 12 , wherein providing the set of palette elements further comprises:

providing subject-specific by-example vocabularies palette elements to the palette using a subject-specific by-example vocabularies palette element constructor; and

providing predictive analytics by-example vocabularies palette elements to the palette using a predictive analytics by-example vocabularies palette element constructor, wherein the predictive analytics by-example vocabularies palette element constructor further comprises at least predictive analytics by-example vocabularies selected from the group consisting of “given,” “if,” “how is,” “what combinations of,” “associated with,” “frequently occurs with,” “behaves similarly,” “which,” “what is,” “maximizes,” “minimizes,” “and,” “or,” and a combination thereof.

15. A system for predictive analytic queries, the system comprising:

a processor unit configured to:

create a set of predictive analytics by-example vocabularies;

create a set of subject-specific by-example vocabularies, each comprising one or more nouns associated with a respective subject area, wherein the one or more subject-specific by-example vocabularies are based on a capability of one or more data sources;

generate a palette of vocabularies for constructing predictive queries, wherein the palette of vocabularies is based on the set of predictive analytics by-example vocabularies and the set of subject-specific by-example vocabularies;

construct a user-defined predictive analytics query comprising the palette of vocabularies using a set of syntactic grammar that defines a correct syntax of the user-defined predictive analytic query;

wherein the set of syntactic grammar defines semantics of each syntactically correct predictive analytics query using the palette of vocabularies, such that the user-defined predictive analytics query is expressed with semantic precision using a constrained Natural Language Processing (cNLP) approach;

a generator configured to generate a predictive analytic model and runtime query, using the user-defined predictive analytics query; and

a predictive analytic platform configured to execute the runtime query using the predictive analytic model to create a result and to return the result to a user.

16. The system of claim 15 , wherein to create the set of subject-specific by-example vocabularies, the processor unit is further configured to use an assertion sub-method wherein the subject-specific by-example vocabularies are derived from input that includes data source schema, metadata including ontology, and data instances.

17. The system of claim 15 , wherein the processor unit is further configured to:

collect the subject-specific by-example vocabularies that are at least nouns, using a subject-specific by-example vocabularies palette constructor; and

generate a set of subject-specific by-example vocabulary palette elements using an assertion capability in a subject-specific by-example vocabularies palette constructor for use in constructing by-example predictive analytic queries, wherein the assertion capability comprises at least two assertion types including an “is-a-kind-of” assertion, and an “is” assertion.

18. The system of claim 15 ,

wherein to generate the palette of vocabularies, the processor unit is further configured to:

provide a set of palette elements with subject-specific by-example vocabularies and the set of predictive analytics by-example vocabularies, as palette elements for use to construct predictive analytics queries; and

collect all palette elements in the set of palette elements into a palette; and

wherein to construct the user-defined predictive analytics query, the processor unit is further configured to:

provide a canvas upon which a predictive analytics query is constructable by selecting subject-specific by-example vocabularies and predictive analytics by-example vocabularies from the palette elements of the palette; and

sequence the by-example vocabularies to create a sequence for further processing.

19. The system of claim 15 , wherein the processor unit is further configured to:

receive the user-defined predictive analytics query as input;

identify the predictive analytics by-example vocabularies;

extract the subject-specific by-example vocabularies from the user-defined predictive query received as input;

validate correct sequencing of by-example keywords using rules of the set of syntactic grammar; and

analyze the predictive analytics by-example vocabularies in the user-defined predictive analytics query received, together with a data type of the subject-specific by-example vocabularies, to determine semantics of the user-defined predictive analytics query received, including an associated predictive analytics model and predictive analytics command to generate, wherein a generator uses decisions of a parser to perform at least one of constructing an instance of the predictive analytics model along with corresponding commands and selecting an existing model to reuse.

20. The system of claim 12 , wherein the processor unit is further configured to:

provide subject-specific by-example vocabularies palette elements to the palette using a subject-specific by-example vocabularies palette element constructor; and

provide predictive analytics by-example vocabularies palette elements to the palette using a predictive analytics by-example vocabularies palette element constructor, wherein the predictive analytics by-example vocabularies palette element constructor further comprises at least predictive analytics by-example vocabularies selected from the group consisting of “given,” “if,” “how is,” “what combinations of,” “associated with,” “frequently occurs with,” “behaves similarly,” “which,” “what is,” “maximizes,” “minimizes,” “and,” “or,” and a combination thereof.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2013
From: LAU, ALEX T.; LAU, DIANA; JOU, STEPHAN F.; NG, JOANNA W.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 030533/0029 →
Priority Claims (1)
CA 2779349 · Jun 6, 2012 · national
Continuity (1)
Related Publication 20130332481A1 · Dec 12, 2013