CoolFace
Datasetpublic

farbodbij/Ganjoor-Corpus

English | فارسی Ganjoor-Corpus The Ganjoor poetry corpus as four tables covering poems, books of poetry, and poet information. This corpus can be used for training models, statistical work, and building other datasets. Configs poets: 234 poets. field description poet_id Ganjoor poet id name, nickname full name and pen name url Ganjoor path birth_year, death_year lunar Hijri; birth_year_valid / death_year_valid say whether Ganjoor marks the date as… See the full description on the dataset page: https://huggingface.co/datasets/farbodbij/Ganjoor-Corpus.

sourceHugging Faceotherupdated 1mo agoView on Hugging Face
0likes395downloads
Dataset Card

English | فارسی

Ganjoor-Corpus

The Ganjoor poetry corpus as four tables covering poems, books of poetry, and poet information. This corpus can be used for training models, statistical work, and building other datasets.

Configs

`poets`: 234 poets.

fielddescription
poet_idGanjoor poet id
name, nicknamefull name and pen name
urlGanjoor path
birth_year, death_yearlunar Hijri; birth_year_valid / death_year_valid say whether Ganjoor marks the date as reliable
birth_place, death_placeas given by Ganjoor
descriptionpoet biography

`categories`: where a poem sits in the Ganjoor category tree, including book name, section within the book, and the rest.

fielddescription
cat_idGanjoor category id
parent_idparent category; null at the poet root
poet_idowning poet
title, urlcategory title and path
book_namefilled when Ganjoor sets it on the poet root (e.g. دیوان حافظ)
descriptioncategory note, if any
depth0 poet, 1 work (گلستان, شاهنامه, غزلیات), deeper = chapter

`poems` (default): 132,591 poems.

fielddescription
poem_idGanjoor poem id
poet_idGanjoor poet id
cat_idleaf folder
book_idwork-level category (depth 0 or 1)
title, full_title, urlpoem title and path
rhythm, metre_idaruz string and metre id, empty when Ganjoor has none
rhymeRhymeLetters
poem_formatform from poem sections (e.g. Ghazal, Masnavi); `` if mixed
languageGanjoor language tag when present
sourcetext source name on Ganjoor
summary, summary_is_aipoem summary; summary_is_ai is true when it starts with «هوش مصنوعی»
couplet_countnumber of rows this poem contributes to couplets

HTML is not included. 127,695 of 129,414 summaries are AI-generated.

`couplets`: 1,488,130 beyts. One row per couplet, each mesra in its own column.

fielddescription
first, secondthe two mesras of the couplet
poem_id, poet_idjoin keys
couplet_indexcouplet number within the poem (Ganjoor CoupletIndex)

Right / CenteredVerse1 → first; Left / CenteredVerse2 → second. Paragraphs and comments are omitted (80,555 prose verses). An unpaired mesra is kept with an empty second (4,859 rows).

python
from datasets import load_dataset

poems = load_dataset("farbodbij/Ganjoor-Corpus", "poems", split="train")
couplets = load_dataset("farbodbij/Ganjoor-Corpus", "couplets", split="train")
poets = load_dataset("farbodbij/Ganjoor-Corpus", "poets", split="train")
categories = load_dataset("farbodbij/Ganjoor-Corpus", "categories", split="train")

How it was built

Fields in this dataset (metre, rhyme, format, summaries, biographies, and the rest) are taken from Ganjoor as-is, with no correction or rewriting. Their accuracy therefore depends on the accuracy of Ganjoor’s data.

Thanks Disclaimer

We are thankful to Ganjoor team for releasing their meticulously curated data publicly, allowing anyone to deliver high-quality Persian datasets to the NLP community. This both helps Persian as a low-resource language and also contributes to distribution of the Iranian culture.