Linguistics 471: Grammar Engineering

Note: THIS PAGE IS OUT OF DATE. It was created in 2004. Since 2005, the course has been called Ling 567: Knowledge Engineering for NLP. Please see for updated course materials.

Course Info

  • Recommended Texts (not required):
  • Software

    Instructor Info




    Natural language processing (NLP) enables computers to make use of data represented in human language (including the vast quantities of data available on the web) and to interact with humans on human terms. Applications from machine translation to speech recognition and web-based information retrieval demand both precision and robustness from NLP technology. Meetings these demands will require better hand-built grammars of human languages combined with sophisticated statistical processing methods. This class focuses on the implementation of linguistic grammars, drawing on a combination of sound grammatical theory and engineering skills.

    Class meetings will alternate between lectures and hands-on lab sessions. We will cover the implementation of constraints in morphology, syntax and semantics within a unification-based lexicalist framework of grammar. The weekly exercises will focus on building up an implemented grammar for a language of your choice (everyone must work on a different language, so be prepared to work with a language you don't know well!), based on the LinGO Grammar Matrix. At the end of the quarter, we will uses the various grammars in a machine translation task.

    Here's the list of languages being worked on in the class.

    Prerequisites: Linguistics 461 or equivalent. No programming experience is required.

    Note: To request academic accommodations due to a disability, please contact Disabled Student Services, 448 Schmitz, 206-543-8924 (V/TTY). If you have a letter from Disabled Student Services indicating that you have a disability which requires academic accommodations, please present the letter to the instructor so we can discuss the accommodations you might need in this class.


    Weekly lab exercises, begun in class on Wednesdays (lab) and turned in by Sunday night. (I'd make the deadline Friday, but would rather not spend the weekend grading things...) Some lab exercises will require minor write-ups to explain the phenomena as manifested in your language. You will be advised on Mondays of what data or information about your language you need to bring for Wednesday. Active class participation will be viewed favorably when it comes to grading.

    Lab exercises are to be turned in via Catalyst E-Submit:

    Schedule of Topics and Assignments (tentative)

    DatesLectureLab prepLabDue date
    3/29, 3/31 Overview
    Introduction to HPSG
    The Grammar Matrix
    Prep 1 Lab 0: Taking a stab at: Getting familiar with the LKB;
    adding lexical entries and specializing rules
    Due: nope
    4/5, 4/7 What we're working with
    More HPSG basics
    Prep 2 Lab 1: Getting familiar with the LKB;
    adding lexical entries and specializing rules
    Due: 4/11
    4/12, 4/14Semantics
    Prep 3 Lab 2: Lexical semanticsDue: 4/18
    4/19, 4/21Case, agreement,
    modification, lexical rules
    Prep 4 Lab 3: Modification, case and agreement
    Due: 4/25
    4/26, 4/28Review of lex rules,
    Sentential negation (briefly)
    Prep 5 Lab 4: I can eat glass. It doesn't hurt me.Due: Next week
    5/3, 5/5 Scope and qeqs
    (Optional reading)
    Question period
    -- Lab 4: I can eat glass. It doesn't hurt me.Due: 5/9
    5/10, 5/12Argument optionality Prep 6 Lab 5: Argument optionality
    Due: 5/16
    5/17, 5/19Clause types Prep 7 Lab 6: Matrix and embedded polar questionsDue: Next week
    5/24, 5/26Long distance dependencies
    English demo
    -- Lab 6: Matrix and embedded polar questionsDue: 5/30
    5/31, 6/2Holiday: No class Prep 8 Lab: Machine translation extravaganza