トークナイザ【tokenizer】

トークナイザとは?

文章やプログラムなどの連続した文字列を、意味を持つ最小単位に分割するソフトウェア。また、ソフトウェアの持つそのような機能。分割された単位は「トークン」(token)と呼ばれ、単語や記号、数値、区切り文字などが含まれる。
トークナイザのイメージ画像

トークンの区切り方は言語や用途によって異なる。英語のようにスペースで単語を区切る「分かち書き」を行う言語では、空白やカンマピリオドで分割するのが一般的である。ただし、略語や記号の扱いが絡むため、単純に空白で切るだけでは不十分な場合もある。

日本語や中国語はそもそも単語間にスペースがなく、単語を収録した辞書を作成して参照したり、文の構造に基づく統計的な手法で区切りを判断する必要があるため、処理はより複雑になる。日本語では文の構造を分析して単語に分解する手法を「形態素解析」という。

機械学習モデルの一種である大規模言語モデルLLM)では、単語単位でも文字単位でもなく、単語の一部を1トークンとして扱う「サブワード分割」が広く使われている。頻出する語はそのまま1トークンになり、珍しい語や造語は複数のトークンに分割される。この手法では辞書にない未知語にも対応でき、語彙数を抑えて計算効率を保てるため、機械翻訳文章生成システムで定着した手法である。分割されたトークンには数値の識別子が割り当てられ、コンピュータはこの数値列を通じて言葉の文脈や統計的な傾向を学習する。

ChatGPTClaudeGeminiなどの生成AIでは、利用者が入力した文章がトークナイザによって数値列に変換されてモデルへ送られ、出力もトークン単位で生成されてから文字列に戻される。これらのサービスが料金や利用制限をトークン数で定めているのは、モデルの処理単位がトークンだからである。同じ文字数でも言語や内容によってトークン数は変わり、日本語は英語に比べてトークン消費が多くなりやすい。なお、学習時と推論時で同じトークナイザを使うことが前提となっており、トークンの定義がモデルの挙動に直接影響する。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。