Study-Unit Description

Study-Unit Description


CODE LIN2600

 
TITLE NLP Programming Project

 
UM LEVEL 02 - Years 2, 3 in Modular Undergraduate Course

 
MQF LEVEL 5

 
ECTS CREDITS 4

 
DEPARTMENT Institute of Linguistics and Language Technology

 
DESCRIPTION This study-unit consists of a supervised project, in which students will design a software application for a specific Natural Language Processing (NLP) task. The unit will involve independent work under supervision, divided into the following steps:

1. Identification of an NLP task, such as parsing, part of speech tagging or text generation;
2. Authoring of a design specification, with a view to identifying the main data sources and software libraries available to help in solving the task;
3. Design of the system architecture to solve the task;
4. Implementation in a high-level programming language of an application conforming to the system architecture and design specification. The programming language of choice is Python, which B.Sc. students are introduced to thoroughly during their first year of study;
5. Debugging and testing the application;
6. Evaluating the application empirically, against data and/or via human intervention, with a view to assessing the linguistic quality of the output and determining whether it reaches the aims stated in the design spec authored in step (1).

Study-unit Aims:

This unit aims to allow students to experience the "life cycle" of a software application, from design to execution and evaluation, while enhancing their programming and problem-solving skills. In particular, it aims to:

1. Get students to practice their skills at formalising a problem in a manner amenable to computational implementation;
2. Enhance their ability to identify existing software libraries and data sources to help solve NLP problems;
3. Improve their programming skills;
4. Provide students with an opportunity to gain experience in application design and evaluation.

Learning Outcomes:

1. Knowledge & Understanding
By the end of the study-unit the student will be able to:

1. define the goals of an NLP software application;
2. identify software libraries and data sources required to solve an NLP problem;
3. design and implement an application in a high-level programming language;
4. evaluate the application against the aims stated at the outset.

2. Skills
By the end of the study-unit the student will be able to:

1. apply their programming skills to new problems;
2. independently design, implement and evaluate a medium-sized application.

Main Text/s and any supplementary readings:

- D. Jurafsky and J.H. Martin (2009). Speech and Language Processing (2nd Edition). New York: Prentice Hall.
- Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers (2012). How to think like a computer scientist: Learning wiht Python 3. Available online at: http://openbookproject.net/thinkcs/python/english3e/

 
ADDITIONAL NOTES Pre-Requisite qualifications: Basic programming skills

Pre-Requisite Study-units: ICS1251 or equivalent

 
STUDY-UNIT TYPE Project

 
METHOD OF ASSESSMENT
Assessment Component/s Assessment Due Sept. Asst Session Weighting
Project SEM2 Yes 100%

 
LECTURER/S

 

 
The University makes every effort to ensure that the published Courses Plans, Programmes of Study and Study-Unit information are complete and up-to-date at the time of publication. The University reserves the right to make changes in case errors are detected after publication.
The availability of optional units may be subject to timetabling constraints.
Units not attracting a sufficient number of registrations may be withdrawn without notice.
It should be noted that all the information in the description above applies to study-units available during the academic year 2023/4. It may be subject to change in subsequent years.

https://www.um.edu.mt/course/studyunit