A single model that parses Universal Dependencies across 75 languages. Given a sentence, jointly predicts part-of-speech tags, morphology tags, lemmas, and dependency trees.
[ ] Modify the multilingual UD dataset reader to handle multiword ids.
[ ] Add lemmatizer edit script code.
[ ] Modify the BERT token embedder to be able to return multiple scalar mixes, one per task (or alternatively all the embeddings). Add optional args for internal BERT dropout.
[ ] Add generic dynamic masking functions.
[ ] Add the custom sequence tagger and biaffine dependency parser that handles a multi-task setup.
[ ] Add the UDify main model, wrapping the BERT, dynamic masking, scalar mix, sequence tagger, and dependency parser code. Provide custom metrics for TensorBoard.
[ ] Add utility code to optionally cache the vocab and grab UD treebank names from files.
[ ] Add helper script to evaluate conllu predictions and output them to json.
[ ] Add tests to verify the new UDify model and modules.
It would be useful to integrate the UDify model directly into AllenNLP as a PR, as the code merely extends the library to handle a few extra features. Since the release of the UDify code, AllenNLP also has added a multilingual UD dataset reader and a multilingual dependency parser with a corresponding model, which should make things easier.
Here is a list of things that need to be done: