CoolFace
Datasetpublic

xqt/jlpt_n5_vocabulary

Jisho JLPT-N5 Relational Dataset This dataset provides a comprehensive and highly normalized collection of Japanese vocabulary for the JLPT-N5 level, scraped from Jisho.org. Unlike flat datasets, this version uses a relational schema to separate headwords, metadata (JLPT/WaniKani levels), and individual English definitions. πŸ— Scraper Architecture The data was generated using a custom Python scraper following a robust state-machine logic. Logic… See the full description on the dataset page: https://huggingface.co/datasets/xqt/jlpt_n5_vocabulary.

sourceHugging Facemitupdated 7mo agoView on Hugging Face
0likes34downloads
Dataset Card

Jisho JLPT-N5 Relational Dataset

This dataset provides a comprehensive and highly normalized collection of Japanese vocabulary for the JLPT-N5 level, scraped from Jisho.org. Unlike flat datasets, this version uses a relational schema to separate headwords, metadata (JLPT/WaniKani levels), and individual English definitions.

πŸ— Scraper Architecture

The data was generated using a custom Python scraper following a robust state-machine logic.

Logic Highlights:

  • β€”Normalization: Every English sense is a unique row with a specific meaning_no.
  • β€”Integrity: Every entry is assigned a Version 4 UUID for reliable cross-referencing.
  • β€”Resilience: Implements rate-limiting and session-based retries to ensure high data quality.

πŸ“‚ Dataset Structure

The dataset consists of three primary relational tables:

1. raw_words.csv (Headwords)

FieldTypeDescription
word_idstring (UUID)Unique ID for the lexical entry.
kanjistringThe written form of the word.

2. raw_meta.csv (Linguistic Context)

FieldTypeDescription
meta_idstring (UUID)Unique ID for the metadata record.
word_idstring (UUID)Reference to raw_words.
furiganastringPhonetic reading in Hiragana.
jlpt_levelintegerJLPT Level (5 for N5).
wk_levelintegerWaniKani level (Integer).
topicsstringCategory tags (e.g., "Common word", "Travel").

3. raw_meanings.csv (Definitions)

FieldTypeDescription
meaning_idstring (UUID)Unique ID for the specific definition.
word_idstring (UUID)Reference to raw_words.
englishstringThe English definition.
meaning_numberintegerChronological index of the sense.

πŸ›  How to Use

Since the data is normalized, you can use Pandas to merge the tables into a flat view for training or analysis:

python
import pandas as pd

words = pd.read_csv('raw_words.csv')
meta = pd.read_csv('raw_meta.csv')
meanings = pd.read_csv('raw_meanings.csv')

# Merge into a single dataframe
df = words.merge(meta, on='word_id').merge(meanings, on='word_id')
print(df.head())

πŸ“Š Dataset Stats

  • β€”Total Headwords: ~700-800
  • β€”Total Definitions: ~2,500+
  • β€”Source: Jisho.org API
  • β€”Level: JLPT N5 (Beginner)

πŸ“œ License & Acknowledgments

This dataset is distributed under the MIT License. All linguistic data belongs to Jisho.org and its respective contributors.