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 spreadsheets, the method comprising:
- generating a model of a spreadsheet, 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;
generating a normalized description for the original description;
generating a plurality of programs in the 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.
51 Citations
20 Claims
-
1. A method for translating natural language descriptions to programs in a domain-specific language for spreadsheets, the method comprising:
-
generating a model of a spreadsheet, 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; generating a normalized description for the original description; generating a plurality of programs in the 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 (8, 9, 10, 17)
-
- 2. The method recited in claim 2, comprising presenting the programs in association with the spreadsheet.
-
11. A system for translating natural language descriptions to programs in spreadsheets, 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, comprising a column description for each column, and one or more types associated with each column; generating a plurality of potential programs in the domain-specific language after normalizing the natural language description and using a combination of rule-based translation and type-based program synthesis; presenting a first of the potential programs based on a likelihood the one potential program is associated with the intended program; and presenting a second of the potential interpretations in response to a request from the spreadsheet user. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
18. One or more computer-readable storage media for translating natural language descriptions to expressions in spreadsheets, the computer-readable storage media comprising code configured to direct a processing unit to:
-
generate a model of a spreadsheet, comprising a column description for each column of the spreadsheet, and one or more types associated with each column; generating a plurality of potential programs in the underlying domain-specific language from the natural language description by first normalizing the description and then using a translation system that uses a combination of rule-based translation and type-based program synthesis; and presenting a first of the potential interpretations based on a likelihood the one potential interpretation is associated with the intended program; and presenting 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