ECE 467: Natural Language Processing
This course focuses on computational applications involving the processing of written or spoken human languages. Content may vary from year to year. Theoretical subtopics will likely include word statistics, formal and natural language grammars, computational linguistics, hidden Markov models, and various machine learning methods. Applications covered will likely include information retrieval, information extraction, text categorization, question answering, summarization, machine translation and speech recognition. Course work includes programming projects and tests.
- Course Introduction.
- Tokenization, Words, and Morphology.
- N-grams and Conventional Language Models.
- Part-of-speech tagging.
- Information Retrieval and Text Categorization.
- Phrase Structure Grammars and Dependency Grammars
- Natural Languages and Psycholinguistics
- Feedforward Neural Networks
- Word Embeddings
- Recurrent Neural Networks, LSTMs, and GRUs
- Encoder-decoder Models, Attention, and Machine Translation
- Advanced Topics (Character and Subword Embeddings, Question Answering Systems, Trnasformers, Contextual Word Embeddings, Ethics)
- Knowledge of various subtopics of natural language processing, some in depth.
- Familiarity with many important NLP algorithms and methodologies.
- Experience developing three large NLP programming projects.
The three large programming projects test in-depth understanding of important NLP algorithms. Quizzes or problem sets are used to evaluate various levels of knowledge of other NLP topics.