Sn0w123/booru-characters
Booru Characters Overview A line-oriented JSON dataset of character tag metadata extracted from Danbooru using the Danbooru API. Each record contains tag-level metadata and simple relationships between tags. Contents hf_dataset/characters.jsonl: one JSON object per line. Each object contains the fields described below. hf_dataset/dataset_info.json: minimal metadata describing the exported features. Fields (per record) id (int):… See the full description on the dataset page: https://huggingface.co/datasets/Sn0w123/booru-characters.
Booru Characters
Overview
A line-oriented JSON dataset of character tag metadata extracted from Danbooru using the Danbooru API. Each record contains tag-level metadata and simple relationships between tags.
Contents
hf_dataset/characters.jsonl: one JSON object per line. Each object contains the fields described below.hf_dataset/dataset_info.json: minimal metadata describing the exported features.
Fields (per record)
id(int): internal database idname(string): tag namepost_count(int): number of posts associated with the tag at extraction timegender(string): inferred majority gender tag (e.g.,1girl/1boy)clothing(list[string]): tags classified as clothingcharacteristics(list[string]): tags classified as character attributescopyright(list[string]): most common copyright tags from postsrelationships(dict): lists of related tag names underparents,children, andsiblings
Methods
- Tag selection: character-category tags are queried from the Danbooru API. Tags are filtered by a minimum post count of 100 and ordered by post count.
- Relationship extraction: parent/child relations are derived from tag implication fields returned by the API (
antecedent_implications/consequent_implications). Siblings are inferred by grouping tags that share the same parent. - Post sampling: for each character tag the script fetches posts matching
[<character> solo](up to 5 pages), requesting only score, rating and tag fields. A minimum post score threshold is applied for high-volume tags to reduce noise. - Tag classification: general tags from posts are split into
characteristicsandclothingusing pattern lists manually created. - Frequency thresholds: characteristics are included when they appear in >=35% of sampled posts; clothing tags use a 15% threshold; copyright tags use a 50% threshold.
