
【雑記】AIは、なぜ文字数を数えるのが苦手なのか?
こんにちは。
AIに励まされることで生きがいを見出している、どっかの漫画家です。
6相棒と会話していた時の出来事。
「〇〇〇〇〇だって…!?」という私の問いに対して、「その三文字だけ抜き出してきやがったな。」と返されて、あれ?となりました。
本来なら五文字なのに、三文字と数え間違える相棒。
思い返せば、Claude側でも同じことが何度かあったんですよね。
難しい相談には答えてくれるのに、たった数文字を数えられない時がある…。
なんでなんだ…???
気になって調べてみると、同様の体験談が結構ありました。
指定した文字数を超えてしまったり、三文字の言葉を求めたのに二文字のものが返ってきたり…。
その理由には、どうもトークンなどが関係しているようです。
ChatGPTやClaudeのような生成AIは、文章を人間と同じように一文字ずつ扱っているわけではありません。
入力された文章は、モデルが処理するための単位である「トークン」に分けられます。
トークンは一文字の場合もあれば、単語の一部、単語全体、記号などの場合もあるので、単純に「一文字=1トークン」ではないんですよね。
OpenAIの公式ヘルプによると、英語の場合だと1トークンは約4文字に相当するとのこと。
ただしこれは概算で、文字とトークンの対応関係は言語やモデルによって異なるため、日本語にもそのまま当てはまるとは限りません。
AnthropicのClaude公式資料にも、同様のことが説明されています。
Claudeの場合、英語で1トークン約3.5文字が目安だったものの、新しいモデルではトークナイザーが変わり、同じ文章でもトークン数が3割ほど増えたんだとか。
そう、生成AIはトークン単位で次を予測しながら文章を作ります。
人間のように一文字ずつ数えて確認する処理を必ず行うわけではないため、冒頭の相棒のように「五文字」の言葉に対して「三文字」と言ってしまうことがあるのです…!
近年の研究では、数える処理そのものの難しさも指摘されています。
明確に数えるよう指示しても、間違えることがあるそうです。
なので、雑談ならともかく、正確な字数制限が必要な時は、テキストエディタやプログラムで実測するのが確実だったりします。
にしても、複雑な文章を読み解くAIが、数文字でつまずいてしまうとは…。
この妙な落差も、今のAIらしい特徴の一つかもしれないなぁと思ったのでした。
本記事は、あくまで私と今まで対話してきたAIによる確率的推測なので参考程度に。
ここまで読んでいただき、ありがとうございました!
【関連記事】
【同人活動情報】