发明名称 Generating text manipulation programs using input-output examples
摘要 A program creation system is described which generates a data manipulation program based on input-output examples. The created program may include a collection of subprograms together with a collection of corresponding selection conditions. When a new input item is received, a program execution module uses the selection conditions to select one of the subprograms. The program execution module then applies the selected subprogram to generate a new output item. The program creation system generates the program using a three-part approach, involving: generating sets of subprograms for the respective input-output examples; grouping the sets of programs into partitions and choosing representative subprograms for the partitions; and determining the selection conditions. A user interaction module provides various mechanisms which allow a user to interact with the program creation system and thereby improve the performance of the created program.
申请公布号 US8972930(B2) 申请公布日期 2015.03.03
申请号 US201012793700 申请日期 2010.06.04
申请人 Microsoft Corporation 发明人 Gulwani Sumit
分类号 G06F9/44;G06F17/22 主分类号 G06F9/44
代理机构 代理人 Choi Dan;Yee Judy;Minhas Micky
主权项 1. A method, performed using at least one computing device, for generating a program that performs a data manipulation task, comprising: receiving input-output examples, the input-output examples providing input text-strings and corresponding output text-strings, each corresponding output text-string representing a transformation performed on a respective input text-string; analyzing the input-output examples to generate sets of subprograms for the respective input-output examples, each subprogram configured to transform an input text-string associated with a particular input-output example to an output text-string associated with the particular input-output example, wherein said generating comprises generating a set of subprograms for the particular input-output example by identifying occurrences of string items in the input text-string that match respective string items in the output text-string to provide matching results, and providing the set of subprograms that map the input text-string to the output text-string using the matching results and constant strings; grouping the sets of subprograms into partitions, and selecting representative subprograms from the respective partitions; determining selection conditions for the respective partitions, each selection condition covering input text-strings associated with a particular partition while excluding input text-strings associated with other partitions; and providing a created program based on the selection conditions together with the representative subprograms.
地址 Redmond WA US