CS378: Natural Language Processing:
This is an upper-division undergraduate natural language processing course covering properties of language (syntax, lexical and distributional semantics, compositional semantics, discourse, morphology)
as well as fundamental machine learning concepts needed for NLP
(log-linear models, sequence labeling, neural networks).
Students will gain hands-on experience building and modifying real-world NLP systems including a text classifier,
an information extraction system, a small-scale neural machine translation system,
and a conversational dialogue system.
Students will apply these models to a variety of domains and gain exposure to the process of data annotation.