Skip to content

Russian Noun Case Agreement in AI-Generated Text

9 min read · updated August 11, 2026

Мы работаем в новый офисе is the kind of sentence generated Russian produces and a reviewer flags without being able to say exactly what rule it broke. The noun is correctly in the prepositional case. The adjective in front of it is in the nominative. The two must match, and they do not.

The sentence that is wrong

The correct form is Мы работаем в новом офисе — we work in the new office. The preposition в with a location meaning governs the prepositional case, so офис becomes офисе and новый must become новом. What generation produced was a correctly inflected noun with an uninflected modifier.

The pattern is consistent enough to be diagnostic. The noun is usually right, because the preposition sits immediately before the phrase and the noun-plus-ending is a frequent bigram in training data. The adjective is wrong because it is the dictionary form, and the dictionary form is nominative. Generated Russian tends to be right about the head and wrong about what agrees with it, and the further the modifier is from the governing word, the more often it happens.

One phrase through six cases

Here is новый дом (a new house, masculine inanimate) in all six cases, singular and plural, with what governs each.

case            singular          plural            typical trigger
------------    --------------    --------------    -------------------------
nominative      новый дом         новые дома        subject
именительный

genitive        нового дома       новых домов       possession; у, из, от, без;
родительный                                         counts of 5+; negation

dative          новому дому       новым домам       indirect object; к, по
дательный

accusative      новый дом         новые дома        direct object; в, на
винительный                                         (motion toward)

instrumental    новым домом       новыми домами     means; с, над, под, за
творительный

prepositional   (о) новом доме    (о) новых домах   в, на (location); о, при
предложный

Two extra rules make the accusative harder than the table suggests. For inanimate masculine nouns it is identical to the nominative, which is why Я вижу новый дом looks uninflected and is correct. For animate masculine nouns it is identical to the genitive: Я вижу нового студента, not новый студент. Animacy is a lexical property of the noun, so the same syntactic slot takes different endings depending on whether the referent is alive.

And numerals govern case in their own way, which interacts with the plural categories:

1    дом        nominative singular       один дом
2–4  дома       GENITIVE SINGULAR         два дома, три дома, четыре дома
5–20 домов      genitive plural           пять домов, двадцать домов
21   дом        back to nom. singular     двадцать один дом
22   дома       genitive singular         двадцать два дома
25   домов      genitive plural           двадцать пять домов
11–14 домов     genitive plural           одиннадцать домов
                                          — despite ending in 1–4

Those are the same boundaries CLDR encodes as one, few and many for Russian, which is why a count-plus-noun string is a plural-rules problem and not a generation problem.

What agreement actually requires

An adjective in Russian agrees with its noun in three dimensions at once: gender, number and case. Twelve inflected forms in the singular alone, before the animacy variants. Anything in the noun phrase that is not the noun has to move with it — adjectives, participles, possessive and demonstrative pronouns, and ordinal numerals.

Wrong                          Right                        What broke
---------------------------    -------------------------    -----------------
в новый офисе                  в новом офисе                adj. nominative,
                                                             noun prepositional
с новый коллегой               с новым коллегой             adj. nominative,
                                                             noun instrumental
для нашего новый клиента       для нашего нового клиента    one modifier of two
                                                             left uninflected
Я вижу новый студента          Я вижу нового студента       animacy ignored
                                                             in the accusative
эта новый компания             эта новая компания           gender disagreement

The fourth line is the one to notice. When two modifiers precede a noun, generated text frequently inflects the first and leaves the second, which suggests the agreement is being carried a short distance rather than applied to the phrase. Long noun phrases, coordinated nouns and any construction where the governing preposition is separated from its noun are where the rate goes up.

Templates are the main source

Before blaming the model, check whether the sentence was assembled by concatenation. A localised string with a slot in it fixes the case of the slot at authoring time, and whatever is interpolated arrives in the nominative because that is the form things are stored in.

Template            Interpolated       Result             Correct
-----------------   ---------------    ---------------    ------------------
Удалить {name}?     Иван               Удалить Иван?      Удалить Ивана?
                                                          (accusative)

Письмо от {name}    Анна               Письмо от Анна     Письмо от Анны
                                                          (genitive)

Позвонить {name}    Пётр               Позвонить Пётр     Позвонить Петру
                                                          (dative)

No amount of prompt engineering fixes this, because the model never sees the sentence: the string came out of a resource file and the name came out of a database. There are two real answers. Either inflect the name, which requires morphological data and is genuinely hard for surnames and foreign names, or rewrite the template so no case is required. The second is what shipped software does: Удалить: Иван Петров with a colon, or Отправитель: Анна, puts the name in a nominative-safe position and the sentence is correct for every value.

The nominative-safe rewrite is a translation task, not an engineering one. Ask the translator for a phrasing that works with an uninflected proper noun rather than shipping a template and hoping. A translator told about the constraint will produce one; a translator handed an English string will produce a natural Russian sentence with a case-marked slot in it.

The fix

  1. Classify the failing string first. If it came from a resource file with a placeholder, it is a template problem and no model change will help. If it came from free generation, continue.
  2. For templates, rewrite to nominative-safe forms — colon constructions, labels, or a phrasing where the variable is the subject. Do this before anything else; it is the largest and cheapest share of the errors.
  3. For counts, move to ICU plural rules with the Russian one, few, many and other forms rather than asking a model for the right noun ending. The library is right for 11 and 21; a model is right for those by chance.
  4. For genuine generation, put the required case in the prompt explicitly and give one worked example per case. A model asked for “the prepositional form” performs noticeably better than one asked to write a sentence and get the grammar right implicitly.
  5. Validate automatically. A morphological analyser — pymorphy, mystem or a UD-trained parser — tags every token with case, gender and number. Extract each noun phrase, compare the tags of the modifiers against the head, and flag any mismatch. This catches the exact error described here without a native speaker in the loop.
  6. Sample and review the flagged output with a native speaker before trusting the validator’s precision. Analysers are ambiguous on homographic forms, and a validator that cries wolf gets ignored.
  7. Keep the generated Russian in a review queue rather than shipping it to users directly, at least until the flag rate is stable. Agreement errors do not degrade meaning; they degrade trust, and a reader who sees one stops believing the rest of the page.