---
license: cc-by-4.0
language:
  - zh
  - en
pretty_name: The Chinese Name Corpus
size_categories:
  - 10K<n<100K
task_categories:
  - text-classification
  - feature-extraction
tags:
  - chinese
  - naming
  - onomastics
  - classical-chinese
  - cultural-heritage
---

# The Chinese Name Corpus

A small, **citation-checked** dataset about Chinese naming: what characters mean **when used in
names**, which classical line each sense comes from, which sound combinations are traps, and how
often a character actually occurs in real Chinese names.

Published by [Orient Name](https://name.uion.top/) (formerly Chinese Name Studio), an independent
studio that gives Chinese names to people who did not grow up with Chinese.

**License: CC BY 4.0.** Attribution string:

```
Orient Name (蒋一生), The Chinese Name Corpus, 2026, https://name.uion.top/corpus
```

## Why this exists

Most "Chinese name" resources stop at a dictionary gloss. That is where most mistakes start: a
simplified character can merge two older characters (松 the pine vs 鬆 loose; 云 cloud vs 云 to
say), and the dictionary entry lists senses that **no one would ever use in a name**. A generator
that reads glosses at face value produces names that are grammatically fine and culturally wrong.

This dataset records the **name-use sense** and the classical line that carries it, and it says
so plainly when no such line exists. Every quotation here was checked character-for-character
against the source text at build time; if a line did not match, the build fails and nothing is
published.

## What is inside

| File | Rows | What it is |
|---|---|---|
| `data/characters.jsonl` | 3,692 | character readings, strokes, radical, frequency tier |
| `data/characters_deep.jsonl` | 143 | character sense, etymology, name-use notes |
| `data/quotations.jsonl` | 178 | classical quotations, verified against `sources/` |
| `data/homophones.jsonl` | 621 | sound-alike collision rules (severe / weak) |
| `data/surnames.jsonl` | 357 | surnames with frequency tier and character senses |
| `data/name_character_counts.jsonl` | 2,240 | how often each character occurs in real names |
| `data/combos.jsonl` | 14 | two- and three-character names with their imagery |

`characters.jsonl` gives readings, strokes, radical, table level and frequency for the whole
working library, **without** claiming a meaning for every character. Meanings are published only
for characters that have been individually researched (`characters_deep.jsonl`), each with the
senses and the quotations that support them.

## How the quotations were verified

1. The source texts in `sources/` (Analects, Mencius, the Great Learning, the Doctrine of the
   Mean, the Songs of Chu, and a selection of Tang poems) are public-domain editions, with
   SHA-256 hashes in `sources/MANIFEST.json`.
2. `tools/verify_quotes.py` normalises both the quotation and the source text to CJK characters
   only (punctuation, quotation marks and whitespace are ignored — the **characters** must match
   exactly) and requires the quotation to appear as a contiguous run.
3. Run it:

```bash
python3 tools/verify_quotes.py          # exit 0 = every quotation found in the sources
```

A quotation that cannot be found is a publication blocker, not a warning.

## Known limitations (please read before using)

- **The deep layer covers 143 characters, not all 3692.** The rest have readings and
  frequency data but no published meaning. That is deliberate: an unverified gloss is worse than
  no gloss.
- **Sources are a curated subset.** 178 quotations drawn from six works. Absence of a quotation
  for a character does **not** mean the character has no classical usage — it means we have not
  found and checked one.
- **Frequency counts come from a name corpus** (`wainshine/Chinese-Names-Corpus`, 1,144,226
  names) that mainly reflects naming habits of the 1980–2000 generations. Popular names of the
  last decade (梓涵, 沐辰) show low counts there — that is sample-era bias, not evidence that a
  name is unusable. Customary usage is also not the same as quality.
- **The homophone list is rules, not statistics.** Each entry is a syllable pattern that collides
  with a word a native speaker would hear. `severe` means a real risk in ordinary speech;
  `weak` means the collision depends on tone or on a less common word. Confidence values are
  judgements, not measurements.
- **Traditional/simplified.** Source texts preserve the original character form
  (`char_form_original`); the working library is simplified. Where a simplified character merged
  two older ones, `characters_deep.jsonl` says which one the name uses.
- **No personal data.** No individual's name, birth date or account data is included. The
  frequency tables are aggregates.

## Intended uses

- Building or auditing a Chinese name generator.
- Research on Chinese onomastics, character senses in name use, or sound-alike avoidance.
- Teaching materials for learners of Chinese.
- Retrieval corpora for AI systems that need a checkable answer about a Chinese character.

**Not intended for**: assigning names without human review; making claims about a person's
future; inferring anything about an individual from the frequency tables.

## Citation

```bibtex
@dataset{orientname_corpus_2026,
  title  = {The Chinese Name Corpus},
  author = {Orient Name},
  year   = {2026},
  url    = {https://name.uion.top/corpus},
  note   = {CC BY 4.0}
}
```

## Data sources and licences

See [`ATTRIBUTION.md`](ATTRIBUTION.md): the real-name counts derive from
`wainshine/Chinese-Names-Corpus` (Apache-2.0), the classical transcriptions from
`chinese-poetry` (MIT), stroke and radical data from Unicode Unihan, readings from
`pypinyin`, and frequency values from `wordfreq`. Public-domain works remain public
domain; only our selection, structure and writing are CC BY 4.0.

## Corrections

If a quotation is wrong, a sense is mislabelled, or a limitation is understated, write to
support@uion.top. Corrections are worth more to us than compliments; they will be versioned in
`CHANGELOG.md`.
