ChatGPTを扱っている際、日本語で書かれた長文の要約や「長いプロンプト」の入力に苦戦した経験がある方も多いでしょう。日本語で書かれた長文の要約が難しい最大の理由は「トークン数」です。
「1文字1トークン」ではないため、正確な文字数制限を見繕うことは難しいですが、筆者が検証した限りではおおよそ2800文字を超えだすと「The message you submitted was too long, please reload the conversation and submit something shorter.」という警告が表示されることが増えだします。
今回はこうしたChatGPTの文字数制限について、検証も交えながら、より詳しく解説します。
ChatGPTの文字数制限とトークンの考え方
ChatGPTは厳密には「文字数制限」はなく、「トークンの制限」があります。つまりテキストは「トークン換算」で考える必要があります。
OpenAIが提供するトークン数の試算ツール「Tokenizer」で、オトナライフの記事を参考にトークン数を見積もってみましょう。なおテストとして使ったのは、以下の記事のテキストです。
・ガラケーが使えるのはいつまで?3G回線終了後の4Gガラケー・ガラホ買い替えガイド
この4691文字の原稿のうち、3800文字ほどを抜粋してChatGPTに貼り付けると先ほどのように文字数制限エラーが出ました。
一方で2951文字ほどまで削減し、ペーストすると文字数制限エラーは発生しない状況となりました。
おおよそ日本語の文章を扱う時は、2800文字~3000文字の範囲内であれば扱える。トークン数としては「4096トークン以内」と考えておけば問題なさそうです。
トークン数に比べて「日本語で扱える文字数」が少ないのは何故?
結論から言えば「漢字のせい」です。
日本語で扱える文章量にバラつきが出るのは、その文章に「漢字が多いかどうか」や「英語が多いかどうか」でトークン数がかなり大きく変わるためです。
日本語の文章をすべて「英語」に翻訳したらトークン数はどう変わる?
日本語の文章を扱うと、漢字が多いことからトークン数がかさみます。では「英語に変えれば、日本語の長文でも長文を扱えるのか」検証してみましょう。さきほどと同じく、以下の記事の全文を対象に試してみます。
・ガラケーが使えるのはいつまで?3G回線終了後の4Gガラケー・ガラホ買い替えガイド
結論から言えば、驚異的なトークン削減効果を得られました。
日本語と英語で処理効率がまったく異なる理由は、OpenAIでは英語の場合、「英単語1つ」につき「1トークン」を消化しているためです。
よって文字数制限に悩む場合、文章をすべて英訳してしまうのがもっとも効率がいいと言えるでしょう。
まとめ
ChatGPTの文字数上限は、そもそもChatGPTが「トークン」を基準に処理しているため一概に言えませんがおよそ2800文字~3000文字。
この文字数を超えた長文を扱いたい場合は、DeepLで処理対象の文章やプロンプトをすべて英訳して処理を行うのが圧倒的におすすめ。ブラウザ経由で使う場合に文字数上限に引っかかることが減りますし、API経由で処理している場合はAPI利用料金の節約になります。
※サムネイル画像(Image:Markus Mainka / Shutterstock.com)