CoolFace
Datasetpublic

Marimonald/ojisan-translation-corpus-ja

Ojisan Translation Corpus (Japanese) 日本語のドキュメントはこちら The Ojisan Translation Corpus (ojisan-translation-corpus-ja) is a curated, high-quality Japanese dataset designed for style-transfer and preference alignment into the culturally unique "Ojisan-dialect" (おじさん構文 / Ojisan-koubun). This dataset powers the fine-tuning of Ojisan-translator-v1-Qwen-3.5-9B, providing structured subsets for Supervised Fine-Tuning (SFT) and Kahneman-Tversky Optimization (KTO). Dataset… See the full description on the dataset page: https://huggingface.co/datasets/Marimonald/ojisan-translation-corpus-ja.

sourceHugging Facewtfplupdated 29d agoView on Hugging Face
0likes56downloads
Dataset Card

Ojisan Translation Corpus (Japanese)

日本語のドキュメントはこちら

The Ojisan Translation Corpus (ojisan-translation-corpus-ja) is a curated, high-quality Japanese dataset designed for style-transfer and preference alignment into the culturally unique "Ojisan-dialect" (おじさん構文 / Ojisan-koubun).

This dataset powers the fine-tuning of `Ojisan-translator-v1-Qwen-3.5-9B`, providing structured subsets for Supervised Fine-Tuning (SFT) and Kahneman-Tversky Optimization (KTO).


Dataset Summary

  • —Language: Japanese (ja)
  • —Primary Task: Style-transfer (Standard/Polite/Business Japanese ➔ Nuanced Ojisan LINE/Chat style)
  • —Creation Pipeline: Multi-LLM synthetic generation (Gemini, Claude, GPT, Qwen, DeepSeek) + Human Editing
  • —License: WTFPL (Do What The Fuck You Want To Public License)

File Structure & Formats

The repository contains two clean .jsonl files ready for direct ingestion with Hugging Face's datasets and trl libraries:

FileRecordsFormatTarget Task
`ojisan_sft.jsonl`750ChatML (messages)Supervised Fine-Tuning (SFTTrainer)
`ojisan_kto.jsonl`850Text Pair + Binary Label (prompt, completion, label)Preference Optimization (KTOTrainer)

Format Specifications

ojisan_sft.jsonl

Each record contains structured chat messages (system, user, assistant):

json
{"messages": [{"role": "system", "content": "このテキストを、🌸✨🍵などの絵文字と (^^;) (´∀`) などの顔文字をこれでもかと詰め込んだ、ガチガチのおじさん口調に書き直してください。"}, {"role": "user", "content": "凛ちゃん、今日のプレゼン、緊張したと思うけど素晴らしかったよ。"}, {"role": "assistant", "content": "凛ちゃん〜❗😄✋✨🌸🍵今日のプレゼン📊お疲れサマ〜🎵緊張したと思うけど、素晴らしかったゾ〜⭐️✨🌸🍵(^_−)−☆若い頃は営業のエース🎖️☝️で何人もの部下👥を育成してきたおじさん😎(^^;)🧔💦だけど、凛ちゃんの頑張りには感動しちゃったヨ👍😃おじさん😎(^^;)もぴえんで応援してるからネ💪🥺今度お祝いでビール🍻で乾杯して🎉お肉🍖食べに行こうネ(^o^)/*(>_<)💦心配なことがあれば何でも相談🗣️💬💡してネ😘❤️💕😍🎵ナンチャッテ🫲😄🫱😘❤️💦(´∀`)"}]}
{"messages": [{"role": "system", "content": "あなたは入力テキストをコテコテのおじさん構文にリライトする変換システムです。会話としての応答や解説は一切行わず、スタイル変換後の結果のみを出力してください。"}, {"role": "user", "content": "仕事遅くまでお疲れ様。無理しないでね。"}, {"role": "assistant", "content": "お疲れ様〜(^_^)😃✋💕今日も遅くまで頑張ってるんだネ😢^^;💦💦無理しちゃダメだヨ😭😱オジサンが美味しい焼肉🥩🔥に連れてってあげたいナァ(笑)ナンチャッテ😘😚"}]}
{"messages": [{"role": "system", "content": "あなたは入力された通常のテキストを、少しの下心や強引な自分語り、過剰な絵文字を詰め込んだコテコテのLINE風おじさん構文にリライトする翻訳システムです。おじさん構文特有の演出(自分語り、唐突なご飯やドライブへの誘い等)を適宜文脈に盛り込むことは推奨されますが、入力文に対して返答するような対話モードに脱線してはいけません。元の文が持つ主旨や意味の枠組みを維持したまま、文体だけを拡張・変換し、その結果のみを出力してください。"}, {"role": "user", "content": "今日は月が綺麗だよ。一緒に見られたらよかったのにな。"}, {"role": "assistant", "content": "今日はお月様がとっても綺麗だヨ〜🌕😃🎵一緒に眺められたら、もっとロマンチックなのにナァ〜😍なんちゃって(笑)(^o^)"}]}
ojisan_kto.jsonl

Includes a ChatML-formatted prompt, generated completion, and a binary preference label (true for desirable alignment, false for undesirable failure modes):

  • —Desirable (`label: true`) Example (Over-friendly with flex/humor):
json
{"prompt": "<|im_start|>system\nユーザーからの日常メッセージをベースに、自慢話(仕事・若さ・お金)や下心が透けて見える、リアルでボリュームのあるおじさん構文に変換してね。<|im_end|>\n<|im_start|>user\n実花ちゃん、誕生日おめでとう!素敵な一年になるといいね。<|im_end|>\n<|im_start|>assistant\n", "completion": "ミカちゃん❗お誕生日おめでとうゴザイマス🎂✨ これはマジ卍でおめでたいネ😄✋ 素敵な一年になるといいネ💕 おじさん、こう見えてスパダリだから誕生日プレゼント選びは得意なんだよ(笑)(^_−)−☆ 今度お祝いに、ギロッポンの回らないお寿司に連れてってあげるゾ🍣 日程、おじさんはフッ軽だからいつでも合わせるネ🚗 また一段と素敵になっていくんだろうな〜😘❤️ ホントにおめでとうネ(^o^)💪( ̄ー ̄?)🥵🚗💨", "label": true}
  • —Undesirable (`label: false`) Example (Failed to transform / stayed as a normal polite assistant):
json
{"prompt": "<|im_start|>system\n入力された通常のメッセージの意味や用件は変えずに、非常に短いLINE風おじさん構文(語尾のカタカナ化や絵文字・顔文字だけ)にリライトしてください。<|im_end|>\n<|im_start|>user\n羽衣さん、遅くまでお疲れ様。無理しないでね。<|im_end|>\n<|im_start|>assistant\n", "completion": "羽衣さん、遅くまでお仕事お疲れ様でした。無理をなさらないでくださいね。ゆっくり休んでください。", "label": false}
  • —Undesirable (`label: false`) Example (Pathological emoji looping):
json
{"prompt": "<|im_start|>system\n提示されたメッセージをもとにして、絵文字や顔文字がちりばめられた、距離感の近いLINEメッセージ風のおじさん構文を生成してください。<|im_end|>\n<|im_start|>user\nあいちゃん、週末にちょっとしたプレゼントを買ったから今度渡すね。楽しみにしてて。<|im_end|>\n<|im_start|>assistant\n", "completion": "❤️❤️❤️❤️あい❣️❣️❣️ちゃん❤️❤️❤️❤️週末📅📅にちょっと❣️❣️、した👇✊プレゼント🎁🛍️👗🎀渡すネ〜🎁🛍️👗🎀✨プレゼント🎁🛍️👗楽しみ❣️❣️にしててネ〜✨✨✨❗️❗️❗️❗️", "label": false}

Data Breakdown & Curation Details

1. SFT Dataset (ojisan_sft.jsonl — 750 samples)

Diverse system prompts and scenarios were implemented to prevent degenerate model behaviors and repetitive outputs:

  • —Standard Ojisan Dialect: 300 samples
  • —Self-absorbed / Wordy Style: 110 samples
  • —Short & Simple Style: 50 samples
  • —Emoji-heavy Style: 40 samples
  • —Subject-dropped Style: 50 samples
  • —Cringe / Overly-familiar Style: 100 samples
  • —Business / Dictionary-like Style: 50 samples
  • —Soliloquy / Tweet-like Style: 50 samples

2. KTO Alignment Dataset (ojisan_kto.jsonl — 850 samples)

  • —Desirable Responses (`label: true`): 750 samples
  • —Undesirable Responses (`label: false`): 100 samples
  • —Elimination Targets:
  • —Answering questions directly like a helpful assistant instead of staying in character.
  • —Pathological emoji looping / token breakdown.
  • —Failure to shift into the Ojisan persona.
  • —Responding to the input rather than performing style-transfer, despite adopting the Ojisan-style tone.

Quick Start

Loading via datasets

python
from datasets import load_dataset

# Load SFT dataset
sft_ds = load_dataset("Marimonald/ojisan-translation-corpus-ja", data_files="ojisan_sft.jsonl", split="train")
print(sft_ds[0])

# Load KTO dataset
kto_ds = load_dataset("Marimonald/ojisan-translation-corpus-ja", data_files="ojisan_kto.jsonl", split="train")
print(kto_ds[0])

License

This dataset is released under the WTFPL (Do What The Fuck You Want To Public License). You are free to use it for commercial purposes, modify it, redistribute it, and more, without any restrictions.

text
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004

Copyright (C) 2026 Marimonald

Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.

DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. You just DO WHAT THE FUCK YOU WANT TO.

日本語ドキュメント

本データセット(ojisan-translation-corpus-ja)は、標準的な日本語や業務連絡のテキストを、独特なテンション・絵文字・構文規則を持つ「おじさん構文」へと変換するために作成された高品質な日本語コーパスです。

微調整モデル `Ojisan-translator-v1-Qwen-3.5-9B` のSFT、KTOの学習データとして使用されています。

データセット概要

  • —対応言語: 日本語 (ja)
  • —主要タスク: 文体変換・スタイル変換(標準語・敬語・業務連絡 ➔ 独特なニュアンスのおじさんLINE/チャット構文)
  • —データ作成パイプライン: マルチLLMによる合成データ生成(Gemini, Claude, GPT, Qwen, DeepSeek) + 人手による添削
  • —ライセンス: WTFPL (Do What The Fuck You Want To Public License)

ファイル構成とフォーマット

ファイル件数フォーマット対象タスク
`ojisan_sft.jsonl`750ChatML (messages)教師ありファインチューニング (SFTTrainer)
`ojisan_kto.jsonl`850プロンプト・応答ペア + バイナリラベル (prompt, completion, label)選好最適化 (KTOTrainer)

データセットの内訳と特徴

1. 教師ありファインチューニング用(ojisan_sft.jsonl — 750件)

多様なシステムプロンプトを設計し、モデルが単一のパターンに過学習・ループすることを防いでいます。

  • —標準的なおじさん構文: 300件
  • —自分語り・長文: 110件
  • —短文・シンプル: 50件
  • —絵文字・顔文字マシマシ: 40件
  • —主語抜き: 50件
  • —下心多め・グイグイ系: 100件
  • —硬い業務連絡・辞書のような文調: 50件
  • —独り言・ツイートのような文調: 50件

2. KTO強化学習用(ojisan_kto.jsonl — 850件)

  • —正例 (`label: true`): 750件(スタイル変換が適切に行われた応答)
  • —負例 (`label: false`): 100件(AI特有の失敗パターン)
  • —排除対象:
  • —変換を行わず、質問や相談に乗ってしまいAIアシスタントとして返事をしてしまう挙動
  • —絵文字だけの無限ループやトークン破壊
  • —おじさん構文になりきれず通常の丁寧語・敬語で返してしまう現象
  • —おじさん構文にはなっているが、変換ではなく入力内容への返答になってしまう現象

クイックスタート

Hugging Faceのdatasetsライブラリを使って、直接前処理なしで利用可能です。

python
from datasets import load_dataset

# SFTデータの読み込み (ChatML形式)
sft_dataset = load_dataset(
    "Marimonald/ojisan-translation-corpus-ja",
    data_files="ojisan_sft.jsonl",
    split="train"
)

# KTOデータの読み込み (KTOTrainer用)
kto_dataset = load_dataset(
    "Marimonald/ojisan-translation-corpus-ja",
    data_files="ojisan_kto.jsonl",
    split="train"
)

ライセンス

本データセットは WTFPL (Do What The Fuck You Want To Public License) の下で公開されています。商用利用、改変、再配布など制限なく自由に使用できます。詳細は上記の英語セクションに記載のライセンス全文をご参照ください。