IP Library Granted Patent US 10,360,066
Granted Patent B2
US 10,360,066 · App. 15/420,272 · Granted Jul 23, 2019

Workflow generation from natural language statements

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 10,360,066
App. No.
15/420,272
Granted
Jul 23, 2019
Kind
B2
Abstract

In one example in accordance with the present disclosure, a method may include classifying each word in a natural language statement and determining an implementation, from a set of possible implementations, for a workflow platform based on the classified words. The method may also include mapping a first of the classified words to a task selected from a set of possible tasks associated with the implementation and mapping a second of the classified words to an input parameter associated with the task. The method may also include generating a workflow for the workflow platform using the task and the input.

Claims (87)

1. A method comprising:

classifying, by a computer, each word in a natural language statement;

determining, by the computer, an implementation, from a set of possible implementations, for a processor-based workflow platform based on the classified words;

determining, by the computer, available tasks for the determined implementation;

mapping, by the computer, a first word of the classified words to a task selected from the determined available tasks, wherein the first word comprises a verb;

mapping, by the computer, a second word of the classified words to an input parameter associated with the task;

determining, by the computer, that, aside from the input parameter mapped to the second word of the classified words, a different input parameter corresponding to the task is missing from the natural language statement;

determining, by the computer, that an output parameter or an input parameter of a previous action meets requirements of the different input parameter; and

generating, by the computer, a workflow for the processor-based workflow platform for performing at least one of deploying or managing a component of a cloud-based computer system using the selected task and the input parameter, wherein generating the workflow for the processor-based workflow platform comprises generating a tool for virtualization.

2. The method of claim 1 , further comprising:

identifying, by the computer, a noun in the natural language statement; and

mapping, by the computer, the noun to the determined implementation from the set of possible implementations.

3. The method of claim 1 , further comprising:

identifying, by the computer, a noun in the natural language statement; and

mapping, by the computer, the noun to an applicable object for the determined implementation.

4. The method of claim 1 , further comprising:

identifying, by the computer, a group of unmapped words in the natural language statement;

determining, by the computer, that a first word in the group is a unit of measurement;

determining, by the computer that a second word in the group is a number;

marking, by the computer, the second word as a parameter corresponding to the unit of measurement;

determining, by the computer, that a third word in the group is a pronoun; and

marking, by the computer, the third word as a value corresponding to the unit of measurement.

5. The method of claim 4 , further comprising:

determining, by the computer, that a word belonging to the group is a preposition; and

removing, by the computer, the preposition from the group.

6. The method of claim 1 , further comprising:

identifying, by the computer, a second natural language statement associated with the natural language statement;

generating, by the computer, a second workflow for the workflow platform based on the second natural language statement; and

marking, by the computer, the second workflow as an error condition for the workflow.

7. The method of claim 1 , wherein classifying, by the computer, each word in the natural language statement comprises assigning each word to at least one of the following classifications: a noun, a verb, an adjective or a preposition.

8. The method of claim 1 , further comprising:

generating, by the computer, data serialization instructions from the task and input; and

generating, by the computer, the workflow from the data serialization instructions.

9. The method of claim 1 , further comprising:

determining, by the computer, that no words from the natural language statement match any implementation from the set of possible implementations;

identifying, by the computer, an unmapped word from the classified words;

determining, by the computer, a context keyword, from a synonyms database, that is associated with the unmapped word;

determining, by the computer, a synonym that is associated with the context keyword;

determining, by the computer, an implementation corresponding to the synonym; and

mapping, by the computer, the implementation to the unmapped word.

10. The method of claim 1 , wherein determining that an output parameter or an input parameter of a previous action meets requirements of the different input parameter comprises:

applying, by the computer, fuzzy logic to determine a semantic similarity between the different input parameter and the output parameter or input parameter of the previous action, and

applying, by the computer, fuzzy logic to determine a semantic similarity between a description of the different input parameter and a description of the output parameter or input parameter of the previous action.

11. A system comprising:

at least one processor; and

a memory to store instructions that, when executed by the at least one processor, cause the at least one processor to:

classify each word in a natural language statement based on a part of speech associated with the word;

determine an implementation, from a first dictionary, for a processor-based workflow platform based on the classified words, wherein the first dictionary includes functionalities supported by the processor-based workflow platform and implementations of the functionalities;

map a first word of the classified words to a task selected from a second dictionary, wherein the second dictionary includes tasks associated with the implementation;

map a second word of the classified words to an input parameter associated with the selected task;

determine that, aside from the input parameter mapped to the second word of the classified words, a different input parameter corresponding to the task is missing from the natural language statement;

determine that an output parameter or an input parameter of a previous action meets requirements of the different input parameter; and

generate a workflow for the processor-based workflow platform to perform at least one of deploying or managing a cloud-based computer system using the selected task and the input parameter, wherein generating the workflow for the processor-based workflow platform comprises generating a workflow to deploy or create a virtual machine.

12. The system of claim 11 , wherein the instructions, when executed by the at least one processor, cause the at least one processor to:

identify a first noun in the natural language statement;

map the noun to the implementation from the first dictionary;

identify a second noun in the natural language statement; and

map the noun to an applicable object for the implementation.

13. The system of claim 11 , wherein the instructions, when executed by the at least one processor, cause the at least one processor to:

identify a verb in the natural language statement;

determine available tasks, from the second dictionary, for the implementation; and

map the task from the available tasks to the verb.

14. The system of claim 11 , wherein the instructions, when executed by the at least one processor, cause the at least one processor to:

identify a group of unmapped words in the natural language statement;

determine that a first word in the group is a unit of measurement;

determine that a second word in the group is a number;

mark the second word as a parameter corresponding to the unit of measurement;

determine that a third word in the group is a pronoun; and

mark the third word as a value corresponding to the unit of measurement.

15. The system of claim 11 , wherein generating the workflow to deploy or create the virtual machine comprises selecting a snapshot or a template.

16. A non-transitory machine-readable storage medium encoded with instructions, the instructions executable by a processor of a system to cause the system to:

classify each word in a natural language statement;

determine a cloud platform implementation, from a set of possible cloud implementations, for a cloud workflow platform based on the classified words;

determine available tasks for the determined cloud platform implementation;

map a first word of the classified words to a cloud platform task selected from the determined tasks available for the determined cloud platform implementation;

map a second word of the classified words to an input parameter associated with the selected cloud platform task;

determine that, aside from the input parameter mapped to the second word of the classified words, a different input parameter corresponding to the task is missing from the natural language statement;

determine that an output parameter or an input parameter of a previous action meets requirements of the different input parameter; and

generate a workflow for the cloud workflow platform to perform at least one of deploying or managing a cloud-based computer system using the selected cloud platform task and the cloud platform input parameter, wherein generating the workflow for the cloud workflow platform comprises generating a workflow to deploy or create a virtual machine.

17. The non-transitory machine-readable storage medium of claim 16 , wherein the instructions executable by the processor of the system further cause the system to:

identify a first natural language statement associated with the natural language statement;

generate a first workflow for the cloud workflow platform based on the second natural language statement; and

mark the first workflow as an error condition for the workflow.

18. The non-transitory machine-readable storage medium of claim 16 , wherein the instructions executable by the processor of the system further cause the system to:

generate YAML instructions from the cloud workflow task and cloud workflow input; and

generate the workflow from the YAML instructions.

19. The non-transitory machine-readable storage medium of claim 16 , wherein generating the workflow to deploy or create the virtual machine comprises selecting a snapshot or a template.

Assignments (7)
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0577 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
Reel/Frame 063560/0001 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ARCSIGHT, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0577 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 042746/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2017
From: SUPARNA, ADARSH; VITALA, PRAMOD ANNACHIRA
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 041131/0180 →