❗The content presented here is sourced directly from Coursera platform. For comprehensive course details, including enrollment information, simply click on the 'Go to class' link on our website.
Updated in [May 25th, 2023]
This online course on Natural Language Processing (NLP) covers a wide range of tasks from basic to advanced, such as sentiment analysis, summarization, and dialogue state tracking. Upon completion, students will be able to recognize NLP tasks in their day-to-day work, propose approaches, and judge which techniques are likely to work well. The final project is devoted to building a conversational chat-bot that will assist with search on StackOverflow website.
Throughout the lectures, the course will aim to find a balance between traditional and deep learning techniques in NLP and cover them in parallel. Core techniques will not be treated as black boxes, and students will gain an in-depth understanding of what’s happening inside. To succeed in that, familiarity with the basics of linear algebra and probability theory, machine learning setup, and deep neural networks is expected. Some materials are based on one-month-old papers and introduce students to the very state-of-the-art in NLP research.
For technical problems, students can contact the course staff at [email protected].
[Applications]
Upon completing this course, students will be able to apply their knowledge of Natural Language Processing to recognize NLP tasks in their day-to-day work, propose approaches, and judge what techniques are likely to work well. They will also be able to build their own conversational chat-bot that will assist with search on StackOverflow website. Students should also be able to find a balance between traditional and deep learning techniques in NLP and apply them in parallel.
[Career Paths]
1. Natural Language Processing Engineer: Natural Language Processing Engineers are responsible for developing and deploying natural language processing (NLP) models and algorithms. They must have a strong understanding of NLP techniques, such as sentiment analysis, summarization, dialogue state tracking, and text classification. They must also be familiar with machine learning setup, deep neural networks, linear algebra, and probability theory. As NLP technology continues to evolve, Natural Language Processing Engineers must stay up-to-date on the latest trends and developments in the field.
2. Natural Language Processing Researcher: Natural Language Processing Researchers are responsible for researching and developing new NLP models and algorithms. They must have a strong understanding of NLP techniques, such as sentiment analysis, summarization, dialogue state tracking, and text classification. They must also be familiar with machine learning setup, deep neural networks, linear algebra, and probability theory. Natural Language Processing Researchers must stay up-to-date on the latest trends and developments in the field and be able to identify and develop new NLP models and algorithms.
3. Natural Language Processing Consultant: Natural Language Processing Consultants are responsible for providing advice and guidance to clients on the best NLP models and algorithms to use for their specific needs. They must have a strong understanding of NLP techniques, such as sentiment analysis, summarization, dialogue state tracking, and text classification. They must also be familiar with machine learning setup, deep neural networks, linear algebra, and probability theory. Natural Language Processing Consultants must stay up-to-date on the latest trends and developments in the field and be able to provide clients with the best advice and guidance.
4. Natural Language Processing Product Manager: Natural Language Processing Product Managers are responsible for managing the development and deployment of NLP products. They must have a strong understanding of NLP techniques, such as sentiment analysis, summarization, dialogue state tracking, and text classification. They must also be familiar with machine learning setup, deep neural networks, linear algebra, and probability theory. Natural Language Processing Product Managers must stay up-to-date on the latest trends and developments in the field and be able to identify and develop new NLP products.
[Education Paths]
Recommended Degree Paths:
1. Bachelor of Science in Computer Science: This degree path provides students with a comprehensive understanding of computer science fundamentals, including programming, algorithms, data structures, and software engineering. It also covers topics such as artificial intelligence, natural language processing, and machine learning. This degree path is ideal for those interested in pursuing a career in software engineering, data science, or machine learning.
2. Master of Science in Artificial Intelligence: This degree path provides students with a deep understanding of artificial intelligence and its applications. It covers topics such as machine learning, natural language processing, computer vision, robotics, and deep learning. This degree path is ideal for those interested in pursuing a career in research or development in the field of artificial intelligence.
3. Doctor of Philosophy in Natural Language Processing: This degree path provides students with a comprehensive understanding of natural language processing and its applications. It covers topics such as text mining, machine translation, dialogue systems, and information retrieval. This degree path is ideal for those interested in pursuing a career in research or development in the field of natural language processing.
Developing Trends:
1. Natural Language Generation: Natural language generation (NLG) is a rapidly growing field of research that focuses on the automatic generation of natural language from structured data. This technology is being used in a variety of applications, such as summarization, question answering, and dialogue systems.
2. Deep Learning: Deep learning is a subset of machine learning that uses neural networks to learn from data. It has been used to great success in a variety of tasks, including natural language processing, computer vision, and speech recognition.
3. Reinforcement Learning: Reinforcement learning is a type of machine learning that focuses on learning from rewards and punishments. It has been used to great success in a variety of tasks, including natural language processing, robotics, and game playing.
Course Syllabus
Intro and text classification
In this module we will have two parts: first, a broad overview of NLP area and our course goals, and second, a text classification task. It is probably the most popular task that you would deal with in real life. It could be news flows classification, sentiment analysis, spam filtering, etc. You will learn how to go from raw texts to predicted classes both with traditional methods (e.g. linear classifiers) and deep learning techniques (e.g. Convolutional Neural Nets).Language modeling and sequence tagging
In this module we will treat texts as sequences of words. You will learn how to predict next words given some previous words. This task is called language modeling and it is used for suggests in search, machine translation, chat-bots, etc. Also you will learn how to predict a sequence of tags for a sequence of words. It could be used to determine part-of-speech tags, named entities or any other tags, e.g. ORIG and DEST in "flights from Moscow to Zurich" query. We will cover methods based on probabilistic graphical models and deep learning.Vector Space Models of Semantics
This module is devoted to a higher abstraction for texts: we will learn vectors that represent meanings. First, we will discuss traditional models of distributional semantics. They are based on a very intuitive idea: "you shall know the word by the company it keeps". Second, we will cover modern tools for word and sentence embeddings, such as word2vec, FastText, StarSpace, etc. Finally, we will discuss how to embed the whole documents with topic models and how these models can be used for search and data exploration.Sequence to sequence tasks
Nearly any task in NLP can be formulates as a sequence to sequence task: machine translation, summarization, question answering, and many more. In this module we will learn a general encoder-decoder-attention architecture that can be used to solve them. We will cover machine translation in more details and you will see how attention technique resembles word alignment task in traditional pipeline.Dialog systems
This week we will overview so-called task-oriented dialog systems like Apple Siri or Amazon Alexa. We will look in details at main building blocks of such systems namely Natural Language Understanding (NLU) and Dialog Manager (DM). We hope this week will encourage you to build your own dialog system as a final project!