Title (Units):              COMP4136 Natural Language Processing (3,2,1)
Course Aims:                To introduce some essential knowledge of natural language processing and its
                            application scenarios, such as fundamental concepts, critical thinking of
                            methodologies, practical techniques and tools for textural information processing.
                            Students after taking this course will be able to: 1) identify and apply advanced
                            techniques of natural language processing to process textural information; and 2)
                            build modules to design, implement and evaluate effective natural language
                            systems in real-world contexts;
Prerequisite:               COMP3057 Introduction to AI and ML OR
                            COMP3115 Exploratory Data Analysis and Visualization OR
                            Year III standing or above
Course Intended Learning Outcomes (CILOs):
Upon successful completion of this course, students should be able to:
  No.    Course Intended Learning Outcomes (CILOs)
         Knowledge
  1      Describe the fundamental concepts and methodologies of natural language processing
  2      Explain the advantages and limitations of methods developed for different scenarios
  3      Identify relevant textural information processing techniques to meet real-world needs
         Professional Skill
  4      Apply specific methods and techniques in a number of natural language applications
  5      Evaluate the solutions designed to technical problems
Calendar Description:       This course introduces some essential knowledge of natural language processing
                            and its application scenarios, such as fundamental concepts, critical thinking of
                            methodologies, practical techniques and tools for textural information processing.
                            Students will be given the opportunities to appreciate the needs and impacts of
                            technical problem-solving with data and to develop real-world applications.
Teaching and Learning Activities (TLAs):
  CILOs            Type of TLA
  1-2              Students will learn essential concepts of natural language processing through lectures and
                   tutorials. Besides, written assignments, quizzes and final examination will be designed to
                   evaluate the students’ level of understanding.
  2-3              Students will learn critical algorithms and techniques of some traditional problems through
                   lectures and tutorials. Laboratory sessions will also be designed so that students could apply
                   what they have learnt in lectures. There will include laboratory exercises and quizzes.
  4-5              Students are required to conduct a project based on a selected NLP topic individually and
                   give a formal presentation on their proposed method. Instructor(s), teaching assistant and
                   other students would ask questions related to their project.
Assessment:
   No.    Assessment      Weighting      CILOs to be                Description of Assessment Tasks
          Methods                         addressed
   1      Assessments        30%            1-4            Assignments and labs will be used to consolidate
          and Labs                                         their knowledge and develop their skills in natural
                                                           language processing.
   2      Individual         20%              3-5          Individual project will further strengthen their
          Project                                          understanding and problem solving skills.
   3      Examination        50%              1-5          Examination will be used to assess students’ overall
                                                           understanding in the concepts, and their ability in
                                                           applying these concepts to solve problems.
                                                       1
Assessment Rubrics:
                     Achieve all CILOs, demonstrating a good mastery of both the theoretical
                      and practical aspects of the knowledge and skills associated with textural
                      information processing and techniques application
                     Able to develop correct solutions to problems, accompanied by critical
Excellent (A)         thinking, analytical thinking and creative thinking
                     Demonstrate a thorough understanding and solid knowledge of textural
                      analytics, concepts, methodologies, and techniques
                     Able to apply a variety of techniques and relevant knowledge for
                      fulfilling the real-world needs
                     Achieve most of the five CILOs, demonstrating a good understanding of
                      the concepts and underlying methodologies
                     Able to develop correct solutions to problems, accompanied by adequate
                      explanations
Good (B)
                     Demonstrate a competent level of knowledge of textural analytics,
                      concepts, methodologies, and techniques
                     Ability to make use of appropriate techniques and knowledge and apply
                      them to familiar situations and problems
                     Achieve some of the five CILOs, demonstrating a basic level of
                      understanding of the concepts and underlying methodologies
                     Able to provide acceptable solutions to problems
Satisfactory
                     Demonstrate an adequate level of knowledge of natural language
(C)
                      processing
                     Ability to make use of some techniques and knowledge and apply them to
                      familiar situations
                     Achieve few of the five CILOs, with minimal understanding of the
                      associated concepts and underlying methodologies
Marginal             Able to provide solutions to simple problems
Pass (D)             Demonstrate a basic level of knowledge of natural language processing
                     Ability to make use of limited knowledge or techniques and apply them to
                      some simple cases
                     Achieve none of the five CILOs, with little understanding of the
                      associated concepts and underlying methodologies
                     Unable to provide solutions to simple problems
Fail (F)
                     Knowledge of natural language processing falling below the basic
                      minimum level
                     Unable to apply techniques and knowledge to situations or problems
Course Content and CILOs Mapping:
 Content                                                                       CILO No.        Hours
 I   Introduction to natural language processing (NLP) and core concepts           1             5
 II NLP models and techniques                                                    1, 2           15
 III NLP applications                                                           3, 4, 5         10
 IV Selected NLP tasks with deep learning                                       3, 4, 5          9
References:
 Daniel Jurafsky and James H. Martin. Speech and Language Processing: An Introduction to Natural
    Language Processing, Computational Linguistics and Speech Recognition. Prentice Hall. 2000.
                                                    2
      Christopher D. Manning and Hinrich Schütze. Foundations of Statistical Natural Language Processing. The
       MIT Press. 1999.
      Jason Brownlee. Deep Learning for Natural Language Processing. Machine Learning Mastery, 2018.
      Steven Bird, Ewan Klein, and Edward Loper. Natural Language Processing with Python. 1 st edition,
       O'Reilly Media; 2009
Course Content:
Topic
I.        Introduction to natural language processing (NLP) and core concepts
II.       NLP models and techniques
          1. Segmentation, word-level analysis, N-grams
          2. POS tagging, syntactic parsing
          3. Data Mining in NLP
          4. NLP tools
III.      NLP applications
          1. Sentiment classification
          2. Machine Translation
          3. Question Answering
          4. Summarization
IV.       Selected NLP tasks with deep learning
          1. Word Embedding (Word2Vec)
          2. Sentiment analysis with Recurrent Neural Network (RNN)
          3. Parsing with Recursive Neural Network (RvNN)