Method and apparatus for processing natural language using auto-intersection
First Claim
Patent Images
1. In a system for processing natural language, a method for intersecting a first selected tape and a second selected tape of a selected path of a multi-tape automaton (MTA) having a plurality of n tapes and a plurality of paths, comprising:
- (a) generating a string tuple <
s1, . . . , sn>
having a string s for each of the n tapes of the selected path of the MTA;
(b) comparing the string sj of the first selected tape with the string sk of the second selected tape in the string tuple generated at (a);
(c) if the strings sj and sk equal at (b), retaining the string tuple in the MTA;
(d) if the strings sj and sk do not equal at (b), restructuring the MTA to remove the string tuple while retaining other paths in the MTA;
(e) repeating (a)-(d) for at least another path of the MTA by specifying the one or more paths in turn as the selected path;
(f) outputting the MTA restructured at (d) in which all paths in the MTA are removed except for those having equal strings on the first selected tape and the second selected tape of the string tuples generated at (a).
1 Assignment
0 Petitions
Accused Products
Abstract
Operations for weighted and non-weighted multi-tape automata are described for use in natural language processing tasks such as morphological analysis, disambiguation, and entity extraction.
23 Citations
23 Claims
-
1. In a system for processing natural language, a method for intersecting a first selected tape and a second selected tape of a selected path of a multi-tape automaton (MTA) having a plurality of n tapes and a plurality of paths, comprising:
-
(a) generating a string tuple <
s1, . . . , sn>
having a string s for each of the n tapes of the selected path of the MTA;
(b) comparing the string sj of the first selected tape with the string sk of the second selected tape in the string tuple generated at (a);
(c) if the strings sj and sk equal at (b), retaining the string tuple in the MTA;
(d) if the strings sj and sk do not equal at (b), restructuring the MTA to remove the string tuple while retaining other paths in the MTA;
(e) repeating (a)-(d) for at least another path of the MTA by specifying the one or more paths in turn as the selected path;
(f) outputting the MTA restructured at (d) in which all paths in the MTA are removed except for those having equal strings on the first selected tape and the second selected tape of the string tuples generated at (a). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. In a system for processing natural language, a method for intersecting a first tape and a second tape of an input multi-tape automaton (MTA) having a plurality of tapes and a plurality of paths, comprising:
-
(a) computing a first limit and a second limit of the input MTA;
(b) constructing an output MTA that intersects the first tape and the second tape using the second limit to delimit its construction;
said constructing removing transitions along paths in the output MTA except for those transitions of paths having similar labels on the first selected tape and the second selected tape;
(c) determining if the output MTA is regular using the first limit;
(d) if the output MTA is determined to be regular at (c), the output MTA being provided as a complete solution to the intersection of the first tape and the second tape of the input MTA;
(e) if the output MTA is determined not to be regular at (c), the output MTA being provided as a partial solution to the intersection of the first tape and the second tape of the input MTA. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. In a system for processing natural language, a method for intersecting a first tape and a second tape of a multi-tape automaton (MTA) having a plurality of n tapes and a plurality of paths, comprising:
-
(a) generating a string tuple <
s1, . . . , sn>
having a string s for each of the n tapes of each path of the MTA;
(b) comparing the string sj of the first tape with the string sk of the second tape in the string tuple;
(c) if the strings sj and sk equal at (b), retaining the string tuple in the MTA;
(d) if the strings sj and sk do not equal at (b), restructuring the MTA to remove the string tuple. - View Dependent Claims (23)
-
Specification