📖 読了目安: 約3分
ショート動画を自動生成するシステムを運用していて、ずっと気になっていたことがありました。画面に表示される見出しや字幕が、ときどき変なところで改行されてしまうんです。
たとえば「AI」という単語が「A」と「I」で分かれて2行になったり、「舞台裏」が「舞台」と「裏」に分断されたり。読めないわけじゃないけれど、見た目がちぐはぐで、どうにかしたいと思っていました。今回はこの問題に取り組んだ記録です。
この記事のポイント
- 動画の見出しや字幕が単語の途中で改行される問題が発生
- 文字数だけを基準にした機械的な改行では、日本語の単語境界を判断できない
- 台本を作るClaude自身に区切り位置を指定させる方式で解決
「AI」が「A」と「I」に分かれる現象
問題に気づいたのは、完成した動画を確認しているときでした。見出しに「AI」という単語が入っていたのですが、画面では「A」だけが1行目に表示され、次の行に「I」が来ていたんです。英語ならこんなことは起きないのに、なぜこうなるのか。
原因はすぐに分かりました。プログラムは文字数だけを見て、「この長さになったら改行しよう」と機械的に判断していたからです。日本語の文章には英語のような単語間のスペースがないので、プログラムからすると「AI」も「舞台裏」も、ただの文字の並びにしか見えません。どこで改行しても同じ、という扱いになってしまっていたわけです。
プログラム側だけでは解決できない理由
この問題を解決するには、「どこが単語の区切りなのか」を判断する必要があります。でも、それをプログラム側だけでやろうとすると、日本語の辞書を持ち込んだり、形態素解析という仕組みを使ったりと、かなり大がかりな作業になってしまいます。
そもそも、この動画の台本を書いているのはClaude Codeです。Claudeは日本語の意味を理解して文章を作っているわけですから、どこが単語の区切りなのかは当然分かっているはず。だったら、Claudeに「ここで改行していいよ」という目印をつけてもらえばいいんじゃないか、と考えました。
Claudeに「改行していい場所」を教えてもらう
そこで試したのが、台本を作るときに単語を分断しない位置へ半角のパイプ記号「|」を入れてもらう方法です。プロンプトに「見出しや字幕は、単語の途中ではなく、意味のまとまりで改行できるように、改行していい位置に半角パイプを入れてください」と追加しました。
すると、Claudeは「AI資産ラボ|へリブランド」とか「舞台裏|週刊サマリー機能を追加」のように、ちゃんと単語の境界にパイプを入れてくれるようになったんです。プログラム側では、このパイプがあればそこを優先的に改行候補にして、無ければ従来通り文字数で折り返す、という仕組みに変更しました。
見出しだけでなく本文字幕にも適用
この方式がうまくいったので、動画本編のナレーション字幕にも同じ考え方を広げました。Claudeが台本を作る段階で、文節の区切りにパイプを入れてもらい、画面ではそこを優先的に改行します。これで、字幕も単語の途中で分断されることがなくなりました。
AIの弱点をAIに補ってもらう
今回の改善で面白かったのは、プログラム側の限界を、台本を書くAI自身に助けてもらった点です。Claudeは日本語の意味を理解して文章を作っているので、単語の境界を判断するのは得意なはず。その得意分野をうまく借りることで、複雑な辞書や解析の仕組みを追加しなくても問題を解決できました。
もちろん、Claudeがパイプを入れ忘れることもあるかもしれません。だから、パイプが無いときは従来の文字数ベースの折り返しに戻る仕組みを残しています。完璧ではないけれど、以前よりずっと自然な改行になったのは確かです。
関連記事
- ショート動画自動生成の舞台裏|字幕はみ出しと見出しデザインの試行錯誤
- 画像を流用して画面が壊れた話|ヘッダーロゴとファビコンの失敗から学んだこと
- X投稿とTikTokカード画像の自動化を実装した週|開発ログ
今回は、動画の見出しや字幕が単語の途中で改行されてしまう問題に取り組みました。プログラムだけでは日本語の単語境界を判断しきれないので、台本を作るClaude自身に改行してよい位置を教えてもらう方式に切り替えたという話です。
- 文字数だけの機械的な改行では、「AI」のような単語が分断されてしまう
- 日本語にはスペースが無いため、プログラム側だけで単語の境界を判断するのは難しい
- 台本を書くClaude自身に半角パイプで区切り位置を指定させることで解決
- AIの得意分野を組み合わせて、複雑な仕組みを追加せずに済んだ
本記事にはアフィリエイト広告・プロモーションが含まれる場合があります。紹介する商品・サービスの購入や申込みは、必ずご自身の判断と責任で行ってください。



コメント