A Finite-State Morphological Processor for Spanish

A finite transducer that processes Spanish inflectional amt derivational morphology is presented. The system handles both generation astd analysis of tens of millions inflected ibrms. Lexical and surface (orthographic) representations of the words are linked by a program that interprets a finite directed graph whose arcs are labelled by n-tuples of strings. Each of about 55,000 base forms requires at le~t one arc in the graph. Representing the inflectional and derivational possibilities for these forms imposed an overhead of only about 3000 additional arcs, of which about 2500 represent (phonologicallypredictable) stem allomorphy, so that we pay a storage price of about 5% for compiling these form~ offline. A simple interpreter for the resulting automaton processes several hundred words per second on a Sun4. it I n t r o d u c t i o n One useful way to look at computational morphology and phonology is in terms of t ransduc t lons , that is, n-sty word relations definable by the element-wise concatenation of n-tuple labels along paths in a fiidte directed labeled graph. For instance, we can take one member of such a relation to be the spelling of an inflected form, another member to be the corret~ponding lemma, another to be a string representing i t s morphosyntactic features, another to represent its pronunciation, and so forth. Inspired by the (unpublished) work of Kaplan and Kay (ongoing since the late 1970's), and that of Koskenniemi in [12], many researchers have used binary word relations to represent "underlying" and "surface" forms in the morphophonology of words. Much of the interest of this work has been focused on methods to combine multiple two-tape automata, which may be composed or run in parallel in order to compute the desired binary relation. In this paper, we take a somewhat different approach to defining and computing word relations, and discuss its application in a morphological processot for Spanish orthographic words that covers more than forty millions forms generable from the approximately 55,000 basic words in the Collins Spanish Dictionary ([3]) 1. The main advantage of this approach is the extreme simplicity both of its data structures and of their interpretation. As a result, an interpreter is easy to implement; time and/or space op-= timization issues in the implementation are straight. forward to define; at the same time, it is extremely easy to compile traditional morphological information into the required form, at least for languages like Spanish that can be fairly well modeled in terms of the concatenation of steins and affixes. As is usl~. lly the case in automata-based approaches, the system treats analysis and generation symmetrically, and tile same description can be run with equal facility in either direction. Define 2 an n-ary nondeterminis i ic f inite automaton as a 5-tuple A = ( Q , q t , F , E , H ) where Q is a finite non-empty set of states, ql is a designated start state, F is a set of designated final states, E is a finite non-empty alphabet, and H is a finite subset of {Q × (E*)" × Q}, where (:E*) n is the set of n-tuples of (possibly empty) words over E. ,4 can be thought of as a labeled directed graph, whose nodes are elements of Q, and whose edges are elements of H, each such edge being labeled with the appropriate n-tuple of words. The component-wise concatenation of labels along every path that begins in ql and ends in an element of F defines a set of n-tuples, R C (E*) n, which is the relation accepted by A. As a practical matter, we generally want to run a program that (explicitly or implicitly) searches this graph in order to find all the n-tuples in R with some interesting property, say those corresponding 1 The present set can be increased almost exponentially by adding new derivatlonal affixes. ~The name and the basic idea of these automata come from [5]. For simplicity of exposition we gloss over various authors' attempts to distinguish variously among machines, automata and transducer#, as well as the profusion of precursors mad descendants in ([15], [16], [2], [7], etc.). Our notation is edeetlc.