bert 在tokens中可以使用"[CLS]...[SEP]...[SEP]...[SEP]"吗?

b4wnujal  于 5个月前  发布在  其他
关注(0)|答案(4)|浏览(54)

例如,给定一个输入,如"[CLS]my question[SEP]passage title[SEP]passage[SEP]",我想要预测文章是否包含答案。换句话说,"segment_ids"可以大于1吗?

cvxl0en2

cvxl0en21#

如果文章明确展示了文章分割帮助,我建议这样:
[CLS]我的疑问[SEP]文章标题[PASSAGE_SPLIT]文章[PASSAGE_SPLIT]...
你需要确保模型知道“问题”和“文章”之间的区别
ps:[PASSAGE_SPLIT]是自定义的标记,就像[SEP]一样

c0vxltue

c0vxltue2#

如何将"PASSAGE_SPLIT"添加到词汇表中?并用它替换vocab.txt中的"unused1"?
但是,似乎我必须对其进行训练。就像预测文章和标题是否匹配一样。

6za6bjd0

6za6bjd03#

是的,使用未使用的标记。
您只需要继续使用自己的数据进行训练

lfapxunr

lfapxunr4#

我尝试采用这种方法(在vocab.txt中定义一个新的标记,替换其中的"[unused#]"),但它似乎无法识别。我是不是做错了什么?
我做了类似的事情,用[SPLIT]替换[unused0],然后在调用BertTokenizer时,我定义了never_split =("[UNK]", "[SEP]", "[PAD]", "[CLS]", "[MASK]", "[SPLIT]")。

相关问题