AI・機械学習
上級

WordPiece(ワードピース)

Googleが開発したサブワードトークナイゼーションアルゴリズム。BPEと同様にボトムアップで語彙を構築するが、マージ候補の選定に言語モデル尤度(対数尤度変化量)を使用する点が異なる。BERT・DistilBERT・ELECTRA等のGoogleのエンコーダモデルで標準的に採用されている。

0 回閲覧
0 いいね
2026/6/20 更新
関連タグ
WordPiece
Google
BERT
トークナイゼーション
サブワード
NLP
尤度

WordPieceとは

WordPieceは、Googleが開発したサブワードトークナイゼーションアルゴリズムである。テキストを単語より小さな「サブワード」単位に分割し、頻出パターンは1トークンに、稀な語は複数のサブワードに分解する。BERT・DistilBERT・ELECTRA・MobileBERTなどGoogle系のエンコーダモデルで標準的に採用されており、NLP分野で最も広く使われたトークナイザの一つだ。

BPEとの違い

WordPieceとBPEはどちらもボトムアップでサブワード語彙を構築する点で共通しているが、マージ候補の選定基準が異なる。

比較軸BPEWordPiece
マージ基準最頻出ペア(頻度)尤度最大化ペア
計算コスト低い(単純カウント)高い(尤度計算)
理論的最適性貪欲な近似より最適に近い
実装複雑度シンプルやや複雑
主な採用モデルGPT系, LLaMABERT系

BPEは「コーパス中で最も頻繁に隣接するペア」をマージする。WordPieceは「マージによって訓練コーパスの言語モデル尤度が最も向上するペア」をマージする。具体的には以下の式でスコアを計算する。

score(x, y) = freq(xy) / (freq(x) × freq(y))

この式は相互情報量(PMI: Pointwise Mutual Information)に相当し、個別には頻出しないが共起すると意味のあるペアを優先的にマージする効果がある。

##プレフィックスの仕組み

WordPieceの特徴的な表記ルールとして、単語の先頭以外のサブワードに ## プレフィックスが付く規則がある。

入力:   "unbreakable"
分割結果: ["un", "##break", "##able"]

入力:   "自作PCを組み立てる"
分割結果: ["自", "##作", "##P", "##C", "##を", "##組", "##み", "##立", "##てる"]

## はそのサブワードが単語の途中であることを示すマーカーだ。デコード時に ## を除去してサブワードを連結すれば元のテキストを復元できる。この設計により、モデルは単語の開始位置と途中位置を区別して学習できる。

BERTでの語彙設計

BERTのWordPiece語彙は30,522トークンで構成される。

語彙の構成要素トークン数説明
特殊トークン5[PAD], [UNK], [CLS], [SEP], [MASK]
未使用予約994[unused0]〜[unused993]
通常トークン29,523英語サブワード + 多言語文字

BERTの語彙は主に英語テキストで訓練されているため、日本語テキストのトークン効率は低い。漢字やカタカナが1文字ずつ分割されるケースが多く、同じ文の英語版と比較して2〜4倍のトークン数になる。この問題に対処するため、東北大学が公開した日本語BERT(tohoku-nlp/bert-base-japanese)は日本語に最適化された独自のWordPiece語彙を使用している。

WordPieceの歴史的経緯

WordPieceの発展は以下の3段階に分かれる。

  1. 2012年: Google翻訳チームのSchusterらが日本語・韓国語の音声認識向けに開発。論文 "Japanese and Korean Voice Search" で初出
  2. 2016年: Google Neural Machine Translation(GNMT)でBPEの代替として採用。37,000語彙で多言語翻訳を実現
  3. 2018年: BERTでWordPieceが採用され、NLP分野全体に普及。30,522語彙が事実上の標準に

BERTの爆発的な成功によりWordPieceは広く認知されたが、GPT-2以降の生成モデル(Decoder-only Transformer)はBPEを採用する流れとなり、2026年現在ではBPEが業界の主流になっている。WordPieceはBERT系のエンコーダモデルの遺産として残っている状況だ。

現在のWordPiece採用モデル

モデル語彙サイズリリース年備考
BERT base/large30,5222018英語中心の多言語対応
DistilBERT30,5222019BERTの蒸留版(語彙共通)
ELECTRA30,5222020置換トークン検出方式
MobileBERT30,5222020モバイル向け軽量版
BERT日本語(東北大)32,7682020日本語最適化WordPiece
multilingual BERT119,5472018104言語対応

FAQ

Q1. WordPieceとBPEはどちらが優れていますか?

理論的にはWordPieceの方が尤度ベースで最適な語彙を構築できますが、実用上の性能差は小さいです。BPEは実装がシンプルで高速なため、2026年現在の主流はBPEです。WordPieceはBERT系モデルを使う場合に意識するアルゴリズムで、新規モデル開発ではBPEが選ばれることが多いです。

Q2. ##プレフィックスは他のトークナイザにもありますか?

##プレフィックスはWordPiece固有の表記です。BPEでは空白の有無で位置を区別し、SentencePieceでは▁(下部ブロック)で単語先頭を示します。いずれもサブワードの位置情報をエンコードする仕組みですが、記法が異なります。

Q3. BERTのWordPieceトークナイザで日本語はうまく処理できますか?

多言語BERTの標準WordPiece語彙では日本語のトークン効率が悪く、漢字が1文字ずつ分割されがちです。日本語を主に扱う場合は、日本語コーパスで訓練された専用WordPiece語彙を持つモデル(tohoku-nlp/bert-base-japaneseなど)の使用を推奨します。

この記事について
カテゴリーAI・機械学習
難易度上級
作成日2026/6/20