Final Project
This is the final project for the Natural Language Processing course.
In this project, you are free to pick any theme you choose, as long as it is related to the course. You can use any technique you prefer, and you can choose any problem you prefer to deal with.
Your project must have a clear goal, including a measurable finishing line (in the sense of: "I will be happy with this project when it reaches point X, as measured by getting Y score in the Z measure".).
Blue Sky Developer: You want to explore an idea that seems to be too crazy. This is an application that tries to solve a user pain point in a more creative way. If you choose this track, you must (a) present a research on previous attempts to solve this pain point, and (b) measure the actual impact of your system to the pain point (note that this could imply in talking to actual users - this would be part of your project). Your deliverable is a brief report on the problem you approached, and a video pitch of your project (up to 3 min) that shows the measures of impact.
Deep Learning Researcher: You want to do experiments in Deep Learning. Maybe you want to train a language model, or you want to fine-tune Bert, or maybe something else. If you choose this track, you must (a) present a research on previous articles that do something similar, and (b) use metrics defined by the articles to evaluate your approach. Your deliverable is the source code and a brief report on the problem you approached, a description of your solution, and a report on the results, comparing them with the literature you chose.
Educator: You want to study one subject of the second half of the course in depth - and you will help future students to understand this same subject. If you choose this track, you must (a) Identify one task that could be meaningful when learning about this subject (for example: "how to load GloVe vectors faster?"). Find courseware, online materials, and such, that could help performing this task. (b) make a video tutorial (video format is mandatory - use OBS studio for screencasts) in which you explain how to do that task. Upload the video to a platform. Do not mention this is for a course, as the video could be accessed by anyone. Your video must be less than 10min long, and it can be either in English or Portuguese. Your deliverable is the video (upload the link to the youtube upload).
REMEMBER to state your final goal in your project. It could be something in the lines of "I show that this is a valid approach towards a pain point as measured by X number of user reviews", or "I am able to generate coherent text from a language model I trained myself", or "My tutorial highlights an aspect that has not been addressed in other work in this field. Your goal must not be too ambitious ("I will make people happy again!"), nor too trivial ("My project will consist of a MLP network that predicts sentiments in the IMDB dataset"). A good reference for objectives is the related work, that is, other projects available online that share the same type of problem as you.
The project will be graded as:
- F (0%), if your project was off-topic, was missing deliverables (that is, do NOT try to make half of the project), or was clearly copied from some online source (on top of the grade, this is an ethics violation), or your project fails to clearly state its goal.
- D (25%) if your objective was not discussed taking prior work into consideration. That is, if you simply invented something and it has no relationship with anything in existence, then you will have a low grade. The reason for this is that your project must be focused on current reality. Also, this is important because it will allow you to set goals and evaluate your own project.
- C (50%), if your project was entirely delivered, but has clear flaws that derive from misunderstanding concepts in courseware (for example: you trained a neural network in a small dataset or with clear data leakage, your tutorial points at wrong directions, you cannot find arguments indicating that your blue sky idea is feasible and useful), or it clearly does not achieve the stablished goals without any justification for such (that is, you ignore the goals when discussing the results).
- B (75%), if your project is technically correct and achieve desired goals, but is somewhat redundant with existing work (for example: you made a tutorial for which there are many other tutorials online, or your "blue sky" project is a simple, well-knokwn project like a sentiment detector (that is, something that can be solved in a few lines of code), or your Deep Learning project consists of simply following a tutorial online).
- A (100%) if your project is technically correct, achieves desired goals, and brings some uniqueness to the table - you approached a meaningful pain point, you made an experiment that actually highlights some interesting point, or you made a tutorial on a subject that was lacking. To get this grade, you must include a research on existing art in your deliverable, showing that similar work has not addressed the specific point you have addressed, or that they were somehow insufficient and you covered that gap.