Ling/CSE 472: Assignment 2: Finite State Transducers for Morphology and Phonology

Overview

In this assignment, you will create a morphologiacal analyzer for the fictional language Kaixo. This entails:

  1. Getting access to the software, either by using it on patas or installing it locally
  2. Reading a description of the language
  3. Handling the morphotactics of the language (the order in which morphemes occur)
  4. Handling the morphophonology of the language (the surface realization of different morphemes, depending on their morphological or phonological environment)
  5. Doing iterative development: starting with a small subset of the grammar and building out from there
  6. Writing up your results and reflections

Software: foma FST compiler. Installation and Tutorial.

This assignment involves using a FSA/FST tool foma.

Note: when you download the skeleton files linked in the assignment description below and run the tool, you should see this:


foma skeleton loaded

A grammar of Kaixo verbs

Kaixo is a fictitious language featuring a variety of morphological and phonological phenomena.

You will approach this assignment as a true computational linguist, starting with a linguistic description of a language, mapping that description to a formalism (in this case, an FSA formalism foma), and then implementing your hypotheses about the language in this formalism and testing them.

Follow this link for Kaixo description. Start with what seems simple, e.g. just one affix and one stem. Add things one by one and test as you go. Leave what is less clear to you for later, don't get hung up for too long. Ask questions.


Your tasks:

  1. Get the kaixo.lexc and kaixo.foma starter files.
  2. Test the grammar as given in these files:
  3. Build out the foma-style (FST) lexicon, kaixo.lexc, to represent the language's morphotactics (restrictions on the order and the cooccurrence of morphemes) for the following morpheme types:
    1. person and number
    2. negation
    3. durative aspect
    4. past and present tense
  4. Test your grammar:
  5. Build out the foma-style FST kaixo.foma to handle some of the morphopnonology in the language, specifically:
    1. vowel harmony
    2. fricative breakup
  6. Test your grammar:
  7. Reread the tutorial section on flags and the flag syntax exmaple in "hints" below
  8. Use flags to make it so:
  9. Bonus: Copy kaixo.lexc and kaixo.foma to new files called kaixo-bonus.lexc and kaixo-bonus.foma. Extend those files to handle:

Hints:


Submit:
  1. kaixo.lexc
  2. kaixo.foma
  3. (bonus) kaixo-bonus.lexc
  4. (bonus) kaixo-bonus.foma
  5. Your write up:

Last modified: Back to main course page