SentencePiece

SentencePiece

SentencePieceとは

SentencePiece(センテンスピース)とは、Googleが開発したオープンソースのテキストトークナイザーおよびデトークナイザーです。言語に依存しない設計が特徴で、前処理(空白分割や正規化など)なしに生のテキストから直接サブワード分割を行えます。

言語非依存の設計

従来のトークナイザーは空白で単語を分割することを前提としていたため、日本語や中国語のように単語間にスペースがない言語では前処理が必要でした。SentencePieceはテキスト全体を一つの文字列として扱い、空白文字も特殊文字(▁)として語彙に含めることで、言語を問わず統一的に処理できます。

サポートするアルゴリズム

SentencePieceはBPE(Byte Pair Encoding)とUnigram言語モデルの2つのサブワード分割アルゴリズムをサポートしています。Unigramモデルは候補語彙から不要なサブワードを確率的に除去していく方式で、より柔軟な分割が可能です。

SentencePieceの採用例

SentencePieceはT5、ALBERT、XLNet、mBERTなどの多言語モデルで広く採用されています。日本語のような言語でも特別な前処理なしに使用でき、学習・推論の再現性も高いことから、多くの研究・実用プロジェクトで利用されています。