Introduction to Natural Language Processing

(listed as ENGL 3525, CISC 2830 and LING 3023)

Introduction to Natural Language Processing
Course Outline; Fall, 2010
Tuesdays and Thursdays, 9:30-10:45, Room 3404 Boylan Hall
Instructor: Rennie Gonsalves; Office Hours: Tuesdays & Thursdays 12:15-1:15
And By Appointment, 1420 N; BC Tel. 718-951-5928; e-mail: renniegons@yahoo.com
Blackboard Course Website accessible through http://portal.cuny.edu

 


 

     Syllabus                

 

Purpose of the Course:

This course is intended to be a basic introduction to natural language processing (NLP) for students who are interested in the topic but have only a beginning level experience with computer programming and little or no background in linguistics. It is intended to be a stepping stone to other course work in linguistics and natural language processing. It will provide a solid foundation for more advanced work in NLP.

In this class students will be introduced to some of the basic elements of NLP. We will start off with an emphasis on speech sounds and implementing speech sounds on the computer. We will use the programming language C for this part of the course. We will look at the acoustic features of speech sounds and some simple C programs that implement some of these features. We will use software that comes with our text to actually hear the sounds produced by our programs. We will look at both the computer production of speech sounds, speech synthesis, and the computer recognition of speech sounds, speech recognition, and we will try out some simple C programs taken from our text that do a bit of both of these two aspects of speech processing.

And then we will turn to the phonotactics (mostly syllable structure), morphology, and syntax of natural language, and for this part of our course we will use mainly Prolog. Most of this part of the course is focused on using various types of Finite State Automata (a rather simple mathematical model for processing strings of symbols) to implement certain aspects of syntax, like assigning the appropriate parts-of-speech to words in sentences. Some of this will involve looking at probability theory and different chances of the occurrence of various words in a sequence.

Then we will turn to methods of parsing, or assigning phrase structures or tree diagrams to sentences, and for this we will also use Prolog. Here we will look at different kinds of grammars and different methods of parsing sentences. We will write some grammar rules using Prolog and then see what kinds of sentences these rules produce and what kinds of parse trees the parser constructs for these sentences. We will end with a bit of logic programming using Prolog; this portion of our course is not part of our text.

Required Texts (available in the BC Bookstore):
Coleman, John. Introducing Speech and Language Processing. Cambridge University Press, 2005.
You can preview this text on Google Books:
Coleman
 

               
Ladefoged, Peter Elements of Acoustic Phonetics, Second Edition. The University of Chicago Press. 1996.
You can preview this text on Google Books:
Ladefoged