CS675/LIN675: Computational Linguistics Spring, 1997

Table of Contents

Prof. Stuart C. Shapiro, 226 Bell Hall, 645-3180 ext. 125, shapiro@cs.buffalo.edu,
Office Hours by appointment

Text: James Allen, Natural Language Understanding, 2nd Edition, Benjamin Cummings, 1995.

This course will be an introduction to the field of Computational Linguistics. It is an appropriate sequel to CS 572, Introduction to Artificial Intelligence, or to an introductory graduate-level linguistics course.

Topics to be covered will include: the nature of natural-language understanding, basic parsing techniques, augmented-transition- network grammars, deterministic parsing, semantics and logical form, semantic interpretation, knowledge representation, reference, world knowledge, discourse structure, belief models, speech acts, question-answering systems, and natural-language generation.

Permission of the instructor. Although there will be no formal prerequisites (in particular, knowledge of a programming language will not be required), most students will either be graduate students in Computer Science who have had a graduate-level introduction to artificial intelligence, or graduate students in Linguistics, or graduate students in any of the other cognitive sciences (such as Philosophy, Psychology, CDS, Anthropology, Geography, etc.) who feel that their knowledge of either computer science or linguistics is sufficient for them to participate in the course.


Midterm Exam30%
Final Exam45%


CS/LIN 675, 5:00 - 6:20 PM, ROOM 224 BELL HALL
1 1/21
Intro to course
and to Comp. Ling.
1/23: HW1 due
Overview & demo of NL using robot
Discussion & demo of morphological analysis/synthesis
2 1/28
Chapters 1 & 2
Sec. 3.1-3.3
1/31: Drop/Add Deadline
3 2/4
Sec. 3.4
2/6: HW2 due
Sec. 3.5
4 2/11
Secs. 3.8, 4.1
Secs. 4.2-4.5, 4.8
5 2/18
Sec. 4.6
class canceled
6 2/25: HW3 due
Sec. 4.7
Chap. 5
7 3/4
Chap. 6
Midterm Exam
8 3/11: HW4 due
Go over exam & HW4
Chap. 7
3/14: R Deadline
3/18 3/20Spring Break
9 3/25
Begin Chap. 8
Finish Chap. 8, Start Chap. 9
10 4/1
Chapter 9
Discuss HW5
11 4/8: HW5 due
Start Chap. 10

12 4/15 4/17
13 4/22 4/24
14 4/29

5/1: HW6 due
Course Review
5/13:Final Exam
3:30 - 6:30 PM
257 Capen Hall

Other interesting resources:

Homework assignments:
  1. Due 1/23: Write a description of your background relevant to this course, what your programming ability is in what language(s), and what you want out of this course.
  2. Due 2/6: Write a program that takes a word and a suffix, and returns the word with the suffix attached according to the spelling rules of English. Find the rules in any standard reference. In comments, cite the reference for the rules as well as any other sources you use for the algorithm. You may use any of the following programming languages in the given order of preference: Lisp, Prolog, Java, C++, anything else. The class has been divided into groups of 3 for this project. See Prof. Shapiro if you don't know which group you are in.
  3. Due 2/20: Write a chart parser based on either Section 3.4 or Section 3.6 of James Allen's text.
  4. Due 3/11: Write a morphological analyzer based on Section 3.7 of James Allen's text.
  5. Due 4/8: Write a chart parser based on Section 4.5 of James Allen's text. Modify the chart parser of HW3, and use the morphological analyzer of HW4.
  6. Due 5/1: Modify the grammar for the parser you wrote for HW5 so that it can parse as many as possible of the sentences in any one of the files in /projects/rapaport/Winkelstein. Write a short paper in which you: discuss the issues you had to face; show the parses of the sentences your parser is able to handle; show and discuss the sentences you parser is unable to handle.

Stuart C. Shapiro <shapiro@cs.buffalo.edu>