The following NLP-related courses will be offered at Stanford in the 2006-07 academic year:

Autumn 2006

LINGUIST 180. Introduction to Computer Speech and Language Processing.
Jurafsky. TTh 2:15-3:30. 200-202.
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 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.

Winter 2007

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.

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.

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.

Spring 2007

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 due to sabbaticals

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.

CS 224U, LINGUIST 188/288. Natural Language Understanding.
Jurafsky, Peters.
Machine understanding of natural language. Computational semantics (determination of sense, event structure, thematic role, time, aspect, synonymy/meronymy, causation), and computational pragmatics and discourse (coherence relations, anaphora resolution, information packaging, generation). Theoretical issues, online resources, and relevance to question answering, summarization, and inference. Prerequisites: one of LINGUIST 180, CS 224N,S; and LINGUIST 130A or B, or knowledge of logic.

LINGUIST 285. Finite State Methods in Natural Language Processing
Kartunnen.
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.