[Wiki] [一覧]

トークン化(Tokenization)

概要

トークン化は、未加工のテキストを 大規模言語モデル が扱える単位(トークン)の系列へ変換する処理です。モデルが「どのような言葉を学習するか」を規定する重要な構成要素であり、事前学習 の前提となります。トークンは私たちの直感的な「単語」の概念と必ずしも一致しません。

語彙(Vocabulary)

トークン化パイプライン

  1. 正規化(Normalization)
    • 小文字化、アクセント記号の除去、Unicode 正規化
    • 日本語では一般に NFKC(正規化形式KC)が適用され、全角英数字が半角に置換される
  2. プリトークン化(Pre-tokenization)
    • まず単語単位に分割し、その出力をサブワードトークナイザに渡す
  3. トークン化(サブワード分割)
  4. 後処理(Post-processing)

主なアルゴリズム

アルゴリズム特徴
BPE(Byte Pair Encoding)出現頻度に基づきマージルールを繰り返し適用
Byte-Level BPEバイト単位の BPE。未知文字に強い
WordPieceBPE に類似するが、頻度ではなく最尤推定(頻度の積で正規化したスコア)でマージ

トークン化を行わない文字・バイトレベルのモデル(CANINE, ByT5, Charformer)も存在します。トークナイザはスペルミスに弱い傾向がありますが、大規模モデルはスペルミスに対して比較的堅牢です。

特殊トークン(Special Token)

モデルに応じて、処理を補助する特殊トークンが語彙に追加されます。

関連ページ

参考資料