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):
- Language Processing and Python
- Accessing Text Corpora and Lexical Resources
- Processing Raw Text
- Categorizing and Tagging
- Information Extraction
- Analyzing Sentence Structure
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.