Programming in a precise syntax using natural language
AssigneeWolfram Alpha LLC
InventorsStephen Wolfram, Theodore W. Gray
Life of this patent
Estimating the term…
Abstract
A method facilitates development of instructions in a precise syntax, such as built-in functions of a computational system such as a spreadsheet application, using natural language (NL) input. A user may enter NL input in a workspace. An NL processing system may process the NL input to generate instruction(s) in a precise syntax that corresponds to the NL input. The instruction(s) in the precise syntax then may be included in the workspace.
Claims17
A method, comprising:
- receiving, via a user interface device, user input for inclusion in a workspace document within in a graphical user interface of a software development application that, when executed by one or more computer processors, is configured to evaluate instructions in a precise syntax;
- after receiving the user input, displaying, on a display device, the user input in the workspace document;
- determining, at the one or more computer processors, whether at least a portion of the user input i) is in the precise syntax, or ii) is in an imprecise syntax;
- in response to determining that at least the portion of the user input is in the precise syntax,
- evaluating, at the one or more computer processors, at least the portion of the user input according to the precise syntax;
- in response to determining that at least the portion of the user input is in the imprecise syntax,
- generating, at the one or more computer processors, an application programming interface (API) call that includes i) the at least the portion of the user input in the imprecise syntax, and ii) information indicating a result of a previous evaluation, by the software development application, of a user input previously entered into the workspace document, wherein the API call is configured to:
- prompt a natural language processing (NLP) system implemented by one or more computer processors to process the at least the portion of the user input in the imprecise syntax and the information indicating the result of the previous evaluation in the API call to determine the instruction in the precise syntax that corresponds to the user input in the imprecise syntax, and to format the instruction in the precise syntax according to a format recognized by the software development application, wherein the instruction in the precise syntax is for generating a modification of the result of the previous evaluation;
- also in response to determining that at least the portion of the user input is in the imprecise syntax,
- sending, by the one or more computer processors, the API call the NLP system,
- receiving, at the one or more computer processors, the instruction in the precise syntax from the NLP system, wherein receiving the instruction in the precise syntax from the NLP system is responsive to sending the API call to the NLP system,
- including, by one or more computer processors, the instruction in the precise syntax in the workspace document such that the software development application executed by one or more computer processors can evaluate the instruction in the precise syntax, and
- in connection with including the instruction in the precise syntax in the workspace document, evaluating, at one or more computing devices, the instruction in the precise syntax.
One or more tangible, non-transitory computer readable storage media, storing machine readable instructions that, when executed by one or more computer processors, cause the one or more processors to:
- receive, via a user interface device, user input for inclusion in a workspace document within in a graphical user interface of a software development application that, when executed by one or more computer processors, is configured to evaluate instructions in a precise syntax;
- after receiving the user input, display, on a display device, the user input in the workspace document;
- determine whether at least a portion of the user input i) is in the precise syntax, or ii) is in an imprecise syntax;
- in response to determining that at least the portion of the user input is in the precise syntax,
- evaluate at least the portion of the user input according to the precise syntax;
- in response to determining that at least the portion of the user input is in the imprecise syntax,
- generate an application programming interface (API) call that includes i) the at least the portion of the user input in the imprecise syntax, and ii) information indicating a result of a previous evaluation, by the software development application, of a user input previously entered into the workspace document, wherein the API call is configured to:
- prompt a natural language processing (NLP) system implemented by one or more computer processors to process the at least the portion of the user input in the imprecise syntax and the information indicating the result of the previous evaluation in the API call to determine the instruction in the precise syntax that corresponds to the user input in the imprecise syntax, and to format the instruction in the precise syntax according to a format recognized by the software development application, wherein the instruction in the precise syntax is for generating a modification of the result of the previous evaluation;
- also in response to determining that at least the portion of the user input is in the imprecise syntax,
- send the API call the NLP system,
- receive the instruction in the precise syntax from the NLP system, wherein receiving the instruction in the precise syntax from the NLP system is responsive to sending the API call to the NLP system,
- include the instruction in the precise syntax in the workspace document such that the software development application executed by one or more computer processors can evaluate the instruction in the precise syntax, and
- in connection with including the instruction in the precise syntax in the workspace document, evaluate the instruction in the precise syntax.
A system, comprising:
- one or more computer processors;
- one or more tangible, non-transitory computer readable storage media storing machine readable instructions that, when executed by one or more computer processors, cause the one or more processors to:
- receive, via a user interface device, user input for inclusion in a workspace document within in a graphical user interface of a software development application that, when executed by one or more computer processors, is configured to evaluate instructions in a precise syntax,
- after receiving the user input, display, on a display device, the user input in the workspace document,
- determine whether at least a portion of the user input i) is in the precise syntax, or ii) is in an imprecise syntax, and
- in response to determining that at least the portion of the user input is in the precise syntax, evaluate at least the portion of the user input according to the precise syntax;
- wherein the one or more tangible, non-transitory computer readable storage media further store machine readable instructions that, when executed by one or more computer processors, cause the one or more processors to:
- in response to determining that at least the portion of the user input is in the imprecise syntax, generate an application programming interface (API) call that includes i) the at least the portion of the user input in the imprecise syntax, and ii) information indicating a result of a previous evaluation, by the software development application, of a user input previously entered into the workspace document, wherein the API call is configured to:
- prompt a natural language processing (NLP) system implemented by one or more computer processors to process the at least the portion of the user input in the imprecise syntax and the information indicating the result of the previous evaluation in the API call to determine the instruction in the precise syntax that corresponds to the user input in the imprecise syntax, and to format the instruction in the precise syntax according to a format recognized by the software development application, wherein the instruction in the precise syntax is for generating a modification of the result of the previous evaluation;
- and
- wherein the one or more tangible, non-transitory computer readable storage media further store machine readable instructions that, when executed by one or more computer processors, cause the one or more processors to:
- also in response to determining that at least the portion of the user input is in the imprecise syntax,
- send the API call the NLP system,
- receive the instruction in the precise syntax from the NLP system, wherein receiving the instruction in the precise syntax from the NLP system is responsive to sending the API call to the NLP system,
- include the instruction in the precise syntax in the workspace document such that the software development application executed by one or more computer processors can evaluate the instruction in the precise syntax, and
- in connection with including the instruction in the precise syntax in the workspace document, evaluate the instruction in the precise syntax.
Dependencies are inferred from the claim text.