Tokenization
トークン化(トークナイズ)は、テキストを意味単位(単語・サブワード・文字)の列に分割する。NLP と検索エンジンの基礎的な工程である。
目的
連続したテキストを離散的なトークン列に変換し、下流の処理と解析に備える。
メカニズム
英語は空白と句読点で分割する(略語やハイフンは特別扱いが必要である)。中国語は単語分割アルゴリズムが必要である(最大一致、HMM/CRF などの統計モデル、BERT などの深層モデル)。サブワード化(BPE、WordPiece)は語彙サイズと網羅性のバランスを取る。
ユースケース
- 検索エンジンのインデックス構築
- NLP の前処理(BERT のトークナイズ)
- コード解析における字句処理
- テンプレートエンジンの変数解析
例
- 入力
I love NLPOutput["I","love","NLP"]Whitespace tokenization
よくあるエラー
- Processing Chinese as raw characters without segmentation
- Use segmenters such as jieba/THULAC
関連用語
N-gram
N-gram(エヌグラム)はテキストから切り出したN個の連続した単位(文字または単語)の列であり、言語モデルや類似度、テキスト解析に使われる。 用語集
Stemming
ステミングは単語を語幹へ縮約するヒューリスティック処理である(例:running → run)。こうして語形変化が検索マッチングに影響しないようにする。 用語集
Stop Words
ストップワードは高頻度・低意味の語(the、is、at、on)で、検索や NLP でノイズを減らすためによく除去される。 用語集
Bag of Words
bag-of-words モデルはテキストを順序のない単語頻度ベクトルとして表現し、文法や語順を無視する。テキスト分類や検索の基礎となる表現である。 用語集