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.
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.
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.
|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|
|2/14||Scripts and Frames|
|4||2/19||Question Answering Systems
Assignment 2 due 3/4
|2/21||Symbolic, Statistical, Connectionist NLP|
|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|