ChatGPTを使っている方の中で、
- 「ChatGPTでトークンという言葉を聞いたことがあるけど、トークンてなに?」
- 「文字数とトークン数って違うの?」
- 「日本語と英語でトークン数のカウント方法は違う?」
といった疑問をお持ちの方も多いのではないでしょうか。
この記事では、ChatGPTを理解して上手に使いこなすうえで重要な「トークン」について、トークンとはなにか、トークンがなぜ重要なのか、トークンの調べ方や、日本語と英語のトークンの違いなどについて、初心者の方向けにわかりやすく解説します。
目次
トークンとは?
ChatGPTにおけるトークンとは、ChatGPTが処理するテキストの基本単位のことです。
簡単にいうと、「文字列を意味のあるかたまりに分けたもの」で、英語においては1単語≒1トークンとざっくり理解しておくといいでしょう。
トークンには、文字・単語のほか、句読点、記号などの特殊文字も含まれます。
これだけでは、イメージがわきづらいと思うので、具体例を見てみましょう。
例えば、「 This is a pen.」という文章は、文字数(句読点含む)でいうと11文字ですが、トークンに分けると、
- This = 1トークン
- is = 1トークン
- a = 1トークン
- pen = 1トークン
- . = 1トークン
のように、5トークンとカウントされます。
ただし、日本語は、英語と異なり1単語≒1トークンとはなりません。日本語におけるトークンのカウントについては、以下で解説します。
トークンはなぜ重要?
ChatGPTが、テキストを処理する基本単位として「トークン」を利用していることを解説しましたが、ChatGPTユーザーにとって、トークンは何が重要なのでしょうか?
それは、ChatGPTで使用するトークン数が、以下のように文字数制限とAPI利用料金に影響するからです。
- ChatGPTの文字数制限はトークン数で制限される
- OpenAI APIの利用料金はトークン数に対して課金される
以下でそれぞれ解説します。
ChatGPTの文字数制限はトークン数で制限される
長文の要約をしたいときなどにChatGPTに長文を入力したら文字数が多すぎてエラーが出た、といった経験をお持ちの方は多いのではないでしょうか。
ChatGPTには入出力できる文字数の制限(上限)がありますが、実は厳密には「文字数」ではなく、「トークン数」に対して制限(上限)が設けられているのです。
そのため、例えばChatGPTに入力できるトークン数の上限が8,000トークン(モデルなどによって異なります)とした場合、「トークン」の概念を理解していないと、「日本語で8000文字以下で入力したのに文字数制限で入力エラーになってしまった。なぜ?」といったように原因を理解できず対処できませんが、「トークン」を理解していれば、その原因を理解し対処することができます。
【合わせて読みたい】ChatGPTに入力できる文字数制限は何文字?
ChatGPTに入力できる文字数の上限について、無料版(ChatGPT-3.5)と有料版(ChatGPT-4)それぞれについて、以下の記事で詳しく解説しているのでぜひ合わせてごご覧ください。
OpenAI(ChatGPT)のAPI利用料金はトークン数に対して課金される
もう一つ、トークンを理解することが重要な理由は、OpenAI(ChatGPT)のAPIを利用した場合にかかるAPI利用料金がトークン数に対して課金されるためです。
OpenAIの言語モデルの料金体系は、基本的には次のようになっています。
API利用料金 = 入力したトークン数×利用単価 + 出力したトークン数 ×利用単価
このため、使用するトークン数が多いとAPI利用料金も高くなってしまいます。
APIの利用料金をコントール・節約するためには「トークン」を正しく理解することが必要です。
【合わせて読みたい】最新のOpenAI API利用料金まとめ
最新のOpenAI API利用料金については、以下の記事で2023年12月時点の料金体系を詳しく解説しているのでぜひ参考にしてみてください。
トークン数の調べ方
次に、具体的な文章のトークン数を調べる方法を紹介します。
OpenAIが公式に提供する無料ツール「Tokenizer(トークナイザー)」で、文章のトークン数を簡単に調べることができます。
OpenAIのTokenizer(トークナイザー)はこちら
では、英語と日本語それぞれのトークン数の特徴や違いをみてみましょう。
英語のトークン数
英語のトークン数の数え方は、基本的に
- 1単語≒1トークン(例外あり)
- 句読点も1トークンとしてカウント
となります。
では、「Tokenizer(トークナイザー)」を使って実際の文章でトークン数を見てみましょう。
Listening to the rain, I am quietly enjoying a cup of coffee by the window.
という文章をTokenizer(トークナイザー)で調べると、75文字、17単語に対してトークン数は17でした。
この文章のトークンは、以下のように単語と句読点でカウントされて17トークンとなります。
- Listening = 1トークン
- to = 1トークン
- the = 1トークン
- rain = 1トークン
- , = 1トークン
- I = 1トークン
- am = 1トークン
- quietly = 1トークン
- enjoying = 1トークン
- a = 1トークン
- cup = 1トークン
- of = 1トークン
- coffee = 1トークン
- by = 1トークン
- the = 1トークン
- window = 1トークン
- . = 1トークン
日本語のトークン数
日本語の場合、英語と異なり、1単語≒1トークンとはならず、1文字≒1~3トークンと英語に比べてトークン数が多くなるのが大きな特徴です。
また、ひらがなと漢字でもトークン数が異なり、より複雑です。
上記の英語の文章と同じ意味の日本語の文章でトークン数をTokenizer(トークナイザー)で調べてみましょう。
雨音を聞きながら、私は窓際で静かにコーヒーを楽しんでいる。
日本語の文章だと、以下のように文字数が29なのに対してトークン数が35と、トークン数が文字数よりも多くなっていることがわかります。
次に、同じ日本語でも、ひらがなと漢字でトークン数がどのように違うのか解説します。
■ひらがなのトークン数
ひらがなのトークン数は、基本的に
1文字=1~2トークン
となることが多いです。
ただ、例外的に「です」「ます」など、「です」=1トークン、「ます」=1トークンとなることもあります。
例えば、以下のひらがなの文章だと、12文字で12トークンとなります。
わたしはいぬがすきです。
以下のように、「ぬ」=2トークン、「です」=1トークンで、それ以外のひらがなが1トークンとしてカウントされます。
- わ =1トークン
- た =1トークン
- し=1トークン
- は=1トークン
- い=1トークン
- ぬ=2トークン
- が=1トークン
- す=1トークン
- き=1トークン
- です=1トークン
- 。=1トークン
■漢字のトークン数
漢字のトークン数は、基本的に
1文字=1~3トークン(2トークンとなることが比較的多い)
となることが多いです。
例えば、「犬」という漢字は、以下の通り1トークンです。
例えば、「窓」という漢字は、2トークンです。
例えば、「犬」という漢字は、以下の通り3トークンでカウントされます。
日本語と英語のトークン数まとめ
以上の内容をまとめると、英語と日本語のトークン数は概ね以下のようになります。
文字の種類 | 1文字のトークン数 |
---|---|
英語 | 1単語 ≒ 1トークン |
ひらがな | 1文字≒1~2トークン |
漢字 | 1文字≒1~3トークン |
まとめ
この記事では、ChatGPTの「トークン」について、トークンとはなにか、トークンがなぜ重要なのか、トークンの調べ方や、日本語と英語のトークンの違いなどについて、初心者の方向けにわかりやすく解説しました。
まとめると、以下の通りです。
まとめ
・「トークン」とは、ChatGPTが処理するテキストの基本単位。
・ChatGPTの文字数制限はトークン数で制限される
・OpenAI APIの利用料金はトークン数に対して課金される
・トークン数はOpenAIが公式に提供する無料ツール「Tokenizer(トークナイザー)」で調べられる
・英語のトークン数は、1単語≒1トークン
・ひらがなのトークン数は、1文字≒1~2トークン
・漢字のトークン数は、1文字≒1~3トークン
「ChatGPTマガジン」を運営するゴートマン合同会社は、
・生成AIの導入支援
・生成AIを活用した業務効率化支援
・企業ごとにカスタマイズしたプロンプト作成代行
・生成AIを活用したサービス開発
など大企業から中小企業まで幅広くご支援しています。
まずは無料相談してしてみましょう。