Skip to content

柯洁 reads as one family name under locales.ZH: should the Chinese surname list go past the census top 100? #695

Open

Description

@derek73

What happens today. The ZH pack segments only surnames in its list, the 2020 PRC census top 100 plus the Hundred Family Surnames compounds (nameparser/locales/zh.py). Its docstring calls this "a coverage floor, not a census roster". Any other surname leaves the name whole:

parser_for(locales.ZH).parse("柯洁")   →  given '', family '柯洁'
parser_for(locales.ZH).parse("欧阳修") →  given '修', family '欧阳'

Evidence. On 80 real unspaced Chinese names from Wikidata (#693), ZH agrees on 74. All 6 misses are surnames outside the list: 詹 (詹桓), 卫 (卫惠林), 柯 (柯洁, the Go player), 茅 (茅祖權), 华 (华楠) and 文 (文强). The CLDR locale view, which uses invented names, never showed this; its 42/96 fails for other reasons. That is a 7.5% miss rate on public figures, who skew toward common surnames, so ordinary data likely misses more.

Proposed statement. Extend the single-character list to a larger published roster (top 300 or top 500), keeping the census rank order and the existing annotations.

Open questions:

  • Source. The 2020 census publication gives only the top 100. Which openly licensed roster goes further? Candidates to check: the 2019 Ministry of Public Security surname release, and Wikipedia's 中国姓氏排行 page and its sources.
  • Collision cost. Rarer surnames are more often also given-name characters (文 and 华 are common given-name characters). A two-character name whose first character is a listed surname is split either way, so the real cost is a non-Chinese Han name split wrongly, such as Japanese kanji read without JA. The pack is already opt-in against that. Measure against the CLDR ja rows under ZH before and after.
  • Traditional forms. Should 衛 and similar be added in both scripts, as the current list does?

Exclusions. This does not change the default (ZH stays opt-in), and does not touch compound surnames beyond the existing list.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions