DE training data extension to fix grammar parsing bugs
German (DE) — Stanza Error Patterns & Training Data
Silver set: 289 sentences, 13 categories, 183 with corrections Reference treebank: UD_German-GSD (train split, 13,814 sentences)
Error Classes
1. Reflexive sich — Case=Acc instead of Case=Dat (30 sentences)
When a verb has both a reflexive sich and a separate accusative object, sich is the indirect object (Case=Dat, deprel=iobj). Stanza tags it as Case=Acc + deprel=obj regardless of context.
Example: Er bestellte sich einen großen Kaffee und ein Stück Kuchen.
Stanza output:
3 sich sich PRON PRF Case=Acc|Person=3|PronType=Prs|Reflex=Yes 2 obj
6 Kaffee Kaffee NOUN NN Case=Acc|Gender=Masc|Number=Sing 2 objCorrect:
3 sich sich PRON PRF Case=Dat|Person=3|PronType=Prs|Reflex=Yes 2 iobj
6 Kaffee Kaffee NOUN NN Case=Acc|Gender=Masc|Number=Sing 2 objGSD context: GSD has 0 sentences with sich(Acc,obj) co-occurring with another obj on the same head. The treebank avoids this construction entirely, leaving the model with no training signal for dative reflexives.
2. sein + past participle — spurious Degree=Pos, inconsistent ADJ/VERB (22 sentences)
Past participles in sein-constructions are tagged ADJ with Degree=Pos, even for unambiguous sein-perfects of motion verbs where VERB + VerbForm=Part is the only valid analysis.
Example: Der Vogel ist über das Dach geflogen und verschwand schnell.
Stanza output:
3 ist sein AUX VAFIN ... 7 aux:pass
7 geflogen fliegen ADJ ADJD Degree=Pos 0 rootCorrect:
3 ist sein AUX VAFIN ... 7 aux
7 geflogen fliegen VERB VVPP VerbForm=Part 0 rootNote: GSD itself is inconsistent on Zustandspassiv — sein+participle is ADJ+cop ~74% (834 instances) vs VERB+aux ~26% (298 instances). The spurious Degree=Pos is the clearest error regardless of ADJ vs VERB choice.
3. sein-perfect tagged aux:pass instead of aux (22 sentences)
For intransitive motion/change-of-state verbs using sein as perfect auxiliary (fahren, fliegen, wachsen), Stanza assigns deprel=aux:pass + nsubj:pass as if it were a passive construction.
Example: Sie ist mit dem Auto zur Arbeit gefahren wegen des Regens.
Stanza output:
1 Sie sie PRON PPER ... 9 nsubj:pass
2 ist sein AUX VAFIN ... 9 aux:pass
9 gefahren fahren VERB VVPP VerbForm=Part 0 rootCorrect:
1 Sie sie PRON PPER ... 9 nsubj
2 ist sein AUX VAFIN ... 9 aux
9 gefahren fahren VERB VVPP VerbForm=Part 0 root4. Oblique PPs and temporal accusatives mis-attached (45 sentences)
PPs modifying the verb (temporal, locative, causal) get attached as nmod of a nearby noun instead of obl of the verb. Accusative time expressions ("den ganzen Tag") tagged obj instead of obl.
Example: Er arbeitete den ganzen Tag an einem schwierigen Problem.
Stanza output:
5 Tag Tag NOUN NN Case=Acc|Gender=Masc|Number=Sing 2 objCorrect:
5 Tag Tag NOUN NN Case=Acc|Gender=Masc|Number=Sing 2 oblGSD context: GSD has 10 tokens of Tag/Nacht/Morgen/etc. with deprel=obj, but manual inspection shows these are genuine objects ("einen Tag verbringen"). True temporal adverbials are underrepresented.
5. Homograph noun lemmas — pipe-delimited or fabricated (27 sentences)
Stanza emits non-existent lemma Drach for Drachen (kite/dragon), and pipe-delimited ambiguous lemmas like Berg|Bergen for dative plural Bergen.
Example: In den Bergen wanderten sie den ganzen Tag durch schöne Wälder.
Stanza output:
3 Bergen Berg|Bergen NOUN NN Case=Dat|Gender=Masc|Number=Plur 4 oblCorrect:
3 Bergen Berg NOUN NN Case=Dat|Gender=Masc|Number=Plur 4 oblGSD context: GSD contains 0 pipe-delimited multi-lemmas. This is purely a Stanza lemmatizer bug.
6. Weak/participial adjective lemma confused with verb lemma (27 sentences)
geschickt (skillful/dexterous) is lemmatized as schicken (to send). Stanza treats the adverb/adjective as a past participle of the verb.
Example: Ein großer Affe kletterte geschickt auf den höchsten Baum.
Stanza output:
5 geschickt schicken ADJ ADJD Degree=Pos 4 advmodCorrect:
5 geschickt geschickt ADV ADV _ 4 advmod7. Days of the week tagged PROPN instead of NOUN (7 sentences)
Montag, Mittwoch, Donnerstag, etc. systematically tagged PROPN. UD cross-linguistic guidelines treat days of the week as common nouns.
Example: Der Mittwoch war besonders kalt und windig in der Stadt.
Stanza output:
2 Mittwoch Mittwoch PROPN NE Case=Nom|Gender=Masc|Number=Sing 5 nsubjCorrect:
2 Mittwoch Mittwoch NOUN NN Case=Nom|Gender=Masc|Number=Sing 5 nsubj8. Separable-prefix verb lemmas missing prefix (20 sentences)
Separable-prefix verbs (vorbereiten, aufräumen) are lemmatized as the base verb without the prefix (bereiten, räumen). Additionally, inherently reflexive verbs get sich=obj instead of sich=expl:pv.
Example: Er bereitete sich auf die wichtige Prüfung im Juni vor.
Stanza output:
2 bereitete bereiten VERB VVFIN ... 0 root
3 sich sich PRON PRF Case=Acc|... 2 obj
11 vor vor ADP PTKVZ _ 2 compound:prtCorrect:
2 bereitete vorbereiten VERB VVFIN ... 0 root
3 sich sich PRON PRF Case=Acc|... 2 expl:pv
11 vor vor ADP PTKVZ _ 2 compound:prtAdditional training categories (coverage, no specific Stanza bug)
| Category | Sentences | Purpose |
|---|---|---|
| de_noun_gender | 27 | Noun gender assignment (Masc/Fem/Neut) |
| de_gender_diag | 22 | Gender diagnostics (compounds, loanwords) |
| de_nom_inf | 20 | Nominalized infinitives (das Schwimmen, beim Lesen) |
| de_weak_noun | 20 | Weak noun declension (den Assistenten, dem Soldaten) |
Corrections Propagatable to UD_German-GSD
Based on searching the GSD training data (13,814 sentences):
Fix recommended: Days of the week PROPN → NOUN (44 tokens)
GSD has 44 day-of-week tokens, ALL tagged PROPN, 0 as NOUN. The XPOS is NN (common noun) in most cases, contradicting UPOS=PROPN. UD cross-linguistic guidelines treat days of the week as common nouns (they are not unique referents).
Fix recommended: sein + aux:pass on intransitive verbs (~3 tokens)
GSD has 348 tokens with lemma=sein + deprel=aux:pass. Of these, ~345 are legitimate Zustandspassiv. However, ~3 are sein-perfects of intransitive verbs incorrectly labeled aux:pass:
sind eingetroffen(eintreffen = arrive, intransitive motion)ist ... geworden(werden = become, copular)passierencontext (passieren = happen, intransitive)
Not a treebank issue: pipe-delimited lemmas
GSD has 0 pipe-delimited multi-lemmas. The Berg|Bergen pattern is generated by Stanza's lemmatizer, not present in the training data.
Intentional GSD convention: NumType=Card on indefinite article ein
GSD has 4,652 DET tokens of ein/eine/etc. with NumType=Card. This is virtually 100% of indefinite articles — a deliberate design decision, not a bug. Linguistically debatable but internally consistent.
Not a bug: temporal accusatives as obj
GSD's 10 tokens of Tag/Nacht/etc. with deprel=obj are genuine objects ("einen Tag verbringen"), not temporal adverbials. Our silver set provides new examples for the underrepresented temporal adverbial pattern.
Not a bug: Voice=Pass on werden auxiliaries
GSD has 2,965 werden-auxiliary tokens with Voice=Pass. These are all Vorgangspassiv constructions — correct per UD German convention.
Source: stanfordnlp/stanza