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 那篇论文来做的。

你可能感兴趣的:(自然语言处理,tokenizers,深度学习)