feat(ru): drop abbreviations from the Russian noun list #6

Merged
developer merged 1 commits from feature/drop-abbreviations into master 2026-06-22 12:30:17 +00:00
Owner

Fixes the ОГВЗ report: abbreviations leaked into ru_scrabble / ru_erudit.

Root cause. OpenCorpora tags ОГВЗ NOUN, Abbr and inflects it through a full case paradigm with no Fixd, so the Abbr+Fixd seed filter (built for indeclinable НДС/КПД) never caught it; and the РАН «(сокр.)» words (вуз, нэп, колхоз, …) were kept on purpose by the previous policy.

Fix (generator). A final pass in ru_stage2.py drops a word when the orthographic note marks it (сокр.) (is_abbrev_note) or when every OpenCorpora noun reading carries Abbr (oc_abbr_only — the generalisation of oc_abbr_fixd_only past Fixd, catching the declinable огвз/заз). Homographs that also have a plain-noun reading survive (ваза «ВАЗ», рис).

Policy. Abbreviations are no longer Scrabble words; lexicalised exceptions are rescued in manual_confirm.txt (колхоз, совхоз, рация, спецназ, эсминец, линкор, дзот, дот, прораб, токамак, тэн, морпех, старпом, юннат, твэл, научпоп, каско + the 10 borderline + под), and the bound prefix гос is vetoed in manual_reject.txt.

Result. 108 words removed from ru_scrabble / ru_erudit (en_sowpods unchanged); diff is removal-only. A full rebuild with libmorph reproduces the committed list minus exactly these 108 (added=0) — the earlier rebuild drift was a missing-libmorph artefact, now documented as a release prerequisite.

For a v1.3.0 release.

Fixes the ОГВЗ report: abbreviations leaked into ru_scrabble / ru_erudit. **Root cause.** OpenCorpora tags ОГВЗ `NOUN, Abbr` and inflects it through a full case paradigm with no `Fixd`, so the `Abbr`+`Fixd` seed filter (built for indeclinable НДС/КПД) never caught it; and the РАН «(сокр.)» words (вуз, нэп, колхоз, …) were kept on purpose by the previous policy. **Fix (generator).** A final pass in `ru_stage2.py` drops a word when the orthographic note marks it `(сокр.)` (`is_abbrev_note`) or when *every* OpenCorpora noun reading carries `Abbr` (`oc_abbr_only` — the generalisation of `oc_abbr_fixd_only` past `Fixd`, catching the declinable огвз/заз). Homographs that also have a plain-noun reading survive (ваза «ВАЗ», рис). **Policy.** Abbreviations are no longer Scrabble words; lexicalised exceptions are rescued in `manual_confirm.txt` (колхоз, совхоз, рация, спецназ, эсминец, линкор, дзот, дот, прораб, токамак, тэн, морпех, старпом, юннат, твэл, научпоп, каско + the 10 borderline + под), and the bound prefix `гос` is vetoed in `manual_reject.txt`. **Result.** 108 words removed from ru_scrabble / ru_erudit (en_sowpods unchanged); diff is removal-only. A full rebuild *with libmorph* reproduces the committed list minus exactly these 108 (added=0) — the earlier rebuild drift was a missing-libmorph artefact, now documented as a release prerequisite. For a v1.3.0 release.
developer added 1 commit 2026-06-22 12:17:22 +00:00
feat(ru): drop abbreviations from the Russian noun list
build / dawg (pull_request) Successful in 6m4s
74ff3aefb6
The list leaked abbreviations two ways: an OpenCorpora noun tagged Abbr without
Fixd (the declinable acronym ОГВЗ) slipped past the Abbr+Fixd seed filter, and the
РАН «(сокр.)» words (вуз, нэп, колхоз, гост, …) were kept on purpose by the old
policy.

Drop every abbreviation instead. A final pass in ru_stage2.py removes a word when
the orthographic note marks it «(сокр.)» (is_abbrev_note) or when every OpenCorpora
noun reading carries Abbr (oc_abbr_only — also the declinable огвз/заз the seed
filter missed). Homographs with a plain-noun reading survive (ваза «ВАЗ», рис).
Lexicalised words are rescued via manual_confirm.txt (колхоз, совхоз, рация,
спецназ, эсминец, дзот, дот, прораб, токамак, тэн, … and под — a real noun OC knows
only as ПОД); the bound prefix гос is vetoed in manual_reject.txt.

108 words removed from ru_scrabble / ru_erudit; en_sowpods unchanged. tools/README
documents the policy and that libmorph is required for a faithful rebuild.
owner approved these changes 2026-06-22 12:29:20 +00:00
developer merged commit 44713e8a9a into master 2026-06-22 12:30:17 +00:00
developer deleted branch feature/drop-abbreviations 2026-06-22 12:30:17 +00:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: developer/scrabble-dictionary#6