【完全ガイド】ChatGPTの文字数制限は何文字?文字数制限を超えて長文を扱う方法は?

ChatGPTを扱っている際、日本語で書かれた長文の要約や「長いプロンプト」の入力に苦戦した経験がある方も多いでしょう。日本語で書かれた長文の要約が難しい最大の理由は「トークン数」です。

ChatGPTにおける「トークン」とは、一言で言えば「一回のやり取りで取り扱えるデータ量」。つまりChatGPTは文章やプロンプトを文字数として認識しているのではなく、トークンで数えています。ちなみにChatGPT(GPT-4)自身に尋ねてみたところ、最大トークン数は2048トークンという答えでした

とはいえChatGPTを使う時は「ChatGPTの言い分を鵜呑みにしない」ことも大切。「API経由のトークン数上限は?」と聞き方を変えると、4096トークンという答えが返ってきました。実際に検証してみたところ最新のChatGPTは「4096トークン」で扱われており、2048トークンではない様子

「1文字1トークン」ではないため、正確な文字数制限を見繕うことは難しいですが、筆者が検証した限りではおおよそ2800文字を超えだすと「The message you submitted was too long, please reload the conversation and submit something shorter.」という警告が表示されることが増えだします。

およそ3800文字の原稿をそのままChatGPTに貼り付けたところ「The message you submitted was too long, please reload the conversation and submit something shorter.」という警告が出ました。もっとも3000文字でも警告が出る場合もあれば、処理できるケースもあります。これは「トークンの仕組みと日本語との相性」が影響しています

今回はこうしたChatGPTの文字数制限について、検証も交えながら、より詳しく解説します。

ChatGPTの文字数制限とトークンの考え方

ChatGPTは厳密には「文字数制限」はなく、「トークンの制限」があります。つまりテキストは「トークン換算」で考える必要があります。

OpenAIが提供するトークン数の試算ツール「Tokenizer」で、オトナライフの記事を参考にトークン数を見積もってみましょう。なおテストとして使ったのは、以下の記事のテキストです。

・ガラケーが使えるのはいつまで?3G回線終了後の4Gガラケー・ガラホ買い替えガイド

4691文字の原稿なのですが、Tokenizerでトークン数に換算すると「5792トークン」という結果です。2048トークンに収まらないだけでなく、文字数に対してトークン数が膨れ上がっていることが分かります。API経由でこのテキストをそのまま使ったら、料金がかさんでしまいそうですね

この4691文字の原稿のうち、3800文字ほどを抜粋してChatGPTに貼り付けると先ほどのように文字数制限エラーが出ました。

一方で2951文字ほどまで削減し、ペーストすると文字数制限エラーは発生しない状況となりました。

2951文字まで削減すると、トークン数が「4096トークン以内」となったため文章を問題なく扱えたものと見られます

おおよそ日本語の文章を扱う時は、2800文字~3000文字の範囲内であれば扱える。トークン数としては「4096トークン以内」と考えておけば問題なさそうです。

トークン数に比べて「日本語で扱える文字数」が少ないのは何故?

結論から言えば「漢字のせい」です。

たとえば「年現在」という単語は文字数としては3つですが、トークンでカウントすると7トークン。ざっくり「文字数に対して倍のトークン」がかかります

日本語で扱える文章量にバラつきが出るのは、その文章に「漢字が多いかどうか」や「英語が多いかどうか」でトークン数がかなり大きく変わるためです。

日本語の文章をすべて「英語」に翻訳したらトークン数はどう変わる?

日本語の文章を扱うと、漢字が多いことからトークン数がかさみます。では「英語に変えれば、日本語の長文でも長文を扱えるのか」検証してみましょう。さきほどと同じく、以下の記事の全文を対象に試してみます。

・ガラケーが使えるのはいつまで?3G回線終了後の4Gガラケー・ガラホ買い替えガイド

結論から言えば、驚異的なトークン削減効果を得られました。

翻訳にはDeepLを用います

4691文字の原稿が英訳したことで1万文字を超えたのですが、トークン数は「2739トークン」まで削減されました。当然、4096トークンの制限には引っかかりません

オトナライフの「ガラケーはいつまで扱えるのか」の記事の全文(日本語でおよそ4691文字)は、翻訳を行うことでChatGPTで全文を処理対象に含めることができました

日本語と英語で処理効率がまったく異なる理由は、OpenAIでは英語の場合、「英単語1つ」につき「1トークン」を消化しているためです。

英単語「Apple」は1トークンに相当します。漢字1文字が2トークン以上消化しているのと比べ、効率が大きく違います

よって文字数制限に悩む場合、文章をすべて英訳してしまうのがもっとも効率がいいと言えるでしょう。

まとめ

ChatGPTの文字数上限は、そもそもChatGPTが「トークン」を基準に処理しているため一概に言えませんがおよそ2800文字~3000文字。

この文字数を超えた長文を扱いたい場合は、DeepLで処理対象の文章やプロンプトをすべて英訳して処理を行うのが圧倒的におすすめ。ブラウザ経由で使う場合に文字数上限に引っかかることが減りますし、API経由で処理している場合はAPI利用料金の節約になります。

※サムネイル画像(Image:Markus Mainka / Shutterstock.com

 OTONA LIFE | オトナライフ 
OTONA LIFE | オトナライフ
https://otona-life.com/2023/04/27/169757/
生活をもっと楽しく刺激的に。

オトナライフ編集部
iPhone・Android・SNS・パソコン関連・キャッシュレス、QRコード決済など、さまざまな情報を独自の視点や切り口で発信するニュースサイト
X/Twitter:@otonalife
YouTube:OTONALIFE Ch

iPhone/Androidスマホやキャッシュレス決済、SNS、アプリに関する情報サイト[オトナライフ]

関連記事

TOPICS
スキル・ビジネス最新記事

RANKINGランキング

6:00更新