IP Library Granted Patent US 7,328,147
Granted Patent B2
US 7,328,147 · App. 10/406,524 · Granted Feb 5, 2008

Automatic resolution of segmentation ambiguities in grammar authoring

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,328,147
App. No.
10/406,524
Granted
Feb 5, 2008
Kind
B2
Abstract

A rules-based grammar is generated. Segmentation ambiguities are identified in training data. Rewrite rules for the ambiguous segmentations are enumerated and probabilities are generated for each. Ambiguities are resolved based on the probabilities. In one embodiment, this is done by applying the expectation maximization (EM) algorithm.

Claims (54)

1. A method of generating a rules-based grammar for natural language processing:

identifying segmentation ambiguities in training data in which segmentation of the training data is ambiguous;

enumerating rewrite rules for all ambiguous segmentations; and

automatically resolving the segmentation ambiguities by generating a probability for each enumerated rewrite rule based on occurrences of the rewrite rule supported by the training data.

2. The method of claim 1 wherein automatically resolving the segmentation ambiguities comprises:

estimating counts for each enumerated rewrite rule based on occurrences of the enumerated rewrite rules supported by the training data;

generating a probability for the each enumerated rewrite rule based on the counts estimated;

re-estimating the counts for the enumerated rewrite rules based on the probability for each rewrite rule obtained; and

iterating on the steps of obtaining a probability and re-estimating the counts until a desired convergence is obtained.

3. The method of claim 2 and further comprising:

receiving the training data.

4. The method of claim 3 wherein receiving the training data comprises:

receiving a schema and one or more semantically annotated text strings.

5. The method of claim 4 wherein identifying segmentation ambiguities comprises:

generating a template grammar from the training data, the template grammar including rewrite rules.

6. The method of claim 5 wherein identifying segmentation ambiguities comprises:

generating a parse tree from the schema, the rewrite rules and the annotated text strings.

7. The method of claim 6 wherein each rewrite rule maps a leaf in the parse tree to a portion of the text string and wherein identifying segmentation ambiguities comprises:

identifying an ambiguous portion of the text string that can be mapped to more than one possible leaf in the parse tree.

8. The method of claim 7 wherein enumerating rewrite rules for all ambiguous segmentations comprises:

enumerating a rewrite rule that maps the ambiguous portion of the text string to each of the possible leaves in the parse tree.

9. The method of claim 8 wherein generating a probability for each enumerated rewrite rule comprises:

normalizing the counts for each rewrite rule that applies to a same leaf.

10. The method of claim 2 and further comprising:

prior to estimating counts, setting probabilities for each possible segmentation of a segmentation ambiguity example to a same value.

11. The method of claim 2 wherein automatically resolving the segmentation ambiguities comprises:

pruning the enumerated rewrite rules based on the probabilities generated.

12. The method of claim 11 wherein pruning comprises:

determining whether the probability generated for each rewrite rule meets a threshold value; and

pruning the rewrite rules based on the determination.

13. The method of claim 12 wherein pruning comprises:

pruning rewrite rules that fail to meet the threshold.

14. The method of claim 11 wherein pruning comprises:

pruning a rewrite rule that has not been supported by most likely segmentations for all training examples of a segmentation ambiguity.

15. A computer implemented grammar authoring system for authoring a rules-based grammar, comprising:

a template grammar generator configured to receive training data and generate a template grammar including ambiguous rewrite rules corresponding to segmentation ambiguities in the training data;

a disambiguation component, coupled to the template grammar generator, receiving the ambiguous rewrite rules and configured to generate probabilities for the ambiguous rewrite rules; and

a pruning component, coupled to the disambiguation component, configured to prune the ambiguous rewrite rules based on the probabilities generated.

16. The grammar authoring system of claim 15 wherein the ambiguous rewrite rules each correspond to a possible segmentation in a set of ambiguous segmentations.

17. The grammar authoring system of claim 16 wherein the disambiguation component comprises:

an estimation maximization (EM) algorithm application component configured to apply the EM algorithm to generate a probability associated with each possible segmentation.

18. The grammar authoring system of claim 17 wherein the EM algorithm application component is configured to:

estimate counts for each enumerated rewrite rule based on occurrences of the enumerated rewrite rules supported by the training data;

generate a probability for the each enumerated rewrite rule based on the counts estimated;

re-estimate the counts for the enumerated rewrite rules based on the probability for each rewrite rule obtained; and

iterate on the steps of obtaining a probability and re-estimating the counts until a desired convergence is obtained.

19. The grammar authoring system of claim 18 wherein training data comprises:

a schema and one or more semantically annotated text strings.

20. The grammar authoring system of claim 19 wherein the template grammar generator is configured to generate a parse tree from the schema, the rewrite rules and the annotated text strings.

21. The grammar authoring system of claim 20 wherein each rewrite rule maps a leaf in the parse tree to a portion of the text string and wherein the template grammar generator is configured to identify an ambiguous portion of the text string that can be mapped to more than one possible leaf in the parse tree.

22. The grammar authoring system of claim 21 wherein the template grammar generator is configured to enumerate a rewrite rule that maps the ambiguous portion of the text string to each of the possible leaves in the parse tree.

23. The grammar authoring system of claim 15 wherein the pruning component is configured to determine whether the probability generated for each rewrite rule meets a threshold value; and prune the rewrite rules based on the determination.

24. The grammar authoring system of claim 23 wherein the pruning component is configured to prune the rewrite rules by pruning rewrite rules that fail to meet the threshold.

25. The grammar authoring system of claim 15 wherein the pruning component is configured to prune a rewrite rule that has not been supported by most likely segmentations for all training examples of a segmentation ambiguity.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →