The following is meant to be a rough guide of what to expect when writing a thesis on the Grammar Matrix along with some helpful tips and hints to get started on the right things in the right order to help ease friction.
Read this page
Define your question
Define the scope of research
Get set up with
LaTeX and the UW thesis file
- If not familiar with LaTeX, practice!
- Analyze previous Grammar Matrix theses for figures/code desired
- Look at Drellishak, Saleem, Crowgey, Song, Trimble, etc.
Seek out thorough understanding of basic grammatical facts
- What is the phenomenon you are studying? What is the terminology?
- What is the range of phenomena? What differences are there between languages? How does the phenomena differ in syntax, morphology, and semantics, and do these intersect?
Conduct typology review
- What is the range of variation in the phenomenon across the world’s languages?
- Look at data from various languages: look for things of interest that typologists haven’t seen
- Look at existing HPSG grammars for interesting phenomena
Write typology review section
- Keep lots of extra notes on interesting languages, facts, phenomena, etc.
Define target semantic representations
- What does the output MRS look like?
- What does the output syntax tree look like?
Define scope of project
- New library? Update existing libraries? Both?
- New page? Update existing page? Both?
- New HPSG features? New HPSG types (with existing features)? Both? Neither? (see below)
Set up testing ubuntu environment
Set up coding environments
- Set up to modify matrix SVN
- Run regression tests (python matrix.py r)
- Create new branch
- Explore existing libraries
Create some test suites
- Create test suites for pseudo languages and development languages
Do HPSG analysis
- Look at ERG, jacy, gCLIMB, and CoLLAGE grammars for various analyses
- Understand what already exists in matrix.tdl and mylanguage.tdl
- Define types to be implemented
- Discern whether these types will be language specific in language.tdl or in matrix.tdl
- Find out what relevant code (if any) already exists (for instance, in morphotactics.py)
Implement customization system changes
Implement HPSG analysis
- Create grammars by hand first, testing against test suites
- Add or change existing library modules
- Lots and lots of comments!
- Use constructor to build TDL
Write introduction, analysis, implementation sections
Finish HPSG analysis
- Create choices files to verify correct output
- Repeat previous step…
- Test all regression tests!
- Ask for feedback from Matrix developers
- Create held_out languages test suites / choices files
- Compare to test suites and get evaluation numbers
Finish paper
- Write evaluation and conclusion
- Revise
- Leave plenty of time for revisions from advisor and reader
Write matrixDoc pages!
- Flesh out old matrixDoc pages
Update "Writing a CLMS thesis on the Grammar Matrix”