Natural Language Processing
This course is designed to introduce students to the fundamental concepts and techniques in Natural Language Processing (NLP). NLP is a subfield of artificial intelligence and linguistics that focuses on the interaction between computers and human languages. In this course, we will explore a wide range of NLP topics, including language modeling, spelling correction, sentiment analysis, parsing, text classification, information retrieval, and more.
Be able to:
Understand the foundational principles of Natural Language Processing and its significance in the field of artificial intelligence and linguistics.
Implement basic NLP concepts, such as language modeling, spelling correction, and sentiment analysis, using appropriate algorithms and tools.
Analyze and compare the effectiveness of different NLP techniques in terms of time and space complexity.
Work with advanced NLP data structures and algorithms, including parsing, text classification, and information retrieval, to solve real-world language processing problems.
Apply NLP techniques to various domains, such as chatbots, information extraction, and sentiment analysis, for practical applications.
Speech and Language Processing (3rd edition). Daniel Jurafsky and James Martin.
Mastering Natural Language Processing: Techniques, Algorithms, and Application by Mahmmoud Mahdi (Draft v1)
Note: This is just a expected curriculum, and the specific content and objectives may change. Additionally, some topics may need to be covered in more depth, while others may need to be covered more briefly, based on the needs and skills of students.