CSC 220 Advanced Programming Techniques

Spring 2008 (1st half)

Introduction to Natural Language Processing

Instructor :
Eitan Mendelowitz ()
Class Times :
Tuesday/Thursdays 9am - 10:20am
Burton B01
Office Hours: (tentative)
Thursday 3:00-4:00PM
Wednesday 1:30-2:30
or by appointment

Course Overview/Description:

Natural language processing (NLP) is a general term describing the application of computational methods to human language which, unlike structured computer languages, do not have easily defined syntax or semantics. NLP deals with parsing, generation, and understanding of natural languages. Example applications include spam-filtering, intelligent web-search, story generation, and machine translation.

This course will introduce the student to both the theoretical and practical issues that arise in NLP. It will take a project-oriented programming-intensive look at both symbolic and statistical methods of NLP. This course will be taught using LISP. LISP is one of the oldest high-level programming languages and is the traditional language of choice for NLP.

Required Reading:

This is not a reading intensive course and there is not a required text for this class; however, handouts, reserved readings, and online-texts will be assigned when appropriate. Common Lisp the Language, 2nd Edition by Guy L. Steele is a great lisp reference.


Attendance and Participation 20%
Assignment 1: 15% (solution)
Assignment 2: 35% (solution, test cases)
Assignment 3: 30%

Late Policy: All assignments should be submitted electronically via Beowulf's submit command before the start of class on the day they are due. Late assignments will not be accepted without the prior permission of the instructor.


Week Date Topic Readings/Assignments
1 1/29 Introduction to NLP
1/31 Crash Course in Lisp Confirm Beowulf accounts
Read: Python for Lisp Programmers and Comparing Lisp and Python
2 2/5 Crash Course in Lisp (cont.)

Assignment 1 due 2/19.
2/7 Syntax, Grammars, Lexicons, and Parsing
3 2/12 Conceptual Dependancy
2/14 Scripts and Frames
4 2/19 Question Answering Systems

Assignment 2 due 3/4
Assignment 1
2/21 Symbolic, Statistical, Connectionist NLP
5 2/26 Probabilistic Grammars
2/28 N-grames & Co-occurrence
6 3/4 Neural networks Assignment 2
3/5 NLP in the Arts
7 3/11 NLP in the Arts (cont.)
3/13 Project Presentations Assignment 3