sue@blog ~ /posts/ai-image-japanese-llm-tokenizer
$ cd ../
$ cat post.metadata

LLMトークナイザと日本語の相性 — 文字数勘定・バイト分割・グリッチトークン

date: 2026-06-16 LLM トークナイザ 考察
画像の漢字崩れの根っこは「文字ブラインドなトークナイザ」だった(本編②)。同じ仕組みはテキストLLMでも日本語トラブルを生む。画像から離れて、LLM一般の話として整理する(考察)。
「周辺日本語トラブル」編(全8回)
画像内: A 和欧混植B 異体字・旧字体C 濁点・小書き・長音D 縦書きE 擬似日本語の湧き | 画像の外: F OCRG LLMトークナイザ(この記事)H TTS
漢字崩れの本編は ① 症状と対処② なぜ崩れる③ 実装対策④ 崩れやすい字リスト

本編②とのつながり
画像生成AIが漢字を崩す主因の1つは、入力を文字単位ではなくサブワード/バイト単位に割る BPE トークナイザだった(→ ② なぜ崩れるのか)。この「文字が見えていない」性質は、テキストを生成するLLMでも日本語特有のクセとして表に出る。

1. 文字数を数え間違える

「30文字以内で」「全部で何文字?」「逆さから読んで」「しりとり」——この手の文字単位の操作をLLMは外しやすい。モデルは文をトークン(サブワード)の列として見ていて、1トークン=1文字ではないからだ。日本語は1トークンに複数文字が入ったり、逆に1漢字が複数トークンに割れたりするので、文字数の体感がさらにずれる。

2. 漢字がバイト/トークンに割れる・効率が悪い

3. グリッチトークン

学習コーパスにほとんど出てこないのに語彙には入っているトークン(いわゆるグリッチトークン)は、入力すると無関係な出力・復唱拒否・暴走などの妙な挙動を誘発することが知られる。日本語混じりの珍しい記号列・特定の固有名詞断片で踏むことがある。

4. Unicode 正規化のゆれ

ゆれ中身
全角/半角「A1」と「A1」、「!」と「!」が別バイト列。検索・重複判定・文字数が食い違う
濁点の合成 vs 単一「が」を「か」+結合濁点で表すと、見た目同じでもコードポイント列が違う(NFC/NFD)
異体字・互換文字髙/高、㈱/(株)、ハンカクカナ など。同義に見えて別物

「見た目は同じなのに一致しない」「文字数が合わない」の多くはここが原因。

5. 対策

まとめ

画像の漢字崩れと同じ「文字が見えていない」性質が、LLMでは文字数勘定・トークン効率・正規化ゆれとして出る。対策の軸は一貫していて、文字単位の正確さはモデルに任せずコードで担保すること。次はH 音声合成(TTS)が日本語を読み間違えるときへ。

シリーズ
周辺トラブル編: A 和欧混植B 異体字・旧字体C 濁点・小書き・長音D 縦書きE 擬似日本語の湧きF OCRG(この記事)H TTS | 本編: ① 症状と対処② なぜ崩れる③ 実装対策④ 崩れやすい字リスト
sue@blog ~ $ _