File Information

File: 05-lr/acl_arc_1_sum/cleansed_text/xml_by_section/metho/88/c88-2113_metho.xml

Size: 18,838 bytes

Last Modified: 2025-10-06 14:12:07

<?xml version="1.0" standalone="yes"?>
<Paper uid="C88-2113">
  <Title>Parallel Intersection and Serial Composition of Finite State Transducers</Title>
  <Section position="3" start_page="0" end_page="536" type="metho">
    <SectionTitle>
2. A Paraflel Semantics for Finite State Transducers
</SectionTitle>
    <Paragraph position="0"> In the discussion that follows, we assume that the reader is familiar with the work of Karttunen and Koskenniemi on FSTS and with finite state automata (FSA) generally. The notation used is slightly different than that usually used to describe FSA but is more convenient for our purposes. Also, rather than discuss the algorithms directly, we give their semantics. In contrast to Karttuuen and Koskenniemi's work, no higher level rule formalism is used. FSTS are stated directly.</Paragraph>
    <Paragraph position="1"> An FST, M, is a pair &lt;NC~,Z&gt; where N ~ is a set of start state urines and Z is a set of states. A state Z i ~ Z is a triple &lt;N,T,A&gt; where N is the name of the state, T is an ordered sequence of transitions Ti, l&lt;i&lt;n, n = ITI and A is the truth value T if the state is au accepting state and the troth value F if it is a nonaceepting state. (The notion of final state is not relevant here. Only the accepting/nonaccepting distinction is important.) A transition T i ~ T is a pair &lt;~i,Ni&gt; where q5 i is a transition pair &lt;~x,~0~&gt;. An element of a transition pair is either a phoneme, a phoneme class name, the symbol = or the empty string e. A phoneme is a character and is a member of the alphabet set. A phoneme class is a set of phonemes. We will refer to phoneme classes and their names interchangeably.</Paragraph>
    <Paragraph position="2"> N i is the new state, cI) i = &lt;O~,~0P~&gt; subsumes ~t = &lt;~xt,t)of&gt; if o~i subsumes O x, and ~0 i subsumes ~I~0,. qbi subsutnes (Pt if ~i = ~t or (~i = = or (~i is a phoneme class and ~t ~ q~i' The transition type or type a:(~) of a transition pair fi5 = &lt;@,~P&gt; is (x.x)' if both ~;~ and 0 o are phoneme classes and is x(@).,~(~o) otherwise where x(~) is the phoneme type of q~. (x is not a variable in this and the following definitions.)</Paragraph>
    <Paragraph position="4"> The set of types, TYP, and tile set of final types, TYP0~, arc defined below.</Paragraph>
    <Paragraph position="6"> Some examples should clarify the definitions. &lt;s,s&gt; is of type x.x. &lt;s,z&gt; is of type x.x. &lt;sih,sih&gt; is of type (x.x)' if sib is a phoneme class name. &lt;=,=&gt; is of type =.=. &lt;=,e.&gt; is of type  The type intersection of a set of transition pairs {~i I l&lt;i&lt;n} is n O'ffC/,~) where n x is a partial function from pairs of u'ansition i=I types to transition types as defined below.</Paragraph>
    <Paragraph position="7"> &amp;quot;q n' &amp;quot;t 2 if x~ n,' x 2 e TYP &amp;quot;~a n &amp;quot;~ = undefined otherwise  n,~' is defined as follows.</Paragraph>
    <Paragraph position="8"> (1) oc- n x' =:13 = (a.\[3)' (2) ~.= n./(&amp;.~)' = (a.~)' (3) =.f~ %' (cc\[~)' = (a.D' (4) tx.D n,~' (a.\[3)' = a.~ (5) a.\[~ %' c~.l~ = a.~ (6) =.= nx' a.L3 = ot.13 (7) c~.= n.~' a.l~ = a.I 3 (8) =.1~ %' c~.~ = a.l~ (9) a.~ c~' ~i.~, = 5.~/c~&amp;quot; a.\[~  An unprimed type &amp;quot;c indicates that the transition type is supported. A primed type q:' indicates that the transition type is unsupported. That is, there have been no e.x, x.e or x.x types in tim set of intersected types that produced the primed type. (1) is the origin of unsupported types. (2) and (3) state that neither ct.= nor =.ct can support a transition. (4) states that an unprimed type supports the corresponding primed type. (5) states that the intm'section of two identical .types is the same type. (6) States that the intersection of =.= and any type is that type. (7) and (8) state that the intersection of either =.o~ or co.= and a supported type is a supported type. (9) states that n, c' is commutative and that the commutative closure of (1)-(8) also holds. A set of transition pairs {cI)i} which subsmne (1&amp;quot;5 t is licensed</Paragraph>
    <Paragraph position="10"> This definition implements the &amp;quot;daisywheel&amp;quot;. That is, although a set of transition pairs {Oi} is excluded in the general case if the type intersection of {O i} ~ {(x.x)', =.=, =.x x.=} we make an exception if qb t is a pair of identical phonemes. So, for example, if the type intersection of {O i} is =.x and ~t = &lt;s,s&gt; then {~i} is licensed. In practical terms, this means that the user does not need to encode a large set of &amp;quot;default&amp;quot; transition pairs of the foma &lt;0,C/&gt; for each state. This effect is usually achieved, in other FST fomaalisms in the rule compiler. However, such a compilation depends on the existence of an alphabet declaration. As we do not use a rule compiler, we have found it more convenient to build the effect into the parallel semantics.</Paragraph>
    <Paragraph position="11"> A machine, M in state N accepts a phoneme pair * t with accepting transition pair * and new state N' if</Paragraph>
    <Paragraph position="13"> 1Sj&lt;k and ~j subsumes * r (ACCEPTS replaces the more usual state transition function ft.) P(T) is a total function that takes the transition sequence T as argument and returns a transition sequence T' containing the same set of elements as T with the following ordering of the elements of T'. All =.= transitions follow all non-=.= transitions. All =.~ or f~.= transitions precede all =.= transitions and follow all other transitions. Relative ordering of transitions in T' is as in T otherwise.</Paragraph>
    <Paragraph position="14"> The definition above implies that transition precedence is by citation order with two exceptions. All transition pairs which have non-= first and second elements take precedence over any pairs of the form &lt;o~,=&gt; and &lt;=,a&gt; and all non-&lt;=,=&gt; transition pairs take precedence over a transition pair of the form &lt;=,=&gt;.</Paragraph>
    <Paragraph position="15"> A set of machines {Mi} in states {Ni} accept a phoneme pair t~ t with accepting transitions pairs {Oi} and new states {Ni' } if</Paragraph>
    <Paragraph position="17"> LICENSED({qDi},Ot}).</Paragraph>
    <Paragraph position="18"> A string is a sequence of phoneme pair elements. A string pair &lt;It,v&gt; is a pair of strings g and v. &lt;oql3&gt; is a prefix of the string pair &lt;g,v&gt; and the string pair &lt;~t',v'&gt; is the corresponding suffix of &lt;It,v&gt; if CONCAT(&lt;oq~&gt;,&lt;It',v'&gt;,&lt;g,v&gt;) holds.</Paragraph>
    <Paragraph position="20"> In particular, this means that prefixes can be of the schematic types x.x, x.e and e.x but not e.e.</Paragraph>
    <Paragraph position="21"> A set of machines {/Vii} in states {Ni} accept a string pair  The following definition is the top-level relation of our semantics. A set of machines {Mi} accepts a string pair &lt;it,v&gt; if ACCEPTS({Mi},&lt;It,v&gt; ) holds.</Paragraph>
    <Paragraph position="23"> The reader may have noticed that there is no explicit declaration of the set of phonemes which define the alphabet of the FSTS. This is the reason that no mention was made of the alphabet in the definition of an FST above as is usually done for finite state machines. This complicates the algorithms to be discussed below a groat deal. In particular, phoneme classes cannot in geaeral be replaced by their definitions, the = notation cannot be compiled away nor can transition sequences be replaced by transition sequences in which d0 ~ and ~P are both phonemes fi)r every transition pair * = &lt;d?k,~)P&gt;. However, explicitly declaring the alphabet is unnecessm'y and a certain flexibility ill the semantics of the FSTS is gained by not doing SO.</Paragraph>
  </Section>
  <Section position="4" start_page="536" end_page="537" type="metho">
    <SectionTitle>
3. The Parallel Intersection Algorithm
</SectionTitle>
    <Paragraph position="0"> As (Karttnnen and Wittenburg 1983) points out, it is possible to merge a set of pm'allel FSTS into one large FST. In the worst case, the number of states of tile intersected FST is the product of the numl~er of states of the intersected FSTS. In theory, this number can be very large. Ill practice, it is usually much smaller becaase the intersection of most state pairs is undefined.</Paragraph>
    <Paragraph position="1"> Parallel intersection is associative and commutative. Thus, tile tbllowing detinition of the intersection of a sequence of FSTS</Paragraph>
    <Paragraph position="3"> I,e., the nanm of the intersection is the pair of the names of the two intersected states. The intersection is an accepting state if both of the intersected states are accepting states and is a nonaccepting state otherwise.</Paragraph>
    <Paragraph position="4"> The cross product of two transition seqnences T 1 and T 2 is a sequence T t x 'I'~ = &lt;T',_&lt;&gt; where T' is tile set defined below and -&lt;- is a total ordering.</Paragraph>
    <Paragraph position="6"> (Ill &lt; n go-), -7 (o &lt; i and p _&lt; j) and-1 (o -&lt; i and p &lt; j)) In particular, the ordering of tile following sequence satisfies the partial order: &lt;T&lt;III &gt; ''&amp;quot; T&lt;l,n &gt; ... T&lt;m,l &gt; T&lt;m,n&gt;&gt; where T&lt;i,j &gt; names tile intersection of the transitions T i ~ T l and Tj e T 2, m = IWl\[ and n = IT2\], The intersection T i c5 Tj of two transitions T i = &lt;t~i,Ni&gt; and Tj</Paragraph>
    <Paragraph position="8"> The intersection of two phoneme pair elements x and y is defined as follows</Paragraph>
    <Paragraph position="10"> The composite FST is nondeterministic with respect to ~; and the set of start states and is deterministic otherwise. All phoneme class and = notation is preserved in the intersected transitions. This is actually quite useful for debugging purposes. In general, it will often be the case that elements of all intersected transition sequence are subsumed by preceding elements in the same sequence. It is a simple matter to remove such transitions (although this is not necessary as they are unreachable). Furthermore, it is often the case that transitions with phoneme classes are partially subsumed by preceding elements in the same transition sequence. It is straightforward to split the phoneme class transitions into disjoint phoneme class transitions which are not subsumed by preceding transitions in the same sequence. Our implementation uses both of these optimisations.</Paragraph>
    <Paragraph position="11"> Notice that the intersection algorithm does not &amp;quot;compile in&amp;quot; the effect of the daisywheel. This is because the semantics of a set of parallel FSTS includes the daisywheel and so the composite FST need not have its effect &amp;quot;compiled in&amp;quot;. Furthermore, the intersection algorithm must not build in the daisywheel because the composite FST would have the wrong parallel semantics  and could not be correctly used as input to tbe intersection algorithm. (I.e., we cannot eliminate = or phoneme classes from any transition pairs.) The cross product of two transition sequences T 1 and T 2 is a sequence T 1 x T 2 = &lt;T',&lt;&gt; where T' is defined below and &lt; is a total ordering.</Paragraph>
  </Section>
  <Section position="5" start_page="537" end_page="538" type="metho">
    <SectionTitle>
4. Tile Serial Composition Algorithm
</SectionTitle>
    <Paragraph position="0"> Just as parallel FSTS can be intersected, a cascade of FSTS may be composed into one FST. Such a cascade is most useful for representing ordered sequences of rules. For example, a theory which orders assimilation processes before morphophonemic processes could be modelled by a cascade of two parallel sequences of transducers where the first parallel sequence models the assimilation processes and the second models the morphophonemic processes. As is the case with parallel intersection, the number of states of a composed FST is the product of the number of states of the composed FSTS in the worst case. Again, the number of states in the composed FST is usually much smaller in practice.</Paragraph>
    <Paragraph position="1"> Serial composition is different in several ways from the parallel intersection problem. Fit'st, each FST in the composition must have the parallel semantics of SS2 &amp;quot;compiled in&amp;quot; before it is composed. This means that type intersection as defined for parallel intersection is irrelevant for composition. On the other hand, we must include the effect of the daisywheel before composition on any transition pair &lt;Op;~,OpP&gt; where both gpX and C/0 are phoneme classes. As a result, we can replace all such transitions with one or more transitions &lt;C/x,, CO,&gt; *where C/~' and ~' are both phonemes. This simplifies the composition algorithm considerably. However, we must still check that the type of each transition pair in each FST to be composed is an element of TYP e . (In particular, users may encode illegal transitions.) Also, although serial composition is associative, unlike parallel intersection, it is not commutative. So, a cascade of FSTS must be composed in the same order as they appear in the cascade.</Paragraph>
    <Paragraph position="2"> The composition of a sequence of FSTS *&lt;M 1 ... Mn&gt; is defined by f M ifn=l *&lt;211/t '&amp;quot; M&gt;: *&lt;M l ... M.t&gt;* M ifn&gt;l k T'= {TklT i ~ T I and Tje T 2 and T k = T i * Tj is defined}.</Paragraph>
    <Paragraph position="3"> &lt; must satisfy the same partial ordering as that given for parallel intersection (modulo the substitution of * for n). Again, we use the ordering given in SS3.</Paragraph>
    <Paragraph position="4"> If Z i = &lt;Ni',TI,Ai&gt; and Ej = &lt;Nj',T2,Aj&gt; and T i E T 1 and Tj T 2 then the composition T i * Tj of two transitions T i = &lt;Oi,Ni&gt; and Tj = &lt;~j,Nj&gt; is defined by  if ~/= &lt;=,=&gt; and Oj = &lt;=,=&gt; if Oi = &lt;=,=&gt; and ~ = &lt;~,13&gt; and &lt;&lt;a;0t&gt;,Nk&gt; fl T 1 ~ k&lt;i if * i = &lt;a,13&gt; and Oj = &lt;=,=&gt; and &lt;&lt;13,13&gt;,Nk&gt; C/ T 2 ~ k&lt;j if Ot = &lt;a,e&gt; if Oj = &lt;e,\[~&gt; if O i = &lt;a.13&gt; and O/= &lt;13,$&gt; otherwise (The fourth and fifth clauses are due to Martin Kay (Kay 1983).) Note that if * i = &lt;a,e&gt; and Oj = &lt;e,13&gt; then both &lt;&lt;(z,e&gt;,&lt;Ni,N'j&gt;&gt; and &lt;&lt;a,~&gt;,&lt;N'i,Nj&gt;&gt; are defined. Their * order relative to each other is irrelevant since the semantics is nondetemainistic with respect to e transitions. Also, note that the second and third clauses dealing with &lt;=,=&gt; transitions are further constrained to eliminate any &amp;quot;instantiation&amp;quot; of &lt;=,=&gt; which has lower precedence than a transition with the &amp;quot;instantiati0n&amp;quot; in the transition sequence which contains &lt;=,=&gt;. E.g., if &lt;&lt;=,=&gt;,Nj&gt; e T 1 and &lt;&lt;=,=&gt;,Nil * &lt;&lt;b,c&gt;,Nk&gt; = &lt;&lt;b,c&gt;,&lt;Nj,Nk&gt;&gt; and there is a transition &lt;&lt;b,b&gt;,Ni&gt; e T 1 and i&lt;j then &lt;&lt;b,b&gt;,Ni&gt; takes precedence over &lt;&lt;=,=&gt;,Nj&gt; and so the composition is undefined.</Paragraph>
    <Paragraph position="5"> The composition M 1 * M 2 of two FSTS M 1 =&lt;N~,Y.I&gt; and/Vl 2 =&lt;N~,E2&gt; is their cross product &lt;v~ x te~,X 1 x X2&gt; The composition Z&lt;l,2 &gt; = Z 1 * Z 2 of two states Finally, note that nondetemainistic transition sequences may be defined. That is, two or more transitions with the same transition pair may be specified which have different new states. E.g., the composition of the transitions &lt;&lt;a,b&gt;,sl&gt; and &lt;&lt;b,c&gt;,tl&gt; is &lt;&lt;a,c&gt;,&lt;sl,tl&gt;&gt; but the composition of the transitions &lt;&lt;a,d&gt;,s2&gt; and &lt;&lt;d,c&gt;,t2&gt; is &lt;&lt;a,c&gt;,&lt;s2,t2&gt;&gt;. Both compositions have the transition pair &lt;a,c&gt; but the new state is the &lt;sl,tl&gt; for the first transition and &lt;s2,t2&gt; for the second transition. This form of nondeterminism is genuine and must be eliminated if the quasi-deterministic semanties that we have outlined is to be maintained.</Paragraph>
    <Paragraph position="7"> I.e., the name of the composition is the pair of the names of the two composed states. The composition is an accepting state if both of the composed states are accepting states and is a nonaecepting state otherwise.</Paragraph>
    <Paragraph position="8"> As (Barton 1986b) points out, FSTS used as aeceptors are finite-state machines (FSM) with an alphabet of pairs of characters. As such, an equivalent deterministic FST can be construtted.for any nondeterministic FST used as an acceptor since a deterministic FSM can always be constructed that accepts exactly the same language as a nondeterministic FSM (Hoperoft and Ullman 1979). Because the serial composition algorithm may produce nondeterministic FSTS, a determinisation algorithm is required to produce equivalent deterministic FSTS.</Paragraph>
    <Paragraph position="9">  The algorithm collapses all transitions in a transition :~equence with common transition pairs but different new states into one transition with a complex new state name. This new state name is the name of a state which is the parallel intersection of all the new states&amp;quot; of the transitions with the common transition pairs. The only fundamental difference between this type of parallel inteisection and the definition presented in SS 3 is that a state in the intersected FST is an accepting state if any of the intersected states is an accepting state.</Paragraph>
    <Paragraph position="10"> Although it may not be obvious, the determinisation algorithm is guaranteed to terminate. The following argument shows why. The new states of simple states are always simple states so complex states are the intersection of only simple states.</Paragraph>
    <Paragraph position="11"> The number of simple states is finite. The number of transitions within a simple state is finite. It follows that the number of transitions in a transition sequence with common transition pairs is bounded, the number of possible complex states is bounded and the size of a complex state is bounded. Therefore, there is an upper bound on the size of the equivalent deterministic machine and so the determinisation algorithm is guaranteed to terminate.</Paragraph>
  </Section>
  <Section position="6" start_page="538" end_page="538" type="metho">
    <SectionTitle>
6. Implementation
</SectionTitle>
    <Paragraph position="0"> The second author designed the parallel semantics and implemented an interpreter for it in Interlisp-D on a Xerox 1186. The first author designed and implemented the parallel intersection, serial composition and determinisation algorithms in Lucid Common Lisp on a Masscomp MC5700. The programs exhibit reasonable performance (about ten minutes using compiled Lisp for composite FSTS with approximately 160 states).</Paragraph>
  </Section>
class="xml-element"></Paper>
Download Original XML