【とーくないざー】

トークナイザー とは?

最終更新:
💡 文章を小分けにして、AI向けの番号を付ける

テキストをトークンという単位に分け、モデルの語彙に対応するIDへ変換する仕組み。分割ルールや語彙、前処理はトークナイザーごとに異なり、同じ文章でもトークン数やIDは変わる。

📌 このページのポイント
トークナイザー — 小分けにしてIDへ入力テキスト今日は晴れトークナイザートークンとIDの対応今日ID:101はID:7晴れID:205分け方と番号は、モデルごとに違う
分割とIDは説明用の架空の例。実在するモデルの出力ではない。正規化や特殊トークンの追加などは省略している。
ひよこ ひよこ
トークナイザーは、文章を単語に分ける道具なの?
ペンギン先生 ペンギン先生
単語に分けるだけとは限らないよ。文字・単語・単語の一部分などをトークンとして扱い、語彙に対応する番号であるIDに変えるんだ。BPE、WordPiece、Unigramなどの方式がある。たとえば長い単語をいくつかの部品に分ける場合もあるけれど、どこで分かれるかは使うトークナイザー次第だよ。
ひよこ ひよこ
日本語でも、同じやり方で分けるの?
ペンギン先生 ペンギン先生
日本語も、そのモデルの分割ルールと語彙に従うよ。「今日は晴れ」を「今日」「は」「晴れ」とする図のような分け方は説明用の例で、実際に必ずそう分かれるわけではない。文字の一部やバイトに対応する単位を使うものもある。英語も日本語も、1文字や1単語が常に1トークンになるとは覚えないでおこう。
ひよこ ひよこ
トークン数を、文字数で計算できる?
ペンギン先生 ペンギン先生
固定の倍率では決められないよ。文章の内容と、トークナイザーの語彙や前処理で変わるからね。日本語は英語の何倍、と一律にも言えない。大文字を小文字にする正規化や、開始・終了などを表す特殊トークンの追加がある場合もあるので、実際に使うモデルに対応した道具で数えよう。
ひよこ ひよこ
長すぎる文章は、勝手に短くしてくれる?
ペンギン先生 ペンギン先生
必ずそうなるわけではないよ。モデルの入力上限と、切り詰めの設定を確認しよう。Hugging FaceのTransformersではtruncationなどで切り詰め方を指定できる。サービスによっては上限を超えた要求がエラーになることもある。重要な情報が残るように、分割や要約を含めて扱いを考えよう。
ひよこ ひよこ
番号から元の文章にも戻せるの?
ペンギン先生 ペンギン先生
IDを語彙のトークンに戻し、文章にする処理をデコードと呼ぶよ。ただし小文字化やアクセントの除去などの正規化をした場合、元の表記がそのまま戻るとは限らない。トークン数は入力上限のほか、トークン単位の料金があるサービスでも関係するけれど、入力と出力の単価など、料金条件は別に確かめる必要があるんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「トークナイザー」って出てきたら「文章を小分けにして、AI向けの番号に変える道具」と思えばだいたいOK!
📖 おまけ:英語の意味
「Tokenizer」 = トークン化する仕組み
💬 Tokenは、ここでは処理の単位となる文字列の断片など。Tokenizerはそれらに分ける仕組みを指すよ。

参考資料

← 用語集にもどる