Stanza: A Python Natural Language Processing Toolkit for Many Human Languages
What it is about
Stanza is a Python toolkit whose pipeline is neural from raw text to dependencies, for 66 languages. It has a combined tokenizer and sentence splitter, multi-word-token expansion (a frequency lexicon with a sequence-to-sequence model), a POS and feature tagger that conditions XPOS and features on UPOS, a lemmatizer (dictionary plus neural), and a Bi-LSTM deep biaffine parser. The parser is extended with two predicted features, the linear order of two words and their typical distance. Models are trained on UD v2.5 and evaluated on 112 datasets; the paper reports the macro average over 100 treebanks and compares with UDPipe and spaCy on five major languages, where Stanza is best on most scores. It is slower than spaCy and is competitive with toolkits of similar accuracy, especially on GPU.
Ideas
- I1. Order and distance features for
en: predict, for each candidate arc, whether the head precedes the dependent and the typical distance between them, and add these as features inen/src/parse.rs; measure UAS and LAS on EWT test against the current 84.27 and 80.24. - I2. Lexicon-first multi-word expansion: check how
en/src/tok.rshandles contractions and clitics (don't, can't, gonna) against EWT test tokens, and count the forms the lexicon misses; the paper uses a lexicon with a model as fallback. - I3. Macro report: add a macro average over all mova dialect banks to
en ud-eval, as the paper reports, so that a single gain on EWT cannot hide a loss elsewhere; test sets only where licence allows.
For Mova
The code is en/src/tok.rs, en/src/parse.rs and en/src/ud.rs. The chapters are 07. Punctuation, capital letters, abbreviations and numbers (tokenization) and 19-lexicon-mwe-register.md (multi-word expressions). The paper's lesson for Mova is the reporting: a macro average over many treebanks and a per-stage table, not one headline number.
Cite
@inproceedings{qi2020stanza,
title = {{Stanza: A Python Natural Language Processing Toolkit for Many Human Languages}},
author = {Qi, Peng and Zhang, Yuhao and Zhang, Yuhui and Bolton, Jason and Manning, Christopher D.},
booktitle = {Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics: System Demonstrations},
year = {2020},
doi = {10.18653/v1/2020.acl-demos.14},
eprint = {2003.07082},
archivePrefix = {arXiv},
url = {https://doi.org/10.18653/v1/2020.acl-demos.14}
}References
- Alan Akbik, Tanja Bergmann, Duncan Blythe, Kashif Rasul, Stefan Schweter, and Roland Vollgraf. 2019. FLAIR: An easy-to-use framework for state-of-the-art NLP. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics (Demonstrations). Associ… find
- Alan Akbik, Duncan Blythe, and Roland Vollgraf. 2018. Contextual string embeddings for sequence labeling. In Proceedings of the 27th International Conference on Computational Linguistics. Association for Computational Linguistics. find
- Loïc Barrault, Ondřej Bojar, Marta R. Costa-jussà, Christian Federmann, Mark Fishel, Yvette Graham, Barry Haddow, Matthias Huck, Philipp Koehn, Shervin Malmasi, Christof Monz, Mathias Müller, Santanu Pal, Matt Post, and Marcos Zampieri. 2019. Findings of the 2019 conference on machine translation (… find
- Darina Benikova, Chris Biemann, and Marc Reznicek. 2014. NoSta-D named entity annotation for German: Guidelines and dataset. In Proceedings of the Ninth International Conference on Language Resources and Evaluation (LREC’14). find
- Piotr Bojanowski, Edouard Grave, Armand Joulin, and Tomas Mikolov. 2017. Enriching word vectors with subword information. Transactions of the Association for Computational Linguistics, 5. find
- Ciprian Chelba, Tomas Mikolov, Mike Schuster, Qi Ge, Thorsten Brants, Phillipp Koehn, and Tony Robinson. 2013. One billion word benchmark for measuring progress in statistical language modeling. Technical report, Google. find
- Timothy Dozat and Christopher D. Manning. 2017. Deep biaffine attention for neural dependency parsing. In International Conference on Learning Representations (ICLR). find our card
- Christopher D. Manning, Mihai Surdeanu, John Bauer, Jenny Finkel, Steven J. Bethard, and David Mc-Closky. 2014. The Stanford CoreNLP natural language processing toolkit. In Association for Computational Linguistics (ACL) System Demonstrations. find
- Behrang Mohit, Nathan Schneider, Rishav Bhowmick, Kemal Oflazer, and Noah A Smith. 2012. Recall-oriented learning of named entities in Arabic Wikipedia. In Proceedings of the 13th Conference of the European Chapter of the Association for Computational Linguistics. Association for Computational Lingu… find
- Joakim Nivre, Marie-Catherine de Marneffe, Filip Ginter, Jan Hajič, Christopher D. Manning, Sampo Pyysalo, Sebastian Schuster, Francis Tyers, and Daniel Zeman. 2020. Universal dependencies v2: An evergrowing multilingual treebank collection. In Proceedings of the Twelfth International Conference on… find
- Joel Nothman, Nicky Ringland, Will Radford, Tara Murphy, and James R Curran. 2013. Learning multilingual named entity recognition from Wikipedia. Artificial Intelligence, 194:151–175. find
- Peng Qi, Timothy Dozat, Yuhao Zhang, and Christopher D. Manning. 2018. Universal dependency parsing from scratch. In Proceedings of the CoNLL 2018 Shared Task: Multilingual Parsing from Raw Text to Universal Dependencies. Association for Computational Linguistics. find
- Milan Straka. 2018. UDPipe 2.0 prototype at CoNLL 2018 UD shared task. In Proceedings of the CoNLL 2018 Shared Task: Multilingual Parsing from Raw Text to Universal Dependencies. Association for Computational Linguistics. find our card
- Mariona Taulé, M. Antònia Martí, and Marta Recasens. 2008. AnCora: Multilevel annotated corpora for Catalan and Spanish. In Proceedings of the Sixth International Conference on Language Resources and Evaluation (LREC’08). European Language Resources Association (ELRA). find
- Erik F. Tjong Kim Sang. 2002. Introduction to the CoNLL-2002 shared task: Language-independent named entity recognition. In COLING-02: The 6th Conference on Natural Language Learning 2002 (CoNLL-2002). find
- Erik F. Tjong Kim Sang and Fien De Meulder. 2003. Introduction to the CoNLL-2003 shared task: Language-independent named entity recognition. In Proceedings of the Seventh Conference on Natural Language Learning at HLT-NAACL 2003. find
- Ralph Weischedel, Martha Palmer, Mitchell Marcus, Eduard Hovy, Sameer Pradhan, Lance Ramshaw, Nianwen Xue, Ann Taylor, Jeff Kaufman, Michelle Franchini, et al. 2013. OntoNotes release 5.0. Linguistic Data Consortium. find
- Daniel Zeman, Jan Hajič, Martin Popel, Martin Potthast, Milan Straka, Filip Ginter, Joakim Nivre, and Slav Petrov. 2018. find
- CoNLL 2018 shared task: Multilingual parsing from raw text to universal dependencies. In Proceedings of the CoNLL 2018 Shared Task: Multilingual Parsing from Raw Text to Universal Dependencies. Association for Computational Linguistics. find our card
- Daniel Zeman, Joakim Nivre, Mitchell Abrams, Noëmi Aepli, Željko Agić, Lars Ahrenberg, Gabrielė Alek-sandravičiūtė, Lene Antonsen, Katya Aplonova, Maria Jesus Aranzabe, Gashaw Arutie, Masayuki Asahara, Luma Ateyah, Mohammed Attia, Aitziber Atutxa, Liesbeth Augustinus, Elena Badmaeva, Miguel Bal… find
This page in Markdown → https://md.mova.elamur.ai/free/en/docs/papers/ud-2020-qi-stanza-python-natural-language-processing/