例如,给定一个输入,如"[CLS]my question[SEP]passage title[SEP]passage[SEP]",我想要预测文章是否包含答案。换句话说,"segment_ids"可以大于1吗?
cvxl0en21#
如果文章明确展示了文章分割帮助,我建议这样:[CLS]我的疑问[SEP]文章标题[PASSAGE_SPLIT]文章[PASSAGE_SPLIT]...你需要确保模型知道“问题”和“文章”之间的区别ps:[PASSAGE_SPLIT]是自定义的标记,就像[SEP]一样
c0vxltue2#
如何将"PASSAGE_SPLIT"添加到词汇表中?并用它替换vocab.txt中的"unused1"?但是,似乎我必须对其进行训练。就像预测文章和标题是否匹配一样。
6za6bjd03#
是的,使用未使用的标记。您只需要继续使用自己的数据进行训练
lfapxunr4#
我尝试采用这种方法(在vocab.txt中定义一个新的标记,替换其中的"[unused#]"),但它似乎无法识别。我是不是做错了什么?我做了类似的事情,用[SPLIT]替换[unused0],然后在调用BertTokenizer时,我定义了never_split =("[UNK]", "[SEP]", "[PAD]", "[CLS]", "[MASK]", "[SPLIT]")。
never_split
4条答案
按热度按时间cvxl0en21#
如果文章明确展示了文章分割帮助,我建议这样:
[CLS]我的疑问[SEP]文章标题[PASSAGE_SPLIT]文章[PASSAGE_SPLIT]...
你需要确保模型知道“问题”和“文章”之间的区别
ps:[PASSAGE_SPLIT]是自定义的标记,就像[SEP]一样
c0vxltue2#
如何将"PASSAGE_SPLIT"添加到词汇表中?并用它替换vocab.txt中的"unused1"?
但是,似乎我必须对其进行训练。就像预测文章和标题是否匹配一样。
6za6bjd03#
是的,使用未使用的标记。
您只需要继续使用自己的数据进行训练
lfapxunr4#
我尝试采用这种方法(在vocab.txt中定义一个新的标记,替换其中的"[unused#]"),但它似乎无法识别。我是不是做错了什么?
我做了类似的事情,用[SPLIT]替换[unused0],然后在调用BertTokenizer时,我定义了
never_split
=("[UNK]", "[SEP]", "[PAD]", "[CLS]", "[MASK]", "[SPLIT]")。