Semantic entity manipulation using input-output examples
First Claim
1. A computer-implemented process for producing a desired output item from one or more input items employing a probabilistic program generated using input-output examples, comprising:
- using a computer to perform the following process actions;
receiving input-output examples, each input-output example providing one or more input items and a corresponding desired output item;
parsing the input items and the output items to produce a weighted set of parses, each weighted parse representing a different potential parsing of each input and output item weighted in accordance with a measure of the likelihood the parsing is a valid parsing based on a comparison to a library of parses;
for each input-output example,identifying one or more transforms from a library of transforms of a type that can produce the desired output item from the input items, andidentifying formatting instructions which are capable of formatting an output item so as to match the formatting of the desired output item of the input-output example;
generating a probabilistic program which given one or more input items of the same type as the input items of the input-output examples, employs the identified transforms and the formatting instructions, to produce an output item corresponding to the one or more input items; and
receiving one or more input items of the same type as the input items of the input-output examples, and producing an output item corresponding to the received input item using the generated probabilistic program.
3 Assignments
0 Petitions
Accused Products
Abstract
Semantic entity manipulation technique embodiments are presented that generate a probabilistic program capable of manipulating character strings representing semantic entities based on input-output examples. The program can then be used to produce a desired output consistent with the input-output examples from inputs of a type included in the examples. The probabilistic program is generated based on the output of parsing, transform and formatting modules. The parsing module employs a probabilistic approach to parsing the input-output examples. The transform module identifies a weighted set of transforms that are capable of producing the output item from the input items of an input-output example to a likelihood specified by their assigned weight. The formatting module generates formatting instructions that transform selected output parts into a form specified by the output items in the input-output examples.
-
Citations
20 Claims
-
1. A computer-implemented process for producing a desired output item from one or more input items employing a probabilistic program generated using input-output examples, comprising:
-
using a computer to perform the following process actions; receiving input-output examples, each input-output example providing one or more input items and a corresponding desired output item; parsing the input items and the output items to produce a weighted set of parses, each weighted parse representing a different potential parsing of each input and output item weighted in accordance with a measure of the likelihood the parsing is a valid parsing based on a comparison to a library of parses; for each input-output example, identifying one or more transforms from a library of transforms of a type that can produce the desired output item from the input items, and identifying formatting instructions which are capable of formatting an output item so as to match the formatting of the desired output item of the input-output example; generating a probabilistic program which given one or more input items of the same type as the input items of the input-output examples, employs the identified transforms and the formatting instructions, to produce an output item corresponding to the one or more input items; and receiving one or more input items of the same type as the input items of the input-output examples, and producing an output item corresponding to the received input item using the generated probabilistic program. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A system for producing a desired output item from one or more input items employing a probabilistic program generated using input-output examples, comprising:
-
a computing device; and a computer program comprising program modules executed by the computing device, said program modules comprising, a parsing module which parses input items and output items making up said input-output examples to produce a weighted set of parses, each weighted parse representing a different potential parsing of each input and output item weighted in accordance with a measure of the likelihood the parsing is a valid parsing based on a comparison to a library of parses, a transform module which, for each input-output example, identifies one or more transforms from a library of transforms of a type that can produce the desired output item from the input items, and a formatting module which identifies formatting instructions that are capable of formatting an output item so as to match the formatting of the desired output item of an input-output example; a program generation module which generates a probabilistic program that given one or more input items of a same type as the input items of the input-output examples, employs the identified transforms and the formatting instructions, to produce a set of ranked output items, wherein the output items are ranked in order of a weighting factor computed therefor comprising a measure indicative of how accurately the transform produces the output item from the input items associated with the input-output examples, and a program execution module which produces an output item corresponding to a received input item of the same type as the input items of the input-output examples using the generated probabilistic program. - View Dependent Claims (18)
-
-
19. A computer-readable storage medium for storing computer readable instructions, the computer-readable instructions providing a probabilistic program generation system which produces a desired output item from one or more input items using input-output examples when executed by one or more processing devices, the computer-readable instructions comprising:
-
parsing logic configured to receive input-output examples, each input-output example providing one or more input items and a corresponding desired output item, and to parse the input items and the output items to produce a weighted set of parses, each weighted parse representing a different potential parsing of each input and output item weighted in accordance with a measure of the likelihood the parsing is a valid parsing based on a comparison to a library of parses; transformation logic configured to, for each input-output example, identify one or more transforms of a type that can produce the desired output item from the input items; formatting logic configured to identify formatting instructions which are capable of formatting an output item so as to match the formatting of the desired output item of a input-output example; generating logic configured to generate a probabilistic program which given one or more input items of a same type as the input items of the input-output examples, employs the identified transforms and the formatting instructions, to produce an output item corresponding to the one or more input items; and execution logic configured to receive one or more input items of the same type as the input items of the input-output examples, and produce an output item corresponding to the received input item using the generated probabilistic program. - View Dependent Claims (20)
-
Specification