fine-tune 0 0 0

harukicoder/hsk30-graded-readers

published by @harukicoder

Alignment dataset tracked in the /datasets sub-catalog.

Lifetime downloads
177
Last 30 days
98
Likes
-
Size
729 KB
Created on HF
2026-09-01
Age
1 months ago

Description

HSK 3.0 Graded Reader Corpus

132 word-aligned Chinese graded readers with per-word pinyin and English gloss,

arranged on six difficulty shelves: 102 texts in the main split and a

disjoint 30-text held-out split.

Aligned Chinese graded-reader corpora are scarce. Existing collections are

unaligned plain text, locked inside commercial apps, or graded against HSK 2.0,

which has been superseded twice.

Loading

from datasets import load_dataset

ds =… See the full description on the dataset page: https://huggingface.co/datasets/harukicoder/hsk30-graded-readers.

Tags

task_categories:text-classificationtask_categories:text-generationlanguage:zhlanguage:enlicense:cc-by-4.0size_categories:n<1Kformat:jsonmodality:tabularmodality:textlibrary:datasetslibrary:pandaslibrary:polarslibrary:mlcroissantregion:uschinesemandarinhskreadabilitygraded-readerlanguage-learningsecond-language-acquisitionparallel-corpus

README current version from Hugging Face


license: cc-by-4.0
language:

  • zh
  • en
    pretty_name: HSK 3.0 Graded Reader Corpus
    size_categories:
  • n<1K
    task_categories:
  • text-classification
  • text-generation
    tags:
  • chinese
  • mandarin
  • hsk
  • readability
  • graded-reader
  • language-learning
  • second-language-acquisition
  • parallel-corpus
    configs:
  • config_name: main
    data_files: hsk30_graded_readers.jsonl
  • config_name: heldout
    data_files: hsk30_heldout.jsonl

HSK 3.0 Graded Reader Corpus

132 word-aligned Chinese graded readers with per-word pinyin and English gloss,
arranged on six difficulty shelves: 102 texts in the main split and a
disjoint 30-text held-out split.

Aligned Chinese graded-reader corpora are scarce. Existing collections are
unaligned plain text, locked inside commercial apps, or graded against HSK 2.0,
which has been superseded twice.

Loading

from datasets import load_dataset

ds = load_dataset("harukicoder/hsk30-graded-readers", "main")
held = load_dataset("harukicoder/hsk30-graded-readers", "heldout")

Each record has id, shelf, title (hanzi / pinyin / English), text, and
sentences — each sentence carrying its own English translation and a list of
word tokens with hz, py and en.

Difficulty labels are deliberately not included

A level is a function of the text and the standard, and "HSK 3.0" names two
different official documents that disagree on 41.5% of shared vocabulary.
Baking labels in would let a stale copy of this dataset contradict the grader.
Compute them instead:

import hsk30                      # pip install hsk30

tokens = [w for s in record["sentences"] for w in s["words"]]
hsk30.grade_tokens(tokens).label              # 2026 exam syllabus
hsk30.grade_tokens(tokens, standard="2021").label   # 2021 grading standard

Roughly half of these texts grade differently under the two documents.

Provenance, stated plainly

The passages were drafted with large-language-model assistance and then
reviewed, edited, re-levelled and in several cases rewritten by the author.

They are pedagogical material written to a level target — not naturally
occurring Chinese — and should not be used as a sample of native usage, or to
train a general language model.

Because they are LLM-assisted, a system evaluated on how well it matches this
corpus may be rewarded for resembling its own training distribution. The
accompanying benchmark avoids this by scoring against the official character
standard rather than against these texts.

Human authors writing to an explicit level target hit it only 61.8% of the
time across this corpus, overshooting on easy material and undershooting on
hard. Treat the shelf labels as bands, not point claims.

Full datasheet (Gebru et al. format): see DATASHEET.md in the
repository.

Citation

@misc{serrano2026hsk30corpus,
  title  = {HSK 3.0 Graded Reader Corpus},
  author = {Serrano, Alvaro},
  year   = {2026},
  note   = {CC BY 4.0},
  url    = {https://github.com/harukicoder/hsk30}
}

README history 5 revisions

Every night we snapshot the README of every dataset in the catalog. When the SHA changes we archive the new version and diff it against the last. This is the evolving thought record of the alignment-data field: what the author decided to say about the corpus, and how that framing shifted over time.

  1. 2026-09-01Delete hsk30_heldout.jsonl.txtb6f76b23 KB
    Loading...
  2. 2026-09-01Delete hsk30_graded_readers.jsonl.txtd2e91353 KB
    Loading...
  3. 2026-09-01Upload 2 filesb7c70573 KB
    Loading...
  4. 2026-09-01Upload 4 files4b03b363 KB
    Loading...
  5. 2026-09-01initial commit69da72a27 B
    Loading...

Used by abliterated models none yet

No abliterated models in our catalog have declared this dataset in their YAML metadata yet. This can mean the dataset is used but not declared, is used outside abliteration workflows, or is new. The link will populate automatically as models are indexed.

Community discussions 1 thread · 1 open · 1 comments

Threads posted by the community on Hugging Face: bug reports, questions about usage, pull requests on the README, license clarifications. Click any thread to expand and read the full conversation inline. Newest first.

  1. 2026-09-02[bot] Conversion to Parquetopen1 💬#1
    Loading...

Related datasets same stage · fine-tune

Read further

Metadata

License
cc-by-4.0

Repository

Download the dataset

0

Copy any of these snippets into your notebook or terminal. All three fetch directly from Hugging Face using your own credentials.

Recommended: datasets library (Python)
from datasets import load_dataset
ds = load_dataset("harukicoder/hsk30-graded-readers")
Raw snapshot (Python)
from huggingface_hub import snapshot_download
snapshot_download(repo_id="harukicoder/hsk30-graded-readers", repo_type="dataset")
git clone (requires git-lfs)
git clone https://huggingface.co/datasets/harukicoder/hsk30-graded-readers
Catalog is the map. Apps are the tools.

Run models on your own machine, not in the cloud.

Every model page has an "Open in Abliteration" button that hands the model directly to the first-party desktop client, at the quantization your rig can actually run. No API keys, no subscription, no prompt leakage.

Open in Abliteration