IS53036A/IS71042A Natural Language Processing 2011-12

Overview

This course combines a critical introduction to key topics in theoretical linguistics with hands-on practical experience of developing applications to process texts and access linguistic resources such as corpora.

The course is available to final-year undergraduates in all Computing programmes and MSc Cognitive Computing students. Students will attend the same lectures but assessments and exercises will be tailored to the two different levels.

Practicalities

Course convenor
Dr Rodger Kibble, Department of Computing, Goldsmiths University of London.
Lectures
Wednesday 9.00 - 11.00, RHB 343
Labs
Wednesday 11.00 - 13.00, HH15
Main textbook
Natural Language Processing with Python, Steven Bird, Ewan Klein and Edward Loper, O'Reilly, 2009
Full text of book and supplementary materials available at http://www.nltk.org
Supplementary texts
Speech and Natural Language Processing, Daniel Jurafsky and James H Martin, Pearson, 2009
Python Text Processing with NLTK 2.0 Cookbook, Jacob Perkins, Packt Publishing, 2010
Assignments, lab sheets, lecture notes, software
Distributed via the VLE at learn.gold. Other readings are also listed on the learn.gold page. You will need an enrolment key which will be given out during lectures.
Students will be encouraged to install course materials on their own computers, including the Python interpreter.

General scope of the course

This course will combine a critical introduction to key topics in theoretical linguistics with hands-on practical experience of developing applications to process texts and access linguistic resources such as corpora. Topics covered in the course will follow selected chapters from Bird, Klein and Loper (2009):

Towards the end of term we will look at more advanced topics suitable for BSc projects or MSc dissertations.

Learning outcomes

On successful completion of this course students will be able to:

  • Write original code in the Python language
  • Utilise and explain the function of software tools such as corpus readers, stemmers, taggers and parsers
  • Explain the differences between regular and context-free grammars and define formal grammars for fragments of a natural language
  • Critically appraise existing NLP applications such as chatbots and translation systems
  • Describe some applications of statistical techniques to natural language analysis, such as classification and probabilistic parsing.