Natural language to API conversion

US11842205B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11842205-B2
Application numberUS-202217898701-A
CountryUS
Kind codeB2
Filing dateAug 30, 2022
Priority dateMar 13, 2018
Publication dateDec 12, 2023
Grant dateDec 12, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Representative embodiments disclose mechanisms to map natural language input to an application programming interface (API) call. The natural language input is first mapped to an API frame, which is a representation of the API call without any API call formatting. The mapping from natural language input to API frame is performed using a trained sequence to sequence neural model. The sequence to sequence neural model is decomposed into small prediction units called modules. Each module is highly specialized at predicting a pre-defined kind of sequence output. The output of the modules can be displayed in an interactive user interface that allows the user to add, remove, and/or modify the output of the individual modules. The user input can be used as further training data. The API frame is mapped to an API call using a deterministic mapping.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer implemented method, comprising: receiving a natural language utterance; submitting the natural language utterance to a trained machine learning model comprising an encoder and a plurality of decoder modules, each of the plurality of decoder modules coupled to the encoder and being trained to recognize one or more tokens output from the encoder and to map the one or more tokens to one or more corresponding application programming interface (API) parameters; receiving, from the trained machine learning model, a plurality of API parameters provided by two or more decoder modules of the plurality of decoder modules, the two or more decoder modules being selectively activated on an individual basis based at least on the one or more tokens output from the encoder; mapping the plurality of API parameters into an API call; and outputting the API call. 2. The method of claim 1 , wherein the two or more decoder modules include a first decoder module configured to output a first API parameter of the API call and a second decoder module configured to output a second API parameter of the API call. 3. The method of claim 1 , wherein the trained machine learning model comprises a controller configured to selectively activate individual decoder modules based at least on an encoded utterance output by the encoder. 4. The method of claim 1 , wherein individual decoder modules are configured to receive an encoded utterance output by the encoder and selectively self-activate based at least on the encoded utterance. 5. The method of claim 1 , further comprising: using a set of deterministic rules to map the plurality of API parameters into the API call. 6. The method of claim 1 , further comprising: outputting a first API parameter provided by a first decoder module; receiving user input indicating whether the first API parameter is correct; and training the first decoder module based at least on the user input. 7. The method of claim 6 , wherein the outputting the first API parameter comprises displaying a graphical user interface having an edit control configured to edit the first API parameter to a corrected first API parameter in response to the user input. 8. The method of claim 7 , further comprising including the corrected first API parameter in the API call and outputting the API call to a service. 9. A system comprising: a processor; and a device-storage media storing executable instructions which, when executed by the processor, cause the processor to: process a natural language utterance using an encoder to obtain an encoded utterance; selectively activate individual decoders of a plurality of decoders based at least on the encoded utterance; using the activated individual decoders, map tokens of the encoded utterance into corresponding application programming interface (API) parameters; and generate an API call having the corresponding API parameters. 10. The system of claim 9 , wherein the executable instructions, when executed by the processor, cause the processor to: receive the natural language utterance over a network from a user device. 11. The system of claim 10 , wherein the executable instructions, when executed by the processor, cause the processor to: send the API call over the network to the user device. 12. The system of claim 9 , wherein the executable instructions, when executed by the processor, cause the processor to: receive the natural language utterance locally from a user; and invoke a local service on the system using the API call. 13. The system of claim 9 , wherein the executable instructions, when executed by the processor, cause the processor to: receive the natural language utterance locally from a user; and invoke a remote service by sending the API call over a network to the remote service. 14. The system of claim 9 , wherein the executable instructions, when executed by the processor, cause the processor to: map the corresponding API parameters into a corresponding intermediate representation of the API call; and generate the API call by applying one or more conversion rules to the intermediate representation. 15. The system of claim 14 , the intermediate representation comprising an API frame. 16. The system of claim 9 , the encoder comprising a word embedding layer configured to map the tokens into vector representations that are provided to the activated individual decoders. 17. A computer-readable storage medium storing comprising executable instructions which, when executed by a processor of a machine, cause the machine to perform acts comprising: obtaining an encoded utterance; based at least on the encoded utterance, selecting two or more decoder modules from a plurality of decoder modules to decode the encoded utterance; providing individual token representations of the encoded utterance to the selected two or more decoder modules; receiving a plurality of application programming interface (API) parameters provided by the selected two or more decoder modules; mapping the plurality of API parameters into an API call; and outputting the API call. 18. The computer-readable storage medium of claim 17 , the acts further comprising: selecting different sets of decoder modules to process different encoded utterances based at least on different token representations in the different encoded utterances. 19. The computer-readable storage medium of claim 18 , the different token representations comprising word embeddings. 20. The computer-readable storage medium of claim 17 , wherein outputting the API call comprises invoking a service by submitting the API call to the service.

Assignees

Inventors

Classifications

  • Auto-encoder networks; Encoder-decoder networks · CPC title

  • Recurrent networks, e.g. Hopfield networks · CPC title

  • Supervised learning · CPC title

  • characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU] · CPC title

  • G06F9/448Primary

    Execution paradigms, e.g. implementations of programming paradigms · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11842205B2 cover?
Representative embodiments disclose mechanisms to map natural language input to an application programming interface (API) call. The natural language input is first mapped to an API frame, which is a representation of the API call without any API call formatting. The mapping from natural language input to API frame is performed using a trained sequence to sequence neural model. The sequence to …
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/448. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 12 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).