CoolFace
Datasetpublic

ronantakizawa/japanese-character-difficulty

Japanese Character Difficulty Dataset A comprehensive dataset of 3,003 Japanese kanji characters with their educational difficulty grades, sourced from official Japanese educational standards and kanjiapi.dev. Dataset Overview Total Characters: 3,003 kanji Source: Japanese Ministry of Education (MEXT) Joyo Kanji list + kanjiapi.dev Coverage: Elementary grades 1-6, plus secondary education and advanced characters Format: Character-grade pairs for easy lookup and… See the full description on the dataset page: https://huggingface.co/datasets/ronantakizawa/japanese-character-difficulty.

sourceHugging Facemitupdated 1y agoView on Hugging Face
3likes27downloads
Dataset Card

Japanese Character Difficulty Dataset

A comprehensive dataset of 3,003 Japanese kanji characters with their educational difficulty grades, sourced from official Japanese educational standards and kanjiapi.dev.

Dataset Overview

  • —Total Characters: 3,003 kanji
  • —Source: Japanese Ministry of Education (MEXT) Joyo Kanji list + kanjiapi.dev
  • —Coverage: Elementary grades 1-6, plus secondary education and advanced characters
  • —Format: Character-grade pairs for easy lookup and analysis

Grade System

The dataset uses the Japanese educational grade system:

  • —Grades 1-6: Elementary school kanji (Joyo Kanji for primary education)
  • —Grade 8: Secondary school kanji (middle/high school level)
  • —Grade 9: Advanced kanji (beyond standard education, JLPT levels, Jinmeiyō kanji)

Grade Distribution

GradeCountDescription
180First grade elementary
2160Second grade elementary
3200Third grade elementary
4200Fourth grade elementary
5185Fifth grade elementary
6181Sixth grade elementary
81,134Secondary school level
9863Advanced/specialized characters

Usage Examples

python
from datasets import load_dataset

# Load the dataset
dataset = load_dataset("ronantakizawa/japanese-character-difficulty")
df = dataset['train'].to_pandas()

# Find elementary school kanji (grades 1-6)
elementary_kanji = df[df['grade'] <= 6]
print(f"Elementary kanji count: {len(elementary_kanji)}")

# Get all grade 1 kanji
grade1_kanji = df[df['grade'] == 1]['character'].tolist()
print(f"Grade 1 kanji: {''.join(grade1_kanji)}")

# Check difficulty of a specific character
char_grade = df[df['character'] == '漢']['grade'].iloc[0]
print(f"漢 is grade {char_grade}")

Applications

  • —Language Learning: Curriculum design and progression planning
  • —Text Analysis: Automatic difficulty assessment of Japanese texts
  • —Educational Tools: Kanji learning applications and games
  • —Research: Japanese language complexity studies

Data Quality

  • —Sourced from official Japanese educational standards
  • —Cross-referenced with kanjiapi.dev comprehensive database
  • —Includes both Joyo (常用) and Jinmeiyō (人名用) kanji
  • —Covers JLPT levels N5-N1 characters

Related Datasets