BERT将输入文本中的每一个词(token)送入token embedding层从而将每一个词转换成向量形式
两个嵌入层,segment embeddings和 position embeddings
token embedding
token embedding 层是要将各个词转换成固定维度的向量。在BERT中,每个词会被转换成768维的向量表示
假设输入文本是 “I like strawberries”。下面这个图展示了 Token Embeddings 层的实现过程:
输入文本在送入token embeddings 层之前要先进行tokenization处理。此外,两个特殊的token会被插入到tokenization的结果的开头 ([CLS])和结尾 ([SEP]) 。它们视为后面的分类任务和划分句子对服务的
tokenization使用的方法是WordPiece tokenization. 这是一个数据驱动式的tokenization方法,旨在权衡词典大小和oov词的个数。这种方法把例子中的“strawberries”切分成了“straw” 和“berries”。这种方法的详细内容不在本文的范围内
Token Embeddings 层会将每一个wordpiece token转换成768维的向量。这样,例子中的6个token就被转换成了一个(6, 768) 的矩阵或者是(1, 6, 768)的张量(如果