ChatGPTはチャット型の対話形式でAIとの会話のキャッチボールを行いますが、それには文字数制限があります。文字数制限は「1.利用者が入力できる文字数の制限」「2.ChatGPTが返信できる文字数の制限」がそれぞれ存在します。今回は、ChatGPTの文字数制限について解説するとともに、その解決策についても解説します。
ChatGPTの4096トークン制限とは、入出力の文字数制限のこと
ChatGPTに対して利用者が入力できる文字数や、ChatGPTが返信できる文字数には4096トークン制限というものがあります。ChatGPTにおけるトークンとは、テキストデータを分割して保存する際の最小単位のことを指します。
Open AIはトークン数のカウントが簡単にできる「Tokenizer」というページを公開しています。
トークンとは文字数とは異なる概念なのでわかりづらいですが、大まかに次のようなイメージとなっています。
英語は1単語=1トークン(固有名詞等の大文字は追加1トークン)
トークンという概念は非常にわかりづらいのですが、英語の場合は大まかに1単語=1トークンと考えると良いでしょう。
- 「I like soccer.」 単語3つ+ピリオド1個=4トークン
- 「He discovered relativity.」 単語3つ+ピリオド1個=4トークン
「I like soccer.」は14文字、「He discovered relativity.」は25文字もありますが、どちらも4トークンです。また、固有名詞などを大文字にした場合は追加で1トークンは追加になります。
- 「I like Sushi.」 単語3つ+ピリオド1個+固有名詞大文字1個=5トークン
- 「Einstein discovered relativity.」 単語3つ+ピリオド1個+固有名詞大文字1個=5トークン
日本語は漢字1文字=2〜3トークン ひらがなカタカナ1文字=1トークン
日本語の場合は大まかに「漢字=2 or 3トークン、ひらがな=1トークン」と考えると良いでしょう。
- 「私はサッカーが好きです。」 漢字2個(5トークン)+ひらがなカタカナ9個+句読点1個=15トークン
- 「彼は相対性理論を発見しました。」 漢字8個(18トークン)+ひらがな6個+句読点1個=25トークン
日本語の場合、文字数よりもトークン数が多くなってしまうことがほとんどです。(漢字によってトークン数が変化しますが、その詳細のロジックの解説は割愛します。)
ここでわかるのは、全く同じ意味の文章でも英語と日本語ではトークン数に大きな差があります。「He discovered relativity.(彼は相対性理論を発見しました。)」という全く同じ意味の文章を英語ではたった4トークンで入力できるのに対して、日本語では25トークンも使ってしまうということがわかります。
ChatGPTのトークン制限は入力も出力も4096トークン制限
「1.利用者が入力できる文字数の制限」「2.ChatGPTが返信できる文字数の制限」どちらもが4096トークンの制限があります。英語の場合は1単語=1トークンなので、4096トークンということは約4096単語ということになり非常に長い文章を入出力することが可能になります。
一方日本語の場合、4096トークンとは約2000文字程度となります。
文字数制限の突破方法【入力】英語に変換して入力
4096トークン(=約2000文字)の制限ですが、ChatGPTへの入力でこの制限が問題になることはあまり多くは無いと思いますが、例えば長文のテキストデータの要約などをChatGPTに依頼する場合に文字数がオーバーしてしまうことはありえます。
このような場合の突破方法は「英語に翻訳した上で入力する」という裏技です。入力したい文章を日本語で作成した上でGoogle翻訳やDeepLなどを使って英語に翻訳して入力するとトークン数を大幅に圧縮することができます。
筆者が行った実験では、日本語で3900文字の文章を用意したところ、4694トークンとなり上限値を超えてしまいました。この文章をDeepLを使って英語に翻訳したところ文字数は8104文字になりましたが、1899トークンとなり、上限の1/2以下となり入力に成功しました。
文字数制限の突破方法【出力】ChatGPTの返信が途中で途切れる場合は「続けて」
4096トークン(=約2000文字)の制限ですが、ChatGPTへの入力でこの制限が問題になることはあまり多くない一方、ChatGPTからの返信(出力)ではこの制限が問題になることが多いです。「ChatGPTからの返事が途中で止まってしまう」という悩みが多く寄せられますが、それはこの4096トークン制限に引っかかっている場合がほとんどです。
しかし、これには非常に簡単な解決策があります。返信が途中で途切れた場合にはChatGPTに「続けてください」や「continue」といった文章を入力するだけで、そのまま続きを書き始めてくれます。
ChatGPT Plus(有料版)ならトークン制限が緩和される
ChatGPTの4096トークン制限は無料版における制限となっており、月額20ドルの有料版ChatGPT(ChatGPT Plus)ではその制限が10,240トークンと2.5倍になります。2.5倍であれば日本語でChatGPTを利用する場合にも制限を感じることはほとんど無くなるでしょう。