CoolFace
Datasetpublic

Violet-yo/Passage-Chinese-Braille-Dataset-Full-Tone

Chinese Braille Passage Corpus (Full Tone) 📃 [Paper] • 💻 [Code] • 📖 [Sentence corpus] • 🎬 [Demo] The passage-level half of the Braille–Chinese parallel corpus used in "Vision-Braille: A Curriculum Learning Toolkit and Braille–Chinese Corpus for Braille Translation" (EMNLP 2026 Main Conference). Passages are roughly 8× longer than the sentences in the companion corpus, which makes them a substantially harder translation task: the model must hold tone-ambiguous… See the full description on the dataset page: https://huggingface.co/datasets/Violet-yo/Passage-Chinese-Braille-Dataset-Full-Tone.

sourceHugging Facecc-by-nc-sa-4.0updated 27d agoView on Hugging Face
0likes46downloads
Dataset Card

Chinese Braille Passage Corpus (Full Tone)

<p align="center"> 📃 <a href="https://github.com/AlanYWu/VisionBraille" target="blank">[Paper]</a> • 💻 <a href="https://github.com/AlanYWu/VisionBraille" target="blank">[Code]</a> • 📖 <a href="https://huggingface.co/datasets/Violet-yo/Chinese-Braille-Dataset-Full-Tone" target="blank">[Sentence corpus]</a> • 🎬 <a href="https://visionbraille.org" target="blank">[Demo]</a> </p>

The passage-level half of the Braille–Chinese parallel corpus used in "Vision-Braille: A Curriculum Learning Toolkit and Braille–Chinese Corpus for Braille Translation" (EMNLP 2026 Main Conference).

Passages are roughly 8× longer than the sentences in the companion corpus, which makes them a substantially harder translation task: the model must hold tone-ambiguous context across hundreds of cells. All tone markers are retained (r = 100).

Dataset details

DirectionChinese Braille → written Chinese (BR2ZH)
GranularityPassage, truncated to 2048 tokens
Tone retention100% (all tone markers present)
StandardGF 0019-2018 (国家通用盲文方案)
Source textBraille book resources published on The Braille Online Platform of China

Splits

SplitSamplesBraille len. (avg/med)Chinese len. (avg/med)
Train17,592963 / 1,007332 / 345
Validation2,1991,009 / 1,009344 / 343
Test2,199995 / 925348 / 323

Lengths are token counts after prompt formatting. Split ratio is 8:1:1.

Fields

FieldTypeDescription
idint64Row index
braille_textstringChinese Braille, Unicode U+2800–U+28FF, all tone markers retained
chinese_textstringThe parallel written Chinese
sourcestringTitle of the book the passage came from
file_namestringSource Braille file the passage was sliced from

Example

python
{
  "id": 0,
  "braille_text": "⠘⠍⠢⠝⠢⠐⠄⠍⠢⠵⠪⠝⠔⠄⠇⠊⠄⠐⠄⠘⠚⠻⠄⠚⠫⠁⠏⠪⠁⠏⠪⠁⠚⠷⠄⠵⠪⠄⠙⠞⠷⠂⠙⠡⠄⠐…",
  "chinese_text": "“磨呢?磨在哪里?”管家拍拍狗崽的头顶,怪模怪样地歪了歪嘴,说,“在那儿呢,你不推磨磨推你。”…",
  "source": "1934年的逃亡",
  "file_name": "910_8_braille.txt"
}

The source and file_name fields let you group rows by book. file_name is unique per row; source is the book title and is shared across the passages sliced from that book.

Usage

python
from datasets import load_dataset

ds = load_dataset("Violet-yo/Passage-Chinese-Braille-Dataset-Full-Tone")
print(ds["train"][0])

How it was built

Aligned Braille and Chinese passage pairs were curated from Braille book resources published on The Braille Online Platform of China. Pairs were preprocessed to strip unrecognized tokens and truncated to a maximum of 2048 tokens.

Braille encoding notes

  • —Braille occupies Unicode U+2800–U+28FF.
  • —No word division. Braille cells run unbroken, with no U+2800 BRAILLE PATTERN BLANK between words, matching the training setup: Chinese is written without inter-word spaces and OCR space tokens are unreliable, so the model recovers segmentation from local cell cues.
  • —Tone markers are the four cells ⠁ (tone 1), ⠂ (tone 2), ⠄ (tone 3), ⠆ (tone 4).
  • —Number sequences are introduced by the number sign ⠼.

Deriving tone-omission variants

Real Braille writers omit tone markers, so the models are trained on a ladder of tone retention rates. Given a retention rate r ∈ [0, 100], each tone marker is deleted independently at random with probability 1 - r/100; every non-tone cell is left alone. A fixed seed (42) makes this deterministic.

Deletion is deliberately unstructured rather than a hand-coded implementation of the 省写 conventions in GF 0019-2018, so the model must recover tone from context rather than from a fixed omission pattern.

Scripts are in `data/` of the code repository:

bash
python data/batch_remove_tone_passage.py <input_dir> <output_dir>    # r = 10, all splits

Two classes of tone marker are always preserved: those following sentence-final punctuation (。?!) and every cell inside a number sequence.

Related resources

Limitations

The Braille side is machine-generated from Chinese text by a rule-based converter, not transcribed by a human Braille writer, so it lacks the transcription slips, contraction choices, and layout conventions of Braille produced by people. Models trained on it face a domain shift on real human-produced Braille, and a further shift on Braille recovered by OCR from photographed pages.

Splits are book-disjoint between train and test: the 357 books in train and the 46 books in test share none in common, so no test passage comes from a book the model saw in training. One book (《草叶集》) is split across train (307 rows) and validation (413 rows); train and validation otherwise share no books. Verified directly against the published parquet files.

License

Released under CC BY-NC-SA 4.0 for non-commercial research use. Copyright in the underlying book text remains with its original owners; the corpus is distributed for non-commercial research on Braille accessibility.

Citation

bibtex
@inproceedings{wu2026visionbraille,
  title     = {Vision-Braille: A Curriculum Learning Toolkit and Braille--Chinese Corpus for Braille Translation},
  author    = {Wu, Alan Yo and Yuan, Ye and Xiao, Zhiping and Zhang, Ming},
  booktitle = {Proceedings of the 2026 Conference on Empirical Methods in Natural Language Processing},
  year      = {2026}
}