Natural Language Processing (NLP) is a branch of artificial intelligence that deals with the interaction between computers and humans using natural language. It is one of the most important technologies of the information age and is used everywhere: search engines, advertising, chatbots, language translation, virtual agents, and so on. Deep Learning approaches have obtained very high performance across many different NLP tasks in recent years. In this course, students will gain a thorough introduction to the basics of NLP, as well as cutting-edge research in Deep Learning for NLP. We will focus on modern techniques for NLP, as well as introduce the applications in our daily lives. Students are encouraged to do some pretty cool research projects based on NLP techniques, e.g., writing poetry, detecting spam emails, building chatbots, machine reading comprehension, and so on. Through lectures, assignments, and a term project, students will learn the necessary skills to design, implement, and understand their own models for NLP tasks.
(Fr) L'objectif de ce cours est de préparer les étudiants à aborder des projets d'apprentissage machine du monde réel. Pendant le cours, les étudiants travailleront sur les principales étapes des projets d'apprentissage machine, y compris l'acquisition de données, le prétraitement des données, la formation de modèles, les expériences et l'analyse, rédigeront un rapport de projet et présenteront les résultats et les conclusions du projet. Le sujet du projet de cours peut être choisi parmi une liste de candidats fournie par le cours, ou bien il peut être proposé par les étudiants et déterminé après discussion avec l'enseignant. Les compétences développées au cours de ce cours comprennent une revue de la littérature sur un problème particulier, l'apprentissage automatique pratique et théorique, la programmation pour l'apprentissage machine et la science des données avec Python et PyTorch, le contrôle de version avec git et les commandes Linux de base.
(En) The objective of this course is to prepare the students for tackling real-world machine learning projects. During the course, students will work on the main stages of machine learning projects, including data acquisition, data pre-processing, model training, experiments and analysis, complete a project report, and present the results and conclsions from the project. The topic of the course project can be selected from a candidate list provided by the course, or it can be proposed by the students and determined after discussion with the teacher. Skills developed during this course include literature review of a particular problem, practical and theoretical machine learning, programming for machine learning and data science with Python and PyTorch, version control with git, and basic Linux commands.