Generation, Recognition, and Learning

in Finite State Optimality Theory

Jason Riggle – 2004

 

Welcome to my dissertation page. The version posted below is 2-up and at 1.5 spacing, so it is a bit more compact. This version fixes a few typos from in the original but there are still a few more that I know about that I don’t have time to fix now. This summer I will be doing a major overhaul to turn it into a book. Some of the things that I plan to do are – update the references to include work that has come out in the last few years, add some new formal results on learning and typology, revise the exposition of some of the more complicated algorithms (preoptimization, transducer construction), and add results for bigger simulations with larger phoneme inventories and sets of constraints.

 

Feel free to read the dissertation without playing with the accompanying Prolog program or to play with the code without reading the dissertation. Any and all comments on the dissertation, the code, or anything else will be greatly appreciated.


Abstract
    In this work I present a computational analysis of three fundamental problems in Optimality Theory (OT; Prince and Smolensky 1993): the generation of output forms, the recognition of input forms from surface forms, and the learning of phonological grammars.
    Following Ellison (1994) I represent the constraints of OT with finite state machines that map input/output pairs to violations and represent the problem of optimization graph-theoretically as a shortest paths problem. I present and prove the correctness of algorithms for generation, recognition, and learning in the model I develop and provide some simple illustrative cases where these tasks can be done efficiently. Among the algorithms I present are methods for generating the set of non-harmonically-bounded output candidates for a given input and methods for recasting an entire grammar as a single finite state transducer that maps input forms directly to their optimal output counterparts.

 

The Dissertation

pdf  Generation, Recognition, and Learning in Finite State Optimality Theory – Two-up

The Code  – change the file suffixes from .txt to .pl or .pro once you’ve down loaded these

 

pl  This is the Prolog code for the algorithms

– you’ll need Prolog, Ghostview, and Graphviz installed to run it properly, and don’t forget to change the file suffixes to .pl

 

pl   This is Eval for the ranking Onset >> NoCoda >> Dep >> Max  

– you don’t need this because you can build your own EVAL.pl, but my code looks for this file when it is compiled.

 


            Prolog, Graphviz, and Ghostview


X  SWI-Prolog
                  
X  Graphviz

X  Ghostview        For Windows you’ll need to add Ghostview to your path so that it can be called from the command line. Go to: My Computer/Properties/Advanced/Environment Variables, Highlight Path and then click on Edit and add “ C:\PROGRA~1\Ghostgum\gsview; ” to your path and then restart your machine.

          – if you have any trouble send me an email