Skip to content

Phase 2: derive ambiguity from clashing readings and extend the gate to every reading kind #752

Open
0 of 1 issue completed

Description

@derek73

Part of #747. Phase 1 kept the ambiguity markers as explicit flags (may_be_given, may_be_name, may_be_initial). Phase 2 derives ambiguity from clashes between readings instead, and makes the gate a property of a reading rather than a rule written per class of word. Today's gates are six separate rules, each reading its own evidence:

  • ambiguous acronyms by periods, capitals and words to spare (rules/S3, S4, S6)
  • one-letter roman numerals by a word to spare (rules/S10)
  • a title that may be the name, by the title run's floor (rules/H3)
  • particles by position (rules/P4)
  • bound given names by a word to spare (rules/P5)
  • single-letter conjunctions by case (rules/P8)

A listed word none of them reaches is read wherever its position allows, which is why fils is excluded rather than gated. The vocabulary model RFC (docs/design/vocabulary-model-rfc.md) has the overview.

This is the first phase that changes behavior, so it needs its own spec, measurements and snapshot moves.

Questions it has to answer:

  • What cue the gate reads for each kind, starting from the rules above. An acronym's cues are periods and capitals, while a lowercase generation word like fils needs another, and an initial-shaped one (H., regnal I.) has S10's count against a period, which marks a one-letter word as an initial (rules/T5).
  • Whether a reading with no reliable cue is off unless a pack turns it on (default = false, e.g. Czech st.).
  • What a gate at the FRONT of a name looks like (a title that is also a given name).
  • How readings surface on a ParsedName (the reading not taken, on the ambiguity).

Decided already (decisions/vocabulary-model): vocabulary readings settle a clash; name readings only keep the gate on; bearer counts are provenance and never compute a reading.

Metadata

Metadata

Assignees

Labels

designvocabularyPer-word vocabulary model and language packs

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions