Translating natural language descriptions to programs in a domain-specific language for spreadsheets
First Claim
1. A method for translating natural language descriptions to programs in a domain-specific language for spreadsheet documents, the method comprising:
- generating a model of a spreadsheet document generated by a spreadsheet program, comprising a column description for each column, and one or more types associated with each column;
identifying phrases in the natural language description that match with a column name or a data value in a column based on the model;
generating a normalized description for the original description based on the identified phrases;
generating a plurality of programs in an underlying domain-specific language from the normalized description by applying a combination of rule-driven translation and type-based program synthesis; and
ranking the generated programs in an order that reflects their likelihood.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method to translate natural language descriptions to programs in a domain-specific language for spreadsheets. The method includes generating a model of a spreadsheet. The model includes a column description for each column, and one or more types associated with each column. The method also includes normalizing the description by removing stop words, and replacing parts that match column names or data values by parameterized place-holders. The method involves applying rule-based translation along with keyword or type-based program synthesis in an inter-leaved, bottom-up manner and dynamic programming style, where phrases are mapped to sub-programs in increasing order of their length. The rules describe how to map a specific partial natural language phrase into a partial sub-program. Also, the method includes generating a number of potential programs and ranking the programs to sequence them according to their intended likelihood.
-
Citations
20 Claims
-
1. A method for translating natural language descriptions to programs in a domain-specific language for spreadsheet documents, the method comprising:
-
generating a model of a spreadsheet document generated by a spreadsheet program, comprising a column description for each column, and one or more types associated with each column; identifying phrases in the natural language description that match with a column name or a data value in a column based on the model; generating a normalized description for the original description based on the identified phrases; generating a plurality of programs in an underlying domain-specific language from the normalized description by applying a combination of rule-driven translation and type-based program synthesis; and ranking the generated programs in an order that reflects their likelihood. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for translating natural language descriptions to programs in spreadsheet documents, the system comprising:
-
a processing unit; and a system memory, wherein the system memory comprises code configured to direct the processing unit to; generate a model of a spreadsheet document generated by a spreadsheet program, comprising a column description for each column, and one or more types associated with each column; generate a plurality of potential programs in a domain-specific language after normalizing the natural language description based on the model, and using a combination of rule-based translation and type-based program synthesis; present a first of the potential programs based on a likelihood the one potential program is associated with the intended program; and present a second of the potential interpretations in response to a request from a spreadsheet user. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. One or more computer-readable storage media for translating natural language descriptions to expressions in spreadsheet documents, the computer-readable storage media comprising code configured to direct a processing unit to:
-
generate a model of a spreadsheet document generated by a spreadsheet program, comprising a column description for each column of the spreadsheet document, and one or more types associated with each column; generate a plurality of potential programs in an underlying domain-specific language from the natural language description by first normalizing the description based on the model, and then using a translation system that uses a combination of rule-based translation and type-based program synthesis; and present a first of the potential interpretations based on a likelihood the one potential interpretation is associated with the intended program; and present a result of the program in association with a selection of one or more columns, wherein the columns are associated with the program, and wherein the result is based on the columns. - View Dependent Claims (19, 20)
-
Specification