IP Library Granted Patent US 10,140,101
Granted Patent B2
US 10,140,101 · App. 14/836,029 · Granted Nov 27, 2018

Aligning natural language to linking code snippets to perform a complicated task

Inventors: Corville O. Allen (Morrisville, NC); Heather L. Duschl (Raleigh, NC); Marit L. Imsdahl (Morrisville, NC); Alexandra D. Markello (Fayetteville, NC); Dana L. Price (Surf City, NC)
Assignee: International Business Machines Corporation
G06F8/36G06F8/34G06F9/54
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,140,101
App. No.
14/836,029
Granted
Nov 27, 2018
Kind
B2
Abstract

A method, system and computer-usable medium for linking a set of executable code snippets to perform a complicated task, comprising: decomposing a natural language statement into a plurality of decomposed natural language components; searching a repository of code snippets to identify code snippets corresponding to each of the decomposed natural language components; ordering execution of the code snippets based upon the plurality of decomposed natural language components; and, executing the code snippets in order of the natural language statement requests until a final outcome is achieved.

Claims (32)

1. A system comprising:

a processor;

a data bus coupled to the processor;

and a computer-usable medium embodying computer program code, the computer-usable medium being coupled to the data bus, the computer program code used for analyzing and deducing criteria-related content for evaluation in a system capable of answering questions and comprising instructions executable by the processor and configured for:

decomposing a natural language statement into a plurality of decomposed natural language components, the natural language statement relating to a complicated task, the complicated task comprising a plurality of sub-tasks, each of the plurality of sub-tasks corresponding to a respective decomposed natural language component, the decomposing comprising parsing the natural language statement into terms and parts of speech;

searching a repository of code snippets to identify code snippets corresponding to each of the plurality of sub-tasks corresponding to the respective decomposed natural language components;

ordering execution of the code snippets based upon the sub-tasks corresponding to the plurality of decomposed natural language components to perform the complex task, the complex task being performed using a computer executable algorithm, the computer executable algorithm comprising the code snippets identified as corresponding to each of the plurality of sub-tasks;

analyzing the plurality of decomposed natural language components for variables and values; and,

associating any identified variables and values with a particular code snippet based upon the analyzing; and wherein the associating includes matching data types to input types for code snippets, matching outcome types to output types, matching data types to a particular programming language of a code snippet and determining parameters to associate with the code snippet.

2. The system of claim 1 , wherein the instructions executable by the processor are further configured for: executing the code snippets in order of the natural language statement requests until a final outcome is achieved.

3. The system of claim 1 , wherein:

the decomposed natural language statement components are identified based upon a subject-verb-object (SVO) operation, a term identification operation, input/output identification operation, an action identification operation and a goal identification operation.

4. The system of claim 1 , wherein:

natural language statement based inputs and code snippet outputs are used to determine follow up snippets that are applicable for a next step of execution.

5. The system of claim 1 , wherein:

when a code snippet requires an additional parameter that is not specified within the natural language statement, a default instance of the additional parameter is generated that matches a signature within the repository of code snippets.

6. A non-transitory, computer-readable storage medium embodying computer program code, the computer program code comprising computer executable instructions configured for:

decomposing a natural language statement into a plurality of decomposed natural language components, the natural language statement relating to a complicated task, the complicated task comprising a plurality of sub-tasks, each of the plurality of sub-tasks corresponding to a respective decomposed natural language component, the decomposing comprising parsing the natural language statement and the plurality of decomposed natural language components comprise terms and parts of speech;

searching a repository of code snippets to identify code snippets corresponding to each of the plurality of sub-tasks corresponding to the respective decomposed natural language components;

ordering execution of the code snippets based the sub-tasks corresponding to upon the plurality of decomposed natural language components to perform the complex task, the complex task being performed using a computer executable algorithm, the computer executable algorithm comprising the code snippets identified as corresponding to each of the plurality of sub-tasks;

analyzing the plurality of decomposed natural language components for variables and values; and,

associating any identified variables and values with a particular code snippet based upon the analyzing; and wherein the associating includes matching data types to input types for code snippets, matching outcome types to output types, matching data types to a particular programming language of a code snippet and determining parameters to associate with the code snippet.

7. The non-transitory, computer-readable storage medium of claim 6 , wherein the computer executable instructions are further configured for:

executing the code snippets in order of the natural language statement requests until a final outcome is achieved.

8. The non-transitory, computer-readable storage medium of claim 6 , wherein:

the decomposed natural language statement components are identified based upon a subject-verb-object (SVO) operation, a term identification operation, input/output identification operation, an action identification operation and a goal identification operation.

9. The non-transitory, computer-readable storage medium of claim 6 , wherein:

natural language statement based inputs and code snippet outputs are used to determine follow up snippets that are applicable for a next step of execution.

10. The non-transitory, computer-readable storage medium of claim 6 , wherein:

when a code snippet requires an additional parameter that is not specified within the natural language statement, a default instance of the additional parameter is generated that matches a signature within the repository of code snippets.

11. The non-transitory, computer-readable storage medium of claim 6 , wherein the computer executable instructions are deployable to a client system from a server system at a remote location.

12. The non-transitory, computer-readable storage medium of claim 6 , wherein the computer executable instructions are provided by a service provider to a user on an on-demand basis.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2015
From: ALLEN, CORVILLE O.; DUSCHL, HEATHER L.; IMSDAHL, MARIT L.; MARKELLO, ALEXANDRA D.; PRICE, DANA L.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 036425/0308 →
Continuity (1)
Related Publication 20170060540A1 · Mar 2, 2017
Cited By (3)
US 12,346,690 US 12,450,442 US 12,596,858