Pytorch 基于BERT的序列标记
我在pytorch+torchtext中使用一个由嵌入层和LSTM组成的模型来执行序列标记。我已经标记了这些句子 如果我使用自训练或其他预训练的单词嵌入向量,这很简单 但是如果我使用Huggingface transformersPytorch 基于BERT的序列标记,pytorch,lstm,huggingface-transformers,torchtext,Pytorch,Lstm,Huggingface Transformers,Torchtext,我在pytorch+torchtext中使用一个由嵌入层和LSTM组成的模型来执行序列标记。我已经标记了这些句子 如果我使用自训练或其他预训练的单词嵌入向量,这很简单 但是如果我使用Huggingface transformersBertTokenizer.from_pretrained和BertModel.from_pretrained有一个'[CLS]'和'[SEP]'标记分别添加到句子的开头和结尾。因此,模型的输出成为一个比标签/目标序列长两个元素的序列 我不确定的是: BertModel
BertTokenizer.from_pretrained
和BertModel.from_pretrained
有一个'[CLS]'
和'[SEP]'
标记分别添加到句子的开头和结尾。因此,模型的输出成为一个比标签/目标序列长两个元素的序列
我不确定的是:
BertModel
是否需要这两个标记来“正确”嵌入句子的每个标记BertModel
需要它们,因为如果不添加这些特殊符号,输出表示形式将不同。然而,根据我的经验,如果您在没有添加[CLS]
和[SEP]
标记的情况下对标签任务进行微调,那么您可能看不到显著的差异。如果您使用BertModel
提取固定的单词特征,那么您最好添加这些特殊符号