Natural Language Processing (NLP) has undergone a revolution thanks to the development of large language models. This course provides a comprehensive introduction to the field of natural language processing (NLP), a subfield of artificial intelligence focused on the interaction between computers and human language. Students will learn the basic concepts, algorithms, and techniques used to analyze, understand, and generate human language. The course begins with an overview of linguistic fundamentals and the main tasks of NLP, such as tokenization, part-of-speech tagging, and syntactic parsing. We will then move on to more advanced topics, including text representation (e.g., word embedding), sentiment analysis, machine translation, and text summarization. A significant portion of the course will be devoted to modern deep learning approaches for NLP, including Recurrent Neural Networks (RNNs), Convolutional Neural Networks (CNNs), and transformer models such as BERT and GPT.
Upon successful completion of this course, the student will be able to:
1. Define the fundamental concepts of NLP and describe its key tasks, such as tokenization, sentiment analysis, or machine translation.
2. Explain the linguistic foundations necessary for understanding text data and interpret the results of syntactic parsing.
3. Compare and distinguish between different text representation techniques, including modern word embedding methods.
4. Apply and demonstrate the use of deep learning algorithms (RNNs, CNNs, Transformers) to solve specific NLP problems.
5. Analyse and evaluate the performance of different models, such as BERT and GPT, and assess their suitability for a given application.
6. Design and construct simple systems for natural language processing and present their functionality.