Skip to content

Handlers and subtypes

46 handlers, 106 subtypes across 4 categories. Source of truth: src/synterr/languages/russian/errors/.

Categories: MORPH, OTHER, PUNCT, SPELL.

Handler Subtypes Category Length-changing
adj_case adj_case MORPH no
adj_double_comparative adj_double_comparative MORPH yes
adj_form adj_short_full MORPH no
adj_gender adj_gender MORPH no
adj_number adj_number MORPH no
adj_possessive_form adj_possessive_form MORPH no
adj_short_en_enen adj_short_en_enen MORPH no
agr_mn_apposition ag_mn_apposition MORPH no
agr_mn_compound_term ag_mn_compound_term MORPH no
agr_mn_numeral_adj ag_mn_special MORPH no
agr_sv_approximate agr_sv_approximate MORPH no
agr_sv_collective agr_sv_collective MORPH no
agr_sv_compound agr_sv_compound MORPH no
agr_sv_coordinated agr_sv_coordinated MORPH no
agr_sv_counting agr_sv_counting MORPH no
neg_genitive neg_genitive MORPH no
noun_case noun_case_governed, noun_case_subject, noun_case_other MORPH no
noun_case_gen_partitive noun_case_gen_partitive MORPH no
noun_case_instr_pl noun_case_instr_pl MORPH no
noun_case_prep noun_case_prep_e_u MORPH no
noun_number noun_number MORPH no
noun_number_gen_pl noun_number_gen_pl MORPH no
numeral_declension numeral_poltora, numeral_declension MORPH no
verb_iterative_suffix verb_iterative_suffix MORPH no
verb_person_number verb_person_number MORPH no
verb_tense verb_tense MORPH no
collocation collocation OTHER no
conjunction conjunction OTHER no
paronym paronym OTHER no
pleonasm pleonasm OTHER yes
preposition preposition OTHER no
pronoun_n_form pronoun_n_form OTHER no
pronoun_sebya pronoun_sebya OTHER no
pronoun_svoy pronoun_svoy OTHER no
word_insertion word_insertion OTHER yes
word_omission word_omission OTHER yes
comma_delete comma_subordinate, comma_compound, comma_parenthetical, comma_isolation, comma_homogeneous, comma_interjection, comma_response, comma_repeated, comma_asyndetic, comma_vocative PUNCT yes
comma_insert comma_before_kak, comma_in_set_phrase, comma_between_conjunctions, comma_in_indivisible, comma_clause_junction, comma_homogeneous_conj, comma_subj_pred, comma_pseudo_parenthetical, comma_after_odnako, comma_compound_conj_split, comma_x_ne_x PUNCT yes
comma_pair_delete pair_participle, pair_relative, pair_gerund, pair_parenthetical, pair_apposition PUNCT yes
dash_delete dash_subj_pred, dash_asyndetic, dash_apposition, dash_ellipsis, dash_other PUNCT yes
dash_to_comma dash_to_comma_apposition PUNCT no
adverb_spelling adverb_solid_to_separate, adverb_separate_to_solid, adverb_hyphen_to_separate, adverb_separate_to_hyphen SPELL yes
compound_spelling num_dash, pol_spelling, compound_adj SPELL no
function_spelling ne_attachment, ne_detachment, conjunction_split, conjunction_merge, taki_hyphen, neg_pronoun_ne_ni SPELL yes
orthographic_spelling pre_pri, y_i_after_prefix, suffix_enk_onk, suffix_insk_ensk, suffix_its_ets, suffix_ek_ik, participle_suffix, vowel_after_ts, vowel_after_sibilant, nn_suffix, root_vowel_after_sibilant, adj_ending_vowel SPELL no
spelling vowel_reduction, devoicing, prefix_voicing, tsa_confusion, cluster, double_consonant, keyboard, soft_sign, root_alternating, root_unchecked SPELL no

MORPH

adj_case (1 subtype)

Change adjective/participle case.

  • adj_case:adj_case

adj_double_comparative (1 subtype)

Insert a pleonastic «более» before a synthetic comparative.

  • adj_double_comparative:adj_double_comparative

adj_form (1 subtype)

Inflect a predicative short adjective to its full form.

  • adj_form:adj_short_full

adj_gender (1 subtype)

Change adjective/participle gender.

  • adj_gender:adj_gender

adj_number (1 subtype)

Change adjective/participle number.

  • adj_number:adj_number

adj_possessive_form (1 subtype)

Corrupt possessive-adjective oblique declension (Rozental §162):

  • adj_possessive_form:adj_possessive_form

adj_short_en_enen (1 subtype)

Corrupt the masc short-form -ен/-енен variant (Rozental §160):

  • adj_short_en_enen:adj_short_en_enen

agr_mn_apposition (1 subtype)

Corrupt a declinable toponym apposition to its citation (Nom) form.

  • agr_mn_apposition:ag_mn_apposition

agr_mn_compound_term (1 subtype)

Freeze the second half of a hyphenated compound noun to Nom.

  • agr_mn_compound_term:ag_mn_compound_term

agr_mn_numeral_adj (1 subtype)

Swap the two-way adjective agreement in два/три/четыре + ADJ + NOUN.

  • agr_mn_numeral_adj:ag_mn_special

agr_sv_approximate (1 subtype)

Corrupt subject-verb agreement with an approximate-quantity subject.

  • agr_sv_approximate:agr_sv_approximate

agr_sv_collective (1 subtype)

Corrupt subject-verb number agreement with a bare collective subject.

  • agr_sv_collective:agr_sv_collective

agr_sv_compound (1 subtype)

Corrupt subject-verb agreement for three §186-189 special-subject

  • agr_sv_compound:agr_sv_compound

agr_sv_coordinated (1 subtype)

Corrupt subject-verb agreement with coordinated preposed subjects.

  • agr_sv_coordinated:agr_sv_coordinated

agr_sv_counting (1 subtype)

Corrupt subject-verb agreement with a counting-phrase subject.

  • agr_sv_counting:agr_sv_counting

neg_genitive (1 subtype)

Flip Gen->Acc inside strong-genitive negation frames (Rozental §201).

  • neg_genitive:neg_genitive

noun_case (3 subtypes)

Change noun case to create morphological error.

  • noun_case:noun_case_governed
  • noun_case:noun_case_subject
  • noun_case:noun_case_other

noun_case_gen_partitive (1 subtype)

Corrupt the standard genitive -а/-я into the colloquial partitive -у/-ю.

  • noun_case_gen_partitive:noun_case_gen_partitive

noun_case_instr_pl (1 subtype)

Corrupt the instrumental-plural -ями/-(ь)ми variant (Rozental §155).

  • noun_case_instr_pl:noun_case_instr_pl

noun_case_prep (1 subtype)

Replace the second locative (-у) with the standard locative (-е).

  • noun_case_prep:noun_case_prep_e_u

noun_number (1 subtype)

Change noun number (singular ↔ plural).

  • noun_number:noun_number

noun_number_gen_pl (1 subtype)

Corrupt a genitive-plural noun to its frequent nonstandard variant.

  • noun_number_gen_pl:noun_number_gen_pl

numeral_declension (2 subtypes)

Corrupt numeral declension.

  • numeral_declension:numeral_poltora
  • numeral_declension:numeral_declension

verb_iterative_suffix (1 subtype)

Corrupt the о/а alternation in iterative-suffix imperfective verbs

  • verb_iterative_suffix:verb_iterative_suffix

verb_person_number (1 subtype)

Change verb person or number.

  • verb_person_number:verb_person_number

verb_tense (1 subtype)

Change verb tense.

  • verb_tense:verb_tense

OTHER

collocation (1 subtype)

Replace correct verb/adjective with wrong collocate.

  • collocation:collocation

conjunction (1 subtype)

Replace conjunction with an attested confusion from the same group.

  • conjunction:conjunction

paronym (1 subtype)

Replace word from paronyms list to one from its paronyms

  • paronym:paronym

pleonasm (1 subtype)

Insert redundant words to create pleonasm errors.

  • pleonasm:pleonasm

preposition (1 subtype)

Replace preposition with an attested confusion from the same group.

  • preposition:preposition

pronoun_n_form (1 subtype)

3rd-person pronoun н-augment confusion after prepositions (§169-170,

  • pronoun_n_form:pronoun_n_form

pronoun_sebya (1 subtype)

Reflexive себя/себе/собой -> personal pronoun confusion (§168, RLC Ref).

  • pronoun_sebya:pronoun_sebya

pronoun_svoy (1 subtype)

свой -> personal possessive confusion (Rozental §168.2, RLC Ref).

  • pronoun_svoy:pronoun_svoy

word_insertion (1 subtype)

Insert a filler word (discourse marker, particle) into the sentence.

  • word_insertion:word_insertion

word_omission (1 subtype)

Delete a function word (preposition or conjunction).

  • word_omission:word_omission

PUNCT

comma_delete (10 subtypes)

Delete a comma with L2 subtype classification.

  • comma_delete:comma_subordinate
  • comma_delete:comma_compound
  • comma_delete:comma_parenthetical
  • comma_delete:comma_isolation
  • comma_delete:comma_homogeneous
  • comma_delete:comma_interjection
  • comma_delete:comma_response
  • comma_delete:comma_repeated
  • comma_delete:comma_asyndetic
  • comma_delete:comma_vocative

comma_insert (11 subtypes)

Insert spurious commas — creates extra-comma errors.

  • comma_insert:comma_before_kak
  • comma_insert:comma_in_set_phrase
  • comma_insert:comma_between_conjunctions
  • comma_insert:comma_in_indivisible
  • comma_insert:comma_clause_junction
  • comma_insert:comma_homogeneous_conj
  • comma_insert:comma_subj_pred
  • comma_insert:comma_pseudo_parenthetical
  • comma_insert:comma_after_odnako
  • comma_insert:comma_compound_conj_split
  • comma_insert:comma_x_ne_x

comma_pair_delete (5 subtypes)

Delete both commas of a paired construction (обособление).

  • comma_pair_delete:pair_participle
  • comma_pair_delete:pair_relative
  • comma_pair_delete:pair_gerund
  • comma_pair_delete:pair_parenthetical
  • comma_pair_delete:pair_apposition

dash_delete (5 subtypes)

Delete a dash (em/en) with L2 subtype classification.

  • dash_delete:dash_subj_pred
  • dash_delete:dash_asyndetic
  • dash_delete:dash_apposition
  • dash_delete:dash_ellipsis
  • dash_delete:dash_other

dash_to_comma (1 subtype)

Replace dash with comma — Rozental §93 apposition L1 error pattern.

  • dash_to_comma:dash_to_comma_apposition

SPELL

adverb_spelling (4 subtypes)

Corrupt adverb spelling: solid↔separate, hyphen↔separate.

  • adverb_spelling:adverb_solid_to_separate
  • adverb_spelling:adverb_separate_to_solid
  • adverb_spelling:adverb_hyphen_to_separate
  • adverb_spelling:adverb_separate_to_hyphen

compound_spelling (3 subtypes)

Corrupt compound word spelling: dashes, пол-, compound adjectives.

  • compound_spelling:num_dash
  • compound_spelling:pol_spelling
  • compound_spelling:compound_adj

function_spelling (6 subtypes)

Corrupt function word spelling: не/ни, conjunctions, particles.

  • function_spelling:ne_attachment
  • function_spelling:ne_detachment
  • function_spelling:conjunction_split
  • function_spelling:conjunction_merge
  • function_spelling:taki_hyphen
  • function_spelling:neg_pronoun_ne_ni

orthographic_spelling (12 subtypes)

Morpheme-level spelling errors: suffixes, prefixes, post-sibilant vowels.

  • orthographic_spelling:pre_pri
  • orthographic_spelling:y_i_after_prefix
  • orthographic_spelling:suffix_enk_onk
  • orthographic_spelling:suffix_insk_ensk
  • orthographic_spelling:suffix_its_ets
  • orthographic_spelling:suffix_ek_ik
  • orthographic_spelling:participle_suffix
  • orthographic_spelling:vowel_after_ts
  • orthographic_spelling:vowel_after_sibilant
  • orthographic_spelling:nn_suffix
  • orthographic_spelling:root_vowel_after_sibilant
  • orthographic_spelling:adj_ending_vowel

spelling (10 subtypes)

Russian spelling error handler using phonetic rules.

  • spelling:vowel_reduction
  • spelling:devoicing
  • spelling:prefix_voicing
  • spelling:tsa_confusion
  • spelling:cluster
  • spelling:double_consonant
  • spelling:keyboard
  • spelling:soft_sign
  • spelling:root_alternating
  • spelling:root_unchecked