During the final half of the semester you will complete and present a final project building upon the skills and knowledge you have attained during the rest of the semester. It is encouraged to take a multidisciplinary approach, using insights from other courses you have taken. Your final project may take the form of either
- a computational implementation, solving some problem using language processing
- a research paper, exploring a subject in computational language processing in detail
Hybrid projects, merging both of these categories are also possible.
Propose three projects in a paragraph each. Order them such that the first project listed is the one you would most like to do. I will either approve the first project, give feedback to improve that project, or move on to the second/third projects if the first is for some reason unsuitable (e.g., probably not doable in the time period). If more than one person chooses the same topic, favor will be given to the one with the most developed proposal.
Option 1: Computational Implementation
If you select this option, you will solve some problem using natural language processing computationally. This problem can be anything you wish, from determining authorship of books, to synthesizing speech, to a new method for POS tagging. You can, but don’t have to, make use of existing natural language toolkits such as GATE and NLTK, though a substantial amount of work must be your own. You may wish to explore the use of other tools which are trendy, such as word2vec and tensorflow.
Whatever problem you choose you tackle, you will evaluate your implementation in some way. Does it do what you set out for it to do? How well? If you are building something new which competes with existing software, you might choose to compare the two. Use standard evaluation metrics. If you need suggestions about standard ways of evaluating various components, please let me know.
After completing your implementation, write up a short paper (~1500 words) in Scalar. This paper should describe the problem you are solving, your approach, your evaluation methodology, and the results of your evaluation. Note that you won’t be scored on how well your system performs – if the techniques and implementation are sound, that is enough.
Option 2: Research Paper
Research papers can take take many forms, two potential options are given below – a literature review, and a cognitive systems paper. If you have another idea, please let me know!
For both of these, you will produce a paper (~5000 words) using Scalar.
Option 2a: Literature Review
Select some topic related to the course and perform a search of the scientific literature, using something like Google Scholar. Read the relevant literature (giving favor to recent articles and older ones which seem to be of high import), and organize the ideas within. Write a paper which explores the topic you’ve chosen by way of the literature. You should aim for your paper to be readable by anyone who has taken this course, so provide an introduction to your topic in terms they might already be familiar with, then dig deeper into what you have learned from the literature. Be sure to synthesize what you’ve read, giving your own interpretations of the state of the field. UNC’s writing center has a nice article on writing literature reviews.
If you do a literature review on something with several well-established and easily accessible computational implementations (e.g., speech synthesis), you should make an effort to use the tools and demonstrate/discuss how they function in your paper. Using Scalar you can upload media files to augment your text.
Also included in this category would be papers on some controversy in the NLP community. You might see the section on Contemporary Philosophical Divides in the last chapter of the NLTK Book for some inspiration.
Option 2b: Cognitive Systems Paper
Examine some issue of human language processing in a multidisciplinary way, studying literature from cognitive science proper and at least 2 of the constituent fields of cognitive science (e.g., CogSci + Psych + Ling). You may deal with issues in areas such as human parsing of language, how humans construct sentences, memory as it relates to language, and so on. Examine the literature in cognitive systems to explore the work done attempting to solve the problem computationally. In particular, the ACT-R and SOAR groups have tackled many of these kinds of issues. If there is nothing about your topic in the cognitive systems literature you should suggest how you might address the problem computationally in the context of cognitive systems.
You are encouraged, if you choose this category, to propose a computational approach of your own which addresses the issue you’ve selected. Compare your proposed approach with existing systems, and discuss how yours might be better.