CSC 248/448: Speech Recognition and Statistical Language Models


This course presents the theory and practice behind the recently developed language processing technologies that enable applications such as speech recognition (e.g., speech-driven dictation systems), document search engines (e.g., finding web pages) and automatic machine translation. It deals with techniques of automatically extracting and using structural patterns of language, and does not address the issue of natural language understanding (which is considered in CSC 247/447 on alternate years).


Students taking this course at the 400 level will be required to complete additional readings and complete a course project.


Prerequisite: CSC 172 and either CSC 240 or CSC 242.


Class Times: TR 11:05-12:20,  CSB 632


Instructor: James Allen,  james@cs

               Office Hours: M 2:00-3:00, or by appointment. Lattimore 506.


Required Text:  There is not required text for 248 students. I will be handing out lecture notes throughout the term that will be used as the primary reference. Students taking CSC448 will need to get

C. Manning and H. Schutze, Foundations of Statistical Natural Language Processing,  MIT Press, 1999.


Books you may find useful for some topics:  

               D. Jurafsky and J. Martin, Speech and Language Processing, Prentice-Hall, 2000.

               J. Allen, Natural Language Understanding, Banjamin-Cummings, 1995.

               S. Russell and P. Norvig, Artificial Intelligence: A Modern Approach, Prentice-Hall, 1994.


Grade:  The assignments will be worth 60% of the grade. There will be one midtem (15%) and a final exam (25%).


Assignments: There will be 6 assignments, many involving programming. You will need to learn Perl for the initial assignments if you donŐt know it already. There are many tutorials for Perl on the web. One reasonable one is A good introductory book is Randal L. Schwartz & Tom Christiansen, Learning Perl, O'Reilly & Associates, 1997. While discussion with your classmates about concepts and ideas relating to assignments is encouraged, all programming work should be your own work. Do not share code with classmates or collaborate on writing programs.


Computer Accounts: If you do not have a computer account and access to the undergraduate computing labs, you should see Marty Guenther in CSB 735.


Due Dates: Because some assignments are incremental, it is crucial to get the programs done in time. This will be enforced by the following late policy. Assignments will be due on Tuesdays AT THE BEGINNING OF CLASS. After class there is a 10% late penalty until the beginning of class on the next Thursday, and 25% penalty for assignments up to a week late. After a week, assignments are not accepted for credit.