Stanza: A Python Natural Language Processing Toolkit for Many Human Languages
About
We introduce Stanza, an open-source Python natural language processing toolkit supporting 66 human languages. Compared to existing widely used toolkits, Stanza features a language-agnostic fully neural pipeline for text analysis, including tokenization, multi-word token expansion, lemmatization, part-of-speech and morphological feature tagging, dependency parsing, and named entity recognition. We have trained Stanza on a total of 112 datasets, including the Universal Dependencies treebanks and other multilingual corpora, and show that the same neural architecture generalizes well and achieves competitive performance on all languages tested. Additionally, Stanza includes a native Python interface to the widely used Java Stanford CoreNLP software, which further extends its functionality to cover other tasks such as coreference resolution and relation extraction. Source code, documentation, and pretrained models for 66 languages are available at https://stanfordnlp.github.io/stanza.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Named Entity Recognition | CoNLL English 2003 (test) | F1 Score92.1 | 135 | |
| Named Entity Recognition | CoNLL Spanish NER 2002 (test) | F1 Score88.1 | 98 | |
| Named Entity Recognition | CoNLL Dutch 2002 (test) | F1 Score89.2 | 87 | |
| Named Entity Recognition | CoNLL German 2003 (test) | F1 Score81.9 | 78 | |
| Part-of-Speech Tagging | UD (Universal Dependencies) Indonesian (test) | Accuracy93.7 | 17 | |
| POS Tagging | Turkish (TR) (test) | Accuracy94.2 | 14 | |
| Part-of-Speech Tagging | DaNE (test) | Accuracy97.62 | 14 | |
| Model Size Evaluation | Multilingual Language Packages | Model Size (MB)225.2 | 13 | |
| Dependency Parsing | DaNE (test) | UAS87.34 | 12 | |
| POS Tagging | Universal Dependency Afrikaans (test) | Accuracy97.6 | 11 |