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:
- receiving by a computer an unstructured request from a client to use or invoke a computer service, wherein the unstructured request comprises natural language (NL) containing one or more NL components;
performing by a computer natural language analysis on the unstructured request to extract one or more of the NL components;
matching by a computer the one or more NL components to one or more elements of at least one Hyper Text Transfer Protocol signature-based structured Application Programming Interface (API), wherein each structured API corresponds to the corresponding computer service, and wherein each API element corresponds to a parameter or argument to invoke the corresponding service;
constructing by a computer a structured API call by mapping the one or more extracted NL components to one or more of the API elements; and
performing by a computer one or more operations selected from the group consisting of submitting the constructed structured API call to a corresponding computer service on behalf of the client, returning the constructed structured API call to the 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.
97 Citations
18 Claims
-
1. A method for handling a user request for invoking a computer service through an Application Programming Interface, comprising:
-
receiving by a computer an unstructured request from a client to use or invoke a computer service, wherein the unstructured request comprises natural language (NL) containing one or more NL components; performing by a computer natural language analysis on the unstructured request to extract one or more of the NL components; matching by a computer the one or more NL components to one or more elements of at least one Hyper Text Transfer Protocol signature-based structured Application Programming Interface (API), wherein each structured API corresponds to the corresponding computer service, and wherein each API element corresponds to a parameter or argument to invoke the corresponding service; constructing by a computer a structured API call by mapping the one or more extracted NL components to one or more of the API elements; and performing by a computer one or more operations selected from the group consisting of submitting the constructed structured API call to a corresponding computer service on behalf of the client, returning the constructed structured API call to the client, and returning a result from an invoked corresponding computer service to the requesting client. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. 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 processor upon execution to perform operations comprising; receiving by a computer an unstructured request from a client to use or invoke a computer service, wherein the unstructured request comprises natural language (NL) containing one or more NL components; performing by a computer natural language analysis on the unstructured request to extract one or more of the NL components; matching by a computer the one or more NL components to one or more elements of at least one Hyper Text Transfer Protocol signature-based structured Application Programming Interface (API), wherein each structured API corresponds to the corresponding computer service, and wherein each API element corresponds to a parameter or argument to invoke the corresponding service; constructing by a computer a structured API call by mapping the one or more extracted NL components to one or more of the API elements; and performing by a computer one or more operations selected from the group consisting of submitting the constructed structured API call to a corresponding computer service on behalf of the client, returning the constructed structured API call to the client, and returning a result from an invoked corresponding computer service to the requesting client. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. 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; receiving by a computer an unstructured request from a client to use or invoke a computer service, wherein the unstructured request comprises natural language (NL) containing one or more NL components; performing by a computer natural language analysis on the unstructured request to extract one or more of the NL components; matching by a computer the one or more NL components to one or more elements of at least one Hyper Text Transfer Protocol signature-based structured Application Programming Interface (API), wherein each structured API corresponds to the corresponding computer service, and wherein each API element corresponds to a parameter or argument to invoke the corresponding service; constructing by a computer a structured API call by mapping the one or more extracted NL components to one or more of the API elements; and performing by a computer one or more operations selected from the group consisting of submitting the constructed structured API call to a corresponding computer service on behalf of the client, returning the constructed structured API call to the client, and returning a result from an invoked corresponding computer service to the requesting client. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification