Vector 如何将BERT单词嵌入保存为.vec类似于word2vec
我想使用生成的BERT单词嵌入作为在Torchtext中构建vocab的向量 我可以加载向量,如手套或word2vec 但是我不知道如何将单词embedding从BERT保存到Torchtext vocab可以接受的格式 当我尝试这个代码时Vector 如何将BERT单词嵌入保存为.vec类似于word2vec,vector,word2vec,word-embedding,glove,torchtext,Vector,Word2vec,Word Embedding,Glove,Torchtext,我想使用生成的BERT单词嵌入作为在Torchtext中构建vocab的向量 我可以加载向量,如手套或word2vec 但是我不知道如何将单词embedding从BERT保存到Torchtext vocab可以接受的格式 当我尝试这个代码时 txt_field.build_vocab(train, vectors=bertVec) 我得到这个错误: ValueError: Got input vectors of type <class 'torch.Tensor'>, expec
txt_field.build_vocab(train, vectors=bertVec)
我得到这个错误:
ValueError: Got input vectors of type <class 'torch.Tensor'>, expected str or Vectors object
ValueError:获取类型为的输入向量,应为str或vectors对象
没有直接的方法为BERT嵌入创建Vocab
原因如下:
因此,可能不可能使用BERT为单词构建词汇表,因为相同的单词可能采用不同的嵌入方式 谢谢你的回复,但我不明白你所说的“嵌入段”是什么意思。丁伯特在两个任务上接受了训练,即,掩蔽语言模型和下一个句子预测任务。为了训练下一个句子预测任务,它保持了段嵌入。来自同一句子(段)的两个tok将具有相同的段嵌入(理想情况下,来自同一段的所有标记将具有相同的段嵌入)。本文实际上解释了嵌入的细节。