Natural language to api conversion
US-2019286451-A1 · Sep 19, 2019 · US
US10496452B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10496452-B2 |
| Application number | US-201715582242-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 28, 2017 |
| Priority date | Mar 31, 2017 |
| Publication date | Dec 3, 2019 |
| Grant date | Dec 3, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Subject matter involves using natural language to Web application program interfaces (API), which map natural language commands into API calls, or API commands. This mapping enables an average user with little or no programming expertise to access Web services that use API calls using natural language. An API schema is accessed and using a specialized grammar, with the help of application programmers, canonical commands associated with the API calls are generated. A hierarchical probabilistic distribution may be applied to a semantic mesh associated with the canonical commands to identify elements of the commands that require labeling. The identified elements may be sent to annotators, for labeling with NL phrases. Labeled elements may be applied to the semantic mesh and probabilities, or weights updated. Labeled elements may be mapped to the canonical commands with machine learning to generate a natural language to API interface. Other embodiments are described and claimed.
Opening claim text (preview).
What is claimed is: 1. A system comprising: one or more hardware processors; transmission device for providing canonical representation information to at least one annotator; and at least one machine-readable storage medium having instructions stored thereon, the instructions when executed by the one or more hardware processors, cause the one or more hardware processors to: identify the syntax and context of application program interface (API) commands using a schema for the API; generate canonical commands for the API commands using a generalized grammar; generate a semantic mesh from the canonical commands; use a hierarchical probabilistic model with the semantic mesh to identify a subset of the canonical commands for annotation; and provide the subset of the canonical commands to the at least one annotator. 2. The system as recited in claim 1 , wherein the semantic mesh comprises a hierarchical structure of nodes representing a compositional relationship of the canonical commands. 3. The system as recited in claim 1 , wherein instructions to generate the canonical commands further comprise instructions to: apply the generalized grammar to API commands identified from the API schema to identify a top level canonical command; and decompose the top level canonical command into components. 4. The system as recited in claim 1 , further comprising: a receiver configured to receive annotated paraphrases from the at least one annotator, wherein the at least one machine-readable storage medium further includes instructions to: generate a model for a natural language interface (NLI) using the received annotated paraphrases; map the annotated paraphrases to API commands associated with the API; and provide the mapping to a natural language to API command interface for a Web application. 5. A computer implemented method comprising: identifying a syntax and context of application program interface (API) commands using a schema for the API; generating canonical commands for the API commands using a generalized grammar; generating a semantic mesh from the canonical commands, wherein the semantic mesh comprises a hierarchical structure of nodes representing a compositional relationship of the canonical commands; using a hierarchical probabilistic model with the semantic mesh to identify a subset of the canonical commands for annotation; and providing the subset of the canonical commands to at least one annotator. 6. The computer implemented method as recited in claim 5 , wherein generating the canonical commands comprises: applying the generalized grammar to API commands identified from the API schema to identify a top level canonical command; and decomposing the top level canonical command into components. 7. The computer implemented method as recited in claim 5 , wherein using the hierarchical probabilistic model with the semantic mesh comprises: computing a score based on distance between two nodes; and iteratively propagating the score from a bottom node to a top node in the semantic mesh, halving the score at each iteration, wherein the score of a node is the absolute difference of scores from two adjacent subordinate nodes. 8. The computer implemented method as recited in claim 5 , further comprising: receiving annotated paraphrases from the at least one annotator; generating a model for a natural language interface (NLI) using the annotated paraphrases; mapping the annotated paraphrases to API commands associated with the API; and providing the mapping to a natural language to API command interface for a Web application. 9. The computer implemented method as recited in claim 5 , wherein using a probabilistic model comprises: computing a policy based on differential propagation for nodes in the semantic mesh, where a node represents a canonical command or a composition element of a canonical command; and recursively propagating a score from a source node to parent node of the semantic mesh. 10. The computer implemented method as recited in claim 5 , wherein the grammar comprises lexicons, Boolean operators, query operators, and glue operators, for use with API commands for the API, wherein the Boolean, query and glue operators are derived programmatically from the API schema, and wherein the grammar specifies rules for deriving a canonical command from an API command. 11. The computer implemented method as recited in claim 10 , further comprising identifying the lexicons of the grammar based on a context associated with the API, wherein each lexicon entry is a lexical item comprising a lexical form and a syntactic category. 12. A machine readable medium having instructions stored thereon; the instructions when executed on a machine cause the machine to: identify the syntax and context of application program interface (API) commands using a schema for the API; generate canonical commands for the API commands using a generalized grammar; generate a semantic mesh from the canonical commands; identify a subset of the canonical commands for annotation using a hierarchical probabilistic model with the semantic mesh; and provide the subset of the canonical commands to at least one annotator. 13. The machine readable medium as recited in claim 12 , wherein the semantic mesh comprises a hierarchical structure of nodes representing a compositional relationship of the canonical commands. 14. The machine readable medium as recited in claim 12 , wherein instructions to generate the canonical commands comprises instructions to: apply the generalized grammar to API commands identified from the API schema to identify a top level canonical command; and decompose the top level canonical command into components. 15. The machine readable medium as recited in claim 14 , wherein a top level canonical command is a parent node for at least two component nodes in the semantic mesh, and wherein a component node without associated additional components is a root node. 16. The machine readable medium as recited in claim 12 , wherein identifying a subset of the canonical commands for annotation comprises instructions to: compute a score based on distance between two nodes; and iteratively propagate the score from a bottom node to a top node in the semantic mesh, halving the score at each iteration, wherein the score of a node is the absolute difference of scores from two adjacent subordinate nodes. 17. The machine readable medium as recited in claim 12 , further comprising instructions to: receive annotated paraphrases from the at least one annotator; generate a model for a natural language interface (NLI) using the annotated paraphrases; map the annotated paraphrases to API commands associated with the API; and provide the mapping to a natural language to API command interface for a Web application. 18. The machine readable medium as recited in claim 12 , wherein using the hierarchical probabilistic model comprises instructions to: compute a policy based on differential propagation for nodes in the semantic mesh, where a node represents a canonical command or a composition element of a canonical command; and recursively propagate a score from a source node to parent node of the semantic mesh. 19. The machine readable medium as recited in claim 12 , wherein the grammar comprises lexicons, Boolean operators, query operators, and glue operators, for use with API commands for the API, wherein the Boolean, query and glue operators are derived programmatically from the API schema, and wherein the grammar sp
Related publications grouped by family.
Answers are generated from the same data shown on this page.