Skip to main content

ICS 454 Natural Language Processing

Natural Language Processing (NLP) is a rapidly developing field that aims to allow computers to break down and interpret human languages. It combines the power of linguistics and computer science and takes advantage of machine learning techniques to learn the rules and structure of language and build intelligent systems that can understand, analyze, and generate natural language text. NLP underpins many technologies used daily, including search engines (e.g., Google), virtual assistants (e.g., Amazon Alexa and Apple Siri), and Large Language Models (LLMs) (e.g., ChatGPT and Gemini). This course offers foundational understanding of the applied, programming oriented aspects NLP methods and algorithms. Topics include tokenization, part-of-speech tagging, TF/IDF, text classification, text summarization, topic modeling, and sentiment analysis. Students will gain practical experience in natural language processing using the Python Programming Language and the Natural Language Toolkit (NLTK) open-source library.

Prerequisites

4 Undergraduate credits

Effective May 7, 2026 to present

Learning outcomes

General

  • Describe the methods and evaluation metrics for various natural language processing tasks.
  • Gain practical experience in the NLP toolkits available, specifically NLTK.
  • Design and implement programs to solve problems using common NLP Tasks, including named-entity recognition, part-of-speech tagging, sequence labelling, syntactic and semantic parsing, sentiment analysis, text classification, and topic modeling.
  • Defend the advantages of using standard corpora. Identify examples of current corpora for a variety of NLP tasks.
  • Illustrate techniques for information retrieval, language translation, and text classification.
  • Implement a TF/IDF transform, use it to extract features from a corpus, and train an off-the-shelf machine learning algorithm using those features to do text classification.
  • Discuss the challenges of representing meaning.