Course number: 40641533
Instructor: Xiaojing Bai
Teaching Assistants: Qing Lyu, Yibin Shu
This course provides an introduction to computational linguistics, covering the fundamental models of linguistic phenomena at the levels of morphology, syntax, semantics and pragmatics. Students will learn how these models are implemented, evaluated, and applied to real-world natural language processing (NLP) tasks, together with some entry-level but practical skills in NLP with Python.
- To introduce the fundamental language models, their strengths and weaknesses.
- To introduce some current and potential NLP applications.
- To develop an understanding of how linguistics can support research in NLP.
- To develop an understanding of how computational perspectives and tools can support research in both theoretical and applied linguistics.
This is an entry-level course accessible to undergraduate students in linguistics. No background in computational linguistics or computer science is required; mathematical essentials are expected; and a burning interest in linguistics and programming are highly appreciated.
There will be 14 lectures in total, each followed by a practical session during which students can have a go with some language tools on their own computers.
- Participation (5%): showing up for class, demonstrating preparedness, contributing to class discussions
- Quizzes (20%): in-class quizzes about the required readings
- Homework (20%): post-class tasks concerning the lectures, practicals, and readings
- Final exam (20%): close-book exam covering the topics of the course
- Term project (35%): a research proposal (e.g. a theoretical or applied study of language from a computational perspective and supported by CL tools or resources, an improvement of a CL algorithm or an NLP application, etc.) and the preliminary implementation of the proposal
-
Speech and Language Processing - An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition by Daniel Jurafsky and James. H. Martin
-
Natural Language Processing with Python by Steven Bird, Ewan Klein, and Edward Loper
-
How to Think Like a Computer Scientist by the Runestone Interactive Project
Try Homework 0 to see whether this course is your cup of tea, in the sense of what you are supposed to do and what you may learn.
Click here to see the schedule for in-class quizzes and the readings to be covered respectively.
Autumn 2017
Teaching Assistant: Yuxiao Ye