Transformer课程 第8课 NER案例代码笔记- Tokenization
Tokenization & Input Formatting数据集已经被“标记化”,已被拆分为单词列表。
在我们通过BERT发送句子之前,还有更多的文本处理工作要做。
-
单词需要映射到它们在BERT词汇表中的ID。
-
对于不在BERT词汇表中的单词,标记器将把它们分解成子单词。
-
BERT要求我们在每个句子的开头加上特殊的[CLS]标记,并在结尾加上[SEP]标记。
-
为了支持输入的批处理,所有句子都应该填充到相同的长度(使用特殊的[PAD]标记)。
-
这反过来又要求我们提供“注意力掩码”,以防止BERT实际查看[PAD]标记的含义。
-
由于上述所有步骤对于许多BERT应用程序都是通用的,Transformers库中的BertTokenizer类有一个名为encode_plus的帮助函数,它将为我们处理上述所有任务。
-
旁注:你认为这里有问题吗?标记器会搞砸我们的标记标签!我们将在第3.3节中讨论这个问题。
首先,我们需要选择一个最大句子长度来填充所有句子。
# !conda install faiss-cpu -c pytorch
from transformers import