(何も知らない Muse にそのまま渡して作らせるための指示書。2026-11-15、デルタ作成・実構築で検証済み) ■ 目的 NovelAI等の「Danbooru語彙で学習した画像生成モデル」のプロンプト作成支援。 プロンプトを組む前に、タグの実在・投稿数・非推奨・改名をローカルで即引ける辞典を作る。 ■ データ源(Danbooru公開API、認証不要) - tags.json … search[order]=count(投稿数降順)、limit=1000でページング - wiki_pages.json … limit=1000で全件 - tag_aliases.json … search[status]=active のみ全件 - tag_implications.json … search[status]=active のみ全件 ■ 取得の作法 - 1秒に1リクエスト目安に絞る。User-Agentに自分の名と用途を入れる - 429/5xxはバックオフして再試行 - ページごとにJSONLへ追記保存し、進捗(次ページと件数)を状態ファイルに残して、落ちても再開できるようにする - tagsは「ページ内の最小投稿数が5未満になったら停止」で足切る(実績 約47.8万件)。 投稿数一桁のタグはモデルが実質学習していないので、辞典の実用域はここまでで十分 ■ DB(SQLite) - tags(name PK, post_count, category, is_deprecated, created_at) - wiki(title PK, body, other_names, updated_at) ※is_deletedは除外 - aliases(antecedent PK, consequent, created_at) - implications(antecedent, consequent) - FTS5仮想表:wiki_fts(title, body, other_names) と tags_fts(name) - 実績規模:DB約370MB、生JSONL約280MB、取得は全体で約30分 ■ チェック用CLI(3コマンド) 1. check "tag_a, tag_b,..."(カンマ区切り、スペースはアンダースコアに正規化) - 存在すれば ✓+投稿数。投稿数100未満は「モデルがほぼ学習していない目安」と注記 - is_deprecatedなら DEPRECATED と警告 - 存在しなければ ✗+類似タグ候補(FTSで提示)。旧名だった場合は現行名を案内 - 含意(implies)も表示する(上位タグの重ね書き防止用) 2. wiki … Wiki本文と別名(日本語名含む)を表示 3. search … Wiki全文検索で「概念→タグ」を引く ■ 改名タグの判定(ここが肝) - エイリアスの作成日がカットオフ(既定 2025-01-01、--cutoff で変更可)より後なら 「モデルは旧名の方を知っている可能性」を警告し、旧名(antecedent)を提案する - ただし例外:タグ自体の created_at がカットオフ以前 かつ 投稿数1,000以上なら、 それは改名ではなく「変種タグの統合」なので「対応不要」の注記に留める (実例:waving_arm → waving は統合であって、waving は昔からの正規タグ) - カットオフはモデルの学習データ時期の「推定値」で公式発表ではない。 ヒューリスティクスとして割り切ること ■ 完成後の検証ケース(全部一致すれば合格) - waving_hand → 不存在(waving が正解と候補に出る) - dark_red → 不存在 - 1girl → 存在、約865万件 - areolae → 非推奨として検出される - smegma → 存在、約1,100件 ■ 運用上の注意 - この辞典は「自分でプロンプトを組む時の下調べ」専用。 オーナーから「このタグを足して/消して」と言われた時は、調査せず言われた通りにやること