Syllabus of CS 578 - Natural Language Processing


Department: Computer Engineering

Credits: Bilkent 3,    ECTS 5

Course Coordinator: Varol Akman

Semester: 2020-2021 Spring

Contact Hours: 3 hours of lecture per week   
 
Textbook and Other Required Material:
  • Recommended - Textbook: Speech and Language Processing (3rd ed. draft), by Dan Jurafsky and James H. Martin [download]
 
Catalog Description:
History of natural language processing (NLP). The provenance of analysis and transformation of language by computational techniques. General linguistic preliminaries. Representations of text and speech that can aid prediction, extraction, and semantic reasoning over language. Automatic mining of knowledge from the web. The discipline of machine learning and its significance for NLP. Deep learning as a fundamental method for NLP. Recent technological developments in NLP, including automatic language translators such as Google Translate and personal assistants such as Siri.
 
Prerequisite(s): None
 
Assessment Methods:
  Type Label Count Total Contribution
1 In-class attendance Miss no more than 9 lectures in order to receive 10%. Otherwise, you get 0%. 1 10
2 Portfolio A blog of ≈ 250 wd. reviews of 10 papers relevant to term project. Groups of up to 3 students. 1 20
3 Presentations Critical presentation of a paper from your portfolio. Done individually. Powerpoint. 1 20
4 Term project Proposal (10%). 2 demos (5% ea.) Code (10%) due last week of classes. Groups of up to 3 students. 1 30
5 Term essay ≈ 2500 wd. Theories underlying term project. Groups of up to 3 students. Due last week of classes. 1 20
 
Minimum Requirements to Qualify for the Final Exam:
not applicable
 
Course Learning Outcomes:
Course Learning Outcome Assessment
Examine key arguments in fundamental books/articles about origins and scientific basis of natural language processing and evaluate them. Miss no more than 9 lectures in order to receive 10%. Otherwise, you get 0%.
Identify the theoretical ideas and criticisms of researchers about natural language processing and build, with own critiques, a research base consisting of the most significant papers in the literature. A blog of ≈ 250 wd. reviews of 10 papers relevant to term project. Groups of up to 3 students.
Interpret the findings of a published, interdisciplinary article on natural language processing (or linguistic theory) and present results in structured form. Critical presentation of a paper from your portfolio. Done individually. Powerpoint.
Identify one of the contemporary (sub)problems of natural language processing and implement, in the form of a large, working, reasonably complete computer program, possible solutions to it. Proposal (10%). 2 demos (5% ea.) Code (10%) due last week of classes. Groups of up to 3 students.
Relate crucial ideas in linguistics (e.g., syntax, semantics, pragmatics), artificial intelligence (e.g., knowledge representation), and machine learning (e.g., deep learning) to natural language processing. ≈ 2500 wd. Theories underlying term project. Groups of up to 3 students. Due last week of classes.
 
Weekly Syllabus:
  1. Regular Expressions, Text Normalization, and Edit Distance
  2. Finite State Transducers, Spelling Correction
  3. Neural Nets and Neural Language Models
  4. Hidden Markov Models
  5. Part-of-Speech Tagging, Formal Grammars of English
  6. Syntactic Parsing, Statistical Parsing, Dependency Parsing
  7. Vector Semantics, Semantics with Dense Vectors
  8. Lexicons for Sentiment and Affect Extraction
  9. Computational Semantics, Information Extraction
  10. Coreference Resolution, Discourse Coherence
  11. Summarization
  12. Machine Translation
  13. Question Answering, Conversational Agents
  14. Speech Recognition/Speech Synthesis
 
ECTS - Workload Table:
Activities Number Hours Workload
Presentation (including preparation) 1 20 20
Project (including preparation and presentation if applicable) 1 40 40
Report (including preparation and presentation if applicable) 1 25 25
Course hours 14 3 42
Individual or group work 14 2 28
Total Workload: 155
Total Workload / 30: 155 / 30
  5.17
ECTS Credits of the Course: 5
 
Type of Course:   Lecture
 
Course Material:   Lecture Notes - Slides
 
Teaching Methods:   Lecturing - Presentations - Independent study