首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BERT序列标记

BERT序列标记
EN

Stack Overflow用户
提问于 2020-05-10 18:46:50
回答 1查看 3.1K关注 0票数 0

我正在使用一个由嵌入层和LSTM组成的模型来执行序列标记,在py电筒+ torchtext中。我已经把句子标记出来了。

如果我使用自我训练或其他预先训练过的字嵌入向量,这是很简单的。

但是,如果我使用Huggingface BertTokenizer.from_pretrainedBertModel.from_pretrained,则在句子的开头和结尾分别添加了'[CLS]''[SEP]'令牌。因此,模型的输出变成比标签/目标序列长两个元素的序列。

我不确定的是:

  1. BertModel是否需要这两个标记来嵌入句子的每个标记“正确”?
  2. 如果需要,我是否可以在BERT嵌入层之后,在LSTM输入之前取出它们,以便输出的长度是正确的?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-10 20:55:46

  1. 是的,BertModel需要它们,因为如果没有添加这些特殊符号,输出表示就会有所不同。然而,我的经验表明,如果您在没有添加BertModel标记和[SEP]令牌的情况下对标签任务进行微调,那么您可能不会看到明显的差别。如果使用BertModel提取固定的单词功能,那么最好添加这些特殊符号。
  2. 是的,你可以取出那些特殊符号的嵌入。事实上,这是对序列标记或标记任务的一般想法。

我建议使用BERT来查看一些序列标记或标记示例,以便对您的建模决策有信心。您可以通过使用Huggingface 这里找到新的标签示例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61717097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档