User:Popcorndude/Recursive Transfer

From Apertium
< User:Popcorndude
Revision as of 23:53, 18 March 2019 by Popcorndude (talk | contribs) (Begin proposal draft)
Jump to navigation Jump to search

Google Summer of Code 2019 proposal draft

Contact

Name: Daniel Swanson

Email: awesomeevildudes@gmail.com

IRC: popcorndude

GitHub: https://github.com/mr-martian

Timezone: UTC-5

Background

I am a sophomore at Swarthmore College studying math and linguistics. Last year I took a class in computational linguistics using Apertium and this year I am a course assistant for that class. Last summer I worked on a personal translation project (code here) which involved a lot of structural transfer and writing a recursive descent parser.

I have a lot of experience with Python and a basic knowledge of C++.

Coding Challenge

All my code is on GitHub at https://github.com/mr-martian/GSoC19-recursive

3/4/19

So far I have reimplemented the Python script from the prototype and added support for attribute categories and parameterized nodes.

Example:

gender = m f;
#noun $gender -> #(n.$gender);
#adj $gender -> #(adj.$gender);
NP $gender -> noun adj { 2 1 } ;

The defines a category "gender" consisting of <m> and <f>. The lexical categories "noun" and "adj", matching things of the form "word<n><C>" and "word<adj><C>", respectively, where C is <m> or <f>. The last line defines a non-terminal node "NP" which matches a noun followed by an adjective of the same gender, so "carro<n><m>/car<n> rojo<adj><m>/red<adj>" would become "rojo<adj><m>/red<adj> carro<n><m>/car<n>" but "carro<n><m>/car<n> roja<adj><f>" would not be matched.

3/12/19

I rewrote a portion of the English->Spanish noun phrase rules in a potential transfer formalism. https://github.com/mr-martian/GSoC19-recursive/blob/master/eng-spa.rtx

Proposal

TODO

Work Plan

TODO

Community Bonding Period and week 1 Read up on GLR parsers and finalize first draft of formalism
weeks 2 and 3 Implement minimal subset of formalism
Prototype Milestone 1
5, 6 --
7 --
8 --
Prototype Milestone 2
9 --
10 --
11 --
Prototype --
12 Makeup
Final Release