2007-08 NLP Courses
STANFORD
Stanford University Courses in
Natural Language Processing, Speech and Dialog Processing,
and Computational Linguistics
Academic Year 2007-2008

Autumn 2007

LINGUIST 180. Introduction to Computational Linguistics.
Jurafsky. TTh 9:30-10:45. ART 4.
Broad overview covering machine translation, web-based question answering, conversational agents, speech recognition and synthesis, parsing, computational semantics and pragmatics. Foundation for other language processing courses; focus on using available online implementations of algorithms. Prerequisite: CS 106B or X. GER:2b. 4 units.

CS 224U, LINGUIST 188/288. Natural Language Understanding.
Jurafsky, Manning. TuTh 3:15-4:30, ART 4
Machine understanding of human language. Computational semantics (determination of sense, event structure, thematic role, time, aspect, synonymy/meronymy, causation, compositional semantics, treatment of scopal operators), and computational pragmatics and discourse (coherence relations, anaphora resolution, information packaging, generation). Theoretical issues, online resources, and relevance to applications including question answering, summarization, and textual inference. Prerequisites: one of LINGUIST 180, CS 224N,S; and knowledge of logic (LINGUIST 130A or B, CS157, or PHIL159)

Winter 2008

EE 292F. Digital Processing of Speech Signals.
Schafer.
For students interested in obtaining fundamental knowledge about speech signals and speech processing methods and about how digital speech processing techniques are used in such applications as speech coding, speech synthesis, speech recognition, and speaker verification. A number of short projects will be assigned to be done with MATLAB. Homework problem assignments will also be assigned.

Spring 2008

CS 224N, LINGUIST 280. Natural Language Processing.
Manning.
Algorithms for processing linguistic information and the underlying computational properties of natural languages. Morphological, syntactic, and semantic processing from a linguistic and an algorithmic perspective. Focus is on modern quantitative techniques in NLP: using large corpora, statistical models for acquisition, representative systems. Prerequisites: CS 121/221 or LINGUIST 180, and programming experience. Recommended: basic familiarity with logic and probability. 3-4 units.

Not offered this year
CS 224S, LINGUIST 281. Speech Recognition and Synthesis.
Jurafsky.
Introduction to automatic speech recognition, speech synthesis, and dialogue systems. Focus is on key algorithms including noisy channel model, hidden Markov models (HMMs), Viterbi decoding, N-gram language modeling, unit selection synthesis, and roles of linguistic knowledge. Prerequisite: programming experience. Recommended: CS 221 or CS 229. 2-4 units.

CS 276, LINGUIST 286. Text Retrieval and Mining.
Manning, Raghavan. TTh 4:15-5:30. Gates B3.
Text information retrieval systems; efficient text indexing; Boolean, vector space, and probabilistic retrieval models; ranking and rank aggregation; evaluating IR systems. Text clustering and classification methods: Latent semantic indexing, taxonomy induction, cluster labeling; classification algorithms and their evaluation, text filtering and routing. 3 units.

LINGUIST 187/287. Topics in Computational Linguistics: Grammar Engineering
Flickinger, Oepen.
Hands-on introduction to techniques for implementation of linguistic grammars, drawing on sound grammatical theory and engineering skills. The implementation of constraints in morphology, syntax, and semantics, working within a unification-based lexicalist framework. Focus is on developing small grammars for English and at least one other language. Prerequisite: basic knowledge of syntactic theory or 120. No prior programming skills required. 1-4 units.

LINGUIST 182/282. Human and Machine Translation.
Kay.
The process of translation by professional and amateur translators, and by existing and proposed machine-translation systems; what each might learn from the others. Prerequisite: advanced knowledge of a foreign language. GER:2b. 4 units.

LINGUIST 183/283. Programming and Algorithms for Natural Language Processing.
Kay.
Construction of computer programs for basic linguistic processes such as string search, morphological, syntactic, and semantic analysis and generation, and simple machine translation. Emphasis on the algorithms that have proved most generally useful for solving such problems. 3-4 units.

LINGUIST 285. Finite State Methods in Natural Language Processing
Karttunen.
Introduction to the theory and available technology for finite state language processing. The applications range from tokenization to phonological and morphological analysis, disambiguation, and shallow parsing. 3-4 units.