[Mova](https://md.mova.elamur.ai/free/en/) · [this page in HTML](https://mova.elamur.ai/free/en/docs/papers/popel-2017-udapi-universal-api-universal-dependencies/)

[home](https://md.mova.elamur.ai/free/en/) / [docs](https://md.mova.elamur.ai/free/en/docs/) / [papers](https://md.mova.elamur.ai/free/en/docs/papers/) / Udapi: Universal API for Universal Dependencies

# Udapi: Universal API for Universal Dependencies

**Authors:** [Martin Popel](https://md.mova.elamur.ai/free/en/docs/papers/authors/martin-popel/), [Zdeněk Žabokrtský](https://md.mova.elamur.ai/free/en/docs/papers/authors/zdenek-zabokrtsku/), Martin Vojtek · **Year:** 2017 · **Venue:** Proceedings of the NoDaLiDa 2017 Workshop on Universal Dependencies (UDW 2017) **Link:** [aclanthology.org/W17-0412](https://aclanthology.org/W17-0412/) (ACL Anthology W17-0412) **License of the paper:** [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) (ACL Anthology) — [creativecommons.org/licenses/by/4.0](https://creativecommons.org/licenses/by/4.0/)

[**36** citations in our library](https://md.mova.elamur.ai/free/en/docs/papers/cited-by/popel-2017-udapi-universal-api-universal-dependencies/) of the 140673 papers whose bibliographies we read[Proceedings of the NoDaLiDa 2017 Workshop on Universal Dependencies (UDW 2017)](https://aclanthology.org/volumes/W17-04/)[licence](https://creativecommons.org/licenses/by/4.0/)

- [Publisher's page](https://aclanthology.org/W17-0412/)
- [PDF](https://aclanthology.org/W17-0412.pdf)

**Authors (3)**

1. Martin Popel
2. Zdeněk Žabokrtský
3. Martin Vojtek

Citations and author metrics from OpenAlex (); authors with the same name are not always told apart.

## Summary

As UD and the CoNLL-U format spread, ad hoc scripts for processing treebanks became a common source of subtle bugs, such as forgetting to renumber nodes after a deletion. Udapi is an open-source framework with an object-oriented API for UD data, implemented in Python (the main version), Perl and Java. Processing is organised as a scenario of sequential blocks over a document–bundle–tree–node hierarchy, usable from code or from the `udapy` command line. It supports visualisation (terminal, HTML, LaTeX), format conversion, querying with arbitrary Python conditions, editing, content validation that goes beyond the official online checks, parsing through UDPipe, and UAS/LAS evaluation. In the authors' benchmark all three implementations were many times faster and far less memory-hungry than the older Treex framework. Blocks from Udapi were used to convert several treebanks to UD v2.

## How Mova uses it

- `coref/src/score.rs` and `coref/src/corefud.rs` — the head of a mention span is computed as in Udapi's `corefud.MoveHead` block: the word whose own head lies outside the span; among several candidates, the highest in the tree, then non-punctuation, then the first. This head is the key for head-based mention matching in the coreference scorer.
- The rule is reimplemented in Rust rather than calling Udapi, so scoring stays self-contained and deterministic.

## Effectiveness in Mova

Not measured separately. The head definition is a small but load-bearing convention: it determines which mentions count as matching in every reported coreference score (for example CoNLL F1 60.31 on GUM test with gold trees, without singletons). Following the shared-task tooling keeps Mova's numbers comparable in method to the CRAC evaluations.

---

👨‍🔬💥

Topics: [Universal Dependencies](https://md.mova.elamur.ai/free/en/docs/papers/topics/universal-dependencies/) · [Treebanks](https://md.mova.elamur.ai/free/en/docs/papers/topics/treebanks/)

## Cite

The paper itself, not this card. BibTeX from the library's record of the work.

```
@inproceedings{popel2017udapi,
  title = {{Udapi: Universal API for Universal Dependencies}},
  author = {Popel, Martin and Žabokrtský, Zdeněk and Vojtek, Martin},
  booktitle = {Proceedings of the NoDaLiDa 2017 Workshop on Universal Dependencies (UDW 2017)},
  year = {2017},
  url = {https://aclanthology.org/W17-0412/}
}
```

- [← previous All Roads Lead to UD: Converting Stanford and Penn Parses to English Universal Dependencies with Multilayer Annotations](https://md.mova.elamur.ai/free/en/docs/papers/peng-2018-all-roads-lead-ud-converting/)
- [next → A Grammar of Late Modern English](https://md.mova.elamur.ai/free/en/docs/papers/poutsma-1904-grammar-late-modern-english/)
- [↑ back to papers](https://md.mova.elamur.ai/free/en/docs/papers/)

## References

8 references, 1 of them with a card of ours. ↗ leads to the work, «find» searches for one we have no id for yet.

1. Eduard Bejček, Eva Hajičová, Jan Hajič, Pavlína Jínová, Václava Kettnerová, Veronika Kolářová, Marie Mikulová, Jiří Mírovský, Anna Nedoluzhko, Jarmila Panevová, Lucie Poláková, Magda Ševčíková, Jan Štěpánek, and Šárka Zikánová. 2013. Prague Dependency Treebank 3.0. LINDAT/CLARIN digital libra… [find](https://scholar.google.com/scholar?q=Eduard+Bejc%CC%8Cek%2C+Eva+Hajic%CC%8Cov%C3%A1%2C+Jan+Hajic%CC%8C%2C+Pavl%C3%ADna+J%C3%ADnov%C3%A1%2C+V%C3%A1clava+Kettnerov%C3%A1%2C+Veronika+Kol%C3%A1r%CC%8Cov%C3%A1%2C+Marie+Mikulov%C3%A1%2C+Jir%CC%8C%C3%AD+M%C3%ADrovsk%C3%BD%2C+Anna+Nedoluzhko%2C+Jarmila+Panevov%C3%A1%2C+Lucie+Pol%C3%A1kov%C3%A1%2C+Magda+%C5%A0evc%CC%8C%C3%ADkov%C3%A1%2C+)
2. Steven Bird, Ewan Klein, and Edward Loper. 2009. Natural Language Processing with Python. O’Reilly Media, Inc., 1st edition. [find](https://scholar.google.com/scholar?q=Steven+Bird%2C+Ewan+Klein%2C+and+Edward+Loper%2E+2009%2E+Natural+Language+Processing+with+Python%2E+O%E2%80%99Reilly+Media%2C+Inc%2E%2C+1st+edition%2E)
3. Ondřej Bojar, Ondřej Dušek, Tom Kocmi, Jindřich Libovický, Michal Novák, Martin Popel, Roman Sudarikov, and Dušan Variš. 2016. CzEng 1.6: Enlarged Czech-English Parallel Corpus with Processing Tools Dockered. In Petr Sojka, Aleš Horák, Ivan Kopeček, and Karel Pala, editors, Text, Speech, and Dia… [find](https://scholar.google.com/scholar?q=Ondr%CC%8Cej+Bojar%2C+Ondr%CC%8Cej+Du%C5%A1ek%2C+Tom+Kocmi%2C+Jindr%CC%8Cich+Libovick%C3%BD%2C+Michal+Nov%C3%A1k%2C+Martin+Popel%2C+Roman+Sudarikov%2C+and+Du%C5%A1an+Vari%C5%A1%2E+2016%2E+CzEng+1%2E6%3A+Enlarged+Czech%2DEnglish+Parallel+Corpus+with+Processing+Tool)
4. Hamish Cunningham, Diana Maynard, Kalina Bontcheva, Valentin Tablan, Niraj Aswani, Ian Roberts, Genevieve Gorrell, Adam Funk, Angus Roberts, Danica Damljanovic, Thomas Heitz, Mark A. Greenwood, Horacio Saggion, Johann Petrak, Yaoyong Li, and Wim Peters. 2011. Text Processing with GATE (Version 6). [find](https://scholar.google.com/scholar?q=Hamish+Cunningham%2C+Diana+Maynard%2C+Kalina+Bontcheva%2C+Valentin+Tablan%2C+Niraj+Aswani%2C+Ian+Roberts%2C+Genevieve+Gorrell%2C+Adam+Funk%2C+Angus+Roberts%2C+Danica+Damljanovic%2C+Thomas+Heitz%2C+Mark+A%2E+Greenwood%2C+Horaci)
5. Joakim Nivre and Jens Nilsson. 2005. Pseudo-projective dependency parsing. In Proceedings of the 43rd Annual Meeting on Association for Computational Linguistics, ACL ’05, pages 99–106, Stroudsburg, PA, USA. Association for Computational Linguistics. [find](https://scholar.google.com/scholar?q=Joakim+Nivre+and+Jens+Nilsson%2E+2005%2E+Pseudo%2Dprojective+dependency+parsing%2E+In+Proceedings+of+the+43rd+Annual+Meeting+on+Association+for+Computational+Linguistics%2C+ACL+%E2%80%9905%2C+pages+99%E2%80%93106%2C+Stroudsburg%2C+P)
6. Martin Popel and Zdeněk Žabokrtský. 2010. TectoMT: modular NLP framework. Advances in Natural Language Processing, pages 293–304. [find](https://scholar.google.com/scholar?q=Martin+Popel+and+Zdene%CC%8Ck+%C5%BDabokrtsk%C3%BD%2E+2010%2E+TectoMT%3A+modular+NLP+framework%2E+Advances+in+Natural+Language+Processing%2C+pages+293%E2%80%93304%2E)
7. Pontus Stenetorp, Sampo Pyysalo, Goran Topić, Tomoko Ohta, Sophia Ananiadou, and Jun’ichi Tsujii. 2012. brat: a web-based tool for nlp-assisted text annotation. In Proceedings of the Demonstrations at the 13th Conference of the European Chapter of the Association for Computational Linguistics, page… [find](https://scholar.google.com/scholar?q=Pontus+Stenetorp%2C+Sampo+Pyysalo%2C+Goran+Topic%CC%81%2C+Tomoko+Ohta%2C+Sophia+Ananiadou%2C+and+Jun%E2%80%99ichi+Tsujii%2E+2012%2E+brat%3A+a+web%2Dbased+tool+for+nlp%2Dassisted+text+annotation%2E+In+Proceedings+of+the+Demonstrations+a)
8. Milan Straka, Jan Hajič, and Jana Straková. 2016. UDPipe: trainable pipeline for processing CoNLL-U files performing tokenization, morphological analysis, pos tagging and parsing. In Proceedings of the Tenth International Conference on Language Resources and Evaluation (LREC’16), Paris, France, May… [find](https://scholar.google.com/scholar?q=Milan+Straka%2C+Jan+Hajic%CC%8C%2C+and+Jana+Strakov%C3%A1%2E+2016%2E+UDPipe%3A+trainable+pipeline+for+processing+CoNLL%2DU+files+performing+tokenization%2C+morphological+analysis%2C+pos+tagging+and+parsing%2E+In+Proceedings+of+t) [our card](https://md.mova.elamur.ai/free/en/docs/papers/ud-2016-straka-udpipe-trainable-pipeline-processing-conll/)
