Grammar authoring system
AssigneeMicrosoft Corporation
InventorsYe-Yi Wang, Alejandro Acero
Life of this patent
Estimating the term…
Abstract
A grammar authoring system uses multiple sources of information to aid grammar authoring. This produces a semantic grammar derived semi-automatically with a relatively small amount of data.
Claims21
A method of building a learned context free grammar (CFG) for an application, comprising:
- generating a semantic schema for the application, the semantic schema having associated semantic constraints;
- generating a template grammar based on the semantic schema such that the template grammar inherits the semantic constraints associated with the semantic schema;
- and
- building the learned CFG by parsing training expressions using the template grammar, by:
- obtaining a training expression;
- parsing the training expression to produce a parse result;
- displaying an abstraction of the parse result;
- and
- receiving a correction input indicative of a direct user correction to the parse result, wherein the correction input annotates at least one anchor point that is a known correct alignment between the training expression and a preterminal in the template grammar, and wherein receiving the correction input comprises:
- receiving a selection input selecting an incorrectly aligned portion of the training expression in the parse result;
- receiving a movement input indicative of a user dragging the incorrectly aligned portion to a correct object in the abstraction of the parse result;
- and
- receiving a placement input indicative of a user dropping the incorrectly aligned portion on the correct object in the abstraction of the parse result.
A method of building a learned context free grammar (CFG) for an application, comprising:
- generating a semantic schema for the application, the semantic schema having associated semantic constraints;
- generating a template grammar based on the semantic schema such that the template grammar inherits the semantic constraints associated with the semantic schema;
- and
- building the learned CFG by parsing training expressions using the template grammar, by:
- obtaining a training expression;
- parsing the training expression to produce a parse result;
- displaying an abstraction of the parse result;
- and
- receiving a correction input, indicative of a direct user correction to the parse result, and wherein building the learned CFG further comprises associating at least one pre-existing library grammar with the template grammar based on a user input.
A method of building a learned context free grammar (CFG) comprising:
- generating a semantic schema for the learned CFG;
- obtaining a template CFG;
- receiving a training expression;
- obtaining an annotated expression by receiving a user annotation input annotating the training expression directly against the semantic schema to provide at least one anchor point that is a known correct alignment between a portion of the training expression and the template CFG;
- parsing the annotated expression to provide a parse result that complies with the anchor point;
- and
- building the learned CFG based on the parse result.
A system for developing a domain-specific, context free grammar (CFG), comprising:
- a template grammar generator receiving a semantic schema and generating a template grammar that inherits the semantic constraints from the semantic schema;
- an annotation interface receiving a user annotation input indicative of a user designated anchor point that is an alignment of at least a portion of a training expression with the semantic schema;
- a parser, coupled to the template grammar generator and the annotation interface, receiving the template grammar and the user annotation input and parsing the training expression to provide a parse result that complies with the anchor points;
- and
- a learner, coupled to the parser, learning the domain-specific CFG based on the parse result.
A method of generating a context free grammar (CFG), comprising:
- generating an underspecified template CFG;
- annotating a training expression, against an abstraction of the template CFG, with one or more anchor points aligning portions of the training expression with preterminals in the CFG;
- parsing the training expression with the template CFG to provide a parse result, given the anchor points;
- learning alignments of the training expression with the template CFG, in addition to the anchor points;
- and
- adding CFG rules to the template CFG to reflect the learned alignment and anchor points.
A method of generating a context free grammar (CFG) for an application in an application domain, comprising:
- generating an underspecified template CFG;
- displaying a schema of the application domain instead of the CFG;
- receiving a user input directly annotating a training expression against the schema instead of the template CFG, identifying one or more points of alignment between the training expression and the template CFG;
- parsing the training expression with the template CFG to provide a parse result that complies with the points of alignment;
- learning alignments of the training expression with the CFG;
- and
- adding CFG rules to the template CFG to reflect the learning alignments.
Dependencies are inferred from the claim text.