Skip to main content

Final Project

Start by Nov 15 or earlier | Due on Dec 6

Project Ideas

First start with a task that has a well-defined dataset that you can use for your project. Pick something you are passionate about or something you find interesting.

Project Submission

Project proposal (due on Nov 15)

For your project proposal please submit a text file in Markdown format that includes a Title and an Abstract. Your abstract should be about 250 words (please definitely use less than 1000 words). Make sure the following points are in your abstract.

  • Motivation
    • which NLP task do you plan to do;
    • which aspect of the problem / task did your group plan to work on (accuracy, interpretability, etc.);
    • provide some reasons for your choice
  • Approach
    • Describe the algorithms and machine learning models you plan to use in your project.
    • Using equations is not necessary but if you do, use a clear mathematical style to explain your model(s).
  • Data
    • Exactly which data set do you plan to use
    • What is the evaluation measure for the data set and what is the baseline

Poster Session

  • Final Project Poster Session:
    • Time: Dec 6 Poster session: 2:30-4:30.
    • Location: TBA

Poster size

The poster size should be as follows:

  • Landscape orientation: 3ft by 3ft.
  • Portrait orientation: A0 portrait (4ft vertical by 3ft horizontal)

If you use LaTeX then here are two sample poster styles (A0 portrait):

Poster grading

The poster will be graded using the following criteria (1-5):

  1. Goal is clear?
  2. Implementation is clear?
  3. Model was clear?
  4. Did provided example make things clear?
  5. Experimental evaluation was clear?
  6. Adequate comparison to previous work?
  7. Poster layout and oral explanation.
  8. Analysis of the output.
  9. Overall quality.

Please read through this set of tutorial slides on making effective posters.

Also, I have provided two examples of NLP posters (note that they are not in portrait layout).

Project Write-up

Apart from the poster session you must also submit your project write-up as a Python notebook project.ipynb and your source code for your project in your GitLab repository:

git@github.sfu.ca:USER/nlpclass-1187-g-GROUP.git

Put all your project files into the directory project in your GitLab repository.

Make sure you have a requirements.txt file for your project so that we can use a virtual environment to run your code.

Your Python notebook must be called project.ipynb. In addition to writing code for a good project submission, the description of what you did for your project in your Python notebook is also a very important part of your project submission. It must have the following sections:

  • Motivation
    • Which aspect of the problem / task did your group choose to improve and reasons for your choice.
  • Approach
    • Describe the algorithms and machine learning models used in your project. Use a clear mathematical style to explain your model(s).
  • Data
    • Exactly which data files were used; also include here any external data that was not provided to you.
  • Code
    • If you used homework code, which homework code you used in your project. Provide exactly which code was used in your project not written by your group (e.g. use of an aligner from an open-source project).
  • Experimental Setup
    • Describe what kind of evaluation you are doing and which methods you are comparing against each other.
  • Results
    • Include a detailed comparison of different methods.
  • Analysis of the Results
    • Did you improve over the baseline. Why or why not?
  • Future Work
    • What could be fixed in your approach. What you did not have time to finish, but you think would be a useful addition to your project.

Please read this guide to presenting your work. Also available is a video tutorial covering the same material.

Submit your project on Coursys

Go to Coursys. Under the Final Project activity submit the following zip files:

  • output.zip: output of your project implementation on a dataset. please include the evaluation code and references to allow us to check the evaluation you present in your write-up. Note this should only be your output on the test data file of some dataset plus any evaluation code and clear instructions on how to run the evaluation script.
  • source.zip: this zip file should contain your iPython notebook that serves as the write-up for your project and only the source code you have written (along with a requirements.txt for a virtualenv). Do not include any data files in this zipfile. Please also include a README.username file as you have done for all your homeworks in this zip file.

The instructions for submission and development are provided in more detail in Homework 0.

There are no grace days for project submission! So submit early and often.

That’s it. You are done with your Final Project!

Grading of Final Project Work

The final projects for this course will be graded using the following criteria:

  • Originality
  • Substance (amount of work done for the project)
  • Well documented use of prior results from research papers
  • Clarity of the writing
  • Quality of experimental design
  • Quality of evaluation and results
  • Theoretical insights / Practical insights
  • Group work (did the group work effectively together)
  • Overall score (based on the above criteria, but can include other factors like overall polish or creativity)

Project Grading Framework

The total marks are distributed as follows:

  • Work. Work done in the project. Results obtained. 50 marks (see the section on Grading of the Final Project Work for grading details)
  • Docs. Documentation of the work done in the notebook. 25 marks (see the section on Project Write-up for grading details)
  • Poster. Performance at the poster session and poster quality. 25 marks (see the section on Poster grading for grading details)