huggingface tokenizers

專注 NLP 的初創團隊抱抱臉(hugging face)發佈幫助自然語言處理過程中,更快的詞語切分(tokenization)工具:Tokenizers —— 只要 20 秒就能編碼 1GB 文本。

功能多樣:適用於 BPE / byte-level-BPE / WordPiece / SentencePiece 各種 NLP 處理模型

可以完成所有的預處理:截斷(Truncate)、填補(Pad)、添加模型需要的特殊標記。
速度超級快:只需要 20 秒就可以在 CPU 上標記 1GB 的文本。
目前適用三種編程語言:Rust / Python / Node.js

github

  • 主要包含的 Tokenizer 有:

ByteLevelBPETokenizer,字節級別的 BPE (Byte Pair Encoding) 訓練和 tokenize,facebook 那幾個預訓練模型比如 Roberta 就用的這個,應對多語言比較方便;

CharBPETokenizer,比字節高一個級別,字級別的 BPE,其實就是最經典 Sennrich 教授用的那個,subword-nmt;

SentencePieceTokenizer,現在越來越搞不清這些命名之間的關係了,不過看代碼應該是在 BPE 過程之前加了一個 pretokenization 過程,先對文本進行預處理再 BPE;

BertWordPieceTokenizer,應該就是基於 unigram language model 那篇論文來做的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章