Natural language access to application programming interfaces
First Claim
1. A method for handling a user request for invoking a computer service through an Application Programming Interface, comprising:
- performing a first natural language (NL) analysis by a computer on one or more computer service user programming documents, wherein API user documents describe in structured natural language one or more structured Application Programming Interfaces (APIs) with one or more API elements, and wherein each API element corresponds to a parameter or argument to use or invoke the computer service;
extracting by a computer the one or more API elements from a user programming document according to the first NL analysis;
performing a second NL analysis by the computer on an unstructured request from a client to use or invoke the computer service, the unstructured request comprising natural language containing one or more request components;
matching by the computer the one or more request components to the one or more API elements;
constructing by the computer a structured API call using the matching request components for API elements; and
performing by the computer one or more operations selected from the group consisting of submitting the constructed structured API call to the computer service on behalf of the client, returning the constructed structured API call to the requesting client, and returning a result from an invoked corresponding computer service to the requesting client.
1 Assignment
0 Petitions
Accused Products
Abstract
Users of online services may avoid having to gain knowledge of the intricacies of specific Application Programming Interface (API) syntaxes and elements by using natural language requests which are processed to extract components of the request. The components are then used to find one or more matches of known APIs, and then at least one structured API call is constructed by mapping the request'"'"'s components to the structured API call'"'"'s elements. The system can then invoke the online service on behalf of the client, and return the results to the client, or it can return the constructed structured API call to the client. The known API details can be initialized and updated by ingesting the description documents for the structured APIs, and then using natural language processing to extract components from the descriptions, which can then be utilized in the matching process to further enhance the results of the tool.
-
Citations
15 Claims
-
1. A method for handling a user request for invoking a computer service through an Application Programming Interface, comprising:
-
performing a first natural language (NL) analysis by a computer on one or more computer service user programming documents, wherein API user documents describe in structured natural language one or more structured Application Programming Interfaces (APIs) with one or more API elements, and wherein each API element corresponds to a parameter or argument to use or invoke the computer service; extracting by a computer the one or more API elements from a user programming document according to the first NL analysis; performing a second NL analysis by the computer on an unstructured request from a client to use or invoke the computer service, the unstructured request comprising natural language containing one or more request components; matching by the computer the one or more request components to the one or more API elements; constructing by the computer a structured API call using the matching request components for API elements; and performing by the computer one or more operations selected from the group consisting of submitting the constructed structured API call to the computer service on behalf of the client, returning the constructed structured API call to the requesting client, and returning a result from an invoked corresponding computer service to the requesting client. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer program product for handling a user request for invoking a computer service comprising:
-
a computer-readable, memory storage device; and one or more computer program instructions embodied by the computer-readable, memory storage device, for causing a computer processor upon execution to perform operations comprising; performing a first natural language (NL) analysis on one or more computer service user programming documents, wherein API user documents describe in structured natural language one or more structured Application Programming Interfaces (APIs) with one or more API elements, and wherein each API element corresponds to a parameter or argument to use or invoke the computer service; extracting the one or more API elements from a user programming document according to the first NL analysis; performing a second NL analysis on an unstructured request from a client to use or invoke the computer service, the unstructured request comprising natural language containing one or more request components; matching the one or more request components to the one or more API elements; constructing a structured API call using the matching request components for API elements; and performing one or more operations selected from the group consisting of submitting the constructed structured API call to the computer service on behalf of the client, returning the constructed structured API call to the requesting client, and returning a result from an invoked corresponding computer service to the requesting client. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A system for handling a user request for invoking a computer service comprising:
-
a computer processor; a computer-readable, memory storage device; and one or more computer program instructions embodied by the computer-readable, memory storage device, for causing the computer processor upon execution to perform operations comprising; performing a first natural language (NL) analysis on one or more computer service user programming documents, wherein API user documents describe in structured natural language one or more structured Application Programming Interfaces (APIs) with one or more API elements, and wherein each API element corresponds to a parameter or argument to use or invoke the computer service; extracting the one or more API elements from a user programming document according to the first NL analysis; performing a second NL analysis on an unstructured request from a client to use or invoke the computer service, the unstructured request comprising natural language containing one or more request components; matching the one or more request components to the one or more API elements; constructing a structured API call using the matching request components for API elements; and performing one or more operations selected from the group consisting of submitting the constructed structured API call to the computer service on behalf of the client, returning the constructed structured API call to the requesting client, and returning a result from an invoked corresponding computer service to the requesting client. - View Dependent Claims (12, 13, 14, 15)
-
Specification