File Information
File: 05-lr/acl_arc_1_sum/cleansed_text/xml_by_section/metho/99/e99-1008_metho.xml
Size: 16,710 bytes
Last Modified: 2025-10-06 14:15:19
<?xml version="1.0" standalone="yes"?> <Paper uid="E99-1008"> <Title>Range Concatenation Grammars</Title> <Section position="4" start_page="54" end_page="57" type="metho"> <SectionTitle> 3 Chinese Numbers &: RCGs </SectionTitle> <Paragraph position="0"> The number-name system of Chinese, specifically the Mandarin dialect, allows large number names to be constructed in the following way. The name for 1012 is zhao and the word for five is wu. The sequence uru zhao zhao wu zhao is a well-formed Chinese number name (i.e. 5 1024 + 5 1012) although wu zhao wu zhao zhao is not: the number sition in this argument, and if (XoaY, i) is an element of the mapping, we know that (Xa * Y, i + 1) must be another element. Moreover, if we know that the size of the range X is 3 and that the sizes of the ranges X and Y are (always) equal (see for example the subsequent predicates len and eq), we can conclude that (*XaY, i - 3) and (XaY., i + 4) are also elements of the mapping.</Paragraph> <Paragraph position="1"> SThe current implementation of our prototype system predefines several predicate names including len, and eq. It must be noted that these predefined predicates do not increase the formal power of RCGs since each of them can be defined by a pure RCG. For example, len(1,X) can be defined by lenl(t) --* c which is a clause schema over all terminals t E T.</Paragraph> <Paragraph position="2"> Their introduction is not only justified by the fact that they are more efficiently implemented than their RCG defined counterpart but mainly because they convey some static information about the length of their arguments which can be used, as already noted, to decrease the number of free bounds and thus lead to an improved parse time. In particular, the parse times for Chinese numbers, MIX, and German scrambling which are given in the next sections rely upon this statement.</Paragraph> <Paragraph position="3"> of consecutive zhao's must strictly decrease from left to right. All the well-formed number names composed only of instances of wu and zhao form the set { wu zhao kl wu zhao k2 ... wu zhao kp I kl>k2>... >kp>0} which can be abstracted as</Paragraph> <Paragraph position="5"> These numbers have been studied in \[Radzinski 91\], where it is shown that CN is not a LCFR language but an Indexed Language (IL) \[Aho 68\].</Paragraph> <Paragraph position="6"> Radzinski also argued that CN also appears not to be MCS and moreover he says that he fails &quot;to find a well-studied and attractive formalism that would seem to generate Numeric Chinese without generating the entire class of ILs (or some nonILs)&quot;. null We will show that CN is defined by the RCG in Let's call b k~ the i th slice. The core of this RCG is the predicate A of arity three. The string denoted by its third argument has always the form bk~-labk'+l..., it is a suffix of the source text, its prefix ab k~ ...abk~-lab I has already been examined. The property of the second argument is to have a size which is strictly greater than ki - l, the number of leading b's in the current slice still to be processed. The leading b's of the third argument and the leading terminal symbols of the second argument are simultaneously scanned (and skipped) by the second clause, until either the next slice is introduced (by an a) in the third clause, or the whole source text is exhausted in the fourth clause. When the processing of a slice is completed, we must check that the size of the second argument is not null (i.e. that ki-1 > ki). This is performed by the negative calls len(O, X) in the third and fourth clause. However, doing that, the i th slice has been skipped, but, in order for the process to continue, this slice must be &quot;rebuilt&quot; since it will be used as second argument to process the next slice. This reconstruction process is performed with the help of the first argument. At the beginning of the processing of a new slice, say the i th, both the first and third argument denote the same string b k~ab ki+l .... The first argument will stay unchanged while the leading b's of the third argument are processed (see the second clause). When the processing of the i th slice is completed, and if it is not the last one (case of the third clause), the first and third argument respectively denote the strings bk~ab k~+l ... and ab k'+l .... Thus, the i th slice b kl can be extracted &quot;by difference&quot;, it is the string W if the first and third argument are respectively WaY and aY (see the third clause). Last, the whole process is initialized by the first clause. The first and third argument of A are equal, since we start a new slice, the size of the second argument is forced to be strictly greater than the third, doing that, we are sure that it is strictly greater than kl, the size of the first slice. Remark that the test fen(O, W) in the fourth clause checks that the size kp of the rightmost slice is not null, as stipulated in the language formal definition. The derivation for the sentence abbbab is shown in Figure 2 where =~ means that clause #p has been applied.</Paragraph> <Paragraph position="7"> If we look at this grammar, for any input string of length n, we can see that the maximum number of steps in any derivation is n+l (this number is an upper limit which is only reached for sentences).</Paragraph> <Paragraph position="8"> Since, at each step the choice of the A-clause to apply is performed in constant time (three clauses to try), the overall parse time behavior is linear.</Paragraph> <Paragraph position="9"> Therefore, we have shown that Chinese numbers can be parsed in linear time by an RCG.</Paragraph> <Paragraph position="10"> Originally described by Emmon Bach, the MIX language consists of strings in {a, b, c}* such that each string contains the same number of occurrences of each letter. MIX is interesting because it has a very simple and intuitive characterization. However, Gazdar reported 6 that MIX may well be outside the class of ILs (as conjectured by Bill Marsh in an unpublished 1985 ASL paper). It has turned out to be a very difficult problem. In \[Joshi, Vijay-Shanker, and Weir 91\] the authors have shown that MIX can be defined by a variant of TAGs with local dominance and linear precedence (TAG(LD/LP)), but very little is known about this class of grammars, except that, as TAGs, they continue to satisfy the constant growth property. Below, we will show that MIX is an RCL which can be recognized in linear time.</Paragraph> <Paragraph position="12"> generalization to any number of letters. In the case where the three leading letters are respectively a, b and c, they are simultaneously skipped (see clause #2) and the clause #6 is eventually instantiated if and only if the input string contains the same number of occurrences of each letter.</Paragraph> <Paragraph position="13"> The leading steps in the derivation for the sentence baccba are shown in Figure 4 where =~ means that clause #p is applied and :~ means that clause #q cannot be applied, and thus implies the validation of the corresponding negative predicate call.</Paragraph> <Paragraph position="15"> Consider the RCG in Figure 3. The source text is concurrently scanned three times by the three arguments of the predicate M (see the predicate call M(X, X, X) in the first clause). The first, second and third argument of M respectively only deal with the letters a, b and c. If the leading letter of any argument (which at any time is a suffix of the source text) is not the right letter, this letter is skipped. The third clause only process the first argument of M (the two others are passed unchanged), and skips any letter which is not an a. The analogous holds for the fourth and fifth clauses which respectively only consider the second and third argument of M, looking for a leading b or c. Note that the knowledge that a letter is not the right one is acquired via a negative predicate call because this allows for an easy It is not difficult to see that the length of any derivation is linear in the length of the corresponding input string, and that the choice of any step in this derivation takes a constant time. Therefore, the parse time complexity of this grammar is linear.</Paragraph> <Paragraph position="16"> Of course, we can think of several generalizations of MIX. We let the reader devise an RCG in which the relation between the number of occurrences of each letter is not the equality, instead, we will study here the case where, on the one hand, the number of letters in T is not limited to three, and, on the other hand, all the letters in T do not necessarily appear in a sentence. If T = (bl,...,bq} is its terminal vocabulary, and if 7r is a permutation, the permutation language k .@)}, with ai E T, n = {w I w = 0<p<qandi#j ~ai#aj, can be defined by the set of clauses in Figure 5.</Paragraph> <Paragraph position="18"> The basic idea of this grammar is the following.</Paragraph> <Paragraph position="19"> In a source text w = tl...tm...tn, we choose a reference position r, 1 < r < n (for example, if r = 1, we choose the first position which corresponds to the leading letter tl), and a current position c, 1 < c < n, and we check that the number of occurrences of the current terminal to, and the number of occurrences of the reference terminal tr are equal. Of course, if this check succeeds for all the current positions c and for one reference position r, the string w is in H. This check is performed by the predicate M4(T1, X, T2, Y) of arity four. Its first and third arguments respectively denote the reference position and the current position (:/'1 and T2 are bound to ranges of size one which refer to tr and tc respectively) while the second and fourth arguments denote the strings in which the searches are performed: the occurrences of the reference terminal G are searched in X and the occurrences of the current terminal tc are searched in Y. A call to M4 succeeds if and only if the number of occurrences of tr in X is equal to the number of occurrences of tC/ in Y.</Paragraph> <Paragraph position="20"> The S-clauses select the reference position (r -- 1, if w is not empty). The purpose of the A-clauses is to select all the current positions c and to call M4 for each such c's. Note that the variable W is always bound to the whole source text. We can easily see that the complexity of any predicate call M4(T1,X, T2,Y) is linear in \]X\[ + \[Y\[, and since the number of such calls from the third clause is n, we have a quadratic time RCG.</Paragraph> </Section> <Section position="5" start_page="57" end_page="59" type="metho"> <SectionTitle> 5 Scrambling &: RCGs </SectionTitle> <Paragraph position="0"> Scrambling is a word-order phenomenon which occurs in several languages such as German, Japanese, Hindi, ... and which is known to be beyond the formal power of TAGs (see \[Becker, Joshi, and Rainbow 91\]). In \[Becker, Rambow, and Niv 92\], the authors even show that LCFR systems cannot derive scrambling. This is of course also true for multi-components TAGs (see \[Rambow 94\]). In \[Groenink 97\], p. 171, the author said that &quot;simple LMG formalism does not seem to provide any method that can be immediately recognized as solving such problems&quot;. We will show below that scrambling can be expressed within the RCG framework.</Paragraph> <Paragraph position="1"> Scrambling can be seen as a leftward movement of arguments (nominal, prepositional or clausal).</Paragraph> <Paragraph position="2"> Groenink notices that similar phenomena also occur in Dutch verb clusters, where the order of verbs (as opposed to objects) can in some case be reversed.</Paragraph> <Paragraph position="3"> In \[Becket, Rambow, and Niv 92\], from the following German example ... dab \[dem Kunden\]i \[den Kuehlschrank\]j ... that the client (DAT) the refrigerator (ACC) bisher noch niemand so far yet no-one (NOM) ti \[\[tj zu reparieren\] zu versuchen\] to repair to try versprochen hat.</Paragraph> <Paragraph position="4"> promised has.</Paragraph> <Paragraph position="5"> * .. that so far no-one has promised the client to try to repair the refrigerator.</Paragraph> <Paragraph position="6"> the authors argued that scrambling may be &quot;doubly unbounded&quot; in the sense that: * there is no bound on the distance over which each element can scramble; there is no bound on the number of unbounded dependencies that can occur in one sentence* They used the language {zr(nl ... n,~) vl ... Vm } where 7r is a permutation, as a formal representation for a subset of scrambled German sentences, where it is assumed that each verb vi has exactly one overt nominal argument ni.</Paragraph> <Paragraph position="7"> However, in \[Becket, Joshi, and Rambow 91\], we can find the following example ... dag \[des Verbrechens\]k \[der Detektiv\]i ... that the crime (GEN) the detective (NOM) \[den VerdEchtigen\]j dem Klienten Proceedings of EACL '99 the suspect (ACC) the client (DAT) \[PRO/tj tk zu iiberfiihren\] versprochen hat. to indict promised has.</Paragraph> <Paragraph position="8"> ... that the detective has promised the client to indict the suspect of the crime.</Paragraph> <Paragraph position="9"> where the verb of the embedded clause subcategorizes for three NPs, one of which is an empty subject (PRO). Thus, the scrambling phenomenon can be abstracted by the language SCR = {~(nl...np) vl...vq}. We assume that the set T of terminal symbols is partitioned into the noun part .M = {nx,... ,nt} and the verb part Y = {vl,... ,v,~}, and that there is a mapping h from .M onto \]; which indicates, when v = h(n), that the noun n is an argument for the verb v. If h is an injective mapping, we describe the case where each verb has exactly one overt nominal argument, if h is not injective, we describe the case where several nominal arguments can be attached to a single verb. To be a sentence of SCR, the string ~r(nl ... n~... np)vl ... vj ... vq must be such that0<p<l, 0<q<_m, niE.M, vj EI;, i C/ i' ==~ ni # ne, j C/ j' =:=v vj C/ vj,, Vn/3 W and Vvj3ni s.t. vj = h(ni), and r is a permutation. The RCG in Figure 6 defines SCR. Of course, the predicate names .M, Y and h respectively define the set of nouns .M, the set of verbs \]; and the mapping h between .h\]&quot; and V. The purpose of the predicate name .M+)2 + is to split any source text w in a prefix part which only contains nouns and a suffix part which only contains verbs. This is performed by a left-to-right scan of w during which nouns are skipped (see the first .M+V+-clause). When the first verb is found, we check, by the call Y*(Y), that the remaining suffix Y only contains verbs. Then, the predicates .Ms and ~;s are both called with two identical arguments, the first one is the prefix part and the second is the suffix part. Note how the prefix part X can be extracted by the predicate definition .M+lZ+(XTY, TY) from the first argument (which denotes the whole source text) in using the second argument TY. The predicate name.Ms (resp. Ys) is in charge to check that each noun ni of the prefix part (resp. each verb vj of the suffix part) has both a single occurrence in its own part, and that there is a verb vj in the suffix part (resp. a noun ni in the prefix part) such that h(ni,vj) is true. The prefix part is examined from left-to-right until completion by the .Ms-clauses. For each noun T in this prefix part, the single occurrence test is performed by a negative calls to TinT*(T, X), and the existence of a verb vj in the suffix part s.t.</Paragraph> <Paragraph position="11"> h(T, W), is performed by the.MinY+(T, Y) call. A call TinT*(T, X) is true if and only if the terminal symbol T occurs in X. The .MinV+-clauses spell from left-to-right the suffix part. If the noun T is not an argument of the verb T' (note the negative predicate call), this verb is skipped, until an h relation between T and T' is eventually found.</Paragraph> <Paragraph position="12"> Of course, an analogous processing is performed for each verb in the suffix part. We can easily see that, the cutting of each source text w in a prefix part and a suffix part, and the checking that the suffix part only contains verbs, takes a time linear in Iw\[. For each noun in the prefix part, the unique occurrence check takes a linear time and the check that there is a corresponding verb in the suffix part also takes a linear time. Of course, the same results hold for each verb in the suffix part. Thus, we can conclude that the scrambling phenomenon can be parsed in quadratic time.</Paragraph> </Section> class="xml-element"></Paper>